summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorTristan Van Berkom <tvb@src.gnome.org>2007-07-25 22:56:18 +0000
committerTristan Van Berkom <tvb@src.gnome.org>2007-07-25 22:56:18 +0000
commit9138bc5984652261a2e8ea702a41eeefdd125619 (patch)
tree46c0340f4de2f92cf7a9f0b4902ab3fd833360ee /plugins
parent7eca9200dde1583512038432f64a88f72eb34615 (diff)
downloadglade-9138bc5984652261a2e8ea702a41eeefdd125619.tar.gz
Fixed placeholder menu to also include actions of the parent widget.
* gladeui/glade-popup.c: Fixed placeholder menu to also include actions of the parent widget. - Disable Add/Remove parent actions on GtkToolItem, GtkMenu and GtkMenuItem. svn path=/trunk/; revision=1518
Diffstat (limited to 'plugins')
-rw-r--r--plugins/gtk+/glade-gtk.c59
-rw-r--r--plugins/gtk+/gtk+.xml.in4
2 files changed, 63 insertions, 0 deletions
diff --git a/plugins/gtk+/glade-gtk.c b/plugins/gtk+/glade-gtk.c
index 654c0409..92909de2 100644
--- a/plugins/gtk+/glade-gtk.c
+++ b/plugins/gtk+/glade-gtk.c
@@ -4480,6 +4480,27 @@ glade_gtk_image_set_property (GladeWidgetAdaptor *adaptor,
id, value);
}
+/* ----------------------------- GtkMenu ------------------------------ */
+GObject *
+glade_gtk_menu_constructor (GType type,
+ guint n_construct_properties,
+ GObjectConstructParam *construct_properties)
+{
+ GladeWidgetAdaptor *adaptor;
+ GObject *ret_obj;
+
+ ret_obj = GWA_GET_OCLASS(GTK_TYPE_CONTAINER)->constructor
+ (type, n_construct_properties, construct_properties);
+
+ adaptor = GLADE_WIDGET_ADAPTOR (ret_obj);
+
+ glade_widget_adaptor_action_remove (adaptor, "add_parent");
+ glade_widget_adaptor_action_remove (adaptor, "remove_parent");
+
+ return ret_obj;
+}
+
+
/* ----------------------------- GtkMenuShell ------------------------------ */
void
glade_gtk_menu_shell_add_child (GladeWidgetAdaptor *adaptor,
@@ -4822,6 +4843,25 @@ glade_gtk_menu_shell_action_activate (GladeWidgetAdaptor *adaptor,
}
/* ----------------------------- GtkMenuItem(s) ------------------------------ */
+GObject *
+glade_gtk_menu_item_constructor (GType type,
+ guint n_construct_properties,
+ GObjectConstructParam *construct_properties)
+{
+ GladeWidgetAdaptor *adaptor;
+ GObject *ret_obj;
+
+ ret_obj = GWA_GET_OCLASS(GTK_TYPE_CONTAINER)->constructor
+ (type, n_construct_properties, construct_properties);
+
+ adaptor = GLADE_WIDGET_ADAPTOR (ret_obj);
+
+ glade_widget_adaptor_action_remove (adaptor, "add_parent");
+ glade_widget_adaptor_action_remove (adaptor, "remove_parent");
+
+ return ret_obj;
+}
+
GList *
glade_gtk_menu_item_get_children (GladeWidgetAdaptor *adaptor,
GObject *object)
@@ -5637,6 +5677,25 @@ glade_gtk_toolbar_action_activate (GladeWidgetAdaptor *adaptor,
}
/* ----------------------------- GtkToolItem ------------------------------ */
+GObject *
+glade_gtk_tool_item_constructor (GType type,
+ guint n_construct_properties,
+ GObjectConstructParam *construct_properties)
+{
+ GladeWidgetAdaptor *adaptor;
+ GObject *ret_obj;
+
+ ret_obj = GWA_GET_OCLASS(GTK_TYPE_CONTAINER)->constructor
+ (type, n_construct_properties, construct_properties);
+
+ adaptor = GLADE_WIDGET_ADAPTOR (ret_obj);
+
+ glade_widget_adaptor_action_remove (adaptor, "add_parent");
+ glade_widget_adaptor_action_remove (adaptor, "remove_parent");
+
+ return ret_obj;
+}
+
void
glade_gtk_tool_item_post_create (GladeWidgetAdaptor *adaptor,
GObject *object,
diff --git a/plugins/gtk+/gtk+.xml.in b/plugins/gtk+/gtk+.xml.in
index 693ffa9f..e7ba4ff3 100644
--- a/plugins/gtk+/gtk+.xml.in
+++ b/plugins/gtk+/gtk+.xml.in
@@ -331,6 +331,7 @@ embedded in another object</_tooltip>
</glade-widget-class>
<glade-widget-class name="GtkMenuItem" generic-name="menuitem" _title="Menu Item" use-placeholders="False">
+ <constructor-function>glade_gtk_menu_item_constructor</constructor-function>
<post-create-function>glade_gtk_menu_item_post_create</post-create-function>
<get-children-function>glade_gtk_menu_item_get_children</get-children-function>
<set-property-function>glade_gtk_menu_item_set_property</set-property-function>
@@ -485,10 +486,12 @@ embedded in another object</_tooltip>
<glade-widget-class name="GtkToolItem" generic-name="toolitem" title="GtkToolItem">
<post-create-function>glade_gtk_tool_item_post_create</post-create-function>
+ <constructor-function>glade_gtk_tool_item_constructor</constructor-function>
</glade-widget-class>
<glade-widget-class name="GtkSeparatorToolItem" generic-name="separatortoolitem" _title="Separator Tool Item"/>
+
<glade-widget-class name="GtkToolButton" generic-name="toolbutton" _title="Tool Button">
<set-property-function>glade_gtk_tool_button_set_property</set-property-function>
@@ -1146,6 +1149,7 @@ embedded in another object</_tooltip>
<glade-widget-class name="GtkMenu" generic-name="menu" _title="Popup Menu" toplevel="True">
<!-- We do not want glade_gtk_container_post_create be executed -->
+ <constructor-function>glade_gtk_menu_constructor</constructor-function>
<post-create-function>empty</post-create-function>
<actions>
<action id="launch_editor" _name="Edit&#8230;" stock="gtk-edit" important="True"/>