Timeline
Not logged in

115 check-ins occurring on or after latest.

2021-09-24
04:30
Improved Actions and added Mouse Button press support Leaf check-in: 17d75f9dfe user: zakero tags: UIEngine
2021-09-18
03:40
ComponentInputMouse can now send messages based on Actions

uiengine::ComponentContainer

  • Only set the UIEngine when the value changes

uiengine::ComponentInputMouse

  • When an Action is received, send a message
  • Implemented "uiengineSet()" to get the Messenger to use

uiengine::UIEngineAccessor

  • API Change: Added "messenger()"

uiengine::Widget

  • API Change: Added "messageType()"
  • Bug Fix: When the UIEngine changes, notify all attached components
check-in: 8d1cb33acd user: zakero tags: UIEngine
03:32
Minor improvements and new features in the Messaging System

Message

  • API Change: Added "data()"
  • Modifier Key values now start at the MSB like most other "Blade" constants

Messenger

  • API Change: Added "linkFindRoot()"
  • API Change: Added "inject()"
  • Messengers now know who their parent is in the hierarchy
  • Messages can now be sent and delivered outside of the Update Phase
  • Messages are sorted in ascending order to reduce the swapping of data
check-in: 54e097333d user: zakero tags: UIEngine
2021-09-16
17:06
Updated to the latest coding style. check-in: 14aa245a80 user: zakero tags: UIEngine
17:01
Started work on adding ComponentInputMouse support check-in: 816579a1d7 user: zakero tags: UIEngine
16:59
Removed debugging checks check-in: f60ae87c07 user: zakero tags: UIEngine
16:57
Point now has more "constexpr-correct" constructors. check-in: 38e6e96ad3 user: zakero tags: UIEngine
16:44
Message now has a constexpr constructor. check-in: 45626b6d34 user: zakero tags: UIEngine
2021-09-14
20:09
Improved the tool/vim.konsole script. check-in: 7d24258cfe user: zakero tags: UIEngine
2021-09-05
23:07
Cleaned the uiengine::Panel check-in: a354083302 user: zakero tags: UIEngine
23:06
Cleaned the header includes check-in: dd9c5d306f user: zakero tags: UIEngine
23:03
uiengine::ComponentContainer::deleteAllWidgets() is now public check-in: 0877e839f4 user: zakero tags: UIEngine
22:45
Cleaned the code for uiengine::Label check-in: d37d453ed0 user: zakero tags: UIEngine
21:52
Cleaned up the Accessor objects. check-in: c560b4b51c user: zakero tags: UIEngine
20:24
Cleaned the uiengine::Widget code check-in: 323288dc38 user: zakero tags: UIEngine
15:57
Fixed some white-space issues. check-in: 1b8c35607b user: zakero tags: UIEngine
15:12
Code Refactoring: Created "resizeWidgets()" to consolidate common code. check-in: 32299c41ea user: zakero tags: UIEngine
14:48
Code Refactoring: Created "parentContainer()" to improve code readability check-in: 3a9c691ca0 user: zakero tags: UIEngine
14:47
Added VIM markers to debug blocks to make them collapsible check-in: ffc85f4a67 user: zakero tags: UIEngine
04:28
Cleaned uiengine::ComponentContainer check-in: b8e6c2cdbf user: zakero tags: UIEngine
02:04
More Code Cleaning check-in: 4189be7792 user: zakero tags: UIEngine
01:40
Cleaned the includes check-in: 648bfa2048 user: zakero tags: UIEngine
01:28
Code Cleaning check-in: 030718b1c9 user: zakero tags: UIEngine
01:26
Minor adjustments to the VIM configuration check-in: 87c40a3ce9 user: zakero tags: UIEngine
2021-09-04
04:09
Bug fixes and code cleaning in uiengine::ComponentContainer. check-in: c36865985f user: zakero tags: UIEngine
2021-09-03
03:16
Code cleaning. check-in: 940b805b75 user: zakero tags: UIEngine
2021-09-02
22:05
Manual sizing of widgets is working (again) check-in: acd6f9d1f5 user: zakero tags: UIEngine
21:44
Manual placement of widgets is working (again) check-in: afcac16f62 user: zakero tags: UIEngine
18:41
Added "to_string(ActionType)" check-in: c3c9e55580 user: zakero tags: UIEngine
18:17
Cleaned the UIEngine code.
  • Removed dead code
  • Removed duplicated data
