-
Notifications
You must be signed in to change notification settings - Fork 13
November22

Here is the list of updates for the month of November. Major improvements include changes to the Splitter and Table controls. The Splitter control now allows for more than two containers. The Table control now uses the Splitter control for its header and allowing for each column to be resizable. For a full list of updates, please refer to the commit history. Thanks to Waqar144 for providing additional support.
The project is now compiled with the max warning levels and all warnings are now treated as errors. This is an effort to attempt to catch errors at compile time. The compilers that the code base has been tested against are MSVC, AppleClang, and GCC.

The minimum drop down size has been fixed to take into account scroll bar buttons if they are visible.
The Control class now has the ability to forward mouse events to its parent if SetForwardMouseEvents is true. This is useful for containers which may wish to handle mouse events, but not have to provide a custom Control class in order to achieve this.

The file list in the File Dialog has been converted to be a table. This will allow for showing additional information about files such as type and file size, similar to how files are displayed in Window's Explorer or Mac's Finder.

Support for multi-selection. When enabled, multiple items can be selected while the control key is pressed. A new property 'MultiSelect' has been introduced to toggle this behavior. The Overview application has been updated to allow toggling this feature to test out the behavior.

Scroll bar movement has been fixed to now follow the mouse position. Previously, the scroll bar position was updated with the delta mouse movement, which would de-synchronize the the engagement point of the mouse with the scroll bar. With these changes, the scroll bar movement and mouse are now synchronized.

The Splitter control has been updated to now support any number of containers. A new property 'Fit' has been added that will attempt to evenly fit all splitters within the full size of the container.

The Table control has been refactored to now use a Splitter control to allow for adjustable column sizes. A new property 'RowSelectable' has been introduced to allow for an entire row to be selected.
Some improvements have been made to the tools interface.
Moved allocation of this control to the Tools interface and deprecated the static allocation.
The tree control has been fixed to now use the font height and potential icon width as the child offset. Previously, this value relied on the size of the container, but this required an initial layout to occur. Trees that are initialized with data at container initialization would not use the correct values for the offset.


Custom title bars now support showing the focused state of the window. New theme properties Window_Focused and Window_Title_Focused have been introduced to set the background and text color when the window is focused.
The following test suites have been added/updated:
- ListBox
- Splitter
- Table