Gtk2-Ex-Dashes
view release on metacpan or search on metacpan
devel/run.pl view on Meta::CPAN
my $spin = Gtk2::SpinButton->new_with_range (0, 999, 1);
$spin->set_direction ('rtl');
my $adj = $spin->get_adjustment;
$adj->set (value => 100);
$vbox->pack_start ($spin, 0,0,0);
$adj->signal_connect (value_changed => sub {
my (undef, $height) = $toplevel->get_size;
$toplevel->resize ($adj->value, $height);
});
# require Glib::Ex::ConnectProperties;
# Glib::Ex::ConnectProperties->new ([$spin->get_adjustment,'value'],
# [$dashes,'width_request']);
my @dashes_list;
{
my $dashes = Gtk2::Ex::Dashes->new;
push @dashes_list, $dashes;
$vbox->pack_start ($dashes, 1,1,0);
print "$progname: ythickness ", $dashes->style->ythickness, "\n";
my $req = $dashes->size_request;
print "$progname: size_request ",$req->width,"x",$req->height,"\n";
}
Gtk2::Rc->parse_string (<<HERE);
style "my_style" {
ythickness = 20
}
class "Gtk2__Ex__Dashes" style "my_style"
HERE
{
my $dashes = Gtk2::Ex::Dashes->new (width_request => 48,
xalign => 1);
print "$progname: ythickness ", $dashes->style->ythickness, "\n";
push @dashes_list, $dashes;
# $dashes->set_direction('rtl');
$vbox->pack_start ($dashes, 1,1,0);
}
{
my $dashes = Gtk2::Ex::Dashes->new;
push @dashes_list, $dashes;
$dashes->set(xalign => 0.5,
yalign => 0);
$vbox->pack_start ($dashes, 1,1,0);
}
{
my $button = Gtk2::Button->new_with_label ("expose right");
$vbox->pack_start ($button, 0,0,0);
$button->signal_connect
(clicked => sub {
foreach my $dashes (@dashes_list) {
my $alloc = $dashes->allocation;
my $x = int($alloc->width/2);
$dashes->queue_draw_area ($alloc->x + $x, $alloc->y,
$alloc->width-$x, $alloc->height);
}
});
}
my $tearoff = Gtk2::TearoffMenuItem->new;
print "$progname: tearoff border ", $tearoff->get_border_width,
",", $tearoff->get_border_width, "\n";
$toplevel->show_all;
print "$progname: ythickness after show ", $dashes_list[1]->style->ythickness, "\n";
Gtk2->main;
exit 0;
( run in 1.045 second using v1.01-cache-2.11-cpan-39bf76dae61 )