r21800 - gnucash/trunk - Remove unused gnc-dialog code, spotted by Robert Fewell.

Geert Janssens gjanssens at code.gnucash.org
Fri Dec 30 11:59:14 EST 2011


Author: gjanssens
Date: 2011-12-30 11:59:14 -0500 (Fri, 30 Dec 2011)
New Revision: 21800
Trac: http://svn.gnucash.org/trac/changeset/21800

Removed:
   gnucash/trunk/src/gnome-utils/gnc-dialog.c
   gnucash/trunk/src/gnome-utils/gnc-dialog.h
   gnucash/trunk/src/gnome-utils/test/test-gnc-dialog.c
Modified:
   gnucash/trunk/po/POTFILES.in
   gnucash/trunk/src/gnome-utils/Makefile.am
   gnucash/trunk/src/gnome-utils/test/Makefile.am
   gnucash/trunk/src/gnome/gnc-plugin-page-budget.c
Log:
Remove unused gnc-dialog code, spotted by Robert Fewell.
Additionally, update POTFILES.in for recent changes.

Modified: gnucash/trunk/po/POTFILES.in
===================================================================
--- gnucash/trunk/po/POTFILES.in	2011-12-30 16:59:03 UTC (rev 21799)
+++ gnucash/trunk/po/POTFILES.in	2011-12-30 16:59:14 UTC (rev 21800)
@@ -7,14 +7,6 @@
 src/app-utils/gnc-account-merge.c
 src/app-utils/gnc-addr-quickfill.c
 src/app-utils/gnc-component-manager.c
-src/app-utils/gnc-druid.c
-src/app-utils/gnc-druid-cb.c
-src/app-utils/gnc-druid-provider.c
-src/app-utils/gnc-druid-provider-desc.c
-src/app-utils/gnc-druid-provider-desc-edge.c
-src/app-utils/gnc-druid-provider-desc-file.c
-src/app-utils/gnc-druid-provider-desc-multifile.c
-src/app-utils/gnc-druid-provider-file-cb.c
 src/app-utils/gnc-entry-quickfill.c
 src/app-utils/gnc-euro.c
 src/app-utils/gnc-exp-parser.c
@@ -223,9 +215,9 @@
 src/gnome/gtkbuilder/dialog-print-check.glade
 src/gnome/gtkbuilder/dialog-progress.glade
 src/gnome/gtkbuilder/dialog-sx.glade
+src/gnome/gtkbuilder/dialog-tax-info.glade
 src/gnome/gtkbuilder/gnc-plugin-page-budget.glade
 src/gnome/gtkbuilder/gnc-plugin-page-register.glade
-src/gnome/gtkbuilder/dialog-tax-info.glade
 src/gnome/gtkbuilder/window-autoclear.glade
 src/gnome/gtkbuilder/window-reconcile.glade
 src/gnome/reconcile-list.c
@@ -262,6 +254,7 @@
 src/gnome-utils/dialog-account.c
 src/gnome-utils/dialog-book-close.c
 src/gnome-utils/dialog-commodity.c
+src/gnome-utils/dialog-dup-trans.c
 src/gnome-utils/dialog-file-access.c
 src/gnome-utils/dialog-object-references.c
 src/gnome-utils/dialog-options.c
@@ -288,11 +281,6 @@
 src/gnome-utils/gnc-dense-cal.c
 src/gnome-utils/gnc-dense-cal-model.c
 src/gnome-utils/gnc-dense-cal-store.c
-src/gnome-utils/gnc-dialog.c
-src/gnome-utils/gnc-druid-gnome.c
-src/gnome-utils/gnc-druid-provider-edge-gnome.c
-src/gnome-utils/gnc-druid-provider-file-gnome.c
-src/gnome-utils/gnc-druid-provider-multifile-gnome.c
 src/gnome-utils/gnc-embedded-window.c
 src/gnome-utils/gnc-file.c
 src/gnome-utils/gnc-frequency.c
@@ -341,7 +329,7 @@
 src/gnome-utils/gtkbuilder/dialog-preferences.glade
 src/gnome-utils/gtkbuilder/dialog-query-list.glade
 src/gnome-utils/gtkbuilder/dialog-reset-warnings.glade
-src/gnome-utils/gtkbuilder/dialog-tax-tables.glade
+src/gnome-utils/gtkbuilder/dialog-tax-table.glade
 src/gnome-utils/gtkbuilder/dialog-totd.glade
 src/gnome-utils/gtkbuilder/dialog-transfer.glade
 src/gnome-utils/gtkbuilder/dialog-userpass.glade
@@ -363,11 +351,11 @@
 src/html/gnc-html-history.c
 src/html/gnc-html-webkit.c
 src/html/gncmod-html.c
+src/import-export/aqbanking/assistant-ab-initial.c
 src/import-export/aqbanking/assistant-ab-initial.glade
+src/import-export/aqbanking/dialog-ab-daterange.c
 src/import-export/aqbanking/dialog-ab.glade
 src/import-export/aqbanking/dialog-ab-trans.c
-src/import-export/aqbanking/dialog-ab-daterange.c
-src/import-export/aqbanking/assistant-ab-initial.c
 src/import-export/aqbanking/gnc-ab-getbalance.c
 src/import-export/aqbanking/gnc-ab-gettrans.c
 src/import-export/aqbanking/gnc-ab-kvp.c
@@ -381,8 +369,8 @@
 src/import-export/aqbanking/schemas/apps_gnucash_dialog_hbci.schemas.in
 src/import-export/csv/gnc-csv-gnumeric-popup.c
 src/import-export/csv/gnc-csv-import.c
-src/import-export/csv/gnc-csv-model.c
 src/import-export/csv/gnc-csv-import.glade
+src/import-export/csv/gnc-csv-model.c
 src/import-export/csv/gncmod-csv-import.c
 src/import-export/csv/gnc-plugin-csv.c
 src/import-export/dialog-import.glade
@@ -404,12 +392,12 @@
 src/import-export/ofx/gnc-ofx-import.c
 src/import-export/ofx/gnc-ofx-kvp.c
 src/import-export/ofx/gnc-plugin-ofx.c
