Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Re^3: gtk2-perl: how to enable stock images in all widgets

by wdef2 (Acolyte)
on Oct 04, 2012 at 10:18 UTC ( #997212=note: print w/replies, xml ) Need Help??

in reply to Re^2: gtk2-perl: how to enable stock images in all widgets
in thread gtk2-perl: how to enable stock images in all widgets


The "muppet magic" recursion and the found code snippet suggested one way to switch on images for all buttons. A block was that 'isa' did not behave as I expected on buttons. It doesn't distinguish between check buttons and normal buttons for example and misidentifies some other things. I may not be calling it correctly (should be blessed? Currently I test for a string match in the widget name and filter out check buttons. I call the following on the main top-level window just before showing all:

sub turn_button_images_on { my $widget = $_[0]; my %buttonimages; if ("$widget->get_name" =~/Button/){ unless ("$widget->get_name" =~/CheckButton/{ print "Widget $widget is a Gtk2 button\n"; $buttonimages{$widget}=$widget->get_settings: $buttonimages{$widget}=$widget->set('gtk-button-images', TRUE +) } } elsif ($widget->isa(Gtk2::Container::)){ $widget->foreach(sub {turn_button_images_on ($_[0]); }); } }
(This will be an option in case the user doesn't want button images). My system doesn't have a .gtkrc-2.0 on the filesystem. (EDIT: There are gtkrc files in /usr/share/themes but for the Default theme that contains a comment only. Switching themes in my program does not enable button images). Creating ~/.gtkrc-2.0 to try to turn button images on does nothing there at least for gtk2-perl. I suspect this is system-specific. This issue is very similar to that experienced back in 2005 by the OP on this thread where the 2-line code snippet came from:

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://997212]
[Discipulus]: map of intenet

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (7)
As of 2017-11-23 21:16 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (338 votes). Check out past polls.