check-in: 1b101b97d1 user: zakero tags: UIEngine
15:50
Various bug fixes check-in: 642725d0ed user: zakero tags: UIEngine
04:15
Doing another rewrite of the UIEngine, hopefully this will improve the interactions between the UIEngine, ComponentContainer, and Widgets. check-in: 90daf8e171 user: zakero tags: UIEngine
2021-08-31
14:43
Working on API changes check-in: 9b1eec55df user: zakero tags: UIEngine
04:15
Started reworking how Widgets and ComponentContainer interact with eachother. check-in: 7d2f019cc7 user: zakero tags: UIEngine
2021-08-30
04:06
Converted Widget::dataUse() to ActionWidgetData. check-in: 5c62a39e78 user: zakero tags: UIEngine
2021-08-29
18:33
Added a compile time check to ensure the "Generic" Action is the correct size. check-in: 08131c5c55 user: zakero tags: UIEngine
15:32
Widget will now filter Action based on the ActionType value. This will prevent "Widget Actions" from being passed to Components and visa-versa. check-in: e8627bf284 user: zakero tags: UIEngine
03:35
Fixed the problems found by Valgrind in the deletion/destructor/removal code check-in: 4610d866a1 user: zakero tags: UIEngine
2021-08-28
22:24
Bug fixes and code cleaning check-in: 17339b686f user: zakero tags: UIEngine
2021-08-27
23:54
Fixed header includes. check-in: 3c03a6a54b user: zakero tags: UIEngine
23:53
Action support is now working and meets the current demands of the UIEngine. check-in: ded4de9696 user: zakero tags: UIEngine
23:51
Converted some constructors to be "constexpr-correct" check-in: 670de5faf9 user: zakero tags: UIEngine
23:49
Added tools for use in KDE

tool/VIM.konsole.profile

  • Konsole profile specifically for use with `vim`.

tool/vim.konsole

  • A shell script to run `vim` in a Konsole with the "blade" server name.
check-in: af698afa81 user: zakero tags: UIEngine
05:35
Rewrote uiengine::Label to be inline with future implementation plans.

uiengine::Action

  • Added all needed action to support the Label widget
  • Partitioned the ActionType to allow for future filtering using Mask values

uiengine::Label

  • All "setter" methods are static to improve ABI compatibility
  • All data/state changes are done using Actions

uiengine::Widget

  • The Action Message Bus: Widget->Component->ChildLambda->ChildMethod
check-in: 4a1dc05224 user: zakero tags: UIEngine
05:29
Moved all common "enum" type to Enum.h to fix cyclic header dependencies. check-in: 6eb7032256 user: zakero tags: UIEngine
05:24
blade::Color constructor is now "constexpr" correct. check-in: ba5441e60d user: zakero tags: UIEngine
05:23
Bug Fix: bin/mkcpp will now open both header and source files in the remove vim session. check-in: 27743a7dd6 user: zakero tags: UIEngine
2021-08-25
14:26
Removed unused data. check-in: 671909df59 user: zakero tags: UIEngine
14:25
Added support for "private" Actions. check-in: c0b074faf5 user: zakero tags: UIEngine
03:00
The rewrite continues...
  • The `Action` data and interface is working
  • Widgets are no longer assigned to a UIEngine at construction
  • Widget deletion now work as expected
  • ComponentContainers now clean-up and disconnect on deletion
  • ComponentContainers support Widget hierarchies
  • Widget updates are now handled with lambdas and not Updatable inheritance
  • Widget renderng is now handled with lambdas and not Renderable inheritance
  • Various bug fixes
check-in: 4a619df6b0 user: zakero tags: UIEngine
02:38
Updated to the latest version of ZHL check-in: 07e5f03ca7 user: zakero tags: UIEngine
2021-08-18
15:35
Refatoring so that the implementation better matches the intended design. check-in: a2760473c4 user: zakero tags: UIEngine
12:09
Fixed build issues check-in: c19bf645db user: zakero tags: UIEngine
12:08
Added "--ctags" support check-in: 0384a4048e user: zakero tags: UIEngine
01:50
Added documentation and notes for how to move forward. check-in: c1ca21eada user: zakero tags: UIEngine
2021-08-16
18:20
Widget rendering hierarchies should be working now.

