I hope you are all ready for another CELayoutEditor SVN trunk update.
Thanks to Roger Orr for a few more exception handling tips. :)
Here's the detailed contents:
- New: Property grid - Several new features and enhancements were added to the property grid. The property grid now obeys the following rules:
- * Editable properties will have a white background in the 'Value' column. Readonly properties will display a light grey background instead.
* "Fake" properties (name, and udim values) will have their value displayed in green.
* "Real" CEGUI properties are divided in two groups: common properties (i.e. properties that appear in EVERY single widget in the current user selection) will have their value displayed in black; Non common properties' (appear in at least one but less that the whole selection) values appear in blueish tones.
* Properties that maintain their default value (across all widgets in the current user selection that support them) appear in normal font weight. Those whose value is no longer default appear in bold.
* In multi-selection, properties that have a common value across all widgets that support them in the current user selection display the value as is. If the value varies across the selection elements, the entry appears empty in the property grid.
* Changes made to a property value affect all widgets in the current user selection that support it.
- New: Exception severity - The VEH handler now verifies the exception severity and ignores all that are not errors or warnings since they aren't harmful to the program's execution.
- New: Re-Thrown exceptions - The application now detects re-thrown exceptions as a special case while trying to obtain its type. This allows the user to differentiate this normal scenario from others that lead to malformed exceptions.
- New: Stack trace limitation - CELayoutEditor now limits the number of retained stack traces by the VEH handler while a try/catch block isn't reached. This safeguard avoids any potential problems (read log space) in external code where the number of re-thrown or "eaten" exceptions might reach astounding levels. The MAXIMUM_STACK_TRACES define can be manipulated at will if debugging for a specific problem.
- New: Version - Added version info (version.h) to CELayoutEditor. This information appears in the "About Box". The defines CE_LAYOUT_EDITOR_MAJOR_VERSION, CE_LAYOUT_EDITOR_MINOR_VERSION and CE_LAYOUT_EDITOR_RELEASE_NUMBER allow the programmer to query the current editor's version.
- New: Built With - Added 'Built With' information (third party applications used to construct CELayoutEditor) to the "About" box.
- Change: Display mode - The skin multi-selection display mode radio box has been expanded to properties as well. When 'Show All' option is chosen, all the properties that appear in at least one element in the current user selection will be displayed in the property grid (i.e. common and non common properties). If 'Show Only Common' is picked instead, only the properties that appear in EVERY single element in the current user selection will be displayed (i.e. common properties).
- Change: Documentation - Updated readme.txt and AUTHORS.txt files.
- Change: GetPropertyIterator() - Replaced all occurrences of getIterator() by getPropertyIterator() to access the properties of a window so as to not confuse the compiler with EventSet and PropertySet (which requires a couple of casts to fix).
Code: Select all
CEGUI::PropertySet::Iterator propIt = (wx_static_cast(CEGUI::PropertySet*, wx_const_cast(CEGUI::Window*, pWindow)))->getIterator();
Code: Select all
CEGUI::PropertySet::Iterator propIt = pWindow->getPropertyIterator();
- Change: Image & TextColours - The "Image" and "TextColours" properties are no longer "fake" properties but instead normal ones.
- Change: Code comments - Improved and added some code comments (our perpetual task).
- Removal: GetProperty() - Removed EditorDocument::GetProperty() obsolete function.
- BugFix: Splash Screen - The splash screen file (splash.png) is now copied in the post-build step to both the VS2003 (VC++7.1) and VS2005 (VC++8) directories, thus avoiding the 'file not found' error if run from inside the VS IDE.