NAME
Gtk2::GladeXML::OO - Drop-in replacement for Gtk2::GladeXML with object
oriented interface to Glade.
SYNOPSIS
use Gtk2::GladeXML::OO;
# exactly as in Gtk2::GladeXML
our $gladexml = Gtk2::GladeXML::OO->new('glade/example.glade');
$gladexml->signal_autoconnect_from_package('main');
$gladexml->load_objects(qw/GUI_/); # insert GUI objects to namespace
$gladexml->debug(2);
$::GUI_window->show; # method "show" of widget with name "GUI_window"
sub gtk_main_quit { Gtk2->main_quit; }
# Object _MUST_ be declared as "our"
our $myobject = MyObject->new();
Gtk2->main;
# ...and now callbacks in Glade can be:
#
# myobject->method <- Gtk2 will pass standard parameters to Your method
# myobject->method() <- without any parameters, ie. window->hide()
# myobject->method("param0", "param1") <- with Your parameters
# myobject->get_it()->do_sth("par0", "par1") <- multilevel call to Your object
# tree_view->get_selection->select_all() <- multilevel call to Glade object!!
#
# gtk_main_quit <- standard function interface, like before
# See example.glade and example.pl in example directory!
DESCRIPTION
This module provides a clean and easy object-oriented interface in Glade
callbacks (automagicaly loads objects and do all dirty work for you, no
action is required on your part). Now You can use in callbacks: widgets,
Your objects or standard functions like before. Callbacks can be even
multilevel!
Gtk2::GladeXML::OO is a drop-in replacement for Gtk2::GladeXML, so after
a change from Gtk2::GladeXML to Gtk2::GladeXML::OO all Your applications
will work fine and will have new functionality.
AUTOLOAD
If You are using AUTOLOAD subroutine in main package, Gtk2::GladeXML::OO
module will invoke it, when it cound'nt find any matching object in
Glade file and Your code.
SUBROUTINES/METHODS
new('/path/to/file.glade')
This method should be called exactly as "new" in Gtk2::GladeXML. In
example:
# Gtk2::GladeXML::OO object
our $gladexml = Gtk2::GladeXML::OO->new('glade/example.glade');
debug
This method turns on/off debug. Three levels are acceptable.
0 => turns OFF debug
1 => turns ON debug (only important information/warnings), DEFAULT
2 => turns ON debug in verbose mode, use this when You are in a trouble
In example:
# tunrs OFF debug
$gladexml->debug(0);
...some code...
# tunrs ON debug
$gladexml->debug(1);
...some code...
# turns ON debug in verbose mode
$gledexml->debug(2);
load_objects(qr/regexp/)
This method loads to "main::" namespace all objects corresponding to
widgets with names compatible with "regexp". Default "regexp" is set
to "qr/^[A-Z]/".
For all other methods see "Gtk2::GladeXML"!
DEPENDENCIES
Carp (in standard Perl distribution)
Gtk2::GladeXML
INCOMPATIBILITIES
None known. You can even use AUTOLOAD in Your application and all
modules.
BUGS AND LIMITATIONS
Limitation (will be resolved in a future): For now Your objects are
loaded only from main package.
AUTHOR
Strzelecki Ćukasz <
[email protected]>
LICENCE AND COPYRIGHT
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
See
http://www.perl.com/perl/misc/Artistic.html