r21502 - gnucash/trunk/src/business/business-gnome - Remove option menu dependency from business-options-gnome

Geert Janssens gjanssens at code.gnucash.org
Fri Oct 28 10:13:54 EDT 2011


Author: gjanssens
Date: 2011-10-28 10:13:54 -0400 (Fri, 28 Oct 2011)
New Revision: 21502
Trac: http://svn.gnucash.org/trac/changeset/21502

Added:
   gnucash/trunk/src/business/business-gnome/gtkbuilder/business-options-gnome.glade
Modified:
   gnucash/trunk/src/business/business-gnome/business-options-gnome.c
   gnucash/trunk/src/business/business-gnome/gtkbuilder/Makefile.am
Log:
Remove option menu dependency from business-options-gnome

Modified: gnucash/trunk/src/business/business-gnome/business-options-gnome.c
===================================================================
--- gnucash/trunk/src/business/business-gnome/business-options-gnome.c	2011-10-28 12:27:17 UTC (rev 21501)
+++ gnucash/trunk/src/business/business-gnome/business-options-gnome.c	2011-10-28 14:13:54 UTC (rev 21502)
@@ -30,6 +30,7 @@
 #include <libguile.h>
 
 #include "gnc-ui-util.h"
+#include "dialog-utils.h"
 #include "qof.h"
 #include "option-util.h"
 #include "gnc-general-search.h"
@@ -425,18 +426,22 @@
 create_taxtable_widget (GNCOption *option, GtkWidget *hbox)
 {
     GtkWidget *widget;
+    GtkBuilder *builder;
 
-    widget = gtk_option_menu_new ();
+    builder = gtk_builder_new();
+    gnc_builder_add_from_file (builder, "business-options-gnome.glade", "taxtable_store");
+    gnc_builder_add_from_file (builder, "business-options-gnome.glade", "taxtable_menu");
 
-    gnc_ui_taxtables_optionmenu (widget, gnc_get_current_book (), TRUE, NULL);
+    widget = GTK_WIDGET (gtk_builder_get_object (builder, "taxtable_menu"));
+    gnc_taxtables_combo (GTK_COMBO_BOX(widget), gnc_get_current_book (), TRUE, NULL);
+    gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
 
-    gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
     gnc_option_set_widget (option, widget);
 
-    gnc_ui_optionmenu_set_changed_callback (widget,
-                                            (void(*)(GtkWidget*, gpointer))gnc_option_changed_option_cb,
-                                            option);
+    g_signal_connect (widget, "changed",
+                      G_CALLBACK (gnc_option_changed_option_cb), option);
 
+    g_object_unref(G_OBJECT(builder));
     return widget;
 }
 
@@ -477,7 +482,7 @@
     taxtable = SWIG_MustGetPtr(value, SWIG_TypeQuery("_p__gncTaxTable"), 1, 0);
 
     widget = gnc_option_get_gtk_widget (option);
-    gnc_ui_optionmenu_set_value (widget, taxtable);
+    gnc_simple_combo_set_value (GTK_COMBO_BOX(widget), taxtable);
     return FALSE;
 }
 
@@ -487,7 +492,7 @@
 {
     GncTaxTable *taxtable;
 
-    taxtable = gnc_ui_optionmenu_get_value (widget);
+    taxtable = gnc_simple_combo_get_value (GTK_COMBO_BOX(widget));
     return SWIG_NewPointerObj(taxtable, SWIG_TypeQuery("_p__gncTaxTable"), 0);
 }
 

Modified: gnucash/trunk/src/business/business-gnome/gtkbuilder/Makefile.am
===================================================================
--- gnucash/trunk/src/business/business-gnome/gtkbuilder/Makefile.am	2011-10-28 12:27:17 UTC (rev 21501)
+++ gnucash/trunk/src/business/business-gnome/gtkbuilder/Makefile.am	2011-10-28 14:13:54 UTC (rev 21502)
@@ -1,5 +1,6 @@
 gtkbuilderdir = $(GNC_GTKBUILDER_DIR)
 gtkbuilder_DATA = \
+  business-options-gnome.glade \
   dialog-customer.glade \
   dialog-invoice.glade \
   dialog-vendor.glade

Added: gnucash/trunk/src/business/business-gnome/gtkbuilder/business-options-gnome.glade
===================================================================
--- gnucash/trunk/src/business/business-gnome/gtkbuilder/business-options-gnome.glade	                        (rev 0)
+++ gnucash/trunk/src/business/business-gnome/gtkbuilder/business-options-gnome.glade	2011-10-28 14:13:54 UTC (rev 21502)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <requires lib="gtk+" version="2.16"/>
+  <object class="GtkWindow" id="dummy_toplevel">
+    <property name="can_focus">False</property>
+    <child>
+      <object class="GtkComboBox" id="taxtable_menu">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="model">taxtable_store</property>
+        <child>
+          <object class="GtkCellRendererText" id="taxtable_cell_renderer_text"/>
+          <attributes>
+            <attribute name="text">0</attribute>
+          </attributes>
+        </child>
+      </object>
+    </child>
+  </object>
+  <object class="GtkListStore" id="taxtable_store">
+    <columns>
+      <!-- column-name taxtable_name -->
+      <column type="gchararray"/>
+      <!-- column-name taxtable_value -->
+      <column type="gpointer"/>
+    </columns>
+  </object>
+</interface>



More information about the gnucash-changes mailing list