Gowut v0.8.0 public release
Changes and new features in v0.8.0:
- Significant event system improvements.
- Event types are now categorized. This category can be accessed with
EventType.Category()
. Events that existed before fall under theECAT_GENERAL
category. These can be used/added to any components. - 2 new event types in the
ECAT_WINDOW
category:ETYPE_WIN_LOAD
andETYPE_WIN_UNLOAD
. These can be used to detect the window load and unload events. They are to be used forWindow
only. - A new event type in the
ECAT_INTERNAL
category:ETYPE_STATE_CHANGE
. This is an internal event type which is related to state changes in component internals such as changing selected tab (TabPanel
) or expanding/collapsing anExpander
.
These internal events usually have a parent event designating the source sub-component (such as a tab component of aTabPanel
or the header component of anExpander
) and the mouse coordinates for example.
- Event types are now categorized. This category can be accessed with
- Event sending from clients are now asynchronous (instead of synchronous). The GUI Server implements proper RW locking.
Component re-rendering is still synchronous (to avoid browser specific DOM rendering errors). - Server now has an
AddStaticDir()
method which can be used to register a folder whose content will be served (recursively) by the server when requested.
For example you can place your images, custom CSS files and any other static content in a folder, tell theServer
about this folder with theAddStaticDir()
method,
and you can reference these files in your components. - A new component:
Timer
. You can use this to generate a timed event or a series of timed events periodically.
Practical uses include refreshing a component periodically, or checking if a Window is still open. - Set a max age for the gwu session id cookie (to preserve session id after browser restart).
- The 'Showcase of Features' example app has been updated to demonstrate the new features.
- Other minor changes, improvements and more optimization.