diff options
author | Cody Russell <bratsche@gnome.org> | 2010-05-06 12:38:23 +0200 |
---|---|---|
committer | Cody Russell <bratsche@gnome.org> | 2010-05-06 12:38:23 +0200 |
commit | dd70103f39aab0509760406fe2ccc6f1bce6f755 (patch) | |
tree | c50b2ad8931e173672726c18310c93e503b215fb /gtk/gtkmenushell.c | |
parent | 227d59c19015d488eda2895c1022b95ac1463d2a (diff) | |
download | gtk+-menuproxy.tar.gz |
Abstract GtkMenuProxy type module work in progress.menuproxy
Diffstat (limited to 'gtk/gtkmenushell.c')
-rw-r--r-- | gtk/gtkmenushell.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index c3e107fa1c..def6aa2c93 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -37,6 +37,7 @@ #include "gtkmenubar.h" #include "gtkmenuitem.h" #include "gtkmenushell.h" +#include "gtkmenuproxy.h" #include "gtkmnemonichash.h" #include "gtktearoffmenuitem.h" #include "gtkwindow.h" @@ -135,6 +136,8 @@ struct _GtkMenuShellPrivate GtkMnemonicHash *mnemonic_hash; GtkKeyHash *key_hash; + GtkMenuProxy *proxy; + guint take_focus : 1; guint activated_submenu : 1; /* This flag is a crutch to keep mnemonics in the same menu @@ -408,6 +411,8 @@ gtk_menu_shell_init (GtkMenuShell *menu_shell) priv->key_hash = NULL; priv->take_focus = TRUE; priv->activated_submenu = FALSE; + priv->proxy = gtk_menu_proxy_get (); + //priv->proxy = gtk_menu_proxy_factory_get_proxy (); } static void @@ -483,12 +488,22 @@ gtk_menu_shell_insert (GtkMenuShell *menu_shell, gint position) { GtkMenuShellClass *class; + GtkMenuShellPrivate *priv; g_return_if_fail (GTK_IS_MENU_SHELL (menu_shell)); g_return_if_fail (GTK_IS_MENU_ITEM (child)); class = GTK_MENU_SHELL_GET_CLASS (menu_shell); + priv = GTK_MENU_SHELL_GET_PRIVATE (menu_shell); + + // XXX + // insert to proxy + if (priv->proxy != NULL) + gtk_menu_proxy_insert (priv->proxy, + child, + position); + if (class->insert) class->insert (menu_shell, child, position); } |