Glade::PerlGenerate Gtk-Perl UI builder and source generator ------------------------------------------------------------ # Copyright (c) 1999 - Dermot Musgrove # # This library is released under the same conditions as Perl, that # is, either of the following: # # a) the GNU General Public License as published by the Free # Software Foundation; either version 1, or (at your option) any # later version. # # b) the Artistic License. # # If you use this library in a commercial enterprise, you are invited, # but not required, to pay what you feel is a reasonable fee to perl.org # to ensure that useful software is available now and in the future. # # (visit http://www.perl.org/ or email donors at perlmongers.org for details) # SEE ALSO -------- Documentation/Changelog # History of the changes made Documentation/COPYING # How we encourage copying Documentation/FAQ # Frequently asked questions Documentation/FAQ.i18n # FAQs about internationalisation Documentation/INSTALL # How to install the module Documentation/Gtk-Perl-Docs.html # Some pointers to Gtk-Perl documentation Documentation/NEWS # What is new in each version Documentation/README # This file Documentation/ROADMAP # Where will the module go? Documentation/TODO # What still must be done test.pl # Examples of user options Also the example projects in Example/ directory Glade::PerlGenerate is a module that will read a Glade-Interface XML file, build the UI and/or write the perl source to create the UI later and handle signals. It also creates an 'App' and an 'App subclass' that you can edit and documentation and distribution files. It is made up of two main packages. Glade::PerlGenerate does the clever stuff and Glade::PerlRun has some run-time utilities that are needed by Glade::PerlGenerate and also by your generated modules. There are several support modules for PerlGenerate that read the XML, build the UI, write the source and handle the project options. There are several options 1) Simply show and run the interface. Any missing signal handlers are hijacked to show a simple message box. 2) Write several perl class files. A) ProjectUI.pm - the UI constructor class B) ProjectSIGS.pm - utilities and skeleton signal handlers C) Project.pm - a base for your app that you can edit D) SubProject.pm - an example subclass of your app that you can edit If you specifiy &STDOUT as the output filename all the generated code will be written to STDOUT but of course you will have nothing to run later. 3) Do both of the above. 4) Generate (2 above) from Glade's 'Build' button. EDITING ------- The source code is generated with tabs replacing spaces at the rate specified by the user option 'tabwidth' (default 8) so your editor should be set to the same tabwidth if the generated source is to look correct. Read the file test.pl for some examples of how to use Glade::PerlGenerate. REQUIREMENTS (what I use but older versions work) ------------------------- Package I use available from ------- ------ -------------- Glade 0.6.2 Gnome mirrors or http://glade.gnome.org/ Built with Gnome widgets enabled Glib/Gtk+ 1.2.10 ftp://ftp.gimp.org/pub/gtk/ gnome-libs 1.2.13 Gnome mirrors or Gnome.org CVS If you use RPMs you will need gnome-libs-devel too but you probably worked this out while building Glade and Gtk-Perl :) Gtk-Perl 0.7007 CPAN or http://projects.prosa.it/gtkperl/ Perl 5.00503 CPAN XML::Parser 2.27 CPAN Unicode::String 2.04 CPAN (optionally used for I18N) ACKNOWLEDGEMENTS ---------------- Doesn't the world seem a richer place with the beautiful contributions of these creative people? I have only mentioned the most obvious names and I apologise to those who I have missed out. Glade Damon Chaplin Main author Martijn van Beers Part of the source code output, some popup menu functions, and the widget tree view. GTK Copyright - Peter Mattis, Spencer Kimball and Josh MacDonald gnome-libs Too many to list, check the AUTHORS file in the dist Gtk-Perl Kenneth Albanowski and Paolo Molaro Perl Larry Wall , with the help of oodles of other folks XML::Parser Larry Wall wrote version 1.0. Clark Cooper picked up support, changed the API for this version (2.x), provided documentation, and added some standard package features. Information, advice and patches - Damon Chaplin, Robert Schwebel, Stas Bekman Bug reports and testing - Tim Conrow, Frank de Lange, Jim Edwards RPM spec file 'borrowed' from Frank de Lange's George app. AUTHOR ------ Dermot Musgrove Dermot Musgrove Errors, omissions and general stupidity are all my fault - sorry.