Revision history for Perl module Glade::PerlGenerate development branch.

Tue Nov  2 02:20:00 GMT 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
 - Version 0.41
 - PerlRun->create_pixmap() updated to use new Perl/Gtk bindings if available
 - PerlSource->write_UI() stripped from PerlGenerate->Form_from_Glade_Proto()
 - PerlSource->write_Subclass() will generate a working subclass with 
   skeleton subs for all missing signal handlers
 - PerlSource->write_dist() started new sub to generate dist files
 - PerlProject->use_Glade_Project() now defaults to allow_gnome if programmer
   has set <project><gnome_support> to True
 - PerlSource->perl_SUBCLASS_AUTOLOAD_header() new sub and some extra 
   utilities generated (toplevel_hide, toplevel_close and toplevel_destroy)
 - Gnome::Druid* stuff implemented (needs Gtk-Perl CVS after 19991025 and
   gnome-libs >= 1.0.50 to get the full effect)
 - PerlRun->create_image() new sub to return a Gtk::Gdk::ImlibImage for
   Gnome::Druid* logos and watermarks
        
Fri Oct 22 19:42:41 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
 - Version 0.40
 - New version number format to meet demands of CPAN
 - Stable(ish) version split off from 0.3.15 for upload to CPAN
    
Sun Oct 10 03:42:41 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.3.15
    - PerlUIGtk->new_GtkCTree() fixed cut-and-paste error to initialise the
      column count for CTree (rather than CList) Problem showed up with more 
      than one CTree per project.
    - PerlUIGtk->new_GtkC[Tree|List]() fixed to set column widths
    - PerlSource AUTOLOAD type source code generation split off so that I can
      start to develop a user selected code style eg closures and Exporter
      
Sun Oct 10 03:42:41 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.3.14
    - PerlUI->set_widget_properties() 'has_focus' now set correctly
    - PerlUI lots of commented out redundant code removed.
    - PerlUI->set_container_properties() does border_width even for '0' now
    - PerlUI->internal_pack_widget() fixed to use Gnome::App->set_contents for
      all widgets except Gnome::DockItem.
    - PerlUI->internal_pack_widget() fixed to add() CList/CTree widgets rather
      than add_with_viewport() that is used for all others because these widgets 
      handle their own scrolling in order to keep the column labels visible
    - PerlSource->perl_new_header() new AUTOLOAD method INSTANCE() to get/set 
      the form instance key into $all_forms.
    - PerlSource->perl_UI_new_bottom() changed to store a ref to the FORM 
      structure in the global hash $all_forms. This allows you to get at the 
      widgets properly. Also the key into glabal $all_forms is now set using the 
      AUTOLOAD method INSTANCE() so that you can get at the form instance.
      
Tue Oct  5 00:31:41 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.3.13
    - PerlUI was getting too big so I have split off a new module PerlUIGtk 
      to construct the Gtk widgets leaving all the utilities in PerlUI
    - PerlUI(Gtk) implemented some bugfixes in CVS 19990922 including
      PerlUIGtk->new_GtkNotebook() fixed to use $parent->notebook() if needed
      PerlUI->new_from_child_name() fixed to add vbox to GnomeApps. This lets
      you add some widgets to an App now <sheepish-grin>
    - PerlUI(Gtk) implemented some bugfixes in CVS 19991001 including
      PerlUIExtra->new_GnomeIconList() constructs with undef adjustment
      PerlUI->new_from_child_name() now uses Gnome::Stock->pixmap_widget()
      PerlUIGtk->new_GtkColorSelectionDialog now lets you set the button labels
    - PerlUI->new_from_child_name() now does nothing for action_area as this
      accessor doesn't return anything until something is added.
    - PerlUIGtk->new_GtkMenuItem() amended to improve underline accelerators
    - PerlUI->use_par() altered to dynamically lookup Gnome enums in .h files.
      and cache them during the build run.
      
