summaryrefslogtreecommitdiff
path: root/gladeui/glade-property.c
diff options
context:
space:
mode:
authorJuan Pablo Ugarte <juanpablougarte@gmail.com>2011-02-02 20:44:07 -0300
committerJuan Pablo Ugarte <juanpablougarte@gmail.com>2011-02-02 20:45:50 -0300
commitc2c091a665841f64b9b288c8b947e058040f0127 (patch)
treec750a96144da7198ae992af3c9157aa342106a7c /gladeui/glade-property.c
parent8b3317919cee6e89cd9fc1e8d777a98e146ee6fd (diff)
downloadglade-c2c091a665841f64b9b288c8b947e058040f0127.tar.gz
* gladeui/glade-project.[ch]: added accessor for toplevel list
* gladeui/glade-design-view.c: pack toplevel widgets in GladeProject toplevels list order. * gladeui/glade-property.c: added special case for parentless widget properties on glade_property_set_value_impl() to show and hide new and old values. * gladeui/glade-editor-property.c: removed glade_widget_hide() call on glade_eprop_object_show_dialog() since now its handled on GladeProperty
Diffstat (limited to 'gladeui/glade-property.c')
-rw-r--r--gladeui/glade-property.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/gladeui/glade-property.c b/gladeui/glade-property.c
index a0b969dd..b4585ad6 100644
--- a/gladeui/glade-property.c
+++ b/gladeui/glade-property.c
@@ -367,6 +367,21 @@ glade_property_set_value_impl (GladeProperty * property, const GValue * value)
glade_project_verify_property (property);
}
+ /* Special case parentless widget properties */
+ if (glade_property_class_parentless_widget (property->priv->klass))
+ {
+ GladeWidget *gobj;
+ GObject *obj;
+
+ if ((obj = g_value_get_object (&old_value)) &&
+ (gobj = glade_widget_get_from_gobject (obj)))
+ glade_widget_show (gobj);
+
+ if ((obj = g_value_get_object (value)) &&
+ (gobj = glade_widget_get_from_gobject (obj)))
+ glade_widget_hide (gobj);
+ }
+
g_value_unset (&old_value);
return TRUE;
}