CHANGELOG

Version 0.7, released 02-Aug-2005
    
    Added support for dynamic combos - ie combos whose options depend on the current row
    Disabled MOFO::CellRendererSpinButton ... not exactly working properly yet
    Add support for CellRendererCombos with a string ID ( previously only supported int IDs )
    Added undo() method - convenience function that basically does $self->query( undef, TRUE );
    Added MOFO::CellRendererDate - copied and pasted from Torsten Schoenfeld's example in the Gtk2 distribution
    Separated demo app from main package
    
Version 0.6, released 10-Jun-2005
    
    Switched standard CellRendererText with a custom renderer that has better focus policy after editing
    Added custom CellRendererSpinButton ( with improved focus policy ) for numeric values
    Fixed segfault on exit of example app
    
Version 0.5, released 08-Jun-2005
    
    Fixed make test so module actually installs via cpan
    
Version 0.4, released 27-May-2005
    
    Changed calculation of primary key column to use $self->fieldlist
    Added renderer type 'none' for hidden fields
    Insert method accepts a list of column / value pairs to set initial values
    Added column_from_name function to convert a column name into it's number in the model
    Added column_value to look up a value in the selected row
    Added question dialog to ask whether to apply current datasheet before querying ( override with 'dont_apply' )
    Cache the fieldlist array in $self->{fieldlist} so we don't have to query the DB every time we need a field list
    Remove requirement of field definitions - will use fieldnames from the database if none are given ( CellRendererText for everything )
    Added POD documentation
    
Version 0.3, released 24-May-2005
    
    Worked around 'Use of uninitialized value' warnings
    Added support for CellRendererCombo - thanks muppet :)
    Fixed bug where only the 1st updated row was applied
    Added support for CellRendererToggle
    Added dynamic column sizing, with mix of percentage and absolute values
    Added 'multi_select' property which sets 'multiple' selection mode ( only really affects deleting )
    
Version 0.2, released 19-May-2005
    
    Ported to Gtk2::ListStore / Gtk2::TreeView
        ( only supports text cell renderers currently )
    Renamed sql_fields to sql_select and changes requirement back to and SQL select statement
    Don't use the '!' special character for inserts - instead use record status indicator ( column 0 )
    All SQL operations occur in the 'apply' method as a batch
    Added constants for status indicators
    Added pixbuf column to display record status
    Added field validation plugin functionality
    Added intelligent detection of record status - don't consider non-changing 'row-changed' events a 'change'
    Added ReadOnly flag: prevents edits, inserts and deletes if set
    Put some actual data into the sql dump in the example application
    Cleaned up error dialogs and added more of them
    Removed all ComboBox stuff from example app for now
    
Version 0.1, released 16-May-2005

    First Version :)
    Querying database and dumping records into a Gtk2::Ex::Simple::List
    Detecting changes
    Updating affected records in the data as a batch
    Inserting records
    Deleting records