bin/build

  • Added a "todo" item

Point

  • Added method attributes

PointF

  • Added method attributes

uiengine::ComponentContainer

  • Disable debug rendering
  • Added an associative map between widgets and ComponentContainers
  • Renamed methods (may rename again)
  • Bug Fix: Set the window value for all "sub" containers

uiengine::DataType

  • Renamed ContainerData to WidgetData

uiengine::Layout

  • Added more structures
  • Added "validate()"

uiengine::LayoutManual

  • Implemented "validate()"

uiengine::Panel

  • A simple widget that can contain other widgets

uiengine::UIEngine

  • Simplified and cleaned the code

uiengine::Util

  • Added "widgetLocationSet()"
  • Added "widgetSizeSet()"
check-in: 5c94454ad1 user: zakero tags: UIEngine
2021-08-14
21:36
Merged the latest changes from the "master" branch. check-in: d06e90cce3 user: zakero tags: UIEngine
21:36
Merged the latest changes from the "Scripts" branch. Leaf check-in: b9a3e07a09 user: zakero tags: master
21:36
Added support for "vim" servers.

bin/mkcpp

  • Added "-r / --vim-remote" to load the file into a remote vim process
Leaf check-in: 02a369cdd8 user: zakero tags: Scripts
21:34
Merged the latest changes from the "master" branch. check-in: 78a099f1c3 user: zakero tags: Scripts
21:34
Cleaned up the "friend" relationships.

Removed the ComponentContainer and Widget friends from the UIEngine. Replaced with the UIEngineAccessor private friend class. check-in: d09d040ff8 user: zakero tags: UIEngine

2021-08-11
14:42
Disabled the UIEngine debug rendering check-in: 786002323a user: zakero tags: UIEngine
13:06
Added debug rendering to ComponentContainer and more code clean-up. check-in: efbd11aefd user: zakero tags: UIEngine
03:11
Bug fixes and code clean-up, no new functionality. check-in: 8486bdf7c9 user: zakero tags: UIEngine
2021-08-10
04:30
The write continues...

uiengine::Button

  • Removed all content for the next rewrite

uiengine::Component

  • Removed unneeded methods

uiengine::ComponentContainer

  • Started adding Layout support
  • Removed direct access to the Widget object

uiengine::DataType

  • Merged the contents of Struct.h and Using.h

uiengine::Label

  • Code cleaning

uiengine::Layout

  • Started the Layout rewrite

uiengine::LayoutManual

  • Replaced the old "LayoutNone"

uiengine::UIEngine

  • Now inherits from uiengine::ComponentContainer

uiengine::Widget

  • Variable renaming
check-in: a689a93f95 user: zakero tags: UIEngine
2021-08-05
02:44
The rewrite did not work as planned. Changed to an inheritance model.

uiengine::ComponentContainer

  • The constructor now requires the Widget to interact with
  • Updated the API to match the other (future) components
  • Can now properly manage "child" widgets
  • Support for "sub containers" is missing

uiengine::Label

  • Functionally complete

uiengine::UIEngine

  • Removed some unneeded variables
  • Updated the API to match ComponentContainer

uiengine::Using

  • Added "ComponentId"
  • Added "ActionType"

uiengine::Widget

  • Started a rewrite with only the required functionality

uiengine::WidgetData

  • Removed unneeded variable
check-in: 4442a2e870 user: zakero tags: UIEngine
02:22
The returned Window is no longer const. check-in: 371203235f user: zakero tags: UIEngine
2021-07-30
15:16
Rewriting to have the Widget ID as the "core object", not the Widget class.

TODO:

  • All aspects of creating a "logical" Widget will be handled by the UI Engine and will be centered around a Widget ID.
  • The Widget class will to simplify the creation of "non-scripted" widgets by wrapping the UI Engine methods.
  • Objects that extend the Widget class provide pre-defined Message Handlers, update lambdas, and render lambdas.
  • Only ComponentContainers need to know about location and size changes.
  • Components do not have state, they will be provided WidgetData to act upon.
