GtkOptionMenu/GtkMenu




I have a menu packed into an option menu.  I'd like to set the default
item to be something other than the first (offset 0).  After reading the
RDP, I found two things - gtk_menu_set_active() and
gtk_option_menu_set_history().

I've tried several combinations of these, and nothing works correctly -
the closest I can get is a somewhat quirky behavior when I just use
gtk_menu_set_active():  when you pull down the menu, then move your
pointer elsewhere and let the menu disappear without choosing anything,
then after you let the menu collapse back in, it displays the original
intended value (even though nothing was selected and initially it
displayed the 0th entry).  All other combinations don't cause that
behavior and just set the option menu to show the first item.

What I've tried:  (Example using the 4th menu item as what I want to
default to)

Attempt #1:  
gtk_option_menu_set_history(GTK_OPTION_MENU(some_opt_menu), 3);
gtk_menu_set_active(GTK_MENU(im_in_some_opt_menu), 3);

Attempt #2:
/* This is the one that causes the weird behavior */
gtk_menu_set_active(GTK_MENU(im_in_some_opt_menu), 3);

Attempt #3:
gtk_option_menu_set_history(GTK_OPTION_MENU(some_opt_menu), 3);


Any suggestions?  I've been crusing the header files and the RDP for an
alternative, but there doesn't seem to be one.  The RDP does describe
gtk_option_menu_set_history() as doing what I want it to do though.  Is
there some restriction on whether the widget has to be shown/realized/etc.
before that will work properly?

Thanks in advance
David Allen

http://opop.nols.com/ Free Software Development
==========================================================================
Der Horizont vieler Menschen ist ein Kreis mit Radius Null -- und das
nennen sie ihren Standpunkt.
==========================================================================
perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]