+src/import-export/qif-import/assistant-qif-import.c
+src/import-export/qif-import/assistant-qif-import.glade
 src/import-export/qif-import/dialog-account-picker.c
 src/import-export/qif-import/dialog-account-picker.glade
-src/import-export/qif-import/assistant-qif-import.c
 src/import-export/qif-import/gncmod-qif-import.c
 src/import-export/qif-import/gnc-plugin-qif-import.c
-src/import-export/qif-import/assistant-qif-import.glade
 src/import-export/qif-import/schemas/apps_gnucash_import_qif.schemas.in
 src/import-export/qif/qif-context.c
 src/import-export/qif/qif-file.c
@@ -444,7 +432,6 @@
 src/plugins/bi_import/gui.c
 src/plugins/bi_import/helpers.c
 src/python/gncmod-python.c
-src/gnome-utils/dialog-dup-trans.c
 src/register/ledger-core/gnc-ledger-display.c
 src/register/ledger-core/gncmod-ledger-core.c
 src/register/ledger-core/split-register.c

Modified: gnucash/trunk/src/gnome/gnc-plugin-page-budget.c
===================================================================
--- gnucash/trunk/src/gnome/gnc-plugin-page-budget.c	2011-12-30 16:59:03 UTC (rev 21799)
+++ gnucash/trunk/src/gnome/gnc-plugin-page-budget.c	2011-12-30 16:59:14 UTC (rev 21800)
@@ -66,7 +66,6 @@
 
 #include "qof.h"
 
-#include "gnc-dialog.h"
 #include "gnc-recurrence.h"
 #include "Recurrence.h"
 #include "gnc-tree-model-account-types.h"

Modified: gnucash/trunk/src/gnome-utils/Makefile.am
===================================================================
--- gnucash/trunk/src/gnome-utils/Makefile.am	2011-12-30 16:59:03 UTC (rev 21799)
+++ gnucash/trunk/src/gnome-utils/Makefile.am	2011-12-30 16:59:14 UTC (rev 21800)
@@ -59,7 +59,6 @@
   gnc-dense-cal.c \
   gnc-dense-cal-model.c \
   gnc-dense-cal-store.c \
-  gnc-dialog.c \
   gnc-embedded-window.c \
   gnc-file.c \
   gnc-frequency.c \
@@ -172,7 +171,6 @@
   gnc-window.h \
   misc-gnome-utils.h \
   print-session.h \
-  gnc-dialog.h \
   window-main-summarybar.h
 
 noinst_HEADERS = \

