Gtk2-Ex-ComboBoxBits

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

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)

SIGNATURE  view on Meta::CPAN

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');



( run in 2.354 seconds using v1.01-cache-2.11-cpan-65fba6d93b7 )