Merge Richard Cohen's 'define-type' into stable.

This commit is contained in:
John Ralls
2023-05-27 10:09:05 -04:00
25 changed files with 126 additions and 977 deletions

View File

@@ -291,6 +291,8 @@ static void cs_set_property(GObject *object, guint prop_id, const GValue *value,
static void cs_get_property(GObject *object, guint prop_id, GValue *value,
GParamSpec *pspec);
G_DEFINE_TYPE (GOCharmapSel, go_charmap_sel, GTK_TYPE_BOX)
static gboolean iconv_supported(const char *to, const char *from)
{
GIConv ic = g_iconv_open(to, from);
@@ -359,7 +361,7 @@ static void cs_emphasize_label(GtkLabel *label)
g_free(text);
}
static void cs_init(GOCharmapSel *cs)
static void go_charmap_sel_init(GOCharmapSel *cs)
{
gtk_orientable_set_orientation (GTK_ORIENTABLE(cs), GTK_ORIENTATION_HORIZONTAL);
@@ -455,12 +457,13 @@ static void cs_build_menu(GOCharmapSel *cs)
set_menu_to_default(cs, lg_cnt);
}
static void cs_class_init(GtkWidgetClass *widget_klass)
static void go_charmap_sel_class_init(GOCharmapSelClass *klass)
{
CharsetInfo *ci;
size_t i;
GObjectClass *gobject_class = G_OBJECT_CLASS(widget_klass);
GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
GtkWidgetClass *widget_klass = GTK_WIDGET_CLASS(klass);
widget_klass->mnemonic_activate = cs_mnemonic_activate;
gobject_class->set_property = cs_set_property;
@@ -586,34 +589,6 @@ static void cs_class_init(GtkWidgetClass *widget_klass)
}
}
GType
go_charmap_sel_get_type (void)
{
static GType go_charmap_sel_type = 0;
if (go_charmap_sel_type == 0)
{
GTypeInfo go_charmap_sel_info =
{
sizeof (GOCharmapSelClass),
NULL,
NULL,
(GClassInitFunc) cs_class_init,
NULL,
NULL,
sizeof (GOCharmapSel),
0,
(GInstanceInitFunc) cs_init
};
go_charmap_sel_type = g_type_register_static (GTK_TYPE_BOX,
"GOCharmapSel",
&go_charmap_sel_info, 0);
}
return go_charmap_sel_type;
}
GtkWidget *
go_charmap_sel_new(GOCharmapSelTestDirection test)
{

View File

@@ -48,9 +48,10 @@ enum
PROP_MENU
};
static GtkButtonClass *parent_class = NULL;
static guint signals[LAST_SIGNAL] = { 0 };
G_DEFINE_TYPE (GOOptionMenu, go_option_menu, GTK_TYPE_BUTTON)
GtkWidget*
go_option_menu_new(void)
{
@@ -315,7 +316,7 @@ static void go_option_menu_destroy(GtkWidget *widget)
}
option_menu->selected = NULL;
GTK_WIDGET_CLASS(parent_class)->destroy(widget);
GTK_WIDGET_CLASS(go_option_menu_parent_class)->destroy(widget);
}
static void go_option_menu_class_init(GOOptionMenuClass *class)
@@ -323,8 +324,6 @@ static void go_option_menu_class_init(GOOptionMenuClass *class)
GObjectClass *gobject_class = (GObjectClass*) class;
GtkWidgetClass *widget_class = (GtkWidgetClass*) class;
parent_class = g_type_class_peek_parent(class);
signals[CHANGED] = g_signal_new("changed", G_OBJECT_CLASS_TYPE(class),
G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(GOOptionMenuClass, changed),
NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
@@ -367,24 +366,3 @@ static void go_option_menu_init(GOOptionMenu *option_menu)
gtk_container_add(GTK_CONTAINER(option_menu), GTK_WIDGET(box));
}
GType go_option_menu_get_type(void)
{
static GType option_menu_type = 0;
if (!option_menu_type)
{
static const GTypeInfo option_menu_info =
{ sizeof(GOOptionMenuClass), NULL, /* base_init */
NULL, /* base_finalize */
(GClassInitFunc) go_option_menu_class_init, NULL, /* class_finalize */
NULL, /* class_data */
sizeof(GOOptionMenu), 0, /* n_preallocs */
(GInstanceInitFunc) go_option_menu_init, };
option_menu_type = g_type_register_static(GTK_TYPE_BUTTON,
"GOOptionMenu", &option_menu_info, 0);
}
return option_menu_type;
}

View File