Deleted: gnucash/trunk/src/gnome-utils/gnc-dialog.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-dialog.c	2011-12-30 16:59:03 UTC (rev 21799)
+++ gnucash/trunk/src/gnome-utils/gnc-dialog.c	2011-12-30 16:59:14 UTC (rev 21800)
@@ -1,719 +0,0 @@
-/* Copyright (C) 2005 Chris Shoemaker <c.shoemaker at cox.net>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, contact:
- *
- * Free Software Foundation           Voice:  +1-617-542-5942
- * 51 Franklin Street, Fifth Floor    Fax:    +1-617-542-2652
- * Boston, MA  02110-1301,  USA       gnu at gnu.org
- */
-
-#include "config.h"
-#include <gtk/gtk.h>
-#include <glade/glade.h>
-
-#include "gnc-engine.h"
-#include "gnome.h"         // for gnome_date_edit
-#include "gnc-dialog.h"
-#include "gnc-gobject-utils.h"
-#include "dialog-utils.h"  // for gnc_glade_xml_new
-
-static QofLogModule log_module = GNC_MOD_GUI;
-
-#define GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \
-  GNC_TYPE_DIALOG, GncDialogPrivate))
-
-struct _GncDialog
-{
-    GtkDialog parent;
-};
-
-struct _GncDialogClass
-{
-    GtkDialogClass parent;
-    void (*changed) (GncDialog *d);
-};
-
-enum
-{
-    GNC_DIALOG_CHANGED,
-    LAST_SIGNAL
-};
-
-static gint gnc_dialog_signals [LAST_SIGNAL] = { GNC_DIALOG_CHANGED };
-static GtkDialogClass *parent_class = NULL;
-
-typedef struct
-{
-    GladeXML *xml;
-    GncDialogCallback apply_cb;
-    GncDialogCallback close_cb;
-    GncDialogCallback help_cb;
-    GtkWidget *cancel_btn;
-    GtkWidget *ok_btn;
-    GtkWidget *help_btn;
-
-    gpointer user_data;
-    gboolean changed;
-} GncDialogPrivate;
-
-static void
-gnc_dialog_finalize(GObject *d)
-{
-    g_return_if_fail(d);
-    /* We don't own any references, so do nothing */
-    gnc_gobject_tracking_forget(d);
-    G_OBJECT_CLASS(parent_class)->finalize(d);
-}
-
-static void
-gnc_dialog_class_init (GncDialogClass *klass)
-{
-    GObjectClass *gobject_class;
-
-    parent_class = g_type_class_peek_parent (klass);
-
-    gobject_class = G_OBJECT_CLASS (klass);
-
-    g_type_class_add_private (gobject_class, sizeof (GncDialogPrivate));
-
-    gnc_dialog_signals [GNC_DIALOG_CHANGED] =
-        g_signal_new ("changed",
-                      G_OBJECT_CLASS_TYPE (gobject_class),
-                      G_SIGNAL_RUN_FIRST,
-                      G_STRUCT_OFFSET (struct _GncDialogClass, changed),
-                      NULL,
-                      NULL,
-                      g_cclosure_marshal_VOID__VOID,
-                      G_TYPE_NONE,
-                      0);
-
-    /* GObject signals */
-    gobject_class->finalize = gnc_dialog_finalize;
-}
-
-static void
-gnc_dialog_init (GncDialog *d, GncDialogClass *klass)
-{
-    gnc_gobject_tracking_remember(G_OBJECT(d), G_OBJECT_CLASS(klass));
-}
-
-GType gnc_dialog_get_type (void)
-{
-    static GType t = 0;
-
-    if (!t)
-    {
-        static const GTypeInfo info =
-        {
-            sizeof (struct _GncDialogClass),
-            NULL, /* base_init */
-            NULL, /* base_final */
-            (GClassInitFunc) gnc_dialog_class_init,
-            NULL, /* class final */
-            NULL, /* class data */
-            sizeof (struct _GncDialog),
-            0, /* n_preallocs */
-            (GInstanceInitFunc) gnc_dialog_init,
-            NULL,
-        };
-        t = g_type_register_static (GTK_TYPE_DIALOG,
-                                    "GncDialog", &info, 0);
-    }
-    return t;
-}
-
-static void gnc_dialog_set_changed(GncDialog *_d, gboolean changed)
-{
-    GncDialogPrivate *priv;
-    struct _GncDialog *d = _d;
-
-    priv = GET_PRIVATE(d);
-    if (!priv->changed && changed)
-        gtk_dialog_set_response_sensitive(&d->parent, GTK_RESPONSE_OK,
-                                          changed);
-    priv->changed = changed;
-    if (changed)
-        g_signal_emit(G_OBJECT(d), gnc_dialog_signals[GNC_DIALOG_CHANGED], 0);
-}
-
-static void gnc_dialog_response_cb(GtkDialog *dlg,
-                                   gint response, GncDialog *d)
-{
-    gboolean success = TRUE;
-    GncDialogPrivate *priv = GET_PRIVATE(d);
-
-    switch (response)
-    {
-    case GTK_RESPONSE_HELP:
-        if (priv->help_cb)
-            priv->help_cb(d, priv->user_data);
-        break;
-    case GTK_RESPONSE_OK:
-        //case GTK_RESPONSE_APPLY:
-        if (priv->apply_cb)
-        {
-            success = priv->apply_cb(d, priv->user_data);
-            if (success)
-                gnc_dialog_set_changed(d, FALSE);
-        }
-
-        if (!success)
-            break;
-        // fall through
-    default:
-        if (priv->close_cb)
-            success = priv->close_cb(d, priv->user_data);
-        else
-            success = TRUE;
-
-        if (success)
-            gtk_widget_destroy(GTK_WIDGET(dlg));
-        break;
-    }
-}
-
-static void changed_cb(GObject *obj, gpointer d)
-{
-    gnc_dialog_set_changed(GNC_DIALOG(d), TRUE);
-}
-
-static void
-gnc_dialog_watch_for_changes(GtkWidget *wid, gpointer d)
-{
-    if (GTK_IS_BUTTON(wid))
-        g_signal_connect(G_OBJECT(wid), "clicked", G_CALLBACK(changed_cb), d);
-
-    if (GTK_IS_EDITABLE(wid) || GTK_IS_COMBO_BOX(wid))
-        g_signal_connect(G_OBJECT(wid), "changed", G_CALLBACK(changed_cb), d);
-
-    if (GTK_IS_TREE_VIEW(wid))
-    {
-        GtkTreeSelection *sel =
-            gtk_tree_view_get_selection(GTK_TREE_VIEW(wid));
-        g_signal_connect(G_OBJECT(sel), "changed", G_CALLBACK(changed_cb), d);
-    }
-
-    if (GTK_IS_TEXT_VIEW(wid))
-    {
-        GtkTextBuffer *buf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(wid));
-        g_signal_connect(G_OBJECT(buf), "changed", G_CALLBACK(changed_cb), d);
-    }
-    //Possibly TODO: GtkCalendar?
-
-    /* Recurse over all "contained" widgets */
-    if (GTK_IS_CONTAINER(wid))
-    {
-        gtk_container_foreach(GTK_CONTAINER(wid),
-                              gnc_dialog_watch_for_changes, d);
-    }
-}
-
-GncDialog *gnc_dialog_new(const char* filename,
-                          const char* root)
-{
-    GncDialog *d;
-    GncDialogPrivate *priv;
-    GtkDialog *dlg;
-    GtkWidget *child;
-
-    d = g_object_new(GNC_TYPE_DIALOG, NULL);
-    dlg = GTK_DIALOG(d);
-    priv = GET_PRIVATE(d);
-
-    /* Load in the glade portion and plug it in. */
-    priv->xml = gnc_glade_xml_new(filename, root);
-    child = glade_xml_get_widget(priv->xml, root);
-    if (GTK_WIDGET_TOPLEVEL(child))
-    {
-        PERR("GncDialog root widget must not be a toplevel widget");
-        return NULL;
-    }
-
-    gtk_container_add(GTK_CONTAINER(dlg->vbox), child);
-
-    /* Prepare the dialog. */
-    priv->help_btn = gtk_dialog_add_button(dlg, GTK_STOCK_HELP,
-                                           GTK_RESPONSE_HELP);
-    priv->cancel_btn = gtk_dialog_add_button(dlg, GTK_STOCK_CANCEL,
-                       GTK_RESPONSE_CANCEL);
-    priv->ok_btn = gtk_dialog_add_button(dlg, GTK_STOCK_OK,
-                                         GTK_RESPONSE_OK);
-
-    g_signal_connect(dlg, "response",
-                     G_CALLBACK(gnc_dialog_response_cb), d);
-
-    glade_xml_signal_autoconnect_full(priv->xml,
-                                      gnc_glade_autoconnect_full_func, d);
-    gnc_dialog_watch_for_changes(child, (gpointer) d);
-    gtk_dialog_set_response_sensitive(dlg, GTK_RESPONSE_OK, FALSE);
-    return d;
-}
-
-void gnc_dialog_set_cb(GncDialog *d, GncDialogCallback apply_cb,
-                       GncDialogCallback close_cb,
-                       GncDialogCallback help_cb,
-                       gpointer user_data)
-{
-    GncDialogPrivate *priv;
-
-    priv = GET_PRIVATE(d);
-    priv->apply_cb = apply_cb;
-    priv->close_cb = close_cb;
-    priv->help_cb = help_cb;
-    priv->user_data = user_data;
-
-    if (apply_cb == NULL)
-        gtk_widget_hide(priv->ok_btn);
-    if (help_cb == NULL)
-        gtk_widget_hide(priv->help_btn);
-}
-
-void gnc_dialog_block_until_close(GncDialog *d)
-{
-    gint result;
-    g_return_if_fail(d);
-
-    do
-    {
-        result = gtk_dialog_run(GTK_DIALOG(d));
-    }
-    while (result != GTK_RESPONSE_DELETE_EVENT);
-}
-
-/* There are certain containers that the type-specific functions don't
-   operate on.  But, the API user might have used
-   gnc_dialog_get_widget() to get the container widget, and then added
-   their own widget to the container.  For the purpose of the
-   type-specific functions, we'll consider references to those
-   containers as references to their child.  (But only one
-   child.)
-  */
-static GtkWidget *gnc_dialog_get_widget_smart(GtkWidget *w)
-{
-    g_return_val_if_fail(w, NULL);
-
-    if (GTK_IS_BOX(w))
-    {
-        GList *children = gtk_container_get_children(GTK_CONTAINER(w));
-        if (g_list_length(children) == 1)
-        {
-            GtkWidget *child = GTK_WIDGET(children->data);
-            g_list_free(children);
-            return gnc_dialog_get_widget_smart(child);
-        }
-        g_list_free(children);
-    }
-    return w;
-}
-
-
-/* Method 1 */
-GtkWidget *gnc_dialog_get_widget(GncDialog *d, const gchar* name)
-{
-    GncDialogPrivate *priv;
-
-    priv = GET_PRIVATE(d);
-    g_return_val_if_fail(name, NULL);
-    return glade_xml_get_widget(priv->xml, name);
-}
-
-void gnc_dialog_set_sensitive(GncDialog *d, const gchar* name, gboolean sen)
-{
-    gtk_widget_set_sensitive(gnc_dialog_get_widget(d, name), sen);
-}
-
-#define IS_A(wid, tname) (g_type_is_a(GTK_WIDGET_TYPE(wid), \
-				      g_type_from_name(tname) ))
-
-#define TYPE_ERROR(wid, tname, failval) do {             \
-    PERR("Expected %s, but found %s", (tname),  \
-        g_type_name(GTK_WIDGET_TYPE(wid)));     \
-    return (failval);                              \
-} while (0)
-
-#define SPECIFIC_INIT(d, name, wid, failval)               \
-    GtkWidget *(wid);                                      \
-    g_return_val_if_fail((d) && (name), (failval));        \
-    (wid) = gnc_dialog_get_widget((d), (name));            \
-    (wid) = gnc_dialog_get_widget_smart((wid));            \
-    g_return_val_if_fail((wid), (failval));
-
-/*
- *  Type-specific getter/setters.
- *
- */
-gboolean gnc_dialog_set_string(GncDialog *d, const gchar* name,
-                               const gchar* val)
-{
-    SPECIFIC_INIT(d, name, wid, FALSE);
-
-    if (IS_A(wid, "GtkEntry"))
-        gtk_entry_set_text(GTK_ENTRY(wid), val);
-    else if (IS_A(wid, "GtkLabel"))
-        gtk_label_set_text(GTK_LABEL(wid), val);
-    else if (IS_A(wid, "GtkCombo")) //deprecated
-        gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(wid)->entry), val);
-    else if (IS_A(wid, "GtkTextView"))
-    {
-        GtkTextBuffer *buf;
-        buf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(wid));
-        gtk_text_buffer_set_text(buf, val, -1);
-    }
-    else TYPE_ERROR(wid, "GtkEntry or GtkLabel or GtkTextView", FALSE);
-    //TODO: font support?
-
-    return TRUE;
-}
-
-gchar * gnc_dialog_get_string(GncDialog *d, const gchar* name)
-{
-    SPECIFIC_INIT(d, name, wid, NULL);
-
-    if (IS_A(wid, "GtkEntry"))
-        return g_strdup(gtk_entry_get_text(GTK_ENTRY(wid)));
-    else if (IS_A(wid, "GtkLabel"))
-        return g_strdup(gtk_label_get_text(GTK_LABEL(wid)));
-    else if (IS_A(wid, "GtkCombo")) //deprecated
-        return g_strdup(gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(wid)->entry)));
-    else if (IS_A(wid, "GtkTextView"))
-    {
-        GtkTextBuffer *buf;
-        GtkTextIter start, end;
-        buf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(wid));
-        gtk_text_buffer_get_bounds(buf, &start, &end);
-        return gtk_text_buffer_get_text(buf, &start, &end, TRUE);
-    }
-    else if (IS_A(wid, "GtkComboBoxEntry"))
-    {
-        gint col;
-        GtkTreeModel *tm;
-        GtkTreeIter iter;
-        GType type;
-        col = gtk_combo_box_entry_get_text_column(GTK_COMBO_BOX_ENTRY(wid));
-        tm = gtk_combo_box_get_model(GTK_COMBO_BOX(wid));
-        type = gtk_tree_model_get_column_type(tm, col);
-        if (type != G_TYPE_STRING)
-            return NULL;
-        if (!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(wid), &iter))
-        {
-            gchar *str;
-            gtk_tree_model_get(tm, &iter, col, &str);
-            return str;
-        }
-        else return NULL;
-    }
-    else TYPE_ERROR(wid, "GtkEntry or GtkLabel or GtkTextView", NULL);
-}
-
-gboolean gnc_dialog_set_double(GncDialog *d, const gchar* name, gdouble val)
-{
-    SPECIFIC_INIT(d, name, wid, FALSE);
-
-    if (IS_A(wid, "GtkSpinButton"))
-        gtk_spin_button_set_value(GTK_SPIN_BUTTON(wid), val);
-    else TYPE_ERROR(wid, "GtkSpinButton", FALSE);
-    return TRUE;
-    //TODO: string conversion?
-}
-
-gdouble gnc_dialog_get_double(GncDialog *d, const gchar* name)
-{
-    SPECIFIC_INIT(d, name, wid, 0.0);
-
-    if (IS_A(wid, "GtkSpinButton"))
-        return gtk_spin_button_get_value(GTK_SPIN_BUTTON(wid));
-    else TYPE_ERROR(wid, "GtkSpinButton", 0.0);
-}
-gboolean gnc_dialog_set_int(GncDialog *d, const gchar* name, gint val)
-{
-    SPECIFIC_INIT(d, name, wid, FALSE);
-
-    if (IS_A(wid, "GtkSpinButton"))
-        gtk_spin_button_set_value(GTK_SPIN_BUTTON(wid), (gdouble)val);
-    else TYPE_ERROR(wid, "GtkSpinButton", FALSE);
-    return TRUE;
-}
-
-gint gnc_dialog_get_int(GncDialog *d, const gchar* name)
-{
-    SPECIFIC_INIT(d, name, wid, 0);
-
-    if (IS_A(wid, "GtkSpinButton"))
-        return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(wid));
-    else TYPE_ERROR(wid, "GtkSpinButton", 0);
-}
-
-gboolean gnc_dialog_set_date(GncDialog *d, const gchar* name, time_t val)
-{
-    SPECIFIC_INIT(d, name, wid, FALSE);
-
-    if (IS_A(wid, "GnomeDateEdit"))
-        gnome_date_edit_set_time((GnomeDateEdit *)wid, val);
-    else TYPE_ERROR(wid, "GnomeDateEdit", FALSE);
-    return TRUE;
-}
-
-time_t gnc_dialog_get_date(GncDialog *d, const gchar* name)
-{
-    SPECIFIC_INIT(d, name, wid, ((time_t)(-1)));
-
-    if (IS_A(wid, "GnomeDateEdit"))
-        return gnome_date_edit_get_time((GnomeDateEdit *)wid);
-    else TYPE_ERROR(wid, "GnomeDateEdit", ((time_t)(-1)));
-}
-
-
-gboolean gnc_dialog_set_index(GncDialog *d, const gchar* name, gint val)
-{
-    SPECIFIC_INIT(d, name, wid, FALSE);
-
-    if (IS_A(wid, "GtkComboBox"))
-        gtk_combo_box_set_active(GTK_COMBO_BOX(wid), val);
-    else if (IS_A(wid, "GtkOptionMenu"))
-        gtk_option_menu_set_history(GTK_OPTION_MENU(wid),
-                                    (guint)(val < 0 ? -val : val));
-    else TYPE_ERROR(wid, "GtkComboBox", FALSE); // GtkOptionMenu is deprecated.
-    return TRUE;
-}
-
-gint gnc_dialog_get_index(GncDialog *d, const gchar* name)
-{
-    SPECIFIC_INIT(d, name, wid, -1);
-
-    if (IS_A(wid, "GtkComboBox"))
-        return gtk_combo_box_get_active(GTK_COMBO_BOX(wid));
-    else if (IS_A(wid, "GtkOptionMenu"))
-        return gtk_option_menu_get_history(GTK_OPTION_MENU(wid));
-    else TYPE_ERROR(wid, "GtkComboBox", -1); // GtkOptionMenu is deprecated.
-}
-
-gboolean gnc_dialog_set_boolean(GncDialog *d, const gchar* name,
-                                gboolean val)
-{
-    SPECIFIC_INIT(d, name, wid, FALSE);
-
-    if (IS_A(wid, "GtkToggleButton"))
-        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wid), val);
-    else TYPE_ERROR(wid, "GtkToggleButton", FALSE);
-    return TRUE;
-}
-
-gboolean gnc_dialog_get_boolean(GncDialog *d, const gchar* name)
-{
-    SPECIFIC_INIT(d, name, wid, FALSE);
-
-    if (IS_A(wid, "GtkToggleButton"))
-        return gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wid));
-    else TYPE_ERROR(wid, "GtkToggleButton", FALSE);
-}
-
-
-/* Method 3 */
-/* getters and setters */
-static gpointer gd_gtk_entry_get_text(gpointer w)
-{
-    return (gpointer)gtk_entry_get_text(GTK_ENTRY(w));
-}
-static gboolean gd_gtk_entry_set_text(gpointer wid, gpointer val)
-{
-    g_return_val_if_fail(GTK_IS_ENTRY(wid), FALSE);
-    gtk_entry_set_text(GTK_ENTRY(wid), (gchar *) val);
-    return TRUE;
-
-}
-static gpointer gd_gtk_spin_button_get_value(gpointer w)
-{
-    static gdouble d;
-    d = gtk_spin_button_get_value(GTK_SPIN_BUTTON(w));
-    return ((gpointer) &d);
-}
-static gboolean gd_gtk_spin_button_set_value(gpointer w, gpointer d)
-{
-    g_return_val_if_fail(GTK_IS_SPIN_BUTTON(w), FALSE);
-    gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), *(gdouble *)d);
-    return TRUE;
-}
-#if 0
-static const gpointer gd_gtk_toggle_button_get_active(GtkWidget *w)
-{
-    static gboolean b;
-    b = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w));
-    return ((gpointer) &b);
-}
-static void gd_gtk_toggle_button_set_active(GtkWidget *w, gpointer b)
-{
-    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), *(gboolean *)b);
-}
-static const gpointer gd_gtk_combo_box_get_active(GtkWidget *w)
-{
-    static gint i;
-    i = gtk_combo_box_get_active(GTK_COMBO_BOX(w));
-    return ((gpointer) &i);
-}
-static void gd_gtk_combo_box_set_active(GtkWidget *w, gpointer b)
-{
-    gtk_combo_box_set_active(GTK_COMBO_BOX(w), *(gint *)b);
-}
-static const gpointer gd_gtk_text_view_get_buffer(GtkWidget *w)
-{
-    return (gpointer)gtk_text_view_get_buffer(GTK_TEXT_VIEW(w));
-}
-static void gd_gtk_text_view_set_buffer(GtkWidget *w, gpointer b)
-{
-    gtk_text_view_set_buffer(GTK_TEXT_VIEW(w), GTK_TEXT_BUFFER(b));
-}
-static const gpointer gd_gnome_date_edit_get_time(GtkWidget *w)
-{
-    static time_t t;
-    t = gnome_date_edit_get_time(GNOME_DATE_EDIT(w));
-    return ((gpointer) &t);
-}
-static void gd_gnome_date_edit_set_time(GtkWidget *w, gpointer t)
-{
-    gnome_date_edit_set_time(GNOME_DATE_EDIT(w), *(time_t *)t);
-}
-
-/* Order is important. Children before parents. */
-static struct prop_type
-{
-    gchar *widget_type;
-    GD_Getter_Func getter;
-    GD_Setter_Func setter;
-} prop_types[] =
-{
-    {
-        "GnomeDateEdit", gd_gnome_date_edit_get_time,
-        gd_gnome_date_edit_set_time
-    },
-    {
-        "GtkLabel", (GD_Getter_Func) gtk_label_get_label,
-        (GD_Setter_Func) gtk_label_set_label
-    },
-    {
-        "GtkToggleButton", gd_gtk_toggle_button_get_active,
-        gd_gtk_toggle_button_set_active
-    },
-    {
-        "GtkComboBox", gd_gtk_combo_box_get_active,
-        gd_gtk_combo_box_set_active
-    },
-};
-
-#define NUM_PROP_TYPES \
-  (sizeof(prop_types) / sizeof(struct prop_type))
-
-static gint
-find_prop_type(GncDialog *d, GtkWidget *wid)
-{
-    gint i;
-    struct prop_type pt;
-
-    for (i = 0; i < NUM_PROP_TYPES; i++)
-    {
-        pt = prop_types[i];
-        if (IS_A(wid, pt.widget_type))
-            return i;
-    }
-    return -1;
-}
-#endif
-
-typedef gpointer (*GD_Getter_Func)(GtkWidget *w);
-typedef void (*GD_Setter_Func)(GtkWidget *w, gpointer val);
-
-typedef struct
-{
-    GncDialogGetter getter;
-    GncDialogSetter setter;
-    GncDialogSetter filler;
-} custom_type;
-
-
-void gnc_dialog_register_testing_types(void)
-{
-    gnc_dialog_register_custom(g_type_from_name("GtkSpinButton"),
-                               gd_gtk_spin_button_get_value,
-                               gd_gtk_spin_button_set_value, NULL);
-    gnc_dialog_register_custom(g_type_from_name("GtkEntry"),
-                               gd_gtk_entry_get_text,
-                               gd_gtk_entry_set_text, NULL);
-
-}
-
-static GHashTable *custom_types;
-
-gboolean gnc_dialog_set_custom(GncDialog *d, const gchar* name,
-                               const gpointer val)
-{
-    GType i;
-    custom_type *custom_spec = NULL;
-    SPECIFIC_INIT(d, name, wid, FALSE);
-
-    g_return_val_if_fail(custom_types, FALSE);
-    i = G_TYPE_FROM_INSTANCE(wid);
-    custom_spec = g_hash_table_lookup(
-                      custom_types, &i);
-
-    g_return_val_if_fail(custom_spec, FALSE);
-
-    if (custom_spec->setter(wid, val))
-    {
-        gnc_dialog_set_changed(d, TRUE);
-        return TRUE;
-    }
-    return FALSE;
-}
-
-gpointer gnc_dialog_get_custom(GncDialog *d, const gchar* name)
-{
-    GType i;
-    custom_type *custom_spec = NULL;
-    SPECIFIC_INIT(d, name, wid, NULL);
-
-    g_return_val_if_fail(custom_types, NULL);
-    i = G_TYPE_FROM_INSTANCE(wid);
-    custom_spec = g_hash_table_lookup(
-                      custom_types, &i);
-    g_return_val_if_fail(custom_spec, NULL);
-
-    return custom_spec->getter(wid);
-}
-
-gboolean gnc_dialog_fill_custom(GncDialog *d, const char* name);
-
-
-void gnc_dialog_register_custom(GType widgetType, GncDialogGetter getter,
-                                GncDialogSetter setter,
-                                GncDialogSetter filler)
-{
-    custom_type *ct = g_new0(custom_type, 1);
-    GType *key = g_new0(GType, 1);
-
-    if (custom_types == NULL)
-    {
-        custom_types = g_hash_table_new_full(
-                           g_int_hash, g_int_equal, g_free, g_free);
-    }
-    ct->getter = getter;
-    ct->setter = setter;
-    ct->filler = filler;
-    *key = widgetType;
-    PINFO("registering with GType %d", (int)widgetType);
-    g_hash_table_insert(custom_types, key, ct);
-}
-
-void gnc_dialog_unregister_custom(GType widgetType)
-{
-    g_hash_table_remove(custom_types, &widgetType);
-}

