view release on metacpan or search on metacpan
lib/Gtk2/Ex/Menu/EnumRadio/Item.pm
lib/Gtk2/Ex/ToolItem/ComboEnum.pm
Makefile.PL
MANIFEST This list of files
MANIFEST.SKIP
SIGNATURE
t/ComboBoxBits-import.t
t/ComboBoxBits-load.t
t/ComboBoxBits.t
t/Enum-display.t
t/Enum-weaken.t
t/Enum.t
t/Menu-EnumRadio.t
t/MyTestHelpers.pm
t/PixbufType-weaken.t
t/PixbufType.t
t/Test/Weaken/ExtraBits.pm
t/Text-display.t
t/ToolItem-EnumCombo-weaken.t
t/ToolItem-EnumCombo.t
xt/0-META-read.t
xt/0-no-debug-left-on.t
xt/0-Test-ConsistentVersion.t
xt/0-Test-DistManifest.t
xt/0-Test-Pod.t
xt/0-Test-Synopsis.t
xt/0-Test-YAML-Meta.t
META.yml Module meta-data (added by MakeMaker)
SHA1 3952a94435e9529b5ddb86b7cedefda5b14ac802 lib/Gtk2/Ex/ComboBox/PixbufType.pm
SHA1 f50531babce896fa4582239b0f62a52bc49ce118 lib/Gtk2/Ex/ComboBox/Text.pm
SHA1 942eadd15bcd0891b58b93ad90f484adb5ab64f9 lib/Gtk2/Ex/ComboBoxBits.pm
SHA1 4f06b672ccbd6fd0e3bfbbebc3ac53f3bab4792d lib/Gtk2/Ex/Menu/EnumRadio.pm
SHA1 049835f4c76948d9a16bdf03d4da3ce8646cc225 lib/Gtk2/Ex/Menu/EnumRadio/Item.pm
SHA1 cda7f3de06f5a88ab6741b1a2b9ed69d3a312c2a lib/Gtk2/Ex/ToolItem/ComboEnum.pm
SHA1 7a9d7b217111159ef57e07e4a729333bed5763e6 t/ComboBoxBits-import.t
SHA1 b225b40d1f88c173c58a9ee106608263d006c2f2 t/ComboBoxBits-load.t
SHA1 b2859671b75af55dcba8329fc26aff19abc2e846 t/ComboBoxBits.t
SHA1 7512277482173bbc6ca7f4c7c1db39bcdea0111f t/Enum-display.t
SHA1 ae0f4fc34a80a2e5294733be4b1df3dd410eeb5a t/Enum-weaken.t
SHA1 72090c5c7ca071ecbb6da7a59a6ff4ecb906f819 t/Enum.t
SHA1 f0621c32b583c36ad6ec4d716d0a6b6d0c20a8c2 t/Menu-EnumRadio.t
SHA1 4dc04c5401c223a0beedf001b5d8fb71afbdabfd t/MyTestHelpers.pm
SHA1 d756372ca936b60869b75647b4f68054ec5e4e5b t/PixbufType-weaken.t
SHA1 2f27811b3f7444859423249e0879032f3021f555 t/PixbufType.t
SHA1 1a0dee3ed339f3c1d681f29e7c32e8e218159b4d t/Test/Weaken/ExtraBits.pm
SHA1 e7ee85a7fc5a83e51bb3b470259ed22ad90cd382 t/Text-display.t
SHA1 b82cd3332164503637d5332b201076b2a0325dc5 t/ToolItem-EnumCombo-weaken.t
SHA1 47a7fec8936064f33a883a1022b2bf63d7b2a31c t/ToolItem-EnumCombo.t
SHA1 0279c9310ec528d10a2a14e602bf98f1c776cce1 xt/0-META-read.t
SHA1 219395eb91b03829e6f14db4ebd57d88ea972e61 xt/0-Test-ConsistentVersion.t
SHA1 8a5e0f34131de34e584fbb1939c191a152566155 xt/0-Test-DistManifest.t
SHA1 cc04a5fe5d8b8b38bfd56453d5d2686c8ea58783 xt/0-Test-Pod.t
SHA1 8cc52e23427a82cfef5802bf512b13c65de2687a xt/0-Test-Synopsis.t
SHA1 4c14845872d6eb4280e12f862d6ba2c343358c60 xt/0-Test-YAML-Meta.t
SHA1 439687ac1489fcb62c3cf200fedf9ebf210e7bf7 xt/0-no-debug-left-on.t
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
devel/toolbutton-overflow-leak.pl view on Meta::CPAN
use FindBin;
my $progname = $FindBin::Script;
# uncomment this to run the ### lines
use Smart::Comments;
{
my $menuitem = Gtk2::ImageMenuItem->new_with_label ("hello");
require Scalar::Util;
Scalar::Util::weaken ($menuitem);
### weakened imagemenuitem: $menuitem
}
my $toplevel = Gtk2::Window->new('toplevel');
$toplevel->signal_connect (destroy => sub { Gtk2->main_quit });
my $vbox = Gtk2::VBox->new;
$vbox->show;
$toplevel->add ($vbox);
my $toolbar = Gtk2::Toolbar->new;
lib/Gtk2/Ex/ComboBox/Enum.pm view on Meta::CPAN
use constant _COLUMN_NICK => 0;
my $renderer = Gtk2::CellRendererText->new;
$renderer->set (ypad => 0);
sub INIT_INSTANCE {
my ($self) = @_;
$self->pack_start ($renderer, 1);
Scalar::Util::weaken (my $weak_self = $self);
$self->set_cell_data_func ($renderer, \&_cell_data, \$weak_self);
}
sub _cell_data {
my ($cellview, $renderer, $model, $iter, $ref_weak_self) = @_;
### ComboBox-Enum _cell_data()
### path: $model->get_path($iter)->to_string
### nick: $model->get_value ($iter, _COLUMN_NICK)
my $self = $$ref_weak_self || return;
my $nick = $model->get_value ($iter, _COLUMN_NICK);
lib/Gtk2/Ex/ComboBox/PixbufType.pm view on Meta::CPAN
# for-pixbuf-save ?
# insensitive or omit ?
# Glib::ParamSpec->object
# ('for-pixbuf-save',
# 'for-pixbuf-save',
# 'Blurb.',
# 'Gtk2::Gdk::Pixbuf',
# Glib::G_PARAM_READWRITE),
# if ($pname eq 'for_pixbuf_save') {
# Scalar::Util::weaken ($self->{$pname});
# }
# my $pixbuf = $self->{'for_pixbuf_save'};
# ,
# ($pixbuf ? ($pixbuf->get_width, $pixbuf->get_height) : ())
# writable =>
# exclude_read_only =>
# include-read-only ?
# always-select ?
t/Enum-display.t view on Meta::CPAN
undef $saw_notify;
$combo->set_active (0);
is ($saw_notify, undef, 'no notify from set_active() unchanged');
undef $saw_notify;
$combo->set_active_nick ('foo');
is ($saw_notify, undef, 'no notify from set_active_nick() unchanged');
}
#-----------------------------------------------------------------------------
# Scalar::Util::weaken
{
my $combo = Gtk2::Ex::ComboBox::Enum->new;
require Scalar::Util;
Scalar::Util::weaken ($combo);
is ($combo, undef,'garbage collect when weakened');
}
exit 0;
t/Enum-weaken.t view on Meta::CPAN
my $toplevel = Gtk2::Window->new ('toplevel');
my $combo = Gtk2::Ex::ComboBox::Enum->new;
$toplevel->add ($combo);
$toplevel->show_all;
return $toplevel;
},
destructor => \&Test::Weaken::Gtk2::destructor_destroy,
contents => \&Test::Weaken::Gtk2::contents_container,
});
is ($leaks, undef, 'Test::Weaken deep garbage collection');
MyTestHelpers::test_weaken_show_leaks($leaks);
}
exit 0;
t/Menu-EnumRadio.t view on Meta::CPAN
#-----------------------------------------------------------------------------
# property defaults
#-----------------------------------------------------------------------------
# Scalar::Util::weaken
{
my $menu = Gtk2::Ex::Menu::EnumRadio->new;
require Scalar::Util;
Scalar::Util::weaken ($menu);
is ($menu, undef, 'garbage collect when weakened');
}
#-----------------------------------------------------------------------------
# active-nick
{
my $menu = Gtk2::Ex::Menu::EnumRadio->new
(enum_type => 'My::Test1');
is ($menu->get('active-nick'), undef, 'get(active-nick) initial');
t/MyTestHelpers.pm view on Meta::CPAN
join(' ',
map {"$_=$obj->{$_}"} keys %$obj));
}
if (eval { require Devel::FindRef }) {
MyTestHelpers::diag (Devel::FindRef::track($obj, 8));
} else {
MyTestHelpers::diag ("Devel::FindRef not available -- ", $@);
}
}
sub test_weaken_show_leaks {
my ($leaks) = @_;
$leaks || return;
my $unfreed = $leaks->unfreed_proberefs;
my $unfreed_count = scalar(@$unfreed);
MyTestHelpers::diag ("Test-Weaken leaks $unfreed_count objects");
MyTestHelpers::dump ($leaks);
my $proberef;
foreach $proberef (@$unfreed) {
t/PixbufType-weaken.t view on Meta::CPAN
my $combo = Gtk2::Ex::ComboBox::PixbufType->new;
$toplevel->add ($combo);
$toplevel->show_all;
return $toplevel;
},
destructor => \&Test::Weaken::Gtk2::destructor_destroy,
contents => \&Test::Weaken::Gtk2::contents_container,
# ignore => \&my_ignore,
});
is ($leaks, undef, 'Test::Weaken deep garbage collection');
MyTestHelpers::test_weaken_show_leaks($leaks);
}
exit 0;
t/PixbufType.t view on Meta::CPAN
is ($combo->get('active-type'), 'jpeg', 'get() after set()');
is ($saw_notify, 'jpeg', 'notify from set("active_type")');
# $combo->set_active (0);
# is ($combo->get('active-type'), 'png', 'get() after set_active()');
# is ($saw_notify, 'png', 'notify from set_active()');
}
#-----------------------------------------------------------------------------
# Scalar::Util::weaken
{
my $combo = Gtk2::Ex::ComboBox::PixbufType->new;
require Scalar::Util;
Scalar::Util::weaken ($combo);
is ($combo, undef,
'garbage collect when weakened');
}
exit 0;
t/Text-display.t view on Meta::CPAN
$combo->set (append_text => 'foo',
prepend_text => 'bar');
$combo->set_active (0);
is ($combo->get_active_text, 'bar', 'prepended bar');
$combo->set_active (1);
is ($combo->get_active_text, 'foo', 'appended foo');
}
#-----------------------------------------------------------------------------
# weaken()
{
my $combo = Gtk2::Ex::ComboBox::Text->new;
require Scalar::Util;
Scalar::Util::weaken ($combo);
is ($combo, undef,'garbage collect when weakened');
}
exit 0;
t/ToolItem-EnumCombo-weaken.t view on Meta::CPAN
}
{
my $leaks = Test::Weaken::leaks
({ constructor => sub {
return Gtk2::Ex::ToolItem::ComboEnum->new;
},
contents => \&Test::Weaken::Gtk2::contents_container,
});
is ($leaks, undef, 'plain');
MyTestHelpers::test_weaken_show_leaks($leaks);
}
{
my $leaks = Test::Weaken::leaks
({ constructor => sub {
my $toolitem = Gtk2::Ex::ToolItem::ComboEnum->new;
my $menuitem = $toolitem->retrieve_proxy_menu_item;
return [ $toolitem, $menuitem ];
},
contents => \&Test::Weaken::Gtk2::contents_container,
});
is ($leaks, undef, 'with menuitem');
MyTestHelpers::test_weaken_show_leaks($leaks);
}
{
my $leaks = Test::Weaken::leaks
({ constructor => sub {
my $toolitem = Gtk2::Ex::ToolItem::ComboEnum->new;
my $menuitem1 = $toolitem->retrieve_proxy_menu_item;
my $menuitem2 = $toolitem->retrieve_proxy_menu_item;
return [ $toolitem, $menuitem1, $menuitem2 ];
},
contents => \&my_contents,
});
is ($leaks, undef, 'with menuitem twice');
MyTestHelpers::test_weaken_show_leaks($leaks);
}
exit 0;
t/ToolItem-EnumCombo.t view on Meta::CPAN
is ($toolitem->VERSION, $want_version, 'VERSION object method');
ok (eval { $toolitem->VERSION($want_version); 1 },
"VERSION object check $want_version");
ok (! eval { $toolitem->VERSION($check_version); 1 },
"VERSION object check $check_version");
}
#-----------------------------------------------------------------------------
# Scalar::Util::weaken
{
my $toolitem = Gtk2::Ex::ToolItem::ComboEnum->new;
require Scalar::Util;
Scalar::Util::weaken ($toolitem);
is ($toolitem, undef, 'garbage collect when weakened');
}
{
my $toolitem = Gtk2::Ex::ToolItem::ComboEnum->new;
my $menuitem = $toolitem->retrieve_proxy_menu_item;
require Scalar::Util;
Scalar::Util::weaken ($toolitem);
Scalar::Util::weaken ($menuitem);
is ($toolitem, undef, 'toolitem - garbage collect when weakened');
is ($menuitem, undef, 'menuitem - garbage collect when weakened');
}
{
my $toolitem = Gtk2::Ex::ToolItem::ComboEnum->new;
my $menuitem1 = $toolitem->retrieve_proxy_menu_item;
my $menuitem2 = $toolitem->retrieve_proxy_menu_item;
require Scalar::Util;
Scalar::Util::weaken ($toolitem);
Scalar::Util::weaken ($menuitem1);
Scalar::Util::weaken ($menuitem2);
is ($toolitem, undef, 'toolitem - garbage collect when weakened');
is ($menuitem1, undef, 'menuitem1 - garbage collect when weakened');
is ($menuitem2, undef, 'menuitem2 - garbage collect when weakened');
}
{
my $toplevel = Gtk2::Window->new;
my $toolbar = Gtk2::Toolbar->new;
$toplevel->add($toolbar);
my $toolitem = Gtk2::Ex::ToolItem::ComboEnum->new (enum_type => 'My::Test1');
;
$toolbar->add ($toolitem);
$toplevel->show_all;
my $menuitem = $toolitem->retrieve_proxy_menu_item;
MyTestHelpers::main_iterations();
$toplevel->destroy;
require Scalar::Util;
Scalar::Util::weaken ($toolitem);
Scalar::Util::weaken ($menuitem);
is ($toolitem, undef, 'toolitem - garbage collect when weakened');
is ($menuitem, undef, 'menuitem - garbage collect when weakened');
}
#-----------------------------------------------------------------------------
# active-nick
{
my $toolitem = Gtk2::Ex::ToolItem::ComboEnum->new
(enum_type => 'My::Test1');
is ($toolitem->get('active-nick'), undef, 'get(active-nick) initial');