Fri Sep 25 23:52:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.3.12
    - PerlUI->internal_pack_widget() and ->set_child_packing() fixed to cope 
      with Gtk::Packer and its children properly
    - Version dependency checking added for Perl/Gtk and gnome-libs
    - Documentation/NEWS split off from README
    - Gnome::App            implemented 
      Perl/Gtk is still missing the GNOMEUIINFO bindings so Gnome::App menus
      and toolbar icons are as incompletely constructed as normal ones ie.
      accelerators and underlines are not handled properly <sigh>
    - Gnome::AppBar         implemented
    - Gnome::Dock           implemented
    - Gnome::DockItem       implemented
    - Gnome::IconList       implemented
    - Gnome::IconSelection  implemented
    - Gnome::PropertyBox    implemented
    - Gnome::Spell          implemented
    - Gtk::Calendar         implemented in PerlUI (rather than PerlUIExtra)
    - PerlXML->QuoteXMLChars() is improved and the missing &XmlUtf8Encode() 
      written.
    - Some tidying of modules' BEGIN blocks
    - Gtk::Notebook now initialises the notebook page list on creation. This 
      allows for more than one notebook per project.
    - PerlUI->new_from_child_name() new sub to get a ref to existing widget of
      composite widgets (for instance vbox or ok_button or action_area) and 
      this functionality removed from elsewhere - too many places :-)
    - Changes to cater for Glade 0.5.3
    
Thu Aug 26 17:30:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.3.11
    - PerlUI - new_GtkDialog split off from GtkWindow and correct methods used
      to attach widgets ie vbox(), action_area(). Doesn't work yet as Perl/Gtk
      doesn't derive Window methods like allow_grow(). I am holding my breath.
    - Fixed style colors (converted 8bpp-16bpp) and bg_pixmaps (child->style).
    - Added project description to user options (for about_Form or whatever)
    - PerlRun->create_pixmap now prints errors on STDERR
    - PerlUI->new_Gtk[HV]ButtonBox() fixed set_child_size to use width, height
    - PerlUI->new_signal() missing handler diag message is now a warning
    - PerlUI->new_signal() now stored the signal_connect() calls so that they
      can be eval()ed when all the widgets are constructed. This allows for
      the perl equivalent of signal_connect_abject(_after) to be sure of
      finding a valid widget to connect to. 
      It also means that all radio_buttons are constructed and possibly set 
      active before the signals are connected. This way they don't trigger each 
      other's handlers as they are constructed and set active.
    - PerlUI->widget_from_Proto() changed to eval() the signal_connect()s after
      all the widgets are constructed (see above).
    - PerlSource->Perl_UI_new_bottom() now generates source code for a 
      Gnome::About box if Gnome is enabled (rather than PerlRun version).
      
Sat Aug 21 19:54:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.3.10
    - PerlUI->new_signal() implemented properties <data> and <object>
    - PerlUI->new_GtkAccelLabel() underline accelerator support started
    - Gnome stock_menu and stock_button sort of implemented
    - PerlSource - Fixed the warnings on Gtk->main_quit by passing a string
      which is the key to a new global $all_forms that holds refs to all form
      instances rather than passing the ref itself.
    - PerlUIExtra - Gnome::App, AppBar, Dock, DockItem started but incomplete
    - PerlUI->new_signal() now only connects live handlers if UI is being shown
    - PerlSource - All modules now store a ref to the form in global hash 
      $Glade::PerlRun::all_forms
    - PerlRun - new global hash $all_forms, see above
    
Sat Aug 21 02:24:31 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.3.9
    - Stopped silly style crashes when default style specified to 0.3.8
    - Removed debug messages from new_style()
    
Mon Aug 16 16:28:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.3.8
    - Changes to reflect improvements in gnome-perl CVS 17 Aug 1999)
      Gnome::PixmapEntry, Gnome::Entry->max_saved() implemented
      Gnome::FileEntry->set_modal() and set_directory() implemented
      Gtk::Menubar->set_shadow_type() implemented
    - Optionmenu item naming now generic
    - permitted_stubs (AUTOLOAD subs) now defined only in the class that needs
      them (rather than all names in all classes)
    - PerlUI - signals now pass a class object instance (of form) to handler
      although there are perl warnings on exit (perl -w)
    - PerlUI - Implementation of styles begun, font works, colors don't :-(
    
Fri Aug 13 04:10:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.3.7
    - $VERSION, $AUTHOR and $DATE now exported from PerlRun to all packages
    - Distribution directory structure changed to hold all documentation in a
      'Documentation' directory and supplied examples in directory 'Example'
      (used to be directory 'Existing')
      
