Glade-Perl
view release on metacpan or search on metacpan
Documentation/TODO view on Meta::CPAN
* It is still relatively inefficient. I construct an XML::Parser 'Tree'
and then build a proto hash. Then I recurse through the proto
hash and build the UI and write the perl source. Apart
from converting it all to Java and back again I can't think how to slow
it down any more :-).
But I could shorten the journey between XML and constructors, perhaps
libxml would help here although the time spent in XML::Parser is not great.
Or perhaps use a streaming approach. I don't think that it is possible to
show the dialog until it is completely constructed so it will just speed
up the building before showing it at the end of the stream.
Or perhaps write my own simple parser using regexps.
* Much inefficiency in the number of diagnostics that can be produced.
When it is stable I should comment out the most frequent and expensive
calls to Glade::PerlProject->diag_print() and ->use_par().
* Cut out all checks and diagnostics if verbose == 0
Documentation/TODO view on Meta::CPAN
dynamically in case gnome-libs change the defines. This would allow lookup
of 'GNOME_STOCK_PIXMAP_SRCHRPL' => "Search/Replace", for instance.
* Sort out pixmap creation, Gtk-Perl has limitations here but is improving
* Improve PerlRun->create_pixmap() to use new bindings, possibly do in same
way that Glade C code in support.c does.
LONG TERM
---------
Use XML::Parser()s streaming approach or SAX interface to build UI as it
is read. This might be quicker and would also allow 'net delivery
of UIs. Write Glade::PerlGenerate->Form_from_(XML_)Stream.
Since on my 170MHz AMD K6/II a large reference form (136 kb) only takes 3
seconds to read and parse into the glade proto, this might not be worth
the effort. A trivial parser that I wrote in perl does reduce that to 1
second so I remain open to suggestions.
( run in 0.224 second using v1.01-cache-2.11-cpan-4d50c553e7e )