[gtkmm] Deriving from Gtk::OptionMenu



Murray has seen part of this already WRT my template problems on
c.l.c++.

I've written a widget derived from Gtk::OptionMenu.  This is a
template class which works with objects, rather than the standard
Gtk::MenuItems.  The derived Gtk::MenuItem template class
(ObjectMenuItem) contains an object, and the standard history and
set_menu methods are overridden to work with objects.  I know this
will be obsoleted in GTK+ 2.4 with ¿GtkAction?, but I need to use 2.2
for the time being ;-).

This appears to work correctly.  However, while it works fine in
interfaces constructed "by hand", it doesn't work with Glade and
get_widget_derived():

(gladeexamplewindow:2270): Gtk-CRITICAL **: file gtkmenu.c: line 865 (gtk_menu_popup): assertion `GTK_IS_MENU (menu)' failed
 
(gladeexamplewindow:2270): Gtk-CRITICAL **: file gtkmenu.c: line 1088 (gtk_menu_get_active): assertion `GTK_IS_MENU (menu)' failed


Does Gtk::OptionMenu not work correctly with get_widget_derived, or is
this a bug in my code?  The menu /does/ exist, since I can query what
the currently selected object is...

I've attached a copy of the class (it's very simple), together with a
couple of simple testcases to illustrate its use (and the above
error).


Many thanks,
Roger

-- 
Roger Leigh

                Printing on GNU/Linux?  http://gimp-print.sourceforge.net/
                GPG Public Key: 0x25BFB848.  Please sign and encrypt your mail.

Attachment: objectoptionmenu.tar.bz2
Description: Gtkmm ObjectOptionMenu class and testcases



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