Tue Jul 27 04:08:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.3.6
    - FAQ started
    - All modules' BEGIN subs are on a reducing diet
    - More Gnome widgets added
    - Glade 0.5.1 new widget properties handled
    
Fri Jul 23 22:04:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.3.5
    - Automatically generated signal connects for toplevels removed. They
      must be specified as signals in the Glade file.
    - Gnome widgets' implementation started. There is not a very good match
      between Glade and Perl/Gtk so all I can implement is the overlap.
    - new user option 'allow_gnome' to produce code for the Gnome widgets 
      that have been implemented
      
Fri Jul 16 18:07:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.3.4
    - PerlProject fixed so that start_date is updated from Glade (verbose => 0)
    - PerlSource altered so that dynamic stubs will be defined for all signal
      handlers so that they will still AUTOLOAD if existing handlers are lost
    - New file Existing/BusForm_Subclass.pm as example of how to subclass a
      generated UI class.
    - PerlUI - Error label generated for empty notebook pages.
    - PerlGenerate and PerlSource amended to generate separate classes for
      each toplevel window/dialog that can be subclassed.
      UI constructor is now called new().
    
Fri Jul 16 01:11:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.3.3
    - moved globals to method 'new_Window' to allow multiple instances of
      a form to be visible.
    - All widgets are now returned by new_Window and are available using the 
      class method eg $class->FORMS->{$formname}{$widgetname}->show;
    
Thu Jul 15 22:38:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.3.2
    - SUBS module combined into UI class. This didn't take as long as I 
      thought it might!
    
Thu Jul 08 18:04:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.3.1
    - PerlUI - corrected new_GtkText constructor.
    - Whole approach altered to implement an object oriented approach
    - PerlSource amended to produce new style perl code   as per perltoot
    - Signal handler stubs are now dynamically AUTOLOADED as per perltoot
    - Hierarchy inverted so that OO class constructed in SUBS

Mon Jul 05 00:12:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.3.0
    - Development branch split off
    - PerlSource - removed redundant globals
    - destroy_Form not exported from PerlRun but now included in generated 
      UI source files.
        
Mon Jul 05 00:12:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.2.0
    - First 'stable' release

Wed Jun 30 17:39:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.0.15
    - Glade::PerlSource - Generated SUBS module exports METHODS specifically
                          Generated UI module imports SUBS METHODS specifically 
    - Existing modules are now expected to EXPORT_TAGS 'VARS' and 'METHODS' 
      which should contain anonymous arrays of variables and methods. Check a
      generated SUBS module or Existing/BusForm_mySUBS.pm for one way to do this.
    - Fixed verbosity 0 handling (this speeds up build from Glade a lot!)
    - Fixed build from string
    - altered and fixed test script
    
Sat Jun 26 00:33:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.0.14
    - option file names changed to Damon Chaplin's suggestion of
        site_options     /etc/glade2perl.xml
        user_options     $ENV{'HOME'}/.glade2perl.xml
        project_options  Project.glade2perl.xml for Glade file 'Project.glade'
    - Changed string handling in add_to_UI etc to store the perl source in
      an array and join() it rather than dot concatenation which copies the
      strings at each concatenation. Reference run improved significantly!
      Very rough timings on my K6 166 Linux 2.2.1 give an improvement from
      20 seconds to 15 seconds.
    - Glade::PerlGenerate split into several modules
      Glade::PerlGenerate   still the main user interface
      Glade::PerlXML        to load/save XML
      Glade::PerlProject    to handle project options
      Glade::PerlUI         to construct the UI
      Glade::PerlSource     to write the source code
    - Removed most of the namespace pollution from all modules
    - Tidied globals and exporting of vars and methods (including Glade::PerlRun)
    
Thu Jun 24 18:13:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.0.13
    - Options are now loaded/saved from/to gpgrc.xml files (XML) if
      possible so that generation from Glade can use existing modules etc
      and it is possible to have site, user and project-specific defaults.
    - New sub XML_from_Proto to convert a Proto back to prettily formatted
      XML to save options in disk file.
    - New sub merge_options to read options from disk and merge with options
      already read options - see below.
    - Options are merged from Glade::PerlGenerate defaults, then site_options
      (default /etc/gpgrc.xml) then user_options (default ~/.gpgrc.xml) 
      then project_options (default Glade filename with ext .gpgrc.xml instead 
      of .glade or .xml) and finally from the options supplied as args to
      Glade::PerlGenerate->options. The merged options are saved as a new
      project_options file if a file name was specified. It should work in the 
      same way as 0.0.12 if nothing extra is specified and none of the
      options files exist. At the moment, the gpgrc.xml files must be 
      hand-edited although Glade::PerlGenerate->options will override the
      project_options from the file for that and later Build runs.
    
