[glade3/gnome-2-28] * plugins/gtk+/gtk+.xml.in, plugins/gtk+/glade-gtk.c: Disable default saving behaviour of order



commit 3d35f8b1c2d0a591ebef39cdc0c8c90d9d455230
Author: Tristan Van Berkom <vantr TheBully-2 local>
Date:   Mon Nov 9 13:07:18 2009 -0200

    	    * plugins/gtk+/gtk+.xml.in, plugins/gtk+/glade-gtk.c: Disable default saving behaviour of order dependant
    	    GtkAdjustment properties and installed glade_gtk_adjustment_write_widget() to write the properties out
    	    in the following order: "lower", "upper", "value" (fixes bug 578484).

 ChangeLog                |    6 ++++++
 plugins/gtk+/glade-gtk.c |   25 +++++++++++++++++++++++++
 plugins/gtk+/gtk+.xml.in |    7 ++++---
 3 files changed, 35 insertions(+), 3 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index bd8769e..2dcbd94 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-11-09  Tristan Van Berkom <tvb gnome org>
+
+	* plugins/gtk+/gtk+.xml.in, plugins/gtk+/glade-gtk.c: Disable default saving behaviour of order dependant 
+	GtkAdjustment properties and installed glade_gtk_adjustment_write_widget() to write the properties out
+	in the following order: "lower", "upper", "value" (fixes bug 578484).
+
 2009-10-12  Javier Jardon <jjardon gnome org>
 
 	* configure.ac: Support silent build when using automake >= 1.11
diff --git a/plugins/gtk+/glade-gtk.c b/plugins/gtk+/glade-gtk.c
index 0753141..3cbd80c 100644
--- a/plugins/gtk+/glade-gtk.c
+++ b/plugins/gtk+/glade-gtk.c
@@ -11281,3 +11281,28 @@ glade_gtk_treeview_depends (GladeWidgetAdaptor *adaptor,
 	return GWA_GET_CLASS (GTK_TYPE_CONTAINER)->depends (adaptor, widget, another);
 }
 
+/*--------------------------- GtkAdjustment ---------------------------------*/
+void
+glade_gtk_adjustment_write_widget (GladeWidgetAdaptor *adaptor,
+				   GladeWidget        *widget,
+				   GladeXmlContext    *context,
+				   GladeXmlNode       *node)
+{
+	GladeProperty *prop;
+
+	if (!glade_xml_node_verify
+	    (node, GLADE_XML_TAG_WIDGET (glade_project_get_format (widget->project))))
+		return;
+
+	/* Ensure proper order of adjustment properties by writing them here. */
+	prop = glade_widget_get_property (widget, "lower");
+	glade_property_write (prop, context, node);
+
+	prop = glade_widget_get_property (widget, "upper");
+	glade_property_write (prop, context, node);
+
+	prop = glade_widget_get_property (widget, "value");
+	glade_property_write (prop, context, node);
+
+        GWA_GET_CLASS (G_TYPE_OBJECT)->write_widget (adaptor, widget, context, node);
+}
diff --git a/plugins/gtk+/gtk+.xml.in b/plugins/gtk+/gtk+.xml.in
index d837035..2d0cdb3 100644
--- a/plugins/gtk+/gtk+.xml.in
+++ b/plugins/gtk+/gtk+.xml.in
@@ -1957,10 +1957,11 @@ embedded in another object</_tooltip>
 			_title="Accel Group" libglade-unsupported="True" toplevel="True"/>
     <glade-widget-class name="GtkAdjustment" generic-name="adjustment" 
 			_title="Adjustment" libglade-unsupported="True" toplevel="True">
+      <write-widget-function>glade_gtk_adjustment_write_widget</write-widget-function>
       <properties>
-	<property id="value" default="0.0"/>
-	<property id="lower" default="0.0"/>
-	<property id="upper" default="100.0"/>
+	<property id="value" default="0.0" save="False"/>
+	<property id="lower" default="0.0" save="False"/>
+	<property id="upper" default="100.0" save="False"/>
 	<property id="page-increment" default="10.0"/>
 	<property id="step-increment" default="1.0"/>
 	<property id="page-size" default="10.0"/>



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