XUI 1.0.3 Alpha released
"Val Cassidy" <[email protected]>
| Newsgroups | gmane.comp.lang.xul.announce |
|---|---|
| Message-ID | <002001c36815$9fa21f70$04010a0a@DellMobile> |
XUI 1.03 Release Notes 1 What's New XUI 1.03 includes several new features and enhancements designed to increase the capability of applications generated via XML and to increase the range of applications that can be built with XUI in general. Some of the key additions are outlined below. Layout Managers <http://xui.sourceforge.net/layouts.html> XML support for layout managers is now included. These follow on from the AWT layout managers and remove the need for specification of absolute positions and dimensions. The use of layout managers is also import for frameset support. Frames Support <http://xui.sourceforge.net/frames.html> Frameset support is included to allow for inclusion of non swapping areas of the screen such as toolbars, navigation controls, headers and sidebars. Each frame contains an XPage and is positioned using a layout manager. Navigation commands such showPage have been enhanced to take the name of the target frame. Resource <http://xui.sourceforge.net/ResourceBundles.html> Bundles Each XPage can now reference a resource bundle, and in this way internationalization is encouraged. The texts in the XML are then used as keys for the resource bundle. Menus <http://xui.sourceforge.net/menus.html> XUI now includes support for menus. The menus can be described with a simple hierarchy and can be bound to response methods just as easily as any other component in XUI. XML Syntax <http://xui.sourceforge.net/XMLSyntax.html> The XML syntax used in XUI has been augmented by allowing separte element types for each component rather than every component needing to be declared as a component element with a type attribute. This change while minor leads to more compact XML files and allows for better support for extended component factories Repeat <http://xui.sourceforge.net/Repeat.html> A new XML element has been added that allows for repeated inclusion of it's children. This further extends the separation of UI from the data model by allowing multiple instances of a component or set of components to be included. The data or content displayed by these components can be pulled from the data model as needed. <http://xui.sourceforge.net/XMLImport.html> Extended Includes / Templates The include syntax has been extended so that an include element can be placed at any point in the XML and not just at the start of the file. This gives rise to template like includes and is a powerful feature when used in conjunction with the Repeat element Editor/IDE <http://xui.sourceforge.net/Editor-IDE.html> The experimental editior/IDE introduced in XUI 1.02 has been greatly enhanced to better support rapid application development and more of the features of XUI. You can expect to see additions to this editor in the near future in the form of plug-in wizards for things such as form creation and even complete application templates. Swing Support <http://xui.sourceforge.net/Swing.html> Swing support has been improved by some general housekeeping and while not the preferred library for XUI (due to the download requirements for early JDKs, IE etc) it offers an attractive set of components and functionality. The Swing components are used in the XUI Editor/IDE Logging added <http://xui.sourceforge.net/Logging.html> To counter some of the criticisims of XML as a format/language for application development extensive logging and tracing has been added to XUI. This logging has been added in such a way that in can be compiled out of the codebase. Therefore there are now two editions of XUI - a debug build with logging and a release build with the debugging removed. 2 Refactoring Much refactoring has been carried out in this latest version of XUI. Following the additions of this and the previous versions we realized that some features were duplicated or in some case ambiguous. Most of this refactoring was internal to XUI and should have little impact on client code, however it is worth noting the following key changes. XModel The XModel used a push/pull metaphor which in some cases was confusing as it was difficult to determine what was pushing and what was pulling from the model. This has been changed so the push methods are now set methods and pull methods have become get methods. Furthermore some of these accessor methods included parameters for a node attribute name. In most cases this attribute was unused and therefore we removed the attribute name as a formal parameter. We have not however removed attribute names entired as they can still be specified as part of the element name in an XPath like manner as an '/mypath/mynode/@attributeName' path / attribute expression. Remove the attribute parameter meant that the accessor methods could be consolidated and overall the model should be simpler to use and comprehend. The XUI Editor also includes visualization of the model and the logging package also includes a facility to dump the model to the console. XDialog We encountered a number of difficulties with modal dialogs under some JVMs we therefore found it necessary to refactor the XDialog class, however the changes should not have any significant for client code (apart from correcting the aforementioned deficient behaviour). XPage display returns The navigation and page display mechanism has been refactored so that showPage methods now support frames/targte areas. The showPage also returns a reference to the newly displayed pages. 3 Documentation Documentation has been undated along with the code base and new examples, test cases and user documentation has been included. 4 Development Roadmap While there is a great deal of scope for the expansion and enhancement of XUI not everything can be done in one version. As a method of informing developers and users of the proposed development we have created a roadmap highlighting the major aspects of the next few releases. Click here <http://xui.sourceforge.net/Roadmap.html> for more details. Of course if this roadmap does not includes features or issues you wish to see addressed then please feel free to contact us, record a feature request or even lodge a bug report.