check-in: ca7b739c91 user: zakero tags: UIEngine
2021-07-26
15:37
Started work on Label and ComponentContainer. check-in: 45ebd9f377 user: zakero tags: UIEngine
12:00
Move the unit of measure enum into the Location and Size structures. check-in: 2d09da8e51 user: zakero tags: UIEngine
03:55
Basic UIEngine functionality is done as well as interaction between Widget and ComponentContainer. check-in: cb8d543c87 user: zakero tags: UIEngine
2021-07-22
13:45
Reworking message handling. check-in: 7e48cf2d5d user: zakero tags: UIEngine
01:25
Started the refactoring Label and Widget check-in: 183c2c2427 user: zakero tags: UIEngine
2021-07-17
02:47
Updated the Key Type conversion macros to use the new 64-bit type size. check-in: 05c34ab021 user: zakero tags: UIEngine
02:19
Updated white-space, no code changes. check-in: dd73afeedc user: zakero tags: UIEngine
02:17
Message Type and Message Mask are now uint64_t. check-in: 6844ce7314 user: zakero tags: UIEngine
2021-07-14
20:28
Finished cleaning the new UniqueId object and usage. check-in: 1b7a77b578 user: zakero tags: UIEngine
14:02
Bug Fixes

uiengine::UIEngine

  • Bug Fix: Only calculate location and size during the Update Phase
check-in: 601a20c230 user: zakero tags: UIEngine
13:19
Bug Fix: "need_to_update" no longer loses state with updated by "pending_changes" check-in: d0b4eb2a76 user: zakero tags: UIEngine
13:15
Bug Fixes

blade_linux_wayland/OSAL_Window

  • Bug Fix: When the window size changes, store the new size
  • Use explicit casts

blade_linux_xcb/OSAL_Window

  • Use explicit casts
check-in: f242c8d1f9 user: zakero tags: UIEngine
12:00
Code cleaning and removed "to_id()" check-in: 78a6ed8b8c user: zakero tags: UIEngine
03:26
Added a unique ID to Stage and various code cleaning check-in: 3a86d09b57 user: zakero tags: UIEngine
2021-07-13
20:20
Merged the latest changes from the "master" branch check-in: 67a1666271 user: zakero tags: UIEngine
20:19
Bug Fix: When a Window is asked to convert a percentage, the conversion needs to be relative to the window and not the screen. check-in: 32da554e2c user: zakero tags: master
02:17
Working on connecting the UIEngine to Blade.

uiengine::UIEngine

  • Attaches to Stages and Windows
  • Will react to Stage Activation to calculate location and size
  • Window Resize events will trigger updates to location and size
  • Location and Size changes are buffered until the Update Phase
check-in: caa362318d user: zakero tags: UIEngine
2021-07-12
15:24
Merged the latest changes from the "master" branch check-in: 9f6fd708b2 user: zakero tags: UIEngine
15:24
Pruned the uiengine namespace for a complete rewrite. check-in: 9427184362 user: zakero tags: UIEngine
14:38
tileengine::TileEngine Improvements

tileengine::TileEngine

  • Use the "unique_name()" to have a consistent naming convention
check-in: 6c6d0d21c0 user: zakero tags: master
14:35
Window Improvements

Window

  • Use the "unique_name()" to have a consistent naming convention
  • White-space cleaning
check-in: cde81bf23b user: zakero tags: master
14:33
Stage Improvements

Stage

  • Use the "unique_name()" to have a consistent naming convention
  • White-space cleaning

StageManager

  • Send messages when Stages are added, removed, activated, and deactivated
check-in: b97aeaf8e0 user: zakero tags: master
14:23
Minor white-space cleaning check-in: 5e13a8de67 user: zakero tags: master
14:20
Message improvements and bug fixes

Message

  • Added support for encoding and decoding "void*"
  • Changed the Message Type Mask from 0xffff'0000 to 0xfff0'0000
  • Message categories are now 4-bit values and use the 0x00f0'0000 bits
  • When storing 2 floats in int32, the values are converted to 16-bit floats
  • When storing 2 int32_t in int32, the values are converted to 16-bit ints
check-in: c5388126d1 user: zakero tags: master
12:29
Added the helper function "unique_name()" check-in: ade6804090 user: zakero tags: master
2021-07-10
17:27
Merged the latest changes from the "master" branch. check-in: bf4881477b user: zakero tags: UIEngine
17:27
Merged the latest changes from the "TileEngine" branch.

