Changes for version 0.06

  • you can no longer create nodes using $node->Label syntax- this will BREAK all code using this syntax. Change it to: $node->add_child(Label). Cannot support both methods, so one had to go
  • updated to support Firefox 2.0
  • moved all javascript to mootools style classes (http://dev.mootools.net/wiki/gettingStarted)
  • started using JSAN for remote javascript classloading (http://www.openjsan.org/doc/c/cw/cwest/JSAN/0.10/index.html)
  • started using FireBug for javascript unit tests, which will not run without it (http://www.getfirebug.com/)
  • fixed spelling error with ToolBarSeperator tag name (thanks to Rutger Vos)
  • subclassing XUL::Node- create your own Perl XUL widgets, from base XUL elements. See CustomWidgetsExample, CustomNodeTest, CustomCompositeNodeTest, and and the custom_composite_widget_state test method in the ChangeManager tests. Undocumented yet.
  • started MVC work- see MVCTextBoxExample, MultipleViewsExample, and Model::Value/MVC unit tests. Undocumented yet. API WILL change.
  • node uses Aspect::Library::Listenable for event handling, so you can add more than one listener to a node- used to be you could only add one
  • added get_parent_node to XUL::Node, using weak refs to avoid cycles- now you can navigate from a node to any other node in the window
  • fixed bug in Runner.js- value attribute should be set as late as possible. You can now set the value in a TextBox, even after someone changed its value by typing inside it. Hack to get around a known mozilla bug (https://bugzilla.mozilla.org/show_bug.cgi?id=108482)
  • added check in ChangeManager- dont pass to client any changes to the XUL document that are already at the client
  • refactoring: cleaned up exporting logic in XUL::Node
  • refactoring: arranged classes more sensibly, instead of having them all squatting in the same dir
  • use latest Aspect module
  • documentation errors fixed

Documentation

start XUL-Node HTTP server

Modules

server-side XUL for Perl
base class for XUL-Node applications
a user interface event

Provides

in lib/XUL/Node/Application/CustomWidgetsExample.pm
in lib/XUL/Node/Application/CustomWidgetsExample.pm
in lib/XUL/Node/Application/BigGridExample.pm
in lib/XUL/Node/Application/ButtonExample.pm
in lib/XUL/Node/Application/CheckBoxExample.pm
in lib/XUL/Node/Application/CustomWidgetsExample.pm
in lib/XUL/Node/Application/DeckExample.pm
in lib/XUL/Node/Application/GridExample.pm
in lib/XUL/Node/Application/GroupBoxExample.pm
in lib/XUL/Node/Application/HTMLExample.pm
in lib/XUL/Node/Application/HelloWorld.pm
in lib/XUL/Node/Application/ListBoxExample.pm
in lib/XUL/Node/Application/MVCTextBoxExample.pm
in lib/XUL/Node/Application/MenuListExample.pm
in lib/XUL/Node/Application/MultipleViewsExample.pm
in lib/XUL/Node/Application/PeriodicTable.pm
in lib/XUL/Node/Application/PeriodicTable/Base.pm
in lib/XUL/Node/Application/PeriodicTable/BoxLayout.pm
in lib/XUL/Node/Application/PeriodicTable/Buttons.pm
in lib/XUL/Node/Application/PeriodicTable/CheckBoxes.pm
in lib/XUL/Node/Application/PeriodicTable/ColorPickers.pm
in lib/XUL/Node/Application/PeriodicTable/Cropping.pm
in lib/XUL/Node/Application/PeriodicTable/Grids.pm
in lib/XUL/Node/Application/PeriodicTable/Images.pm
in lib/XUL/Node/Application/PeriodicTable/Labels.pm
in lib/XUL/Node/Application/PeriodicTable/Lists.pm
in lib/XUL/Node/Application/PeriodicTable/MenuBars.pm
in lib/XUL/Node/Application/PeriodicTable/ProgressMeters.pm
in lib/XUL/Node/Application/PeriodicTable/RadioButtons.pm
in lib/XUL/Node/Application/PeriodicTable/Scrolling.pm
in lib/XUL/Node/Application/PeriodicTable/Splitters.pm
in lib/XUL/Node/Application/PeriodicTable/StacksAndDecks.pm
in lib/XUL/Node/Application/PeriodicTable/Tabs.pm
in lib/XUL/Node/Application/PeriodicTable/TextBoxes.pm
in lib/XUL/Node/Application/PeriodicTable/Welcome.pm
in lib/XUL/Node/Application/RemoveChildExample.pm
in lib/XUL/Node/Application/SplitterExample.pm
in lib/XUL/Node/Application/TabBoxExample.pm
in lib/XUL/Node/Application/TextBoxExample.pm
in lib/XUL/Node/Constants.pm
in lib/XUL/Node/MVC.pm
in lib/XUL/Node/Model/Value.pm
in lib/XUL/Node/Server.pm
in lib/XUL/Node/Server/ChangeManager.pm
in lib/XUL/Node/Server/EventManager.pm
in lib/XUL/Node/Server/NodeState.pm
in lib/XUL/Node/Server/Session.pm
in lib/XUL/Node/Server/SessionManager.pm
in lib/XUL/Node/Server/SessionTimer.pm
in lib/XUL/Node/Server/ViewSourceHandler.pm