[CELayoutEditor Patch] - Skin chooser, selection Lock/Unlock
Posted: Thu Sep 27, 2007 17:40
Hi all,
I've been playing around with the CELayoutEditor (great work btw guys) and I've added a few features that were missing and that I found were useful (it was also a nice way to get acquainted with the CEGUI universe).
In the hope that more might enjoy these changes, I've created two SVN patches based on the CEGUI and CELayoutEditor SVN trunk versions. I had to modify CEGUI itself in order to be able to change the skins in runtime.
The patches were done on the contents of SVN on 27/09/07.
NOTE: I've kept comment tags of the modifications I've done in the following format:
// [FJDS]
[...] Changes to code
// [/FJDS]
The code is fully documented and tries to follow the documentation style of the application.
---------------//-----------------
Patch features:
CEGUI (CEGUI-27-09-07.patch):
----------------------------------
- New - Falagard Look'N'Feel changer : Added function Window::setFalagardType() which allows to change the Look'N'Feel of a given widget and changes the mapped falagard type as well. It calls Window::setLookNFeel() internally.
- New - Properties Access : Easy external access to Look'N'Feel properties (via getters).
- Change - Renderer reassignment : Modified Window::setWindowRenderer() to allow modification of an existing widget's renderer (removed safety).
- Change - Look'N'Feel reassignment : Modified Window::setLookNFeel() to allow modification of an existing widget's Look'N'Feel (removed safety).
CELayoutEditor (CELayoutEditor-27-09-07.patch):
-----------------------------------------------------
- New - Skin chooser : Possibility to change the widget skin in realtime (dropdown with possible skins in the main dialog), with support for single or multi-selection. In the later case, the user can choose to display (via a radio box) only the common skins in the dropdown or all existing ones for the widget types (in which case, the widgets that cannot apply the chosen skin are simply ignored). In both cases, changes are applied immediately in runtime and all the user-editable property values are kept.
- New - Apply Layout Skin : New menu command 'Apply Layout Skin' which maps the chosen skin to ALL the widgets in the current layout.
- New - Lock/Unlock selection : Possibility to lock/unlock the current widget selection via a toolbar button.
- New - Widget Parent filter : Possibility to filter the widgets in the 'Add window' dialog by their need of a parent or to display them all.
- New - Widget type display : The main dialog now displays the type of the currently selected widget (multi-selection is not yet supported).
- New - VS2005 solution : Added a Visual Studio 8 (2005) solution. The solutions uses the environment variables present in the VS2005 guide at http://www.cegui.org.uk/phpBB2/viewtopic.php?t=2760.
- Bug Fix - Unselection crash : Fixed a bug where a crash would occur if the user unselected the top/last widget.
- Change - Code realignment : Some code realignment and other cosmetic modifications.
- Change - Misc : Minor changes.
---------------//-----------------
I've created a Mantis entry (156) at http://www.cegui.org.uk/mantis/view.php?id=156.
Btw, is there any way to edit a created mantis ticket? I've been looking around and can't seem to find any option to do that! Question of access privileges?
I hope you enjoy this and please let me know what you think.
Best regards,
I've been playing around with the CELayoutEditor (great work btw guys) and I've added a few features that were missing and that I found were useful (it was also a nice way to get acquainted with the CEGUI universe).
In the hope that more might enjoy these changes, I've created two SVN patches based on the CEGUI and CELayoutEditor SVN trunk versions. I had to modify CEGUI itself in order to be able to change the skins in runtime.
The patches were done on the contents of SVN on 27/09/07.
NOTE: I've kept comment tags of the modifications I've done in the following format:
// [FJDS]
[...] Changes to code
// [/FJDS]
The code is fully documented and tries to follow the documentation style of the application.
---------------//-----------------
Patch features:
CEGUI (CEGUI-27-09-07.patch):
----------------------------------
- New - Falagard Look'N'Feel changer : Added function Window::setFalagardType() which allows to change the Look'N'Feel of a given widget and changes the mapped falagard type as well. It calls Window::setLookNFeel() internally.
- New - Properties Access : Easy external access to Look'N'Feel properties (via getters).
- Change - Renderer reassignment : Modified Window::setWindowRenderer() to allow modification of an existing widget's renderer (removed safety).
- Change - Look'N'Feel reassignment : Modified Window::setLookNFeel() to allow modification of an existing widget's Look'N'Feel (removed safety).
CELayoutEditor (CELayoutEditor-27-09-07.patch):
-----------------------------------------------------
- New - Skin chooser : Possibility to change the widget skin in realtime (dropdown with possible skins in the main dialog), with support for single or multi-selection. In the later case, the user can choose to display (via a radio box) only the common skins in the dropdown or all existing ones for the widget types (in which case, the widgets that cannot apply the chosen skin are simply ignored). In both cases, changes are applied immediately in runtime and all the user-editable property values are kept.
- New - Apply Layout Skin : New menu command 'Apply Layout Skin' which maps the chosen skin to ALL the widgets in the current layout.
- New - Lock/Unlock selection : Possibility to lock/unlock the current widget selection via a toolbar button.
- New - Widget Parent filter : Possibility to filter the widgets in the 'Add window' dialog by their need of a parent or to display them all.
- New - Widget type display : The main dialog now displays the type of the currently selected widget (multi-selection is not yet supported).
- New - VS2005 solution : Added a Visual Studio 8 (2005) solution. The solutions uses the environment variables present in the VS2005 guide at http://www.cegui.org.uk/phpBB2/viewtopic.php?t=2760.
- Bug Fix - Unselection crash : Fixed a bug where a crash would occur if the user unselected the top/last widget.
- Change - Code realignment : Some code realignment and other cosmetic modifications.
- Change - Misc : Minor changes.
---------------//-----------------
I've created a Mantis entry (156) at http://www.cegui.org.uk/mantis/view.php?id=156.
Btw, is there any way to edit a created mantis ticket? I've been looking around and can't seem to find any option to do that! Question of access privileges?
I hope you enjoy this and please let me know what you think.
Best regards,