$Id: Changes,v 1.12 2005/07/20 21:13:46 joern Exp $ Revision history and release notes for Gtk2::Ex::FormFactory: 0.56 Wed Jul 20, 2005, joern Features: - Gtk2::Ex::FormFactory::Rules: - added 'zero', 'non-zero', 'positive-zero-integer', 'negative-zero-integer', 'positive-zero-float', 'negative-zero-float' rules. - added special 'or-empty' rule, refer to the man page for details. - added 'executable-command' rule. - Gtk2::Ex::FormFactory::Context: - added get_object_attr() helper method to retrieve a specific application object attribute - added 'accessor' option to the ->add_object() method - Gtk2::Ex::FormFactory::Widget: - added 'label_for' attribute, so auto-generated labels can be bound to specific widgets as well. - added 'avtive_cond' and 'active_depends' attributes for direct activity control of the widget. - added 'changed_hook_after' - Gtk2::Ex::FormFactory::Popup: - added 'items' attribute for static popup content - Gtk2::Ex::FormFactory::Popup: - default 'scale' to 1 of no other scaling options are given, images would be invisible without this. - Gtk2::Ex::FormFactory: - added 'with_cancel' option to the ->open_confirm_window() helper method - Gtk2::Ex::FormFactory::CheckButtonGroup: - dimensions can be configured through application object attributes. Row and/or column labels may be added. - Gtk2::Ex::FormFactory::Label: - added bold option. - Gtk2::Ex::FormFactory::Layout: - center button icons/labels. Bugfixes: - Gtk2::Ex::FormFactory::Combo: rule checking didn't work. - Gtk2::Ex::FormFactory::Widget: rule checking in synchronized FormFactories didn't work if no object attribute was associated with the widget - Gtk2::Ex::FormFactory::Table: due to missing outer whitespace truncation parsing of some table layouts was messed up. - Gtk2::Ex::FormFactory::List: dropped "selects_object" feature introduced in 0.55 because this can be easily done by defining attribute dependencies. - Gtk2::Ex::FormFactory::Layout: setting a label group didn't work for Label widgets, only for implicite labels set through the Widget's label attribute. - Gtk2::Ex::FormFactory::Loader: VSeparator setup was missing. 0.55 Mon Jul 11, 2005, joern Features: - Added a fully functional tutorial program (a simple music database) which makes use of a lot of simple and advanced Gtk2::Ex::FormFactory features. Not documented yet, but nevertheless a good example to learn how Gtk2::Ex::FormFactory works. More details in tutorial/README. - On demand loading of widget modules saves some memory - Gtk2::Ex::FormFactory::Context - pass object aggregation information to define dependencies between objects. This way all dependent objects update automatically if their parent object changes. - defining constant attribute accessors is now possible, e.g. for simple Combo presets not changing at runtime. - new method set_object_attr() sets an specific application object attribute and triggers corresponding GUI updates - Gtk2::Ex::FormFactory::List - new attribute "selects_object" for lists representing an index of objects to select one of them. The corresponding widgets are updated automatically once the list selection changes. - new attribute "visible" to control visibility of columns - new attribute "no_header" to suppress list headers - new attribute "attr_select_column" to have specific column values instead of selected indices in the "attr_select" attribute - Gtk2::Ex::FormFactory::Label: declare an arbitrary Label widget as the label of another widget, so this label is deactivated/activated together with the assigned widget automatically, even in complex layouts. - Gtk2::Ex::FormFactory::Popup: additional data model, two dimensional array to define ordered key/value pairs. - Gtk2::Ex::FormFactory::Window: title may be controlled by an application object. - Gtk2::Ex::FormFactory::Widget: moved get_widget() from Gtk2::Ex::FormFactory to here, so it's available for all widgets, not only in a FormFactory. Bugfixes: - Removed ok_hook() from Gtk2::Ex::FormFactory::Intro documentation, which was never implemented that way. - Tooltips on combo entries didn't work. 0.54 Sun May 29, 2005, joern Features: - Gtk2::Ex::FormFactory::Table now handles arbitrary alignments of widgets in the cells. - Gtk2::Ex::FormFactory: new convenience method change_mouse_cursor(). - Gtk2::Ex::FormFactory::Layout: no frames around forms if placed on a notebook page 0.53 Sun Apr 10, 2005, joern Features: - $ff->get_widget($name) added. - $context->remove_object($name) added. - DialogButtons: control the set of buttons displayed. Bugfixes: - Timestamp: placeholders were mixed up, so the calculated timestamp was nonsense for some values. - Widget's changed_hook wasn't called at the appropriate time for some widgets. 0.52 Sun Feb 06, 2005, joern Bugfixes: - Popup: didn't consider custom attribute activity conditions in all cases. - Container: apply_changes() didn't recurse correctly into all children Features: - New widgets: - CheckButtonGroup: a table of check buttons representing a multiple selection of predefined values. - GtkWidget: support arbitrary Gtk widgets which aren't worth an own Gtk2::Ex::FormFactory module. - TextView: a Gtk2::TextView - Timestamp: Entries to enter correct timestamps down to minute level, while calculating internally with unix timestamps. - FormFactory: added parent_ff attribute - FormFactory: added hide parameter to open() and show() method - FormFactory: added open_confirm_window() method - FormFactory: added get_image_path() method - Button: added stock attribute - Combo: added presets attribute - DialogButtons: buttons may now be controlled with the object attribute's value - HBox/VBox: added no_frame attribute - List: added update_selection_only attribute - Proxy: get_attr/set_attr consider object.attr notation accordingly and switch to the proxy of the correspondent object for convenience. - Table: warn if table layout string contains tab characters - Widget: added gtk_properties_widget - Widget: added label_markup attribute - Widget: added 'type' option to show_error_message() and error windows are now modal. => WARNING: incompatible API change! - Window: added closed_hook attribute 0.51 Mon Dec 27, 2004, joern Bugfixes: - Container: on cleanup the internal content list was set to undef instead to []. Features: - Context: attr_depends_href extended, so it accepts a list reference of attributes an attribute depends on, not only a single attribute. - Image: with a constant scale of 1 all magic regarding scale calculation is switched off - Window: if a window has a FormFactory parent, FormFactory->close() is called automatically when the window is destroyed. - Container: Print a better error message if a child of a container isn't defined. Notes: - Added GPL LICENSE file to the distribution 0.50 Sat Nov 20, 2004, joern First public release. Refer to http://www.exit1.org/ for comprehensive online documentation. WARNING: API is not stable yet and may change incompatibly.