glade3 r2014 - in trunk: . gladeui plugins/gtk+
- From: tvb svn gnome org
- To: svn-commits-list gnome org
- Subject: glade3 r2014 - in trunk: . gladeui plugins/gtk+
- Date: Fri, 31 Oct 2008 22:01:23 +0000 (UTC)
Author: tvb
Date: Fri Oct 31 22:01:23 2008
New Revision: 2014
URL: http://svn.gnome.org/viewvc/glade3?rev=2014&view=rev
Log:
* plugins/gtk+/glade-image-item-editor.[ch], plugins/gtk+/glade-gtk.c:
making menu conversions seemless
* gladeui/glade-widget.c: Remove widgets from layout on hide,
hide widgets when adding parentless prop refs.
Modified:
trunk/ChangeLog
trunk/gladeui/glade-widget.c
trunk/plugins/gtk+/glade-gtk.c
trunk/plugins/gtk+/glade-image-item-editor.c
trunk/plugins/gtk+/gtk+.xml.in
Modified: trunk/gladeui/glade-widget.c
==============================================================================
--- trunk/gladeui/glade-widget.c (original)
+++ trunk/gladeui/glade-widget.c Fri Oct 31 22:01:23 2008
@@ -1925,6 +1925,17 @@
g_return_if_fail (GLADE_IS_WIDGET (widget));
if (GTK_IS_WIDGET (widget->object))
{
+ GladeDesignView *view;
+ GtkWidget *layout;
+
+ if ((view = glade_design_view_get_from_project (glade_widget_get_project (widget))) != NULL)
+ {
+ layout = GTK_WIDGET (glade_design_view_get_layout (view));
+
+ if (GTK_BIN (layout)->child == GTK_WIDGET (widget->object))
+ gtk_container_remove (GTK_CONTAINER (layout), GTK_BIN (layout)->child);
+ }
+
gtk_widget_hide (GTK_WIDGET (widget->object));
}
widget->visible = FALSE;
@@ -1948,6 +1959,12 @@
if (!g_list_find (widget->prop_refs, property))
widget->prop_refs = g_list_prepend (widget->prop_refs, property);
+
+ /* parentless widget reffed widgets are added to thier reffering widgets.
+ * they cant be in the design view.
+ */
+ if (property->klass->parentless_widget)
+ glade_widget_hide (widget);
}
/**
Modified: trunk/plugins/gtk+/glade-gtk.c
==============================================================================
--- trunk/plugins/gtk+/glade-gtk.c (original)
+++ trunk/plugins/gtk+/glade-gtk.c Fri Oct 31 22:01:23 2008
@@ -5882,6 +5882,10 @@
return;
}
+ g_object_set_data (child,
+ "special-child-type",
+ "submenu");
+
gtk_menu_item_set_submenu (GTK_MENU_ITEM (object), GTK_WIDGET (child));
}
@@ -5989,13 +5993,15 @@
{
GList *list = NULL;
GtkWidget *child;
+ GladeWidget *gitem;
- g_return_val_if_fail (GTK_IS_MENU_ITEM (object), NULL);
+ gitem = glade_widget_get_from_gobject (object);
if ((child = gtk_menu_item_get_submenu (GTK_MENU_ITEM (object))))
list = g_list_append (list, child);
- if ((child = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (object))))
+ if (glade_project_get_format (gitem->project) == GLADE_PROJECT_FORMAT_LIBGLADE &&
+ (child = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (object))))
list = g_list_append (list, child);
return list;
@@ -6369,7 +6375,8 @@
{
GladeXmlNode *child_node;
- if (!GTK_IS_IMAGE (widget->object))
+ if (glade_project_get_format (widget->project) == GLADE_PROJECT_FORMAT_GTKBUILDER ||
+ !GTK_IS_IMAGE (widget->object))
{
GWA_GET_CLASS (GTK_TYPE_MENU_ITEM)->write_child (adaptor, widget, context, node);
return;
Modified: trunk/plugins/gtk+/glade-image-item-editor.c
==============================================================================
--- trunk/plugins/gtk+/glade-image-item-editor.c (original)
+++ trunk/plugins/gtk+/glade-image-item-editor.c Fri Oct 31 22:01:23 2008
@@ -275,9 +275,11 @@
if (!get_image_widget (item_editor->loaded_widget))
{
/* item_editor->loaded_widget may be set to NULL after the create_command. */
- GladeWidget *loaded = item_editor->loaded_widget;
+ GladeWidget *loaded = item_editor->loaded_widget;
GladeWidget *image;
+ property = glade_widget_get_property (loaded, "image");
+
if (glade_project_get_format (loaded->project) == GLADE_PROJECT_FORMAT_LIBGLADE)
image = glade_command_create (glade_widget_adaptor_get_by_type (GTK_TYPE_IMAGE),
item_editor->loaded_widget, NULL,
@@ -287,7 +289,7 @@
image = glade_command_create (glade_widget_adaptor_get_by_type (GTK_TYPE_IMAGE),
NULL, NULL, glade_widget_get_project (loaded));
- glade_command_set_property (loaded, "image", image);
+ glade_command_set_property (property, image->object);
}
/* Make sure nobody deletes this... */
Modified: trunk/plugins/gtk+/gtk+.xml.in
==============================================================================
--- trunk/plugins/gtk+/gtk+.xml.in (original)
+++ trunk/plugins/gtk+/gtk+.xml.in Fri Oct 31 22:01:23 2008
@@ -415,7 +415,7 @@
<!-- We save the label manually with the stock value if use_stock is set. -->
<property id="label" save="False" custom-layout="True"/>
<property id="use-underline" custom-layout="True"/>
- <property id="image" libglade-unsupported="True" visible="False"/>
+ <property id="image" libglade-unsupported="True" parentless-widget="True" visible="False"/>
<!-- need to fake this property since its not available yet ! -->
<property id="accel-group" libglade-unsupported="True"/>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]