Deleted: gnucash/trunk/src/gnome-utils/gnc-dialog.h
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-dialog.h	2011-12-30 16:59:03 UTC (rev 21799)
+++ gnucash/trunk/src/gnome-utils/gnc-dialog.h	2011-12-30 16:59:14 UTC (rev 21800)
@@ -1,169 +0,0 @@
-/* Copyright (C) 2005 Chris Shoemaker <c.shoemaker at cox.net>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, contact:
- *
- * Free Software Foundation           Voice:  +1-617-542-5942
- * 51 Franklin Street, Fifth Floor    Fax:    +1-617-542-2652
- * Boston, MA  02110-1301,  USA       gnu at gnu.org
- */
-
-
-#ifndef GNC_DIALOG_H
-#define GNC_DIALOG_H
-
-#include <time.h>
-
-GType gnc_dialog_get_type (void);
-
-/* type macros */
-#define GNC_TYPE_DIALOG            (gnc_dialog_get_type ())
-#define GNC_DIALOG(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
-                                      GNC_TYPE_DIALOG, GncDialog))
-#define GNC_DIALOG_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), \
-                                      GNC_TYPE_DIALOG, GncDialogClass))
-#define GNC_IS_DIALOG(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
-                                      GNC_TYPE_DIALOG))
-#define GNC_IS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), \
-                                      GNC_TYPE_DIALOG))
-#define GNC_DIALOG_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), \
-                                      GNC_TYPE_DIALOG, GncDialogClass))
-
-typedef struct _GncDialog GncDialog;
-typedef struct _GncDialogClass GncDialogClass;
-
-/**** PROTOTYPES *************************************************/
-
-/* filename is a glade filenames; and root is the name of the root
-   widget you want to show. */
-GncDialog *gnc_dialog_new(const char *filename,
-                          const char *root);
-
-
-typedef gboolean (*GncDialogCallback) (GncDialog *d, gpointer user_data);
-
-/* The apply callback is optional, but useful dialogs will probably
- * supply one.  The apply callback should return FALSE if any values
- * are invalid.  In that case, the dialog will not close automatically
- * after the user clicks OK, and the changed state will not be marked
- * clean.  If you supply NULL, for the apply callback, no "OK" button
- * will be visible.
- *
- * The close callback is optional.  If you provide a close callback,
- * its return value should be TRUE if you want to proceed with the
- * close.  There's no destroy notifier for user_data, but you can
- * treat the close_cb as one.  So if you must pass this function its
- * own copy of user_data, free it from within close_cb.
- *
- * The help callback return value is not checked.
- *
- * Any callback may be NULL, in which case it's not used.  If help_cb
- * is NULL, no help button is shown.
- */
-void gnc_dialog_set_cb(GncDialog *d,
-                       GncDialogCallback apply_cb,
-                       GncDialogCallback close_cb,
-                       GncDialogCallback help_cb,
-                       gpointer user_data);
-
-/* By default, GncDialog works best in asynchronous environments,
- * where your program execution flow isn't waiting for the dialog to
- * close.  But, if you're using the dialog to do something like fetch
- * a value you want to return on the stack, then you have to block the
- * current thread until the dialog is closed.  Calling this function
- * will do exactly that.
- */
-void gnc_dialog_block_until_close(GncDialog *d);
-
-/* This is a catch-all interface to whatever kind of widgets may have
- * been specified in the glade file.  Once you have you widget you can
- * use whatever interface that widget offers to set and get widget
- * state.  You _have_ to use if the widget type isn't supported by the
- * type-specific or type-generic interfaces below.
- */
-GtkWidget *gnc_dialog_get_widget(GncDialog *d, const gchar* name);
-
-void gnc_dialog_set_sensitive(GncDialog *d, const gchar* name, gboolean sen);
-
-/* Infers val type from widget type *
-*/
-
-/* Type-generic getter/setter: Be careful with these.  They are NOT
- * type safe.  Also, if they prove to be more trouble than they're
- * worth, they'll go away.
- *
- * These functions try to use the widget type to infer the type of
- * data pointed at by val.  They will return FALSE if they are unable
- * to infer value type.  The inferences made are:
- *
- * Widget Type ---> Value Type
- * ===========      ==========
- * GnomeDateEdit     GDate *
- * GtkSpinButton     gdouble *
- * GtkToggleButton   gboolean *
- * GtkEntry          gchar *
- * GtkLabel          gchar *
- * GtkTextView       GtkTextBuffer *
- * GtkComboBox       gint *
- *
- * WARNING: For the given widget type you must cast the corresponding
- * value type to/from the passed gpointer.  Having mis-matched widget
- * and value types will likely cause a revolt among the electrons.
- *
- */
-gboolean gnc_dialog_set(GncDialog *d, const char* name, const gpointer val);
-gpointer gnc_dialog_get(GncDialog *d, const char* name);
-
-/* Type-specific getter/setters */
-gboolean     gnc_dialog_set_string(GncDialog *d, const char* name,
-                                   const gchar* val);
-gchar* gnc_dialog_get_string(GncDialog *d, const char* name);
-
-gboolean gnc_dialog_set_double(GncDialog *d, const char* name, gdouble val);
-gdouble  gnc_dialog_get_double(GncDialog *d, const char* name);
-
-gboolean gnc_dialog_set_int(GncDialog *d, const char* name, gint val);
-gint  gnc_dialog_get_int(GncDialog *d, const char* name);
-
-gboolean gnc_dialog_set_date(GncDialog *d, const char* name, time_t val);
-time_t   gnc_dialog_get_date(GncDialog *d, const char* name);
-
-gboolean gnc_dialog_set_index(GncDialog *d, const char* name, gint val);
-gint     gnc_dialog_get_index(GncDialog *d, const char* name);
-
-gboolean gnc_dialog_set_boolean(GncDialog *d, const char* name, gboolean val);
-gboolean gnc_dialog_get_boolean(GncDialog *d, const char* name);
-
-/* Possible TODO: there are more types that could be added here.
-
-Maybe currency/gnc_commodity *
-
-*/
-
-gpointer gnc_dialog_get_custom(GncDialog *d, const char* name);
-gboolean gnc_dialog_set_custom(GncDialog *d, const char* name, gpointer val);
-gboolean gnc_dialog_fill_custom(GncDialog *d, const char* name);
-
-/* should return true for success */
-typedef gboolean (*GncDialogSetter) (gpointer widget, gpointer val);
-typedef gpointer (*GncDialogGetter) (gpointer widget);
-//typedef gboolean (*GncDialogFiller) (gpointer widget, gpointer data);
-
-void gnc_dialog_register_custom(GType widgetType, GncDialogGetter getter,
-                                GncDialogSetter setter,
-                                GncDialogSetter filler);
-
-void gnc_dialog_unregister_custom(GType widgetType);
-void gnc_dialog_register_testing_types(void);
-
-#endif

