glade3 r2178 - in trunk: . gladeui plugins/gtk+
- From: tvb svn gnome org
- To: svn-commits-list gnome org
- Subject: glade3 r2178 - in trunk: . gladeui plugins/gtk+
- Date: Wed, 25 Mar 2009 15:31:13 +0000 (UTC)
Author: tvb
Date: Wed Mar 25 15:31:12 2009
New Revision: 2178
URL: http://svn.gnome.org/viewvc/glade3?rev=2178&view=rev
Log:
Fixed Mal-ordering of atk properties, signals and accelerators in
Libglade format output.
* gladeui/glade-widget.[ch]: Now export glade_widget_write_signals(),
only write signals from the core when in builder format.
* plugins/gtk+/glade-gtk.c: glade_gtk_widget_write_widget(), write
properties out as "properties -> atk -> signals -> accelerators when
in libglade format, leave signals to core when in builder format.
Modified:
trunk/ChangeLog
trunk/gladeui/glade-widget.c
trunk/gladeui/glade-widget.h
trunk/plugins/gtk+/glade-gtk.c
Modified: trunk/gladeui/glade-widget.c
==============================================================================
--- trunk/gladeui/glade-widget.c (original)
+++ trunk/gladeui/glade-widget.c Wed Mar 25 15:31:12 2009
@@ -3846,6 +3846,21 @@
}
}
+void
+glade_widget_write_signals (GladeWidget *widget,
+ GladeXmlContext *context,
+ GladeXmlNode *node)
+{
+ WriteSignalsInfo info;
+
+ info.context = context;
+ info.node = node;
+ g_hash_table_foreach (widget->signals,
+ glade_widget_adaptor_write_signals,
+ &info);
+
+}
+
/**
* glade_widget_write:
* @widget: The #GladeWidget
@@ -3861,12 +3876,10 @@
GladeXmlNode *node)
{
GladeXmlNode *widget_node;
- WriteSignalsInfo info;
GList *l, *list;
+ GladeProjectFormat fmt = glade_project_get_format (widget->project);
- widget_node =
- glade_xml_node_new
- (context, GLADE_XML_TAG_WIDGET (glade_project_get_format (widget->project)));
+ widget_node = glade_xml_node_new (context, GLADE_XML_TAG_WIDGET (fmt));
glade_xml_node_append_child (node, widget_node);
/* Set class and id */
@@ -3880,12 +3893,11 @@
/* Write out widget content (properties and signals) */
glade_widget_adaptor_write_widget (widget->adaptor, widget, context, widget_node);
- /* Write the signals */
- info.context = context;
- info.node = widget_node;
- g_hash_table_foreach (widget->signals,
- glade_widget_adaptor_write_signals,
- &info);
+ /* Write the signals strictly after all properties and before children
+ * when in builder format
+ */
+ if (fmt == GLADE_PROJECT_FORMAT_GTKBUILDER)
+ glade_widget_write_signals (widget, context, widget_node);
/* Write the children */
if ((list =
Modified: trunk/gladeui/glade-widget.h
==============================================================================
--- trunk/gladeui/glade-widget.h (original)
+++ trunk/gladeui/glade-widget.h Wed Mar 25 15:31:12 2009
@@ -240,6 +240,10 @@
GladeXmlContext *context,
GladeXmlNode *node);
+void glade_widget_write_signals (GladeWidget *widget,
+ GladeXmlContext *context,
+ GladeXmlNode *node);
+
void glade_widget_write_placeholder (GladeWidget *parent,
GObject *object,
GladeXmlContext *context,
Modified: trunk/plugins/gtk+/glade-gtk.c
==============================================================================
--- trunk/plugins/gtk+/glade-gtk.c (original)
+++ trunk/plugins/gtk+/glade-gtk.c Wed Mar 25 15:31:12 2009
@@ -1006,19 +1006,31 @@
GladeXmlContext *context,
GladeXmlNode *node)
{
- if (!glade_xml_node_verify
- (node, GLADE_XML_TAG_WIDGET (glade_project_get_format (widget->project))))
+ GladeProjectFormat fmt;
+
+ fmt = glade_project_get_format (widget->project);
+
+ if (!glade_xml_node_verify (node, GLADE_XML_TAG_WIDGET (fmt)))
return;
/* First chain up and read in all the normal properties.. */
GWA_GET_CLASS (G_TYPE_OBJECT)->write_widget (adaptor, widget, context, node);
- /* Write accelerators */
- glade_gtk_widget_write_accels (widget, context, node);
-
- /* Write atk props */
- glade_gtk_widget_write_atk_props (widget, context, node);
+ /* in Libglade the order must be Properties, Atk, Signals, Accels.
+ * in builder it doesnt matter so long as signals are after properties
+ * and before objects.
+ */
+ if (fmt == GLADE_PROJECT_FORMAT_LIBGLADE)
+ {
+ glade_gtk_widget_write_atk_props (widget, context, node);
+ glade_widget_write_signals (widget, context, node);
+ glade_gtk_widget_write_accels (widget, context, node);
+ } else {
+ /* The core takes care of signals in GtkBuilder format */
+ glade_gtk_widget_write_accels (widget, context, node);
+ glade_gtk_widget_write_atk_props (widget, context, node);
+ }
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]