Tue Jun 22 21:03:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.0.12
    - Fixed Table layout, Perl/Gtk wanted [] anon array of strings !
    - Fixed Form_from_XML uninitilized warnings
    - Limited automatic MenuItem accelerators (prefixed with '_' underscore)
      to provide mod1 + next letter.
      (eg Alt+f for Menu under the Menubar MenuItem with label '_File')
    - Default signal handlers connected for each window destroy/delete_event
    
Tue Jun 16 14:54:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.0.11
    - All references to curly brackets in user method calls removed
      from the docs to reflect the changes to options and 
      Form_from_Glade_File and Form_from_XML arg layout 
      The arg is now a hash rather than an anonymous hash.
    - Common property-setting moved to new subs. This means
      that widgets that are not always stored in the XML file should
      be handled. Much simpler and easier to maintain.
    - Radio button/menuitem grouped properly now.
    - Testfile renamed to BusForm.glade in line with Damon's naming
    - Changes have begun for Glade 0.5.0 - 
    - Label should have 'wrap' property but Perl/Gtk can't do this
    - Progressbar has many new properties
    - Toolbar should have 'space_style' propewty - Perl/Gtk can't do this
    - Glade script now called 'rename-to-glade2perl' for obvious reasons
    
Tue Jun 16 07:00:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.0.10 embarassment release
    - Fixed masquerade script (removed curly-brackets)
      
Mon Jun 15 00:15:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.0.9
    - Partial fix for pixmaps
    - More code tidying
    
Sun Jun 13 21:30:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.0.8
    - Some code tidying
    - Changes to use_Glade_Project to handle dirnames in the same way as Glade
    - Changes to allow more efficient background running (eg from Glade)
    - Now included an example script for Glade to call
        
Thu Jun 10 14:40:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.0.7
    - Modules renamed to Glade::PerlGenerate and Glade::PerlRun. It
      was suggested that I use these slightly more descriptive names
      but what really clinched it was my lack of understanding of 
      ExtUtils::MakeMaker and the unnecessary complications of several
      depths of directory and module. Nevertheless, see below
    - There is now a Makefile.PL !!!!! (based on one from Robert Schwebel)
    - Some other tidying up (especially Glade::PerlGenerator->use_par
      which now understands function keys and chars as well as actually
      making a bit more sense, logically.
    - Keyboard accelerators now (almost) work.
    - Improved diagnostic message handling.

Thu Jun 10 14:40:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.0.6
    - Now will not write empty SUBS file
    - Generated 'about_Form' sub moved to UI module to allow the change above
    - Some more widget properties implemented
    
Wed Jun  9 06:00:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.0.5
    - I have tried to tidy the Perl layout and shorten the lines
    - The diagnostic messages should also be more legible on smaller displays
    - Source code indent is now user option (default 4 spaces)
    - Unused widget properties now reported as the widget is constructed
    
Sun Jun  5 17:30:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.0.4
    - new sub Generate->options to simplify run control
    - Some refinements
		
Sat Jun  5 23:30:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.0.3
    - Most widgets implemented
    - Some (this) documentation included
    - Some debugging code removed
	
Sat Jun  5 19:25:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.0.2
    - Each toplevel widget now has a its own flat hash containing packed widgets
    - More error checking and reporting
    - Module and file names are now generated to force some consistency.
	
Fri Jun  4 00:18:00 BST 1999 - Dermot Musgrove <dermot.musgrove@virgin.net>
    - Version 0.0.1 split off from a larger and somewhat open-ended
      project. It now includes Glade::Perl::Generate (GPG) that can read a 
      Glade XML file, convert it into	a hierarchy of widgets in a hash, build 
      the UI using Perl/Gtk and write the	sources to two Perl .pm files.
      Glade::Perl::Run has some run-time subs used in the Generate run and 
      also in any subsequent runs of the generated Perl modules.
