given(Gtk::FileDialog->new()) {
.ok_button.label("Load");
.cancel_button.label("Exit");
.connect_signal(destroy => sub { ... });
# ...
}
####
sub for_obj(
local $_ = shift;
shift->();
$_;
}
##
##
my $window = for_obj(Gtk::Window->new("toplevel"), sub {
$_->signal_connect(delete => sub { Gtk->exit(0) });
$_->set_title("Test");
$_->border_width(15);
$_->add(for_obj(Gtk::Button->new("Quit") ,sub {
$_->signal_connect(clicked => sub { Gtk->exit(0) });
$_->show;
});
$_->show;
});
##
##
sub for_obj { $_[1]->() for $_[0]; $_[0] }