From 167c55e5068839da9a46e791a45ed010acb331de Mon Sep 17 00:00:00 2001 From: Richard Cohen Date: Sat, 20 May 2023 17:25:30 +0100 Subject: [PATCH] Refactor: DEFINE_TYPE GOOptionMenu < GtkButton --- borrowed/goffice/go-optionmenu.c | 28 +++------------------------- 1 file changed, 3 insertions(+), 25 deletions(-) diff --git a/borrowed/goffice/go-optionmenu.c b/borrowed/goffice/go-optionmenu.c index 670a92bc67..af65b1ab1e 100644 --- a/borrowed/goffice/go-optionmenu.c +++ b/borrowed/goffice/go-optionmenu.c @@ -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; -}