@@ -44,9 +44,7 @@ enum {
PROP_USE_BUTTONS,
};
static void gcrd_init (GncCellRendererDate *date);
static void gcrd_class_init (GncCellRendererDateClass *klass);
static void gcrd_set_property (GObject *object,
guint param_id,
@@ -99,38 +97,10 @@ static time64 gcrd_dmy2time (gint day, gint month, gint year);
static gchar * gcrd_time2dmy_string (time64 raw_time);
static time64 gcrd_string_dmy2time (const gchar *date_string);
static GncCellRendererPopupClass *parent_class;
GType
gnc_cell_renderer_date_get_type (void)
{
static GType cell_text_type = 0;
if (!cell_text_type) {
static const GTypeInfo cell_text_info = {
sizeof (GncCellRendererDateClass),
NULL, /* base_init */
NULL, /* base_finalize */
(GClassInitFunc) gcrd_class_init,
NULL, /* class_finalize */
NULL, /* class_data */
sizeof (GncCellRendererDate),
0, /* n_preallocs */
(GInstanceInitFunc) gcrd_init,
};
cell_text_type = g_type_register_static (GNC_TYPE_CELL_RENDERER_POPUP,
"GncCellRendererDate",
&cell_text_info,
0);
}
return cell_text_type;
}
G_DEFINE_TYPE (GncCellRendererDate, gnc_cell_renderer_date, GNC_TYPE_CELL_RENDERER_POPUP);
static void
gcrd_init (GncCellRendererDate *date)
gnc_cell_renderer_date_init (GncCellRendererDate *date)
{
GncCellRendererPopup *popup;
GtkWidget *frame;
@@ -189,7 +159,7 @@ gcrd_init (GncCellRendererDate *date)
}
static void
gcrd_class_init (GncCellRendererDateClass *klass)
gnc_cell_renderer_date_class_init (GncCellRendererDateClass *klass)
{
GncCellRendererPopupClass *popup_class;
GtkCellRendererClass *cell_class;
@@ -197,7 +167,6 @@ gcrd_class_init (GncCellRendererDateClass *klass)
popup_class = GNC_CELL_RENDERER_POPUP_CLASS(klass);
cell_class = GTK_CELL_RENDERER_CLASS(klass);
parent_class = GNC_CELL_RENDERER_POPUP_CLASS(g_type_class_peek_parent (klass));
gobject_class = G_OBJECT_CLASS(klass);
gobject_class->set_property = gcrd_set_property;
@@ -274,8 +243,8 @@ gcrd_start_editing (GtkCellRenderer *cell,
{
GNC_CELL_RENDERER_POPUP(cell)->editing_canceled = FALSE;
if (GTK_CELL_RENDERER_CLASS(parent_class)->start_editing) {
return GTK_CELL_RENDERER_CLASS(parent_class)->start_editing (
if (GTK_CELL_RENDERER_CLASS(gnc_cell_renderer_date_parent_class)->start_editing) {
return GTK_CELL_RENDERER_CLASS(gnc_cell_renderer_date_parent_class)->start_editing (
cell,
event,
widget,
@@ -292,8 +261,8 @@ gcrd_start_editing (GtkCellRenderer *cell,
static void
gcrd_hide (GncCellRendererPopup *cell)
{
if (parent_class->hide_popup) {
parent_class->hide_popup (cell);
if (GNC_CELL_RENDERER_POPUP_CLASS (gnc_cell_renderer_date_parent_class)->hide_popup) {
GNC_CELL_RENDERER_POPUP_CLASS (gnc_cell_renderer_date_parent_class)->hide_popup (cell);
}
}
@@ -311,8 +280,8 @@ gcrd_show (GncCellRendererPopup *cell,
gint day = 0;
const gchar *text;
if (parent_class->show_popup) {
parent_class->show_popup (cell,
if (GNC_CELL_RENDERER_POPUP_CLASS (gnc_cell_renderer_date_parent_class)->show_popup) {
GNC_CELL_RENDERER_POPUP_CLASS (gnc_cell_renderer_date_parent_class)->show_popup (cell,
path,
x1, y1,
x2, y2);

View File

@@ -37,8 +37,6 @@
#include "dialog-utils.h"
#include "gnc-date.h"
static void gnc_popup_entry_init (GncPopupEntry *entry);
static void gnc_popup_entry_class_init (GncPopupEntryClass *klass);
static void gpw_cell_editable_init (GtkCellEditableIface *iface);
static gboolean gpw_key_press_event (GtkWidget *box,
GdkEventKey *key_event);
@@ -65,48 +63,10 @@ enum
PROP_EDITING_CANCELED,
};
static GtkEventBoxClass *parent_class;
static guint signals[LAST_SIGNAL];
GType
gnc_popup_entry_get_type (void)
{
static GType widget_type = 0;
if (!widget_type)
{
static const GTypeInfo widget_info =
{
sizeof (GncPopupEntryClass),
NULL, /* base_init */
NULL, /* base_finalize */
(GClassInitFunc) gnc_popup_entry_class_init,
NULL, /* class_finalize */
NULL, /* class_data */
sizeof (GncPopupEntry),
0, /* n_preallocs */
(GInstanceInitFunc) gnc_popup_entry_init,
};
static const GInterfaceInfo cell_editable_info =
{
(GInterfaceInitFunc) gpw_cell_editable_init, /* interface_init */
NULL, /* interface_finalize */
NULL /* interface_data */
};
widget_type = g_type_register_static (GTK_TYPE_EVENT_BOX,
"GncPopupEntry",
&widget_info,
0);
g_type_add_interface_static (widget_type,
GTK_TYPE_CELL_EDITABLE,
&cell_editable_info);
}
return widget_type;
}
G_DEFINE_TYPE_WITH_CODE (GncPopupEntry, gnc_popup_entry, GTK_TYPE_EVENT_BOX,
G_IMPLEMENT_INTERFACE (GTK_TYPE_EDITABLE, gpw_cell_editable_init))
static void
gnc_popup_entry_init (GncPopupEntry *widget)
@@ -167,8 +127,6 @@ gnc_popup_entry_class_init (GncPopupEntryClass *klass)
gobject_class->set_property = gpw_set_property;
gobject_class->get_property = gpw_get_property;
parent_class = GTK_EVENT_BOX_CLASS (g_type_class_peek_parent (klass));
g_object_class_override_property (gobject_class,
PROP_EDITING_CANCELED,
"editing-canceled");
@@ -317,7 +275,7 @@ gpw_key_press_event (GtkWidget *box,
gtk_widget_event (widget->entry, &tmp_event);
return GTK_WIDGET_CLASS (parent_class)->key_press_event (GTK_WIDGET(widget),
return GTK_WIDGET_CLASS (gnc_popup_entry_parent_class)->key_press_event (GTK_WIDGET(widget),
key_event);
}

View File

@@ -41,9 +41,6 @@ enum {
LAST_SIGNAL
};
static void gcrp_init (GncCellRendererPopup *popup);
static void gcrp_class_init (GncCellRendererPopupClass *klass);
static GtkCellEditable *gcrp_start_editing (GtkCellRenderer *cell,
GdkEvent *event,
GtkWidget *widget,
@@ -89,40 +86,14 @@ void gnc_marshal_VOID__STRING_INT_INT_INT_INT (GClosure *closure,
gpointer marshal_data);
static GtkCellRendererTextClass *parent_class;
static guint signals[LAST_SIGNAL];
#define GNC_CELL_RENDERER_POPUP_PATH "gnc-cell-renderer-popup-path"
GType
gnc_cell_renderer_popup_get_type (void)
{
static GType cell_text_type = 0;
if (!cell_text_type) {
static const GTypeInfo cell_text_info = {
sizeof (GncCellRendererPopupClass),
NULL, /* base_init */
NULL, /* base_finalize */
(GClassInitFunc) gcrp_class_init,
NULL, /* class_finalize */
NULL, /* class_data */
sizeof (GncCellRendererPopup),
0, /* n_preallocs */
(GInstanceInitFunc) gcrp_init,
};
cell_text_type = g_type_register_static (GTK_TYPE_CELL_RENDERER_TEXT,
"GncCellRendererPopup",
&cell_text_info,
0);
}
return cell_text_type;
}
G_DEFINE_TYPE (GncCellRendererPopup, gnc_cell_renderer_popup, GTK_TYPE_CELL_RENDERER_TEXT);
static void
gcrp_init (GncCellRendererPopup *popup)
gnc_cell_renderer_popup_init (GncCellRendererPopup *popup)
{
popup->popup_window = gtk_window_new (GTK_WINDOW_POPUP);
@@ -145,12 +116,10 @@ gcrp_init (GncCellRendererPopup *popup)
}
static void
gcrp_class_init (GncCellRendererPopupClass *klass)
gnc_cell_renderer_popup_class_init (GncCellRendererPopupClass *klass)
{
GtkCellRendererClass *cell_class = GTK_CELL_RENDERER_CLASS(klass);
parent_class = GTK_CELL_RENDERER_TEXT_CLASS(g_type_class_peek_parent (klass));
cell_class->start_editing = gcrp_start_editing;
cell_class->get_size = gcrp_get_size;
@@ -454,8 +423,8 @@ gcrp_get_size (GtkCellRenderer *cell,
{
GncCellRendererPopup *popup = GNC_CELL_RENDERER_POPUP (cell);
if (GTK_CELL_RENDERER_CLASS(parent_class)->get_size) {
(* GTK_CELL_RENDERER_CLASS(parent_class)->get_size) (cell,
if (GTK_CELL_RENDERER_CLASS(gnc_cell_renderer_popup_parent_class)->get_size) {
(* GTK_CELL_RENDERER_CLASS(gnc_cell_renderer_popup_parent_class)->get_size) (cell,
widget,
cell_area,
x_offset,

View File

@@ -64,9 +64,6 @@ enum
static QofLogModule log_module = GNC_MOD_GUI;
static guint date_edit_signals [LAST_SIGNAL] = { 0 };
static void gnc_date_edit_init (GNCDateEdit *gde);
static void gnc_date_edit_class_init (GNCDateEditClass *klass);
static void gnc_date_edit_dispose (GObject *object);
static void gnc_date_edit_finalize (GObject *object);
static void gnc_date_edit_forall (GtkContainer *container,
@@ -78,43 +75,7 @@ static int date_accel_key_press(GtkWidget *widget,
GdkEventKey *event,
gpointer data);
static GtkBoxClass *parent_class;
/**
* gnc_date_edit_get_type:
*
* Returns the GType for the GNCDateEdit widget
*/
GType
gnc_date_edit_get_type (void)
{
static GType date_edit_type = 0;
if (date_edit_type == 0)
{
static const GTypeInfo date_edit_info =
{
sizeof (GNCDateEditClass),
NULL,
NULL,
(GClassInitFunc) gnc_date_edit_class_init,
NULL,
NULL,
sizeof (GNCDateEdit),
0, /* n_preallocs */
(GInstanceInitFunc) gnc_date_edit_init,
NULL,
};
date_edit_type = g_type_register_static (GTK_TYPE_BOX,
"GNCDateEdit",
&date_edit_info, 0);
}
return date_edit_type;
}
G_DEFINE_TYPE (GNCDateEdit, gnc_date_edit, GTK_TYPE_BOX)
static char *
gnc_strtok_r (char *s, const char *delim, char **save_ptr)
@@ -631,8 +592,6 @@ gnc_date_edit_class_init (GNCDateEditClass *klass)
object_class->dispose = gnc_date_edit_dispose;
object_class->finalize = gnc_date_edit_finalize;
parent_class = g_type_class_ref(GTK_TYPE_BOX);
date_edit_signals [TIME_CHANGED] =
g_signal_new ("time_changed",
G_TYPE_FROM_CLASS (object_class),
@@ -688,8 +647,7 @@ gnc_date_edit_finalize (GObject *object)
g_return_if_fail (object != NULL);
g_return_if_fail (GNC_IS_DATE_EDIT (object));
if (G_OBJECT_CLASS (parent_class)->finalize)
(* G_OBJECT_CLASS (parent_class)->finalize) (object);
G_OBJECT_CLASS (gnc_date_edit_parent_class)->finalize (object);
}
static void
@@ -721,8 +679,7 @@ gnc_date_edit_dispose (GObject *object)
gtk_widget_destroy (GTK_WIDGET(gde->time_combo));
gde->time_combo = NULL;
if (G_OBJECT_CLASS (parent_class)->dispose)
(* G_OBJECT_CLASS (parent_class)->dispose) (object);
G_OBJECT_CLASS (gnc_date_edit_parent_class)->dispose (object);
}
static void
@@ -738,10 +695,10 @@ gnc_date_edit_forall (GtkContainer *container, gboolean include_internals,
if (!include_internals)
return;
if (!GTK_CONTAINER_CLASS (parent_class)->forall)
if (!GTK_CONTAINER_CLASS (gnc_date_edit_parent_class)->forall)
return;
GTK_CONTAINER_CLASS (parent_class)->forall (container,
GTK_CONTAINER_CLASS (gnc_date_edit_parent_class)->forall (container,
include_internals,
callback,
callback_data);

View File

@@ -59,10 +59,7 @@ struct _GncDenseCalStoreClass
GObjectClass parent_class;
};
static GObjectClass *parent_class = NULL;
static void gnc_dense_cal_store_class_init(GncDenseCalStoreClass *klass);
static void gnc_dense_cal_store_iface_init(GncDenseCalModelIface *iface);
static void gnc_dense_cal_store_finalize(GObject *obj);
static GList* gdcs_get_contained(GncDenseCalModel *model);
@@ -71,19 +68,25 @@ static gchar* gdcs_get_info(GncDenseCalModel *model, guint tag);
static gint gdcs_get_instance_count(GncDenseCalModel *model, guint tag);
static void gdcs_get_instance(GncDenseCalModel *model, guint tag, gint instance_index, GDate *date);
G_DEFINE_TYPE_WITH_CODE (GncDenseCalStore, gnc_dense_cal_store, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (GNC_TYPE_DENSE_CAL_MODEL, gnc_dense_cal_store_iface_init))
static void
gnc_dense_cal_store_class_init(GncDenseCalStoreClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
parent_class = g_type_class_peek_parent(klass);
object_class->finalize = gnc_dense_cal_store_finalize;
}
static void
gnc_dense_cal_store_iface_init(gpointer g_iface, gpointer iface_data)
gnc_dense_cal_store_init(GncDenseCalStore *self)
{
}
static void
gnc_dense_cal_store_iface_init(GncDenseCalModelIface *iface)
{
GncDenseCalModelIface *iface = (GncDenseCalModelIface*)g_iface;
iface->get_contained = gdcs_get_contained;
iface->get_name = gdcs_get_name;
iface->get_info = gdcs_get_info;
@@ -91,38 +94,6 @@ gnc_dense_cal_store_iface_init(gpointer g_iface, gpointer iface_data)
iface->get_instance = gdcs_get_instance;
}
GType
gnc_dense_cal_store_get_type(void)
{
static GType type = 0;
if (type == 0)
{
static const GTypeInfo info =
{
sizeof (GncDenseCalStoreClass),
NULL, /* base_init */
NULL, /* base_finalize */
(GClassInitFunc)gnc_dense_cal_store_class_init, /* class_init */
NULL, /* class_finalize */
NULL, /* class_data */
sizeof(GncDenseCalStore),
0, /* n_preallocs */
NULL /* instance_init */
};
static const GInterfaceInfo iDenseCalModelInfo =
{
(GInterfaceInitFunc)gnc_dense_cal_store_iface_init,
NULL, /* interface finalize */
NULL, /* interface data */
};
type = g_type_register_static(G_TYPE_OBJECT, "GncDenseCalStore", &info, 0);
g_type_add_interface_static(type,
GNC_TYPE_DENSE_CAL_MODEL,
&iDenseCalModelInfo);
}
return type;
}
GncDenseCalStore*
gnc_dense_cal_store_new(int num_marks)
{
@@ -303,5 +274,5 @@ gnc_dense_cal_store_finalize(GObject *obj)
store->cal_marks = NULL;
}
G_OBJECT_CLASS(parent_class)->finalize(obj);
G_OBJECT_CLASS(gnc_dense_cal_store_parent_class)->finalize(obj);
}

View File

@@ -76,8 +76,6 @@ static const int COL_BORDER_SIZE = 3;
#undef G_LOG_DOMAIN
#define G_LOG_DOMAIN "gnc.gui.dense-cal"
static void gnc_dense_cal_class_init(GncDenseCalClass *klass);
static void gnc_dense_cal_init(GncDenseCal *dcal);
static void gnc_dense_cal_finalize(GObject *object);
static void gnc_dense_cal_dispose(GObject *object);
static void gnc_dense_cal_realize(GtkWidget *widget, gpointer user_data);
@@ -147,7 +145,7 @@ static void gdc_add_tag_markings(GncDenseCal *cal, guint tag);
static void gdc_add_markings(GncDenseCal *cal);
static void gdc_remove_markings(GncDenseCal *cal);
static GObject *parent_class = NULL;
G_DEFINE_TYPE (GncDenseCal, gnc_dense_cal, GTK_TYPE_BOX)
#define MONTH_NAME_BUFSIZE 10
@@ -187,35 +185,6 @@ day_label(gchar *buf, int buf_len, int dow)
}
}
GType
gnc_dense_cal_get_type()
{
static GType dense_cal_type = 0;
if (dense_cal_type == 0)
{
static const GTypeInfo dense_cal_info =
{
sizeof (GncDenseCalClass),
NULL,
NULL,
(GClassInitFunc) gnc_dense_cal_class_init,
NULL,
NULL,
sizeof (GncDenseCal),
0,
(GInstanceInitFunc) gnc_dense_cal_init,
NULL
};
dense_cal_type = g_type_register_static(GTK_TYPE_BOX,
"GncDenseCal",
&dense_cal_info, 0);
}
return dense_cal_type;
}
static void
gnc_dense_cal_class_init(GncDenseCalClass *klass)
{
@@ -227,8 +196,6 @@ gnc_dense_cal_class_init(GncDenseCalClass *klass)
gtk_widget_class_set_css_name (GTK_WIDGET_CLASS(klass), "calendar");
parent_class = g_type_class_peek_parent (klass);
object_class->finalize = gnc_dense_cal_finalize;
object_class->dispose = gnc_dense_cal_dispose;
@@ -684,8 +651,7 @@ gnc_dense_cal_dispose (GObject *object)
g_object_unref(G_OBJECT(dcal->model));
if (G_OBJECT_CLASS (parent_class)->dispose)
G_OBJECT_CLASS(parent_class)->dispose(object);
G_OBJECT_CLASS(gnc_dense_cal_parent_class)->dispose(object);
}
static void
@@ -694,8 +660,7 @@ gnc_dense_cal_finalize (GObject *object)
g_return_if_fail (object != NULL);
g_return_if_fail (GNC_IS_DENSE_CAL (object));
if (G_OBJECT_CLASS (parent_class)->finalize)
G_OBJECT_CLASS(parent_class)->finalize(object);
G_OBJECT_CLASS(gnc_dense_cal_parent_class)->finalize(object);
}
static void

View File

@@ -57,8 +57,7 @@ static guint gnc_frequency_signals[LAST_SIGNAL] = { 0 };
/** Private Prototypes ********************/
static void gnc_frequency_class_init( GncFrequencyClass *klass );
static void gnc_frequency_class_destroy( GtkWidget *widget );
static void gnc_frequency_destroy( GtkWidget *widget );
static void freq_combo_changed( GtkComboBox *b, gpointer d );
static void start_date_changed( GNCDateEdit *gde, gpointer d );
@@ -71,8 +70,6 @@ static void semimonthly_sel_changed( GtkButton *b, gpointer d );
/** Static Inits ********************/
static GObjectClass *parent_class = NULL;
enum
{
PAGE_NONE = 0,
@@ -97,33 +94,7 @@ static const char *CHECKBOX_NAMES[] =
/** Implementations ********************/
GType
gnc_frequency_get_type()
{
static GType gncfreq_type = 0;
if (gncfreq_type == 0)
{
static GTypeInfo gncfreq_info =
{
sizeof(GncFrequencyClass),
NULL,
NULL,
(GClassInitFunc)gnc_frequency_class_init,
NULL,
NULL,
sizeof(GncFrequency),
0,
(GInstanceInitFunc)gnc_frequency_init
};
gncfreq_type = g_type_register_static (GTK_TYPE_BOX,
"GncFrequency",
&gncfreq_info, 0);
}
return gncfreq_type;
}
G_DEFINE_TYPE (GncFrequency, gnc_frequency, GTK_TYPE_BOX)
static void
gnc_frequency_class_init( GncFrequencyClass *klass )
@@ -131,8 +102,6 @@ gnc_frequency_class_init( GncFrequencyClass *klass )
GObjectClass *object_class;
GtkWidgetClass *gtkwidget_class;
parent_class = g_type_class_peek_parent (klass);
object_class = G_OBJECT_CLASS (klass);
gtkwidget_class = GTK_WIDGET_CLASS (klass);
@@ -148,11 +117,11 @@ gnc_frequency_class_init( GncFrequencyClass *klass )
0);
/* GtkWidget signals */
gtkwidget_class->destroy = gnc_frequency_class_destroy;
gtkwidget_class->destroy = gnc_frequency_destroy;
}
void
static void
gnc_frequency_init(GncFrequency *gf)
{
int i;
@@ -277,7 +246,7 @@ gnc_frequency_init(GncFrequency *gf)
* @internal
*/
static void
gnc_frequency_class_destroy (GtkWidget *widget)
gnc_frequency_destroy (GtkWidget *widget)
{
GncFrequency *gf;
@@ -294,8 +263,7 @@ gnc_frequency_class_destroy (GtkWidget *widget)
gf->builder = NULL;
}
if (GTK_WIDGET_CLASS (parent_class)->destroy)
GTK_WIDGET_CLASS (parent_class)->destroy (widget);
GTK_WIDGET_CLASS (gnc_frequency_parent_class)->destroy (widget);
LEAVE(" ");
}

View File

@@ -76,8 +76,6 @@ GType gnc_frequency_get_type(void);
GtkWidget* gnc_frequency_new(GList *recurrences, const GDate *start_date);
GtkWidget* gnc_frequency_new_from_recurrence(GList *recurrences, const GDate *start_date);
void gnc_frequency_init(GncFrequency *gf);
/**
* Change the given GncFrequency with the given FreqSpec and GDate.
* If the FreqSpec is NULL, then no change is made to the widget menus.

View File

@@ -47,48 +47,12 @@ enum
};
static void gnc_general_select_init (GNCGeneralSelect *gsl);
static void gnc_general_select_class_init (GNCGeneralSelectClass *klass);
static void gnc_general_select_dispose (GObject *object);
static void gnc_general_select_finalize (GObject *object);
static GtkBoxClass *parent_class;
static guint general_select_signals[LAST_SIGNAL];
/**
* gnc_general_select_get_type:
*
* Returns the GType for the GNCGeneralSelect widget
*/
GType
gnc_general_select_get_type (void)
{
static GType general_select_type = 0;
if (general_select_type == 0)
{
static const GTypeInfo general_select_info =
{
sizeof (GNCGeneralSelectClass),
NULL,
NULL,
(GClassInitFunc) gnc_general_select_class_init,
NULL,
NULL,
sizeof (GNCGeneralSelect),
0,
(GInstanceInitFunc) gnc_general_select_init,
NULL,
};
general_select_type = g_type_register_static(GTK_TYPE_BOX,
"GNCGeneralSelect",
&general_select_info, 0);
}
return general_select_type;
}
G_DEFINE_TYPE (GNCGeneralSelect, gnc_general_select, GTK_TYPE_BOX)
static void
gnc_general_select_forall (GtkContainer *container, gboolean include_internals,
@@ -103,10 +67,10 @@ gnc_general_select_forall (GtkContainer *container, gboolean include_internals,
if (!include_internals)
return;
if (!GTK_CONTAINER_CLASS (parent_class)->forall)
if (!GTK_CONTAINER_CLASS (gnc_general_select_parent_class)->forall)
return;
GTK_CONTAINER_CLASS (parent_class)->forall (container,
GTK_CONTAINER_CLASS (gnc_general_select_parent_class)->forall (container,
include_internals,
callback,
callback_data);
@@ -120,8 +84,6 @@ gnc_general_select_class_init (GNCGeneralSelectClass *klass)
object_class = (GObjectClass*) klass;
parent_class = g_type_class_ref(GTK_TYPE_BOX);
general_select_signals[SELECTION_CHANGED] =
g_signal_new("changed",
G_TYPE_FROM_CLASS(object_class),
@@ -158,8 +120,7 @@ gnc_general_select_finalize (GObject *object)
g_return_if_fail (object != NULL);
g_return_if_fail (GNC_IS_GENERAL_SELECT (object));
if (G_OBJECT_CLASS (parent_class)->finalize)
G_OBJECT_CLASS (parent_class)->finalize (object);
G_OBJECT_CLASS (gnc_general_select_parent_class)->finalize (object);
}
static void
@@ -184,9 +145,7 @@ gnc_general_select_dispose (GObject *object)
gtk_widget_destroy(GTK_WIDGET(gsl->button));
gsl->button = NULL;
if (G_OBJECT_CLASS (parent_class)->dispose)
G_OBJECT_CLASS (parent_class)->dispose (object);
G_OBJECT_CLASS (gnc_general_select_parent_class)->dispose (object);
}
static void

View File

@@ -70,8 +70,7 @@ typedef enum
GNCR_YEAR,
} UIPeriodType;
static GObjectClass *parent_class = NULL;
G_DEFINE_TYPE (GncRecurrence, gnc_recurrence, GTK_TYPE_BOX)
static UIPeriodType get_pt_ui(GncRecurrence *gr)
{
@@ -341,7 +340,7 @@ gnc_recurrence_finalize(GObject *o)
GncRecurrence *gr = GNC_RECURRENCE(o);
if (gr)
G_OBJECT_CLASS (parent_class)->finalize (o);
G_OBJECT_CLASS (gnc_recurrence_parent_class)->finalize (o);
}
@@ -361,35 +360,9 @@ gnc_recurrence_class_init( GncRecurrenceClass *klass )
G_TYPE_NONE,
0);
parent_class = g_type_class_peek_parent (klass);
object_class->finalize = gnc_recurrence_finalize;
}
GType
gnc_recurrence_get_type()
{
static GType type = 0;
if (type == 0)
{
static GTypeInfo typeinfo =
{
sizeof(GncRecurrenceClass),
NULL, NULL,
(GClassInitFunc)gnc_recurrence_class_init,
NULL, NULL,
sizeof(GncRecurrence),
0,
(GInstanceInitFunc)gnc_recurrence_init
};
type = g_type_register_static (GTK_TYPE_BOX, "GncRecurrence",
&typeinfo, 0);
}
return type;
}
GtkWidget *
gnc_recurrence_new()
{
@@ -492,6 +465,7 @@ static void removeClicked(GtkButton *b, gpointer data)
removeRecurrence(grc);
}
G_DEFINE_TYPE (GncRecurrenceComp, gnc_recurrence_comp, GTK_TYPE_SCROLLED_WINDOW)
void
gnc_recurrence_comp_set_list(GncRecurrenceComp *grc, const GList *rlist)
@@ -587,35 +561,9 @@ gnc_recurrence_comp_class_init( GncRecurrenceCompClass *klass )
G_TYPE_NONE,
0);
//parent_class = g_type_class_peek_parent (klass);
//object_class->finalize = gnc_recurrence_finalize;
}
GType
gnc_recurrence_comp_get_type()
{
static GType type = 0;
if (type == 0)
{
static GTypeInfo typeinfo =
{
sizeof(GncRecurrenceCompClass),
NULL, NULL,
(GClassInitFunc)gnc_recurrence_comp_class_init,
NULL, NULL,
sizeof(GncRecurrenceComp),
0,
(GInstanceInitFunc)gnc_recurrence_comp_init
};
type = g_type_register_static (GTK_TYPE_SCROLLED_WINDOW,
"GncRecurrenceComp", &typeinfo, 0);
}
return type;
}
GtkWidget *
gnc_recurrence_comp_new()
{

View File

@@ -40,6 +40,7 @@
#define G_LOG_DOMAIN "gnc.gui.sx.adapter.sx-dense-cal"
static const QofLogModule log_module = G_LOG_DOMAIN;
static void gnc_sx_instance_dense_cal_adapter_interface_init(GncDenseCalModelIface *iface);
static void gnc_sx_instance_dense_cal_adapter_dispose(GObject *obj);
static void gnc_sx_instance_dense_cal_adapter_finalize(GObject *obj);
@@ -49,8 +50,6 @@ static gchar* gsidca_get_info(GncDenseCalModel *model, guint tag);
static gint gsidca_get_instance_count(GncDenseCalModel *model, guint tag);
static void gsidca_get_instance(GncDenseCalModel *model, guint tag, gint instance_index, GDate *date);
static GObjectClass *parent_class = NULL;
struct _GncSxInstanceDenseCalAdapterClass
{
GObjectClass parent;
@@ -63,6 +62,9 @@ struct _GncSxInstanceDenseCalAdapter
GncSxInstanceModel *instances;
};
G_DEFINE_TYPE_WITH_CODE (GncSxInstanceDenseCalAdapter, gnc_sx_instance_dense_cal_adapter, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (GNC_TYPE_DENSE_CAL_MODEL, gnc_sx_instance_dense_cal_adapter_interface_init))
static void
gnc_sx_instance_dense_cal_adapter_class_init(GncSxInstanceDenseCalAdapterClass *klass)
{
@@ -70,21 +72,18 @@ gnc_sx_instance_dense_cal_adapter_class_init(GncSxInstanceDenseCalAdapterClass *
obj_class->dispose = gnc_sx_instance_dense_cal_adapter_dispose;
obj_class->finalize = gnc_sx_instance_dense_cal_adapter_finalize;
parent_class = g_type_class_peek_parent(klass);
}
static void
gnc_sx_instance_dense_cal_adapter_init(GTypeInstance *instance, gpointer klass)
gnc_sx_instance_dense_cal_adapter_init(GncSxInstanceDenseCalAdapter *instance)
{
/*GncSxInstanceDenseCalAdapter *adapter = GNC_SX_INSTANCE_DENSE_CAL_ADAPTER(instance);*/
; /* nop */
}
static void
gnc_sx_instance_dense_cal_adapter_interface_init(gpointer g_iface, gpointer iface_data)
gnc_sx_instance_dense_cal_adapter_interface_init(GncDenseCalModelIface *iface)
{
GncDenseCalModelIface *iface = (GncDenseCalModelIface*)g_iface;
iface->get_contained = gsidca_get_contained;
iface->get_name = gsidca_get_name;
iface->get_info = gsidca_get_info;
@@ -141,41 +140,6 @@ gnc_sx_instance_dense_cal_adapter_new(GncSxInstanceModel *instances)
return adapter;
}
GType
gnc_sx_instance_dense_cal_adapter_get_type(void)
{
static GType type = 0;
if (type == 0)
{
static const GTypeInfo info =
{
sizeof (GncSxInstanceDenseCalAdapterClass),
NULL, /* base init */
NULL, /* base finalize */
(GClassInitFunc)gnc_sx_instance_dense_cal_adapter_class_init,
NULL, /* class finalize */
NULL, /* class data */
sizeof(GncSxInstanceDenseCalAdapter),
0, /* n_preallocs */
(GInstanceInitFunc)gnc_sx_instance_dense_cal_adapter_init
};
static const GInterfaceInfo iDenseCalModelInfo =
{
(GInterfaceInitFunc)gnc_sx_instance_dense_cal_adapter_interface_init,
NULL, /* interface finalize */
NULL, /* interface data */
};
type = g_type_register_static (G_TYPE_OBJECT,
"GncSxInstanceDenseCalAdapterType",
&info, 0);
g_type_add_interface_static(type,
GNC_TYPE_DENSE_CAL_MODEL,
&iDenseCalModelInfo);
}
return type;
}
static gint
gsidca_find_sx_with_tag(gconstpointer list_data,
gconstpointer find_data)
@@ -267,12 +231,12 @@ gnc_sx_instance_dense_cal_adapter_dispose(GObject *obj)
g_object_unref(G_OBJECT(adapter->instances));
adapter->instances = NULL;
G_OBJECT_CLASS(parent_class)->dispose(obj);
G_OBJECT_CLASS(gnc_sx_instance_dense_cal_adapter_parent_class)->dispose(obj);
}
static void gnc_sx_instance_dense_cal_adapter_finalize(GObject *obj)
{
g_return_if_fail(obj != NULL);
// nop
G_OBJECT_CLASS(parent_class)->finalize(obj);
G_OBJECT_CLASS(gnc_sx_instance_dense_cal_adapter_parent_class)->finalize(obj);
}

View File

@@ -66,12 +66,9 @@ enum
LAST_SIGNAL
};
static GObjectClass *parent_class = NULL;
static void gsltma_tree_model_interface_init (GtkTreeModelIface *tree_model);
static void gsltma_tree_sortable_interface_init (GtkTreeSortableIface *tree_sortable);
static void gnc_sx_list_tree_model_adapter_class_init (GncSxListTreeModelAdapterClass *klass);
static void gsltma_tree_model_interface_init (gpointer g_iface, gpointer iface_data);
static void gsltma_tree_sortable_interface_init (gpointer g_iface, gpointer iface_data);
static void gnc_sx_list_tree_model_adapter_init (GTypeInstance *instance, gpointer klass);
static void gnc_sx_list_tree_model_adapter_dispose (GObject *obj);
static void gnc_sx_list_tree_model_adapter_finalize (GObject *obj);
@@ -79,57 +76,15 @@ static guint gnc_sx_list_tree_model_adapter_signals[LAST_SIGNAL] = {0};
static GncSxInstances* gsltma_get_sx_instances_from_orig_iter (GncSxListTreeModelAdapter *model, GtkTreeIter *orig_iter);
GType
gnc_sx_list_tree_model_adapter_get_type (void)
{
static GType type = 0;
if (type == 0)
{
static const GTypeInfo info =
{
sizeof (GncSxListTreeModelAdapterClass),
NULL, /* base_init */
NULL, /* base_finalize */
(GClassInitFunc)gnc_sx_list_tree_model_adapter_class_init, /* class_init */
NULL, /* class_finalize */
NULL, /* class_data */
sizeof (GncSxListTreeModelAdapter),
0, /* n_preallocs */
(GInstanceInitFunc)gnc_sx_list_tree_model_adapter_init /* instance_init */
};
static const GInterfaceInfo itree_model_info =
{
(GInterfaceInitFunc) gsltma_tree_model_interface_init, /* interface_init */
NULL, /* interface_finalize */
NULL /* interface_data */
};
static const GInterfaceInfo itree_sortable_info =
{
(GInterfaceInitFunc) gsltma_tree_sortable_interface_init, /* interface_init */
NULL, /* interface_finalize */
NULL /* interface_data */
};
type = g_type_register_static (G_TYPE_OBJECT,
"GncSxListTreeModelAdapterType",
&info, 0);
g_type_add_interface_static (type,
GTK_TYPE_TREE_MODEL,
&itree_model_info);
g_type_add_interface_static (type,
GTK_TYPE_TREE_SORTABLE,
&itree_sortable_info);
}
return type;
}
G_DEFINE_TYPE_WITH_CODE (GncSxListTreeModelAdapter, gnc_sx_list_tree_model_adapter, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_MODEL, gsltma_tree_model_interface_init)
G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_SORTABLE, gsltma_tree_sortable_interface_init))
static void
gnc_sx_list_tree_model_adapter_class_init (GncSxListTreeModelAdapterClass *klass)
{
GObjectClass *obj_class = G_OBJECT_CLASS(klass);
parent_class = g_type_class_peek_parent (klass);
obj_class->dispose = gnc_sx_list_tree_model_adapter_dispose;
obj_class->finalize = gnc_sx_list_tree_model_adapter_finalize;
@@ -248,9 +203,8 @@ gsltma_unref_node (GtkTreeModel *tree_model,
}
static void
gsltma_tree_model_interface_init (gpointer g_iface, gpointer iface_data)
gsltma_tree_model_interface_init (GtkTreeModelIface *tree_model)
{
GtkTreeModelIface *tree_model = (GtkTreeModelIface*)g_iface;
tree_model->get_flags = gsltma_get_flags;
tree_model->get_n_columns = gsltma_get_n_columns;
tree_model->get_column_type = gsltma_get_column_type;
@@ -320,9 +274,8 @@ gsltma_has_default_sort_func (GtkTreeSortable *sortable)
}
static void
gsltma_tree_sortable_interface_init (gpointer g_iface, gpointer iface_data)
gsltma_tree_sortable_interface_init (GtkTreeSortableIface *tree_sortable)
{
GtkTreeSortableIface *tree_sortable = (GtkTreeSortableIface*)g_iface;
tree_sortable->get_sort_column_id = gsltma_get_sort_column_id;
tree_sortable->set_sort_column_id = gsltma_set_sort_column_id;
tree_sortable->set_sort_func = gsltma_set_sort_func;
@@ -485,9 +438,8 @@ _enabled_comparator (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpoint
}
static void
gnc_sx_list_tree_model_adapter_init (GTypeInstance *instance, gpointer klass)
gnc_sx_list_tree_model_adapter_init (GncSxListTreeModelAdapter *adapter)
{
GncSxListTreeModelAdapter *adapter = GNC_SX_LIST_TREE_MODEL_ADAPTER(instance);
adapter->orig = gtk_tree_store_new (5, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
adapter->real = GTK_TREE_MODEL_SORT(gtk_tree_model_sort_new_with_model (GTK_TREE_MODEL(adapter->orig)));
@@ -642,12 +594,12 @@ gnc_sx_list_tree_model_adapter_dispose (GObject *obj)
g_object_unref (G_OBJECT(adapter->orig));
adapter->orig = NULL;
G_OBJECT_CLASS(parent_class)->dispose (obj);
G_OBJECT_CLASS(gnc_sx_list_tree_model_adapter_parent_class)->dispose (obj);
}
static void
gnc_sx_list_tree_model_adapter_finalize (GObject *obj)
{
g_return_if_fail (obj != NULL);
G_OBJECT_CLASS(parent_class)->finalize (obj);
G_OBJECT_CLASS(gnc_sx_list_tree_model_adapter_parent_class)->finalize (obj);
}

View File

@@ -72,7 +72,6 @@ struct _GncSxSinceLastRunDialog
/* ------------------------------------------------------------ */
static GObjectClass *parent_class = NULL;
struct _GncSxSlrTreeModelAdapter
{
@@ -92,9 +91,7 @@ typedef struct _GncSxSlrTreeModelAdapterClass
} GncSxSlrTreeModelAdapterClass;
GType gnc_sx_slr_tree_model_adapter_get_type (void);
static void gnc_sx_slr_tree_model_adapter_class_init (GncSxSlrTreeModelAdapterClass *klass);
static void gnc_sx_slr_tree_model_adapter_interface_init (gpointer g_iface, gpointer iface_data);
static void gnc_sx_slr_tree_model_adapter_init (GTypeInstance *instance, gpointer klass);
static void gnc_sx_slr_tree_model_adapter_interface_init (GtkTreeModelIface *tree_model);
GncSxSlrTreeModelAdapter* gnc_sx_slr_tree_model_adapter_new (GncSxInstanceModel *instances);
static void gnc_sx_slr_tree_model_adapter_dispose (GObject *obj);
static void gnc_sx_slr_tree_model_adapter_finalize (GObject *obj);
@@ -149,49 +146,13 @@ _var_numeric_to_string (gnc_numeric *value, GString **str)
/* ------------------------------------------------------------ */
GType
gnc_sx_slr_tree_model_adapter_get_type (void)
{
static GType gsstma_type = 0;
if (gsstma_type == 0)
{
static const GTypeInfo info =
{
sizeof (GncSxSlrTreeModelAdapterClass),
NULL, /* base_init */
NULL, /* base_finalize */
(GClassInitFunc)gnc_sx_slr_tree_model_adapter_class_init, /* class_init */
NULL, /* class_finalize */
NULL, /* class_data */
sizeof (GncSxSlrTreeModelAdapter),
0, /* n_preallocs */
(GInstanceInitFunc)gnc_sx_slr_tree_model_adapter_init /* instance_init */
};
static const GInterfaceInfo itreeModel_info =
{
(GInterfaceInitFunc) gnc_sx_slr_tree_model_adapter_interface_init, /* interface_init */
NULL, /* interface_finalize */
NULL /* interface_data */
};
gsstma_type = g_type_register_static (G_TYPE_OBJECT,
"GncSxSlrTreeModelAdapterType",
&info, 0);
g_type_add_interface_static (gsstma_type,
GTK_TYPE_TREE_MODEL,
&itreeModel_info);
}
return gsstma_type;
}
G_DEFINE_TYPE_WITH_CODE (GncSxSlrTreeModelAdapter, gnc_sx_slr_tree_model_adapter, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_MODEL, gnc_sx_slr_tree_model_adapter_interface_init))
static void
gnc_sx_slr_tree_model_adapter_class_init (GncSxSlrTreeModelAdapterClass *klass)
{
GObjectClass *obj_class;
parent_class = g_type_class_peek_parent (klass);
obj_class = G_OBJECT_CLASS(klass);
GObjectClass *obj_class = G_OBJECT_CLASS(klass);
obj_class->dispose = gnc_sx_slr_tree_model_adapter_dispose;
obj_class->finalize = gnc_sx_slr_tree_model_adapter_finalize;
@@ -300,10 +261,8 @@ gsslrtma_unref_node (GtkTreeModel *tree_model,
}
static void
gnc_sx_slr_tree_model_adapter_interface_init (gpointer g_iface, gpointer iface_data)
gnc_sx_slr_tree_model_adapter_interface_init (GtkTreeModelIface *tree_model)
{
GtkTreeModelIface *tree_model = (GtkTreeModelIface*)g_iface;
tree_model->get_flags = gsslrtma_get_flags;
tree_model->get_n_columns = gsslrtma_get_n_columns;
tree_model->get_column_type = gsslrtma_get_column_type;
@@ -377,9 +336,8 @@ enum
};
static void
gnc_sx_slr_tree_model_adapter_init (GTypeInstance *instance, gpointer klass)
gnc_sx_slr_tree_model_adapter_init (GncSxSlrTreeModelAdapter *adapter)
{
GncSxSlrTreeModelAdapter *adapter = GNC_SX_SLR_TREE_MODEL_ADAPTER(instance);
// columns: thing-name, instance-state, variable-value, instance-visible, variable-visible, instance_state_sensitivity
// at depth=0: <sx>, N/A, N/A, N/A N/A, N/A
// at depth=1: <instance>, <state>, N/A, <valid>, N/A, <valid>
@@ -777,14 +735,14 @@ gnc_sx_slr_tree_model_adapter_dispose (GObject *obj)
g_object_unref (G_OBJECT(adapter->real));
adapter->real = NULL;
G_OBJECT_CLASS(parent_class)->dispose (obj);
G_OBJECT_CLASS(gnc_sx_slr_tree_model_adapter_parent_class)->dispose (obj);
}
static void
gnc_sx_slr_tree_model_adapter_finalize (GObject *obj)
{
g_return_if_fail (obj != NULL);
G_OBJECT_CLASS(parent_class)->finalize (obj);
G_OBJECT_CLASS(gnc_sx_slr_tree_model_adapter_parent_class)->finalize (obj);
}
GncSxSlrTreeModelAdapter*

View File

@@ -171,41 +171,13 @@ void gnc_split_reg_size_allocate( GtkWidget *widget,
gpointer user_data );
static void gnc_split_reg_class_init( GNCSplitRegClass *klass );
static void gnc_split_reg_init( GNCSplitReg *gsr );
static void gnc_split_reg_init2( GNCSplitReg *gsr );
void gnc_split_reg_dispose(GObject *obj);
FROM_STRING_FUNC(SortType, ENUM_LIST_SORTTYPE)
AS_STRING_FUNC(SortType, ENUM_LIST_SORTTYPE)
GType
gnc_split_reg_get_type( void )
{
static GType gnc_split_reg_type = 0;
if (!gnc_split_reg_type)
{
GTypeInfo type_info =
{
sizeof(GNCSplitRegClass), /* class_size */
NULL, /* base_init */
NULL, /* base_finalize */
(GClassInitFunc)gnc_split_reg_class_init,
NULL, /* class_finalize */
NULL, /* class_data */
sizeof(GNCSplitReg), /* */
0, /* n_preallocs */
(GInstanceInitFunc)gnc_split_reg_init,
};
gnc_split_reg_type = g_type_register_static( GTK_TYPE_BOX,
"GNCSplitReg",
&type_info, 0 );
}
return gnc_split_reg_type;
}
G_DEFINE_TYPE (GNCSplitReg, gnc_split_reg, GTK_TYPE_BOX)
/* SIGNALS */
enum gnc_split_reg_signal_enum

View File

@@ -52,12 +52,9 @@ enum
/** Static Globals ****************************************************/
static GNCQueryViewClass *parent_class = NULL;
static guint reconcile_view_signals[LAST_SIGNAL] = {0};
/** Static function declarations **************************************/
static void gnc_reconcile_view_init (GNCReconcileView *view);
static void gnc_reconcile_view_class_init (GNCReconcileViewClass *klass);
static void gnc_reconcile_view_finalize (GObject *object);
static gpointer gnc_reconcile_view_is_reconciled (gpointer item,
gpointer user_data);
@@ -79,34 +76,7 @@ static gboolean gnc_reconcile_view_tooltip_cb (GNCQueryView *qview,
GtkTooltip* tooltip,
gpointer* user_data);
GType
gnc_reconcile_view_get_type (void)
{
static GType gnc_reconcile_view_type = 0;
if (gnc_reconcile_view_type == 0)
{
static const GTypeInfo gnc_reconcile_view_info =
{
sizeof (GNCReconcileViewClass),
NULL,
NULL,
(GClassInitFunc) gnc_reconcile_view_class_init,
NULL,
NULL,
sizeof (GNCReconcileView),
0,
(GInstanceInitFunc) gnc_reconcile_view_init
};
gnc_reconcile_view_type = g_type_register_static (GNC_TYPE_QUERY_VIEW,
"GncReconcileView",
&gnc_reconcile_view_info,
0);
}
return gnc_reconcile_view_type;
}
G_DEFINE_TYPE (GNCReconcileView, gnc_reconcile_view, GNC_TYPE_QUERY_VIEW)
static gboolean
gnc_reconcile_view_tooltip_cb (GNCQueryView *qview, gint x, gint y,
@@ -495,8 +465,6 @@ gnc_reconcile_view_class_init (GNCReconcileViewClass *klass)
object_class = G_OBJECT_CLASS(klass);
parent_class = g_type_class_peek_parent (klass);
reconcile_view_signals[TOGGLE_RECONCILED] =
g_signal_new ("toggle_reconciled",
G_OBJECT_CLASS_TYPE(object_class),
@@ -822,7 +790,7 @@ gnc_reconcile_view_finalize (GObject *object)
g_hash_table_destroy (view->reconciled);
view->reconciled = NULL;
}
G_OBJECT_CLASS(parent_class)->finalize (object);
G_OBJECT_CLASS(gnc_reconcile_view_parent_class)->finalize (object);
}
gint

View File

@@ -36,8 +36,6 @@
#include "gnucash-sheetP.h"
#include "gnucash-style.h"
static GObjectClass *gnucash_cursor_parent_class;
enum
{
PROP_0,
@@ -45,6 +43,9 @@ enum
};
G_DEFINE_TYPE (GnucashCursor, gnucash_cursor, G_TYPE_OBJECT)
static void
gnucash_cursor_get_pixel_coords (GnucashCursor *cursor,
gint *x, gint *y,
@@ -268,6 +269,12 @@ gnucash_cursor_get_property (GObject *object,
}
static void
gnucash_cursor_init (GnucashCursor *instance)
{
}
static void
gnucash_cursor_class_init (GnucashCursorClass *klass)
{
@@ -275,8 +282,6 @@ gnucash_cursor_class_init (GnucashCursorClass *klass)
object_class = G_OBJECT_CLASS (klass);
gnucash_cursor_parent_class = g_type_class_peek_parent (klass);
/* GObject method overrides */
object_class->set_property = gnucash_cursor_set_property;
object_class->get_property = gnucash_cursor_get_property;
@@ -293,36 +298,6 @@ gnucash_cursor_class_init (GnucashCursorClass *klass)
}
GType
gnucash_cursor_get_type (void)
{
static GType gnucash_cursor_type = 0;
if (!gnucash_cursor_type)
{
static const GTypeInfo gnucash_cursor_info =
{
sizeof (GnucashCursorClass),
NULL, /* base_init */
NULL, /* base_finalize */
(GClassInitFunc) gnucash_cursor_class_init,
NULL, /* class_finalize */
NULL, /* class_data */
sizeof (GnucashCursor),
0, /* n_preallocs */
NULL /* instance initialization */
};
gnucash_cursor_type =
g_type_register_static (G_TYPE_OBJECT,
"GnucashCursor",
&gnucash_cursor_info, 0);
}
return gnucash_cursor_type;
}
GnucashCursor *
gnucash_cursor_new (GnucashSheet *sheet)
{

View File

@@ -28,7 +28,6 @@
#include <gdk/gdkkeysyms.h>
#include "gnucash-date-picker.h"
/* Item list signals */
enum
{
@@ -37,9 +36,9 @@ enum
LAST_SIGNAL
};
static GtkBoxClass *gnc_date_picker_parent_class;
static guint gnc_date_picker_signals[LAST_SIGNAL];
G_DEFINE_TYPE (GNCDatePicker, gnc_date_picker, GTK_TYPE_BOX)
void
gnc_date_picker_set_date (GNCDatePicker *date_picker,
@@ -118,9 +117,6 @@ gnc_date_picker_key_event(GtkWidget *widget, GdkEventKey *event, gpointer data)
static void
gnc_date_picker_class_init (GNCDatePickerClass *date_picker_class)
{
gnc_date_picker_parent_class =
GTK_BOX_CLASS (g_type_class_peek_parent (date_picker_class));
GObjectClass *object_class = G_OBJECT_CLASS (date_picker_class);
gtk_widget_class_set_css_name (GTK_WIDGET_CLASS(date_picker_class), "gnc-id-date-picker");
@@ -147,35 +143,6 @@ gnc_date_picker_class_init (GNCDatePickerClass *date_picker_class)
date_picker_class->date_picked = NULL;
}
GType
gnc_date_picker_get_type (void)
{
static GType gnc_date_picker_type = 0;
if (gnc_date_picker_type == 0)
{
GTypeInfo type_info =
{
sizeof(GNCDatePickerClass), /* class_size */
NULL, /* base_init */
NULL, /* base_finalize */
(GClassInitFunc)gnc_date_picker_class_init,
NULL, /* class_finalize */
NULL, /* class_data */
sizeof(GNCDatePicker), /* */
0, /* n_preallocs */
(GInstanceInitFunc)gnc_date_picker_init,
};
gnc_date_picker_type =
g_type_register_static (GTK_TYPE_BOX,
"GNCDatePicker",
&type_info, 0);
}
return gnc_date_picker_type;
}
static void
day_selected (GtkCalendar *calendar, GNCDatePicker *gdp)

View File

@@ -40,8 +40,6 @@
#include "gnucash-header.h"
static GtkLayout *parent_class;
enum
{
PROP_0,
@@ -49,6 +47,8 @@ enum
PROP_CURSOR_NAME, /* the name of the current cursor */
};
G_DEFINE_TYPE (GncHeader, gnc_header, GTK_TYPE_LAYOUT)
static void
gnc_header_draw_offscreen (GncHeader *header)
{
@@ -261,8 +261,8 @@ gnc_header_unrealize (GtkWidget *widget)
g_object_unref (header->normal_cursor);
header->normal_cursor = NULL;
if (GTK_WIDGET_CLASS(parent_class)->unrealize)
GTK_WIDGET_CLASS(parent_class)->unrealize (GTK_WIDGET(header));
if (GTK_WIDGET_CLASS(gnc_header_parent_class)->unrealize)
GTK_WIDGET_CLASS(gnc_header_parent_class)->unrealize (GTK_WIDGET(header));
}
@@ -276,7 +276,7 @@ gnc_header_finalize (GObject *object)
g_free (header->cursor_name);
header->cursor_name = NULL;
G_OBJECT_CLASS(parent_class)->finalize (object);
G_OBJECT_CLASS(gnc_header_parent_class)->finalize (object);
}
@@ -645,8 +645,6 @@ gnc_header_class_init (GncHeaderClass *header_class)
gtk_widget_class_set_css_name (GTK_WIDGET_CLASS(header_class), "gnc-id-header");
parent_class = g_type_class_peek_parent (header_class);
object_class->finalize = gnc_header_finalize;
object_class->get_property = gnc_header_get_property;
object_class->set_property = gnc_header_set_property;
@@ -672,36 +670,6 @@ gnc_header_class_init (GncHeaderClass *header_class)
item_class->event = gnc_header_event;
}
GType
gnc_header_get_type (void)
{
static GType gnc_header_type = 0;
if (!gnc_header_type)
{
static const GTypeInfo gnc_header_info =
{
sizeof (GncHeaderClass),
NULL,
NULL,
(GClassInitFunc) gnc_header_class_init,
NULL,
NULL,
sizeof (GncHeader),
0,
(GInstanceInitFunc) gnc_header_init
};
gnc_header_type = g_type_register_static (GTK_TYPE_LAYOUT,
"GncHeader",
&gnc_header_info, 0);
}
return gnc_header_type;
}
GtkWidget *
gnc_header_new (GnucashSheet *sheet)
{

View File

@@ -61,10 +61,13 @@ enum
#define MIN_BUTT_WIDTH 20 // minimum size for a button excluding border
static QofLogModule log_module = G_LOG_DOMAIN;
static GtkBoxClass *gnc_item_edit_parent_class;
static GtkToggleButtonClass *gnc_item_edit_tb_parent_class;
static void gnc_item_edit_destroying (GtkWidget *this, gpointer data);
G_DEFINE_TYPE (GncItemEdit, gnc_item_edit, GTK_TYPE_BOX)
G_DEFINE_TYPE (GncItemEditTb, gnc_item_edit_tb, GTK_TYPE_TOGGLE_BUTTON)
static void
gnc_item_edit_tb_init (GncItemEditTb *item_edit_tb)
{
@@ -151,8 +154,6 @@ gnc_item_edit_tb_class_init (GncItemEditTbClass *gnc_item_edit_tb_class)
gtk_widget_class_set_css_name (GTK_WIDGET_CLASS(gnc_item_edit_tb_class), "button");
gnc_item_edit_tb_parent_class = g_type_class_peek_parent (gnc_item_edit_tb_class);
object_class = G_OBJECT_CLASS(gnc_item_edit_tb_class);
widget_class = GTK_WIDGET_CLASS(gnc_item_edit_tb_class);
@@ -172,34 +173,6 @@ gnc_item_edit_tb_class_init (GncItemEditTbClass *gnc_item_edit_tb_class)
widget_class->get_preferred_height = gnc_item_edit_tb_get_preferred_height;
}
GType
gnc_item_edit_tb_get_type (void)
{
static GType gnc_item_edit_tb_type = 0;
if (!gnc_item_edit_tb_type)
{
static const GTypeInfo gnc_item_edit_tb_info =
{
sizeof (GncItemEditTbClass),
NULL,
NULL,
(GClassInitFunc)gnc_item_edit_tb_class_init,
NULL,
NULL,
sizeof (GncItemEditTb),
0, /* n_preallocs */
(GInstanceInitFunc)gnc_item_edit_tb_init,
NULL,
};
gnc_item_edit_tb_type =
g_type_register_static (GTK_TYPE_TOGGLE_BUTTON,
"GncItemEditTb",
&gnc_item_edit_tb_info, 0);
}
return gnc_item_edit_tb_type;
}
GtkWidget *
gnc_item_edit_tb_new (GnucashSheet *sheet)
{
@@ -775,8 +748,6 @@ gnc_item_edit_class_init (GncItemEditClass *gnc_item_edit_class)
gtk_widget_class_set_css_name (GTK_WIDGET_CLASS(gnc_item_edit_class), "gnc-id-cursor");
gnc_item_edit_parent_class = g_type_class_peek_parent (gnc_item_edit_class);
object_class = G_OBJECT_CLASS(gnc_item_edit_class);
widget_class = GTK_WIDGET_CLASS(gnc_item_edit_class);
@@ -796,39 +767,6 @@ gnc_item_edit_class_init (GncItemEditClass *gnc_item_edit_class)
widget_class->get_preferred_height = gnc_item_edit_get_preferred_height;
}
/* FIXME: This way of initializing GObjects is obsolete. We should be
* using G_DECLARE_FINAL_TYPE instead of rolling _get_type by hand.
*/
GType
gnc_item_edit_get_type (void)
{
static GType gnc_item_edit_type = 0;
if (!gnc_item_edit_type)
{
static const GTypeInfo gnc_item_edit_info =
{
sizeof (GncItemEditClass),
NULL,
NULL,
(GClassInitFunc) gnc_item_edit_class_init,
NULL,
NULL,
sizeof (GncItemEdit),
0, /* n_preallocs */
(GInstanceInitFunc) gnc_item_edit_init,
NULL,
};
gnc_item_edit_type =
g_type_register_static (GTK_TYPE_BOX,
"GncItemEdit",
&gnc_item_edit_info, 0);
}
return gnc_item_edit_type;
}
gint
gnc_item_edit_get_margin (GncItemEdit *item_edit, Sides side)
{

View File

@@ -44,12 +44,13 @@ enum
LAST_SIGNAL
};
static GtkEventBoxClass* gnc_item_list_parent_class;
static guint gnc_item_list_signals[LAST_SIGNAL];
gboolean _gnc_item_find_selection (GtkTreeModel* model, GtkTreePath* path,
GtkTreeIter* iter, gpointer data);
G_DEFINE_TYPE (GncItemList, gnc_item_list, GTK_TYPE_EVENT_BOX);
gint
gnc_item_list_num_entries (GncItemList* item_list)
{
@@ -390,8 +391,6 @@ gnc_item_list_class_init (GncItemListClass* item_list_class)
{
GObjectClass* object_class = G_OBJECT_CLASS (item_list_class);
gnc_item_list_parent_class = g_type_class_peek_parent (item_list_class);
gtk_widget_class_set_css_name (GTK_WIDGET_CLASS(item_list_class), "gnc-id-sheet-list");
gnc_item_list_signals[SELECT_ITEM] =
@@ -429,36 +428,6 @@ gnc_item_list_class_init (GncItemListClass* item_list_class)
item_list_class->activate_item = NULL;
}
GType
gnc_item_list_get_type (void)
{
static GType gnc_item_list_type = 0;
if (gnc_item_list_type == 0)
{
static const GTypeInfo gnc_item_list_info =
{
sizeof (GncItemListClass),
NULL,
NULL,
(GClassInitFunc) gnc_item_list_class_init,
NULL,
NULL,
sizeof (GncItemList),
0,
(GInstanceInitFunc) gnc_item_list_init
};
gnc_item_list_type =
g_type_register_static (GTK_TYPE_EVENT_BOX, "GncItemList",
&gnc_item_list_info, 0);
}
return gnc_item_list_type;
}
static void
tree_view_selection_changed (GtkTreeSelection* selection,
gpointer data)

View File

@@ -69,7 +69,6 @@ enum
/* This static indicates the debugging module that this .o belongs to. */
static QofLogModule log_module = GNC_MOD_REGISTER;
static GtkGrid *register_parent_class;
static guint register_signals[LAST_SIGNAL];
@@ -95,6 +94,8 @@ struct _GnucashRegisterClass
/** Implementation *****************************************************/
G_DEFINE_TYPE (GnucashRegister, gnucash_register, GTK_TYPE_GRID)
void
gnucash_register_add_cell_types (void)
{
@@ -367,8 +368,6 @@ gnucash_register_class_init (GnucashRegisterClass *klass)
gtk_widget_class_set_css_name (GTK_WIDGET_CLASS(klass), "gnc-id-register");
register_parent_class = g_type_class_peek_parent (klass);
register_signals[ACTIVATE_CURSOR] =
g_signal_new("activate_cursor",
G_TYPE_FROM_CLASS(gobject_class),
@@ -428,37 +427,6 @@ gnucash_register_init (GnucashRegister *g_reg)
gtk_grid_set_column_homogeneous (GTK_GRID(table), FALSE);
}
GType
gnucash_register_get_type (void)
{
static GType gnucash_register_type = 0;
if (!gnucash_register_type)
{
static const GTypeInfo gnucash_register_info =
{
sizeof (GnucashRegisterClass),
NULL, /* base_init */
NULL, /* base_finalize */
(GClassInitFunc) gnucash_register_class_init,
NULL, /* class_finalize */
NULL, /* class_data */
sizeof (GnucashRegister),
0, /* n_preallocs */
(GInstanceInitFunc) gnucash_register_init,
};
gnucash_register_type = g_type_register_static
(gtk_grid_get_type (),
"GnucashRegister",
&gnucash_register_info, 0);
}
return gnucash_register_type;
}
void
gnucash_register_attach_popup (GnucashRegister *reg,
GtkWidget *popup,

View File

@@ -70,8 +70,6 @@ enum
/* This static indicates the debugging module that this .o belongs to. */
static QofLogModule log_module = G_LOG_DOMAIN;
static GtkLayout *sheet_parent_class;
/** Prototypes *********************************************************/
@@ -91,6 +89,7 @@ gboolean gnucash_sheet_draw_cb (GtkWidget *widget, cairo_t *cr,
/** Implementation *****************************************************/
G_DEFINE_TYPE (GnucashSheet, gnucash_sheet, GTK_TYPE_LAYOUT);
/* gtk_editable_set_position sets both current_pos and selection_bound to the
* supplied value. gtk_editable_select_region(start, end) sets current_pos to
@@ -802,8 +801,7 @@ gnucash_sheet_finalize (GObject *object)
g_object_unref (sheet->cursor);
if (G_OBJECT_CLASS(sheet_parent_class)->finalize)
(*G_OBJECT_CLASS(sheet_parent_class)->finalize)(object);
(*G_OBJECT_CLASS(gnucash_sheet_parent_class)->finalize)(object);
}
@@ -1209,8 +1207,8 @@ gnucash_sheet_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
ENTER("widget=%p, allocation=%p", widget, allocation);
if (GTK_WIDGET_CLASS(sheet_parent_class)->size_allocate)
(*GTK_WIDGET_CLASS(sheet_parent_class)->size_allocate)
if (GTK_WIDGET_CLASS(gnucash_sheet_parent_class)->size_allocate)
(*GTK_WIDGET_CLASS(gnucash_sheet_parent_class)->size_allocate)
(widget, allocation);
if (allocation->height == sheet->window_height &&
@@ -1254,8 +1252,8 @@ gnucash_sheet_focus_in_event (GtkWidget *widget, GdkEventFocus *event)
{
GnucashSheet *sheet = GNUCASH_SHEET(widget);
if (GTK_WIDGET_CLASS(sheet_parent_class)->focus_in_event)
(*GTK_WIDGET_CLASS(sheet_parent_class)->focus_in_event)
if (GTK_WIDGET_CLASS(gnucash_sheet_parent_class)->focus_in_event)
(*GTK_WIDGET_CLASS(gnucash_sheet_parent_class)->focus_in_event)
(widget, event);
gnc_item_edit_focus_in (GNC_ITEM_EDIT(sheet->item_editor));
@@ -1268,8 +1266,8 @@ gnucash_sheet_focus_out_event (GtkWidget *widget, GdkEventFocus *event)
{
GnucashSheet *sheet = GNUCASH_SHEET(widget);
if (GTK_WIDGET_CLASS(sheet_parent_class)->focus_out_event)
(*GTK_WIDGET_CLASS(sheet_parent_class)->focus_out_event)
if (GTK_WIDGET_CLASS(gnucash_sheet_parent_class)->focus_out_event)
(*GTK_WIDGET_CLASS(gnucash_sheet_parent_class)->focus_out_event)
(widget, event);
gnc_item_edit_focus_out (GNC_ITEM_EDIT(sheet->item_editor));
@@ -2329,8 +2327,6 @@ gnucash_sheet_class_init (GnucashSheetClass *klass)
gtk_widget_class_set_css_name (GTK_WIDGET_CLASS(klass), "gnc-id-sheet");
sheet_parent_class = g_type_class_peek_parent (klass);
/* Method override */
gobject_class->finalize = gnucash_sheet_finalize;
@@ -2393,37 +2389,6 @@ gnucash_sheet_init (GnucashSheet *sheet)
sheet->bound = sheet->pos = 0;
}
GType
gnucash_sheet_get_type (void)
{
static GType gnucash_sheet_type = 0;
if (!gnucash_sheet_type)
{
static const GTypeInfo gnucash_sheet_info =
{
sizeof (GnucashSheetClass),
NULL, /* base_init */
NULL, /* base_finalize */
(GClassInitFunc) gnucash_sheet_class_init,
NULL, /* class_finalize */
NULL, /* class_data */
sizeof (GnucashSheet),
0, /* n_preallocs */
(GInstanceInitFunc) gnucash_sheet_init
};
gnucash_sheet_type =
g_type_register_static (GTK_TYPE_LAYOUT,
"GnucashSheet",
&gnucash_sheet_info, 0);
}
return gnucash_sheet_type;
}
static gboolean
gnucash_sheet_tooltip (GtkWidget *widget, gint x, gint y,
gboolean keyboard_mode,

View File

@@ -65,8 +65,6 @@ static QofLogModule log_module = G_LOG_DOMAIN;
*list = g_list_append(*list, g_strdup_printf(_(format), __VA_ARGS__)); \
} while (0)
static GObjectClass *parent_class = NULL;
typedef struct _SxTxnCreationData
{
GncSxInstance *instance;
@@ -74,8 +72,6 @@ typedef struct _SxTxnCreationData
GList **creation_errors;
} SxTxnCreationData;
static void gnc_sx_instance_model_class_init (GncSxInstanceModelClass *klass);
static void gnc_sx_instance_model_init(GTypeInstance *instance, gpointer klass);
static GncSxInstanceModel* gnc_sx_instance_model_new(void);
static GncSxInstance* gnc_sx_instance_new(GncSxInstances *parent, GncSxInstanceState state, GDate *date, void *temporal_state, gint sequence_num);
@@ -584,37 +580,15 @@ gnc_sx_get_instances(const GDate *range_end, gboolean include_disabled)
return instances;
}
G_DEFINE_TYPE (GncSxInstanceModel, gnc_sx_instance_model, G_TYPE_OBJECT)
static GncSxInstanceModel*
gnc_sx_instance_model_new(void)
{
return GNC_SX_INSTANCE_MODEL(g_object_new(GNC_TYPE_SX_INSTANCE_MODEL, NULL));
}
GType
gnc_sx_instance_model_get_type(void)
{
static GType type = 0;
if (type == 0)
{
static const GTypeInfo info =
{
sizeof (GncSxInstanceModelClass),
NULL, /* base_init */
NULL, /* base_finalize */
(GClassInitFunc)gnc_sx_instance_model_class_init, /* class_init */
NULL, /* class_finalize */
NULL, /* class_data */
sizeof (GncSxInstanceModel),
0, /* n_preallocs */
(GInstanceInitFunc)gnc_sx_instance_model_init /* instance_init */
};
type = g_type_register_static (G_TYPE_OBJECT,
"GncSxInstanceModelType",
&info, 0);
}
return type;
}
static void
gnc_sx_instance_model_dispose(GObject *object)
{
@@ -627,7 +601,7 @@ gnc_sx_instance_model_dispose(GObject *object)
qof_event_unregister_handler(model->qof_event_handler_id);
G_OBJECT_CLASS(parent_class)->dispose(object);
G_OBJECT_CLASS(gnc_sx_instance_model_parent_class)->dispose(object);
}
static void
@@ -685,7 +659,7 @@ gnc_sx_instance_model_finalize (GObject *object)
g_list_free(model->sx_instance_list);
model->sx_instance_list = NULL;
G_OBJECT_CLASS(parent_class)->finalize(object);
G_OBJECT_CLASS(gnc_sx_instance_model_parent_class)->finalize(object);
}
static void
@@ -693,8 +667,6 @@ gnc_sx_instance_model_class_init (GncSxInstanceModelClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
parent_class = g_type_class_peek_parent(klass);
object_class->dispose = gnc_sx_instance_model_dispose;
object_class->finalize = gnc_sx_instance_model_finalize;
@@ -736,10 +708,8 @@ gnc_sx_instance_model_class_init (GncSxInstanceModelClass *klass)
}
static void
gnc_sx_instance_model_init(GTypeInstance *instance, gpointer klass)
gnc_sx_instance_model_init(GncSxInstanceModel *inst)
{
GncSxInstanceModel *inst = (GncSxInstanceModel*)instance;
g_date_clear(&inst->range_end, 1);
inst->sx_instance_list = NULL;
inst->qof_event_handler_id = qof_event_register_handler(_gnc_sx_instance_event_handler, inst);