Modified: gnucash/trunk/src/gnome-utils/test/Makefile.am
===================================================================
--- gnucash/trunk/src/gnome-utils/test/Makefile.am	2011-12-30 16:59:03 UTC (rev 21799)
+++ gnucash/trunk/src/gnome-utils/test/Makefile.am	2011-12-30 16:59:14 UTC (rev 21800)
@@ -4,7 +4,7 @@
 # The following tests are nice, but have absolutely no place in an
 # automated testing system.
 #
-TESTS_GUI = test-gnc-recurrence test-gnc-dialog
+TESTS_GUI = test-gnc-recurrence
 
 ##lib_LTLIBRARIES = libgncgnome.la
 
@@ -35,7 +35,7 @@
   $(shell ${top_srcdir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
 
 check_PROGRAMS = \
-  test-link-module test-gnc-recurrence test-gnc-dialog
+  test-link-module test-gnc-recurrence
 
 INCLUDES= \
   -I${top_srcdir}/src \

Deleted: gnucash/trunk/src/gnome-utils/test/test-gnc-dialog.c
===================================================================
--- gnucash/trunk/src/gnome-utils/test/test-gnc-dialog.c	2011-12-30 16:59:03 UTC (rev 21799)
+++ gnucash/trunk/src/gnome-utils/test/test-gnc-dialog.c	2011-12-30 16:59:14 UTC (rev 21800)
@@ -1,149 +0,0 @@
-/* Copyright (C) 2005, Chris Shoemaker <c.shoemaker at cox.net>
- * This file is free software.  See COPYING for details. */
-
-#include "config.h"
-
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <stdio.h>
-#include "gnc-recurrence.h"
-#include "Recurrence.h"
-#include "qof.h"
-#include "gnc-dialog.h"
-#include "gnc-tree-view-account.h"
-
-//static GtkWidget * mainwin;
-static GncDialog *pw;
-//static QofBook *book;
-
-
-static gboolean apply_cb (GncDialog *pw, gpointer _n)
-{
-    gchar *s;
-    gdouble d;
-    gpointer p;
-    gboolean b;
-    gint i;
-
-    s = gnc_dialog_get_custom(pw, "SampleEntry");
-    printf("Entry: %s\n", s);
-    s = gnc_dialog_get_string(pw, "SampleLabel");
-    printf("Label: %s\n", s);
-    g_free(s);
-
-    p = gnc_dialog_get_custom(pw, "SampleSpinButton");
-    d = *(double *)p;
-    printf("SpinButton: %f\n", d);
-
-    b = gnc_dialog_get_boolean(pw, "SampleToggleButton");
-    printf("ToggleButton: %s\n", b ? "true" : "false");
-
-    i = gnc_dialog_get_index(pw, "SampleComboBox");
-    printf("ComboBox: %d\n", i);
-
-    /*
-    gnc_dialog_get(pw, "SampleEntry", &s);
-    gnc_dialog_get(pw, "SampleLabel", &s);
-    printf("Label: %s\n", s);
-    gnc_dialog_get(pw, "SampleSpinButton", &d);
-    printf("SpinButton: %f\n", *d);
-    gnc_dialog_get(pw, "SampleToggleButton", &b);
-    printf("ToggleButton: %s\n", *b?"true":"false");
-    gnc_dialog_get(pw, "SampleComboBox", &i);
-    printf("ComboBox: %d\n", *i);
-    */
-
-    //r = gnc_dialog_get(pw, "SampleCustomGncRecurrence");
-    //s = recurrenceToString(r);
-    //printf("Recurrence: %s\n", s);
-    //g_free(s);
-    return TRUE;
-
-}
-
-static gboolean close_cb (GncDialog *pw, gpointer _n)
-{
-    gtk_widget_destroy(GTK_WIDGET(pw));
-    gtk_main_quit();
-    return TRUE;
-}
-
-static void test_setters(GncDialog *pw)
-{
-    gdouble d = 3.0;
-    //GDate date;
-    //gboolean b = TRUE;
-    //gint i = 2;
-    //Recurrence *r;
-    //GList *rl;
-
-    gnc_dialog_set_custom(pw, "SampleEntry", "entrytest");
-    //gnc_dialog_set(pw, "SampleLabel", "labeltest");
-    gnc_dialog_set_custom(pw, "SampleSpinButton", &d);
-    //gnc_dialog_set(pw, "SampleToggleButton", &b);
-    //gnc_dialog_set(pw, "SampleComboBox", &i);
-
-    /*
-    r = recurrenceNew();
-    entry = recurrenceEntryNew();
-    recurrenceAddEntry(r, entry);
-    g_date_set_dmy(&date, 17, 4, 2005);
-    recurrenceEntrySet(entry, 2, PERIOD_WEEKLY, &date);
-    gnc_dialog_set(pw, "SampleCustomGncRecurrence", r);
-    g_free(r);
-    */
-}
-
-static void init_widgets(GncDialog *pw)
-{
-    //GtkComboBox *cbox;
-    GtkListStore *ls;
-    GtkTreeIter iter;
-    GtkCellRenderer *cell;
-    int i;
-
-    ls = gtk_list_store_new(1, G_TYPE_STRING);
-    for (i = 0; i < 5; i++)
-    {
-        gtk_list_store_append(ls, &iter);
-        gtk_list_store_set(ls, &iter, 0, "item", -1);
-    }
-
-    //cbox = GTK_COMBO_BOX(gnc_dialog_get_widget(pw, "SampleComboBox"));
-    //gtk_combo_box_set_model(cbox, GTK_TREE_MODEL(ls));
-
-    cell = gtk_cell_renderer_text_new();
-    //gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(cbox), cell, TRUE);
-    //gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(cbox), cell, "text", 0);
-
-    {
-        /*
-          GncTreeViewAccount *account_view;
-
-          account_view = GNC_TREE_VIEW_ACCOUNT(gnc_dialog_get_widget(pw, "SampleCustomTreeViewAccount"));
-
-          gnc_tree_view_account_configure_columns (account_view, "name", NULL);
-        */
-    }
-}
-
-int main (int argc, char ** argv)
-{
-// g_log_set_always_fatal( G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING );
-
-    gtk_init(&argc, &argv);
-
-    g_type_init();
-    pw = gnc_dialog_new("budget.glade", "SampleOptions");
-    gnc_dialog_set_cb(pw, apply_cb, close_cb, NULL, NULL);
-
-    gnc_dialog_register_testing_types();
-    init_widgets(pw);
-
-    test_setters(pw);
-    gtk_widget_show_all(GTK_WIDGET(pw));
-
-    gtk_main();
-    return 0;
-
-}



More information about the gnucash-changes mailing list