Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

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

SOLVED

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? http://stackoverflow.com/questions/2977775/best-way-to-use-isa-method). 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: http://www.mail-archive.com/gtk-perl-list@gnome.org/msg01733.html


Comment on Re^3: gtk2-perl: how to enable stock images in all widgets
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://997212]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (10)
As of 2014-09-18 08:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (109 votes), past polls