$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.

	        
