[goffice] 2009-05-27 Jean Bréfort <jean brefort normalesup org>



commit aaa67642d577658e99ee01308f82582fb7945669
Author: Jean Brefort <jean brefort normalesup org>
Date:   Wed May 27 11:21:41 2009 +0200

    2009-05-27  Jean Bréfort  <jean brefort normalesup org>
    
    	* goffice/gtk/goffice-gtk.c (go_gtk_builder_new): renamed for more
    	consistency,
    	(go_gtk_builder_signal_connect),
    	(go_gtk_builder_signal_connect_swapped): new functions.
    	* goffice/gtk/goffice-gtk.h: ditto.
    	* plugins/plot_radar/gog-radar.c
    	(gog_color_polar_plot_populate_editor): use go_gtk_builder_new.
---
 ChangeLog                      |   10 ++++++
 goffice/gtk/goffice-gtk.c      |   61 +++++++++++++++++++++++++++++++++++++--
 goffice/gtk/goffice-gtk.h      |   13 +++++++-
 plugins/plot_radar/gog-radar.c |    2 +-
 4 files changed, 79 insertions(+), 7 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 193baa1..a64f123 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2009-05-27  Jean Bréfort  <jean brefort normalesup org>
+
+	* goffice/gtk/goffice-gtk.c (go_gtk_builder_new): renamed for more
+	consistency,
+	(go_gtk_builder_signal_connect),
+	(go_gtk_builder_signal_connect_swapped): new functions.
+	* goffice/gtk/goffice-gtk.h: ditto.
+	* plugins/plot_radar/gog-radar.c
+	(gog_color_polar_plot_populate_editor): use go_gtk_builder_new.
+
 2009-05-26  Andreas J. Guelzow  <aguelzow pyrshep ca>
 
 	* goffice/utils/go-format.c (go_format_odf_style_map): new
diff --git a/goffice/gtk/goffice-gtk.c b/goffice/gtk/goffice-gtk.c
index 0c75be3..9815db2 100644
--- a/goffice/gtk/goffice-gtk.c
+++ b/goffice/gtk/goffice-gtk.c
@@ -192,7 +192,7 @@ go_glade_signal_connect_swapped (GladeXML	*gui,
 }
 
 /**
- * go_xml_builder_new :
+ * go_gtk_builder_new :
  * @uifile : the name of the file load
  * @domain : the translation domain
  * @gcc : #GOCmdContext
@@ -202,7 +202,7 @@ go_glade_signal_connect_swapped (GladeXML	*gui,
  * Returns: a new #GtkBuilder or NULL
  **/
 GtkBuilder *
-go_xml_builder_new (char const *uifile,
+go_gtk_builder_new (char const *uifile,
 		    char const *domain, GOCmdContext *gcc)
 {
 	GtkBuilder *gui;
@@ -212,12 +212,13 @@ go_xml_builder_new (char const *uifile,
 	g_return_val_if_fail (uifile != NULL, NULL);
 
 	if (!g_path_is_absolute (uifile))
-		f = g_build_filename (go_sys_data_dir (), "glade", uifile, NULL);
+		f = g_build_filename (go_sys_data_dir (), "ui", uifile, NULL);
 	else
 		f = g_strdup (uifile);
 
 	gui = gtk_builder_new ();
-	gtk_builder_set_translation_domain (gui, domain);
+	if (domain)
+		gtk_builder_set_translation_domain (gui, domain);
 	gtk_builder_add_from_file (gui, f, &error);
 	if (gui == NULL && gcc != NULL) {
 		char *msg;
@@ -234,6 +235,58 @@ go_xml_builder_new (char const *uifile,
 	return gui;
 }
 
+/**
+ * go_gtk_builder_signal_connect :
+ * @gui : #GtkBuilder
+ * @instance_name : widget name
+ * @detailed_signal : signal name
+ * @c_handler : #GCallback
+ * @data : arbitrary
+ *
+ * Convenience wrapper around g_signal_connect for GtkBuilder.
+ *
+ * Returns: The signal id
+ **/
+gulong
+go_gtk_builder_signal_connect	(GtkBuilder	*gui,
+			 gchar const	*instance_name,
+			 gchar const	*detailed_signal,
+			 GCallback	 c_handler,
+			 gpointer	 data)
+{
+	GObject *obj;
+	g_return_val_if_fail (gui != NULL, 0);
+	obj = gtk_builder_get_object (gui, instance_name);
+	g_return_val_if_fail (obj != NULL, 0);
+	return g_signal_connect (obj, detailed_signal, c_handler, data);
+}
+
+/**
+ * go_xml_builder_signal_connect_swapped :
+ * @gui : #GtkBuilder
+ * @instance_name : widget name
+ * @detailed_signal : signal name
+ * @c_handler : #GCallback
+ * @data : arbitary
+ *
+ * Convenience wrapper around g_signal_connect_swapped for GtkBuilder.
+ *
+ * Returns: The signal id
+ **/
+gulong
+go_gtk_builder_signal_connect_swapped (GtkBuilder	*gui,
+				 gchar const	*instance_name,
+				 gchar const	*detailed_signal,
+				 GCallback	 c_handler,
+				 gpointer	 data)
+{
+	GObject *obj;
+	g_return_val_if_fail (gui != NULL, 0);
+	obj = gtk_builder_get_object (gui, instance_name);
+	g_return_val_if_fail (obj != NULL, 0);
+	return g_signal_connect_swapped (obj, detailed_signal, c_handler, data);
+}
+
 /*
  * A variant of gtk_window_activate_default that does not end up reactivating
  * the widget that [Enter] was pressed in.
diff --git a/goffice/gtk/goffice-gtk.h b/goffice/gtk/goffice-gtk.h
index 540564e..c5dab1f 100644
--- a/goffice/gtk/goffice-gtk.h
+++ b/goffice/gtk/goffice-gtk.h
@@ -43,9 +43,18 @@ gulong	   go_glade_signal_connect_swapped (GladeXML *gui,
 					    GCallback	 c_handler,
 					    gpointer	 data);
 
-GtkBuilder *go_xml_builder_new (char const *uifile,
+GtkBuilder *go_gtk_builder_new (char const *uifile,
 						char const *domain, GOCmdContext *gcc);
-
+gulong	    go_gtk_builder_signal_connect	(GtkBuilder	*gui,
+						gchar const	*instance_name,
+						gchar const	*detailed_signal,
+						GCallback	 c_handler,
+						gpointer	 data);
+gulong	    go_gtk_builder_signal_connect_swapped (GtkBuilder *gui,
+						gchar const	*instance_name,
+						gchar const	*detailed_signal,
+						GCallback	 c_handler,
+						gpointer	 data);
 
 int	   go_pango_measure_string	(PangoContext *context,
 					 PangoFontDescription const *font_desc,
diff --git a/plugins/plot_radar/gog-radar.c b/plugins/plot_radar/gog-radar.c
index e12036f..8b797a8 100644
--- a/plugins/plot_radar/gog-radar.c
+++ b/plugins/plot_radar/gog-radar.c
@@ -456,7 +456,7 @@ gog_color_polar_plot_populate_editor (GogObject *obj,
 
 	dir = go_plugin_get_dir_name (go_plugins_get_plugin_by_id ("GOffice_plot_radar"));
 	path = g_build_filename (dir, "gog-color-polar-prefs.xml", NULL);
-	gui = go_xml_builder_new (path, GETTEXT_PACKAGE, cc);
+	gui = go_gtk_builder_new (path, GETTEXT_PACKAGE, cc);
 	g_free (path);
 
 	if (gui != NULL) {



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