Acme-Gtk2-Ex-Builder
view release on metacpan or search on metacpan
README.mkdn view on Meta::CPAN
additional `timestamp`, `nick` and `message` parameter.
See [Gtk2](http://search.cpan.org/perldoc?Gtk2) and Gtk2 API reference.
use Gtk2;
use Gtk2::SimpleList; # Do NOT forgot!!
my $app = build {
widget SimpleList => contain {
info id => 'logviewer';
set headers_visible => FALSE;
set rules_hint => TRUE;
}, (
timestamp => 'markup',
nick => 'markup',
message => 'markup',
);
};
It also supports prebuilt widget.
my $prev_button = Gtk2::Button->new('Prev');
my $next_button = Gtk2::Button->new('Next');
my $quit_button = Gtk2::Button->new;
my $app = build {
widget VBox => contain {
widget HBox => contain {
widget $prev_button;
widget $next_button;
};
widget $next_button => contain {
info packing => TRUE, TRUE, 1, 'end';
set label => 'quit';
on clicked => \&quit_clicked;
}
};
};
## info
This function sets additional information.
Since it is not realted to Gtk2 functions,
attributes, signal and properties,
so save anything what you want or need.
Currently `id` and `packing` have some special meanings.
`id` is used for `widget` method to find widget.
`packing` is used for [Gtk2::VBox](http://search.cpan.org/perldoc?Gtk2::VBox) and [Gtk2::HBox](http://search.cpan.org/perldoc?Gtk2::HBox).
my $app = build {
widget Window => contain {
info id => 'window';
set title => 'Seoul.pm irc log viewer';
};
widget HBox => contain {
info id => 'hbox';
info packing => TRUE, TRUE, 1, 'start';
widget ScrolledWindow => contain {
set policy => 'never', 'automatic';
};
};
};
## on
This function connects signals for specified widget.
Actually it is same as `$widget->signal_connect`.
See [Gtk2](http://search.cpan.org/perldoc?Gtk2) and Gtk2 API reference.
my $app = build {
widget Window => contain {
on delete_event => sub { Gtk2->main_quit };
widget VBox => contain {
widget ToggleButton => contain {
set label => "show/hide";
on toggled => \&toggled;
};
widget Button => contain {
set label => 'Quit';
on clicked => sub { Gtk2->main_quit };
};
};
};
};
## set
This function calls `$widget->set_KEY(VALUE)` function
for specified widget.
See [Gtk2](http://search.cpan.org/perldoc?Gtk2) and Gtk2 API reference.
my $app = build {
widget Window => contain {
set title => 'Awesome App';
set default_size => 200, 100;
set position => 'center';
};
};
## prop
This function sets properties for specified widget.
Actually it is same as `$widget->set(KEY, VALUE)`.
See [Gtk2](http://search.cpan.org/perldoc?Gtk2) and Gtk2 API reference.
my $app = build {
widget Window => contain {
info id => 'window';
set position => 'center';
prop title => 'Window Example';
prop opacity => 0.8;
prop 'default-width' => 640;
prop 'default-height' => 480;
on delete_event => \&quit;
};
( run in 0.487 second using v1.01-cache-2.11-cpan-5a3173703d6 )