The first steps in having the TileEngine move Actors has been added. Actors can now be told which tile to move to and they will move in a straight line to that destination. Collision detection is not supported. check-in: 347589c4b2 user: zakero tags: master

2021-06-29
13:00
Merged the latest changes from the "master" branch check-in: fca6f4a3f2 user: zakero tags: UIEngine
12:59
Fixed issue found by GCC. check-in: 2c6b7af8c2 user: zakero tags: master
12:36
Merged the latest changes from the "master" branch. check-in: 8eea3ffd0c user: zakero tags: UIEngine
2021-06-25
23:22
Pre-Built packages are no longer available. check-in: 0674852673 user: zakero tags: master
23:11
Removed extra whitespace Leaf check-in: 0d4c5a102e user: zakero tags: TileEngine
2021-06-23
03:14
TileEngine Actor movement based on Tile locations is working check-in: bd40a15cfd user: zakero tags: TileEngine
2021-06-19
04:40
Rewrote Actor movement so that Tile-Based is more consistent.

When movement is based on tiles, the destination must be a tile location. check-in: a53258d270 user: zakero tags: TileEngine

2021-06-15
02:16
Added notes about the implementation. check-in: f7f1aca50e user: zakero tags: TileEngine
00:35
Added support for Actor movement Target::Direction_Relative check-in: 58a95ee72d user: zakero tags: TileEngine
00:24
Added support for Actor movement Target::Direction_Absolute check-in: bf7a3c2baf user: zakero tags: TileEngine
2021-06-14
14:51
Started work on Actor movement based on direction. (Not working correctly yet) check-in: df12efc9de user: zakero tags: TileEngine
04:49
Added support for Actor movement where velocity is in "tiles per second". check-in: d390caf2ed user: zakero tags: TileEngine
2021-06-04
15:00
Started documenting Actor movement controls to ensure consistency and viability. check-in: ca3f13363b user: zakero tags: TileEngine
13:46
More Actor progress.

tileengine::Actor

  • Once movement is done, the `Movement.whenDone` lambda is called
check-in: 8188f1f918 user: zakero tags: TileEngine
13:24
Actor movement bug fix

tileengine::Actor

  • Bug Fix: Movement speed is scaled so X,Y axis is based on time, not pixels
check-in: 0ede0b9e8c user: zakero tags: TileEngine
04:35
Started the implementing Actor Movement.

tileengine::Actor

  • API Change: Added "tileLocationMove()"
  • Added an Updatable to manage movement state

tileengine::TileEngine

  • Create a vector of Updatable Actor objects
check-in: 7f21a8dc4e user: zakero tags: TileEngine
2021-06-03
04:32
Defined the API for Actor movement. check-in: 46f7900290 user: zakero tags: TileEngine
04:07
Refactoring to get ready for future changes. check-in: 03e6fbd5ae user: zakero tags: TileEngine
2021-06-02
03:19
Merged the latest changes from the "master" branch check-in: 494af3ccf6 user: zakero tags: TileEngine
2021-05-31
16:18
Release 2021.06.01

Much of this release focused on the TileEngine. In fact, the TileEngine is now feature "comparable" with the version from before the backend rewrite and can be used with confidence. The new Actor in the TileEngine, like in the old version, needs a complete overhaul. The old TileEngine also had (disable) support for "Sensors" which still needs to be implemented.

The current improvements to TileEngine have allow for new features to be added. The first of which is that more than one Actor can now be on the same Tile. The next feature is "Actor Picking", where the TileEngine can provide an ordered collection of Actors based on a screen pixel location.

Bug Fixes

  • Color should have fewer rounding errors when converting values
  • StageManager will always teardown the active stage (for real this time)
  • TileEngine recieved many fixes

New Features

  • Parser support for the TileEngine has been improved
  • TileEngine Actors, Maps, and Tiles all have Property support
  • TileEngine now has "Actor Picking"
  • Multiple TileEngine Actors can now appear on the same Tile

Misc

  • TileEngine documentation improvements
check-in: fc8673d263 user: zakero tags: 2021.06.01, latest, master, release