Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

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

by Anonymous Monk
on Oct 02, 2012 at 17:15 UTC ( [id://996886]=note: print w/replies, xml ) Need Help??


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

Thank you for this excellent reply. I will study it tomorrow.

Replies are listed 'Best First'.
Re^3: gtk2-perl: how to enable stock images in all widgets
by wdef2 (Acolyte) on Oct 04, 2012 at 10:18 UTC
    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

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (3)
As of 2024-03-19 07:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found