--- a/gntbox.c Wed Apr 03 20:58:39 2019 -0400
+++ b/gntbox.c Wed Apr 03 21:39:23 2019 -0400
@@ -42,9 +42,9 @@
-static GntWidgetClass *parent_class = NULL;
+static GntWidget * find_focusable_widget(GntBox *box); -static GntWidget * find_focusable_widget(GntBox *box);
+G_DEFINE_TYPE(GntBox, gnt_box, GNT_TYPE_WIDGET) add_to_focus(gpointer value, gpointer data)
@@ -570,24 +570,25 @@
gnt_box_class_init(GntBoxClass *klass)
GntBindableClass *bindable = GNT_BINDABLE_CLASS(klass);
- GObjectClass *gclass = G_OBJECT_CLASS(klass);
- parent_class = GNT_WIDGET_CLASS(klass);
- parent_class->destroy = gnt_box_destroy;
- parent_class->draw = gnt_box_draw;
- parent_class->expose = gnt_box_expose;
- parent_class->map = gnt_box_map;
- parent_class->size_request = gnt_box_size_request;
- parent_class->set_position = gnt_box_set_position;
- parent_class->key_pressed = gnt_box_key_pressed;
- parent_class->clicked = gnt_box_clicked;
- parent_class->lost_focus = gnt_box_lost_focus;
- parent_class->gained_focus = gnt_box_gained_focus;
- parent_class->confirm_size = gnt_box_confirm_size;
- parent_class->size_changed = gnt_box_size_changed;
+ GObjectClass *obj_class = G_OBJECT_CLASS(klass); + GntWidgetClass *widget_class = GNT_WIDGET_CLASS(klass); - gclass->set_property = gnt_box_set_property;
- gclass->get_property = gnt_box_get_property;
- g_object_class_install_property(gclass,
+ widget_class->destroy = gnt_box_destroy; + widget_class->draw = gnt_box_draw; + widget_class->expose = gnt_box_expose; + widget_class->map = gnt_box_map; + widget_class->size_request = gnt_box_size_request; + widget_class->set_position = gnt_box_set_position; + widget_class->key_pressed = gnt_box_key_pressed; + widget_class->clicked = gnt_box_clicked; + widget_class->lost_focus = gnt_box_lost_focus; + widget_class->gained_focus = gnt_box_gained_focus; + widget_class->confirm_size = gnt_box_confirm_size; + widget_class->size_changed = gnt_box_size_changed; + obj_class->set_property = gnt_box_set_property; + obj_class->get_property = gnt_box_get_property; + g_object_class_install_property(obj_class, g_param_spec_boolean("vertical", "Vertical",
"Whether the child widgets in the box should be stacked vertically.",
@@ -595,7 +596,7 @@
G_PARAM_READWRITE|G_PARAM_CONSTRUCT|G_PARAM_STATIC_STRINGS
- g_object_class_install_property(gclass,
+ g_object_class_install_property(obj_class, g_param_spec_boolean("homogeneous", "Homogeneous",
"Whether the child widgets in the box should have the same size.",
@@ -615,10 +616,9 @@
-gnt_box_init(GTypeInstance *instance, gpointer class)
+gnt_box_init(GntBox *box) - GntWidget *widget = GNT_WIDGET(instance);
- GntBox *box = GNT_BOX(widget);
+ GntWidget *widget = GNT_WIDGET(box); /* Initially make both the height and width resizable.
* Update the flags as necessary when widgets are added to it. */
GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_GROW_X | GNT_WIDGET_GROW_Y);
@@ -632,34 +632,6 @@
/******************************************************************************
*****************************************************************************/
- static const GTypeInfo info = {
- NULL, /* base_finalize */
- (GClassInitFunc)gnt_box_class_init,
- NULL, /* class_finalize */
- gnt_box_init, /* instance_init */
- type = g_type_register_static(GNT_TYPE_WIDGET,
GntWidget *gnt_box_new(gboolean homo, gboolean vert)
GntWidget *widget = g_object_new(GNT_TYPE_BOX, "homogeneous", homo,
--- a/gntbutton.c Wed Apr 03 20:58:39 2019 -0400
+++ b/gntbutton.c Wed Apr 03 21:39:23 2019 -0400
@@ -33,9 +33,10 @@
-static GntWidgetClass *parent_class = NULL;
static gboolean small_button = FALSE;
+G_DEFINE_TYPE(GntButton, gnt_button, GNT_TYPE_WIDGET) gnt_button_draw(GntWidget *widget)
@@ -103,17 +104,18 @@
-gnt_button_class_init(GntWidgetClass *klass)
+gnt_button_class_init(GntButtonClass *klass) GntBindableClass *bindable = GNT_BINDABLE_CLASS(klass);
+ GntWidgetClass *widget_class = GNT_WIDGET_CLASS(klass); - parent_class = GNT_WIDGET_CLASS(klass);
- parent_class->draw = gnt_button_draw;
- parent_class->map = gnt_button_map;
- parent_class->size_request = gnt_button_size_request;
- parent_class->clicked = gnt_button_clicked;
- parent_class->destroy = gnt_button_destroy;
+ widget_class = GNT_WIDGET_CLASS(klass); + widget_class->draw = gnt_button_draw; + widget_class->map = gnt_button_map; + widget_class->size_request = gnt_button_size_request; + widget_class->clicked = gnt_button_clicked; + widget_class->destroy = gnt_button_destroy; style = gnt_style_get_from_name(NULL, "small-button");
small_button = gnt_style_parse_bool(style);
@@ -125,10 +127,10 @@
-gnt_button_init(GTypeInstance *instance, gpointer class)
+gnt_button_init(GntButton *button) - GntWidget *widget = GNT_WIDGET(instance);
- GntButton *button = GNT_BUTTON(instance);
+ GntWidget *widget = GNT_WIDGET(button); button->priv = g_new0(GntButtonPriv, 1);
@@ -142,32 +144,6 @@
/******************************************************************************
*****************************************************************************/
-gnt_button_get_type(void) {
- static const GTypeInfo info = {
- sizeof(GntButtonClass),
- NULL, /* base_finalize */
- (GClassInitFunc)gnt_button_class_init,
- NULL, /* class_finalize */
- gnt_button_init, /* instance_init */
- type = g_type_register_static(GNT_TYPE_WIDGET,
GntWidget *gnt_button_new(const char *text)
GntWidget *widget = g_object_new(GNT_TYPE_BUTTON, NULL);
--- a/gntcheckbox.c Wed Apr 03 20:58:39 2019 -0400
+++ b/gntcheckbox.c Wed Apr 03 21:39:23 2019 -0400
@@ -29,9 +29,10 @@
-static GntButtonClass *parent_class = NULL;
static guint signals[SIGS] = { 0 };
+G_DEFINE_TYPE(GntCheckBox, gnt_check_box, GNT_TYPE_BUTTON) gnt_check_box_draw(GntWidget *widget)
@@ -90,15 +91,11 @@
gnt_check_box_class_init(GntCheckBoxClass *klass)
- GntWidgetClass *wclass = GNT_WIDGET_CLASS(klass);
+ GntWidgetClass *widget_class = GNT_WIDGET_CLASS(klass); - parent_class = GNT_BUTTON_CLASS(klass);
- /*parent_class->destroy = gnt_check_box_destroy;*/
- wclass->draw = gnt_check_box_draw;
- /*parent_class->map = gnt_check_box_map;*/
- /*parent_class->size_request = gnt_check_box_size_request;*/
- wclass->key_pressed = gnt_check_box_key_pressed;
- wclass->clicked = gnt_check_box_clicked;
+ widget_class->draw = gnt_check_box_draw; + widget_class->key_pressed = gnt_check_box_key_pressed; + widget_class->clicked = gnt_check_box_clicked; @@ -111,9 +108,9 @@
-gnt_check_box_init(GTypeInstance *instance, gpointer class)
+gnt_check_box_init(GntCheckBox *box) - GntWidget *widget = GNT_WIDGET(instance);
+ GntWidget *widget = GNT_WIDGET(box); GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_NO_BORDER | GNT_WIDGET_NO_SHADOW);
@@ -123,34 +120,6 @@
/******************************************************************************
*****************************************************************************/
-gnt_check_box_get_type(void)
- static const GTypeInfo info = {
- sizeof(GntCheckBoxClass),
- NULL, /* base_finalize */
- (GClassInitFunc)gnt_check_box_class_init,
- NULL, /* class_finalize */
- gnt_check_box_init, /* instance_init */
- type = g_type_register_static(GNT_TYPE_BUTTON,
GntWidget *gnt_check_box_new(const char *text)
GntWidget *widget = g_object_new(GNT_TYPE_CHECK_BOX, NULL);
--- a/gntcombobox.c Wed Apr 03 20:58:39 2019 -0400
+++ b/gntcombobox.c Wed Apr 03 21:39:23 2019 -0400
@@ -35,10 +35,11 @@
-static GntWidgetClass *parent_class = NULL;
static guint signals[SIGS] = { 0 };
static void (*widget_lost_focus)(GntWidget *widget);
+G_DEFINE_TYPE(GntComboBox, gnt_combo_box, GNT_TYPE_WIDGET) set_selection(GntComboBox *box, gpointer key)
@@ -263,19 +264,18 @@
gnt_combo_box_class_init(GntComboBoxClass *klass)
GntBindableClass *bindable = GNT_BINDABLE_CLASS(klass);
- parent_class = GNT_WIDGET_CLASS(klass);
+ GntWidgetClass *widget_class = GNT_WIDGET_CLASS(klass); - parent_class->destroy = gnt_combo_box_destroy;
- parent_class->draw = gnt_combo_box_draw;
- parent_class->map = gnt_combo_box_map;
- parent_class->size_request = gnt_combo_box_size_request;
- parent_class->key_pressed = gnt_combo_box_key_pressed;
- parent_class->clicked = gnt_combo_box_clicked;
- parent_class->size_changed = gnt_combo_box_size_changed;
+ widget_class->destroy = gnt_combo_box_destroy; + widget_class->draw = gnt_combo_box_draw; + widget_class->map = gnt_combo_box_map; + widget_class->size_request = gnt_combo_box_size_request; + widget_class->key_pressed = gnt_combo_box_key_pressed; + widget_class->clicked = gnt_combo_box_clicked; + widget_class->size_changed = gnt_combo_box_size_changed; - widget_lost_focus = parent_class->lost_focus;
- parent_class->lost_focus = gnt_combo_box_lost_focus;
+ widget_lost_focus = widget_class->lost_focus; + widget_class->lost_focus = gnt_combo_box_lost_focus; signals[SIG_SELECTION_CHANGED] =
g_signal_new("selection-changed",
@@ -295,13 +295,12 @@
-gnt_combo_box_init(GTypeInstance *instance, gpointer class)
+gnt_combo_box_init(GntComboBox *combo) + GntWidget *widget = GNT_WIDGET(combo); - GntWidget *widget = GNT_WIDGET(instance);
- GntComboBox *combo = GNT_COMBO_BOX(instance);
- GNT_WIDGET_SET_FLAGS(GNT_WIDGET(instance),
+ GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_GROW_X | GNT_WIDGET_CAN_TAKE_FOCUS | GNT_WIDGET_NO_SHADOW);
combo->dropdown = gnt_tree_new();
@@ -318,34 +317,6 @@
/******************************************************************************
*****************************************************************************/
-gnt_combo_box_get_type(void)
- static const GTypeInfo info = {
- sizeof(GntComboBoxClass),
- NULL, /* base_finalize */
- (GClassInitFunc)gnt_combo_box_class_init,
- NULL, /* class_finalize */
- gnt_combo_box_init, /* instance_init */
- type = g_type_register_static(GNT_TYPE_WIDGET,
GntWidget *gnt_combo_box_new()
GntWidget *widget = g_object_new(GNT_TYPE_COMBO_BOX, NULL);
--- a/gntentry.c Wed Apr 03 20:58:39 2019 -0400
+++ b/gntentry.c Wed Apr 03 21:39:23 2019 -0400
@@ -61,11 +61,11 @@
static guint signals[SIGS] = { 0 };
-static GntWidgetClass *parent_class = NULL;
static gboolean gnt_entry_key_pressed(GntWidget *widget, const char *text);
static void gnt_entry_set_text_internal(GntEntry *entry, const char *text);
+G_DEFINE_TYPE(GntEntry, gnt_entry, GNT_TYPE_WIDGET) update_kill_ring(GntEntry *entry, GntEntryAction action, const char *text, int len)
@@ -934,16 +934,16 @@
gnt_entry_class_init(GntEntryClass *klass)
GntBindableClass *bindable = GNT_BINDABLE_CLASS(klass);
+ GntWidgetClass *widget_class = GNT_WIDGET_CLASS(klass); char s[3] = {'\033', erasechar(), 0};
- parent_class = GNT_WIDGET_CLASS(klass);
- parent_class->clicked = gnt_entry_clicked;
- parent_class->destroy = gnt_entry_destroy;
- parent_class->draw = gnt_entry_draw;
- parent_class->map = gnt_entry_map;
- parent_class->size_request = gnt_entry_size_request;
- parent_class->key_pressed = gnt_entry_key_pressed;
- parent_class->lost_focus = gnt_entry_lost_focus;
+ widget_class->clicked = gnt_entry_clicked; + widget_class->destroy = gnt_entry_destroy; + widget_class->draw = gnt_entry_draw; + widget_class->map = gnt_entry_map; + widget_class->size_request = gnt_entry_size_request; + widget_class->key_pressed = gnt_entry_key_pressed; + widget_class->lost_focus = gnt_entry_lost_focus; signals[SIG_TEXT_CHANGED] =
g_signal_new("text_changed",
@@ -1030,10 +1030,9 @@
-gnt_entry_init(GTypeInstance *instance, gpointer class)
+gnt_entry_init(GntEntry *entry) - GntWidget *widget = GNT_WIDGET(instance);
- GntEntry *entry = GNT_ENTRY(instance);
+ GntWidget *widget = GNT_WIDGET(entry); entry->flag = GNT_ENTRY_FLAG_ALL;
@@ -1060,34 +1059,6 @@
/******************************************************************************
*****************************************************************************/
-gnt_entry_get_type(void)
- static const GTypeInfo info = {
- NULL, /* base_finalize */
- (GClassInitFunc)gnt_entry_class_init,
- NULL, /* class_finalize */
- gnt_entry_init, /* instance_init */
- type = g_type_register_static(GNT_TYPE_WIDGET,
GntWidget *gnt_entry_new(const char *text)
GntWidget *widget = g_object_new(GNT_TYPE_ENTRY, NULL);
--- a/gntfilesel.c Wed Apr 03 20:58:39 2019 -0400
+++ b/gntfilesel.c Wed Apr 03 21:39:23 2019 -0400
@@ -44,13 +44,14 @@
-static GntWindowClass *parent_class = NULL;
static guint signals[SIGS] = { 0 };
static void (*orig_map)(GntWidget *widget);
static void (*orig_size_request)(GntWidget *widget);
static void select_activated_cb(GntWidget *button, GntFileSel *sel);
+G_DEFINE_TYPE(GntFileSel, gnt_file_sel, GNT_TYPE_WINDOW) gnt_file_sel_destroy(GntWidget *widget)
@@ -453,13 +454,13 @@
gnt_file_sel_class_init(GntFileSelClass *klass)
GntBindableClass *bindable = GNT_BINDABLE_CLASS(klass);
- GntWidgetClass *kl = GNT_WIDGET_CLASS(klass);
- parent_class = GNT_WINDOW_CLASS(klass);
- kl->destroy = gnt_file_sel_destroy;
- kl->map = gnt_file_sel_map;
- orig_size_request = kl->size_request;
- kl->size_request = gnt_file_sel_size_request;
+ GntWidgetClass *widget_class = GNT_WIDGET_CLASS(klass); + widget_class->destroy = gnt_file_sel_destroy; + orig_map = widget_class->map; + widget_class->map = gnt_file_sel_map; + orig_size_request = widget_class->size_request; + widget_class->size_request = gnt_file_sel_size_request; signals[SIG_FILE_SELECTED] =
g_signal_new("file_selected",
@@ -478,10 +479,8 @@
-gnt_file_sel_init(GTypeInstance *instance, gpointer class)
+gnt_file_sel_init(GntFileSel *sel) - GntFileSel *sel = GNT_FILE_SEL(instance);
sel->dirs = gnt_tree_new();
gnt_tree_set_compare_func(GNT_TREE(sel->dirs), (GCompareFunc)g_utf8_collate);
gnt_tree_set_hash_fns(GNT_TREE(sel->dirs), g_str_hash, g_str_equal, g_free);
@@ -514,34 +513,6 @@
/******************************************************************************
*****************************************************************************/
-gnt_file_sel_get_type(void)
- static const GTypeInfo info = {
- sizeof(GntFileSelClass),
- NULL, /* base_finalize */
- (GClassInitFunc)gnt_file_sel_class_init,
- NULL, /* class_finalize */
- gnt_file_sel_init, /* instance_init */
- type = g_type_register_static(GNT_TYPE_WINDOW,
select_activated_cb(GntWidget *button, GntFileSel *sel)
--- a/gntlabel.c Wed Apr 03 20:58:39 2019 -0400
+++ b/gntlabel.c Wed Apr 03 21:39:23 2019 -0400
@@ -38,7 +38,7 @@
-static GntWidgetClass *parent_class = NULL;
+G_DEFINE_TYPE(GntLabel, gnt_label, GNT_TYPE_WIDGET) gnt_label_destroy(GntWidget *widget)
@@ -107,18 +107,18 @@
gnt_label_class_init(GntLabelClass *klass)
- GObjectClass *gclass = G_OBJECT_CLASS(klass);
+ GObjectClass *obj_class = G_OBJECT_CLASS(klass); + GntWidgetClass *widget_class = GNT_WIDGET_CLASS(klass); - parent_class = GNT_WIDGET_CLASS(klass);
- parent_class->destroy = gnt_label_destroy;
- parent_class->draw = gnt_label_draw;
- parent_class->map = NULL;
- parent_class->size_request = gnt_label_size_request;
+ widget_class->destroy = gnt_label_destroy; + widget_class->draw = gnt_label_draw; + widget_class->map = NULL; + widget_class->size_request = gnt_label_size_request; - gclass->set_property = gnt_label_set_property;
- gclass->get_property = gnt_label_get_property;
+ obj_class->set_property = gnt_label_set_property; + obj_class->get_property = gnt_label_get_property; - g_object_class_install_property(gclass,
+ g_object_class_install_property(obj_class, g_param_spec_string("text", "Text",
"The text for the label.",
@@ -127,7 +127,7 @@
- g_object_class_install_property(gclass,
+ g_object_class_install_property(obj_class, g_param_spec_int("text-flag", "Text flag",
"Text attribute to use when displaying the text in the label.",
@@ -142,9 +142,9 @@
-gnt_label_init(GTypeInstance *instance, gpointer class)
+gnt_label_init(GntLabel *label) - GntWidget *widget = GNT_WIDGET(instance);
+ GntWidget *widget = GNT_WIDGET(label); gnt_widget_set_take_focus(widget, FALSE);
GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_NO_BORDER | GNT_WIDGET_NO_SHADOW);
GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_GROW_X);
@@ -156,34 +156,6 @@
/******************************************************************************
*****************************************************************************/
-gnt_label_get_type(void)
- static const GTypeInfo info = {
- NULL, /* base_finalize */
- (GClassInitFunc)gnt_label_class_init,
- NULL, /* class_finalize */
- gnt_label_init, /* instance_init */
- type = g_type_register_static(GNT_TYPE_WIDGET,
GntWidget *gnt_label_new(const char *text)
return gnt_label_new_with_format(text, 0);
--- a/gntline.c Wed Apr 03 20:58:39 2019 -0400
+++ b/gntline.c Wed Apr 03 21:39:23 2019 -0400
@@ -34,7 +34,7 @@
-static GntWidgetClass *parent_class = NULL;
+G_DEFINE_TYPE(GntLine, gnt_line, GNT_TYPE_WIDGET) gnt_line_draw(GntWidget *widget)
@@ -107,15 +107,16 @@
gnt_line_class_init(GntLineClass *klass)
- GObjectClass *gclass = G_OBJECT_CLASS(klass);
- parent_class = GNT_WIDGET_CLASS(klass);
- parent_class->draw = gnt_line_draw;
- parent_class->map = gnt_line_map;
- parent_class->size_request = gnt_line_size_request;
+ GObjectClass *obj_class = G_OBJECT_CLASS(klass); + GntWidgetClass *widget_class = GNT_WIDGET_CLASS(klass); - gclass->set_property = gnt_line_set_property;
- gclass->get_property = gnt_line_get_property;
- g_object_class_install_property(gclass,
+ widget_class->draw = gnt_line_draw; + widget_class->map = gnt_line_map; + widget_class->size_request = gnt_line_size_request; + obj_class->set_property = gnt_line_set_property; + obj_class->get_property = gnt_line_get_property; + g_object_class_install_property(obj_class, g_param_spec_boolean("vertical", "Vertical",
"Whether it's a vertical line or a horizontal one.",
@@ -126,9 +127,9 @@
-gnt_line_init(GTypeInstance *instance, gpointer class)
+gnt_line_init(GntLine *line) - GntWidget *widget = GNT_WIDGET(instance);
+ GntWidget *widget = GNT_WIDGET(line); GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_NO_SHADOW | GNT_WIDGET_NO_BORDER);
@@ -138,37 +139,8 @@
/******************************************************************************
*****************************************************************************/
- static const GTypeInfo info = {
- NULL, /* base_finalize */
- (GClassInitFunc)gnt_line_class_init,
- NULL, /* class_finalize */
- gnt_line_init, /* instance_init */
- type = g_type_register_static(GNT_TYPE_WIDGET,
GntWidget *gnt_line_new(gboolean vertical)
GntWidget *widget = g_object_new(GNT_TYPE_LINE, "vertical", vertical, NULL);
--- a/gntmenu.c Wed Apr 03 20:58:39 2019 -0400
+++ b/gntmenu.c Wed Apr 03 21:39:23 2019 -0400
@@ -40,8 +40,6 @@
-static GntTreeClass *parent_class = NULL;
static void (*org_draw)(GntWidget *wid);
static void (*org_destroy)(GntWidget *wid);
static void (*org_map)(GntWidget *wid);
@@ -51,6 +49,8 @@
static void menuitem_activate(GntMenu *menu, GntMenuItem *item);
+G_DEFINE_TYPE(GntMenu, gnt_menu, GNT_TYPE_TREE) menu_hide_all(GntMenu *menu)
@@ -434,34 +434,33 @@
gnt_menu_class_init(GntMenuClass *klass)
- GntWidgetClass *wid_class = GNT_WIDGET_CLASS(klass);
- parent_class = GNT_TREE_CLASS(klass);
+ GntWidgetClass *widget_class = GNT_WIDGET_CLASS(klass); + GntTreeClass *tree_class = GNT_TREE_CLASS(klass); - org_destroy = wid_class->destroy;
- org_map = wid_class->map;
- org_draw = wid_class->draw;
- org_key_pressed = wid_class->key_pressed;
- org_size_request = wid_class->size_request;
- org_clicked = wid_class->clicked;
+ org_destroy = widget_class->destroy; + org_map = widget_class->map; + org_draw = widget_class->draw; + org_key_pressed = widget_class->key_pressed; + org_size_request = widget_class->size_request; + org_clicked = widget_class->clicked; - wid_class->destroy = gnt_menu_destroy;
- wid_class->draw = gnt_menu_draw;
- wid_class->map = gnt_menu_map;
- wid_class->size_request = gnt_menu_size_request;
- wid_class->key_pressed = gnt_menu_key_pressed;
- wid_class->activate = gnt_menu_activate;
- wid_class->hide = gnt_menu_hide;
- wid_class->clicked = gnt_menu_clicked;
+ widget_class->destroy = gnt_menu_destroy; + widget_class->draw = gnt_menu_draw; + widget_class->map = gnt_menu_map; + widget_class->size_request = gnt_menu_size_request; + widget_class->key_pressed = gnt_menu_key_pressed; + widget_class->activate = gnt_menu_activate; + widget_class->hide = gnt_menu_hide; + widget_class->clicked = gnt_menu_clicked; - parent_class->toggled = gnt_menu_toggled;
+ tree_class->toggled = gnt_menu_toggled; -gnt_menu_init(GTypeInstance *instance, gpointer class)
+gnt_menu_init(GntMenu *menu) - GntWidget *widget = GNT_WIDGET(instance);
+ GntWidget *widget = GNT_WIDGET(menu); GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_NO_SHADOW | GNT_WIDGET_NO_BORDER |
GNT_WIDGET_CAN_TAKE_FOCUS | GNT_WIDGET_TRANSIENT | GNT_WIDGET_DISABLE_ACTIONS);
@@ -470,34 +469,6 @@
/******************************************************************************
*****************************************************************************/
- static const GTypeInfo info = {
- NULL, /* base_finalize */
- (GClassInitFunc)gnt_menu_class_init,
- NULL, /* class_finalize */
- gnt_menu_init, /* instance_init */
- type = g_type_register_static(GNT_TYPE_TREE,
GntWidget *gnt_menu_new(GntMenuType type)
GntWidget *widget = g_object_new(GNT_TYPE_MENU, NULL);
--- a/gntslider.c Wed Apr 03 20:58:39 2019 -0400
+++ b/gntslider.c Wed Apr 03 21:39:23 2019 -0400
@@ -34,7 +34,7 @@
static guint signals[SIGS] = { 0 };
-static GntWidgetClass *parent_class = NULL;
+G_DEFINE_TYPE(GntSlider, gnt_slider, GNT_TYPE_WIDGET) /* returns TRUE if the value was changed */
@@ -190,10 +190,11 @@
gnt_slider_class_init(GntSliderClass *klass)
GntBindableClass *bindable = GNT_BINDABLE_CLASS(klass);
- parent_class = GNT_WIDGET_CLASS(klass);
- parent_class->draw = gnt_slider_draw;
- parent_class->map = gnt_slider_map;
- parent_class->size_request = gnt_slider_size_request;
+ GntWidgetClass *widget_class = GNT_WIDGET_CLASS(klass); + widget_class->draw = gnt_slider_draw; + widget_class->map = gnt_slider_map; + widget_class->size_request = gnt_slider_size_request; @@ -222,9 +223,9 @@
-gnt_slider_init(GTypeInstance *instance, gpointer class)
+gnt_slider_init(GntSlider *slider) - GntWidget *widget = GNT_WIDGET(instance);
+ GntWidget *widget = GNT_WIDGET(slider); GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_NO_SHADOW | GNT_WIDGET_NO_BORDER | GNT_WIDGET_CAN_TAKE_FOCUS);
@@ -234,34 +235,6 @@
/******************************************************************************
*****************************************************************************/
-gnt_slider_get_type(void)
- static const GTypeInfo info = {
- sizeof(GntSliderClass),
- NULL, /* base_finalize */
- (GClassInitFunc)gnt_slider_class_init,
- NULL, /* class_finalize */
- gnt_slider_init, /* instance_init */
- type = g_type_register_static(GNT_TYPE_WIDGET,
GntWidget *gnt_slider_new(gboolean vertical, int max, int min)
GntWidget *widget = g_object_new(GNT_TYPE_SLIDER, NULL);
--- a/gnttextview.c Wed Apr 03 20:58:39 2019 -0400
+++ b/gnttextview.c Wed Apr 03 21:39:23 2019 -0400
@@ -59,14 +59,14 @@
-static GntWidgetClass *parent_class = NULL;
static gchar *select_start;
static gchar *select_end;
static gboolean double_click;
static void reset_text_view(GntTextView *view);
+G_DEFINE_TYPE(GntTextView, gnt_text_view, GNT_TYPE_WIDGET) text_view_contains(GntTextView *view, const char *str)
@@ -443,23 +443,21 @@
gnt_text_view_class_init(GntTextViewClass *klass)
- parent_class = GNT_WIDGET_CLASS(klass);
- parent_class->destroy = gnt_text_view_destroy;
- parent_class->draw = gnt_text_view_draw;
- parent_class->map = gnt_text_view_map;
- parent_class->size_request = gnt_text_view_size_request;
- parent_class->key_pressed = gnt_text_view_key_pressed;
- parent_class->clicked = gnt_text_view_clicked;
- parent_class->size_changed = gnt_text_view_size_changed;
+ GntWidgetClass *widget_class = GNT_WIDGET_CLASS(klass);
+ widget_class->destroy = gnt_text_view_destroy; + widget_class->draw = gnt_text_view_draw; + widget_class->map = gnt_text_view_map; + widget_class->size_request = gnt_text_view_size_request; + widget_class->key_pressed = gnt_text_view_key_pressed; + widget_class->clicked = gnt_text_view_clicked; + widget_class->size_changed = gnt_text_view_size_changed; -gnt_text_view_init(GTypeInstance *instance, gpointer class)
+gnt_text_view_init(GntTextView *view) - GntWidget *widget = GNT_WIDGET(instance);
- GntTextView *view = GNT_TEXT_VIEW(widget);
+ GntWidget *widget = GNT_WIDGET(view); GntTextLine *line = g_new0(GntTextLine, 1);
GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_NO_BORDER | GNT_WIDGET_NO_SHADOW |
@@ -475,34 +473,6 @@
/******************************************************************************
*****************************************************************************/
-gnt_text_view_get_type(void)
- static const GTypeInfo info = {
- sizeof(GntTextViewClass),
- NULL, /* base_finalize */
- (GClassInitFunc)gnt_text_view_class_init,
- NULL, /* class_finalize */
- gnt_text_view_init, /* instance_init */
- type = g_type_register_static(GNT_TYPE_WIDGET,
GntWidget *gnt_text_view_new()
GntWidget *widget = g_object_new(GNT_TYPE_TEXT_VIEW, NULL);
--- a/gnttree.c Wed Apr 03 20:58:39 2019 -0400
+++ b/gnttree.c Wed Apr 03 21:39:23 2019 -0400
@@ -100,9 +100,10 @@
static void tree_selection_changed(GntTree *, GntTreeRow *, GntTreeRow *);
static void _gnt_tree_init_internals(GntTree *tree, int col);
-static GntWidgetClass *parent_class = NULL;
static guint signals[SIGS] = { 0 };
+G_DEFINE_TYPE(GntTree, gnt_tree, GNT_TYPE_WIDGET) readjust_columns(GntTree *tree)
@@ -1036,20 +1037,20 @@
gnt_tree_class_init(GntTreeClass *klass)
GntBindableClass *bindable = GNT_BINDABLE_CLASS(klass);
- GObjectClass *gclass = G_OBJECT_CLASS(klass);
+ GObjectClass *obj_class = G_OBJECT_CLASS(klass); + GntWidgetClass *widget_class = GNT_WIDGET_CLASS(klass); - parent_class = GNT_WIDGET_CLASS(klass);
- parent_class->destroy = gnt_tree_destroy;
- parent_class->draw = gnt_tree_draw;
- parent_class->map = gnt_tree_map;
- parent_class->size_request = gnt_tree_size_request;
- parent_class->key_pressed = gnt_tree_key_pressed;
- parent_class->clicked = gnt_tree_clicked;
- parent_class->size_changed = gnt_tree_size_changed;
+ widget_class->destroy = gnt_tree_destroy; + widget_class->draw = gnt_tree_draw; + widget_class->map = gnt_tree_map; + widget_class->size_request = gnt_tree_size_request; + widget_class->key_pressed = gnt_tree_key_pressed; + widget_class->clicked = gnt_tree_clicked; + widget_class->size_changed = gnt_tree_size_changed; - gclass->set_property = gnt_tree_set_property;
- gclass->get_property = gnt_tree_get_property;
- g_object_class_install_property(gclass,
+ obj_class->set_property = gnt_tree_set_property; + obj_class->get_property = gnt_tree_get_property; + g_object_class_install_property(obj_class, g_param_spec_int("columns", "Columns",
"Number of columns in the tree.",
@@ -1057,7 +1058,7 @@
G_PARAM_READWRITE|G_PARAM_STATIC_STRINGS
- g_object_class_install_property(gclass,
+ g_object_class_install_property(obj_class, g_param_spec_int("expander-level", "Expander level",
"Number of levels to show expander in the tree.",
@@ -1121,12 +1122,13 @@
-gnt_tree_init(GTypeInstance *instance, gpointer class)
+gnt_tree_init(GntTree *tree) - GntWidget *widget = GNT_WIDGET(instance);
- GntTree *tree = GNT_TREE(widget);
+ GntWidget *widget = GNT_WIDGET(tree); tree->show_separator = TRUE;
tree->priv = g_new0(GntTreePriv, 1);
GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_GROW_X | GNT_WIDGET_GROW_Y |
GNT_WIDGET_CAN_TAKE_FOCUS | GNT_WIDGET_NO_SHADOW);
gnt_widget_set_take_focus(widget, TRUE);
@@ -1138,34 +1140,6 @@
/******************************************************************************
*****************************************************************************/
- static const GTypeInfo info = {
- NULL, /* base_finalize */
- (GClassInitFunc)gnt_tree_class_init,
- NULL, /* class_finalize */
- gnt_tree_init, /* instance_init */
- type = g_type_register_static(GNT_TYPE_WIDGET,
free_tree_col(gpointer data)
--- a/gntwindow.c Wed Apr 03 20:58:39 2019 -0400
+++ b/gntwindow.c Wed Apr 03 21:39:23 2019 -0400
@@ -41,9 +41,9 @@
static guint signals[SIGS] = { 0 };
-static GntBoxClass *parent_class = NULL;
+static void (*org_destroy)(GntWidget *widget); -static void (*org_destroy)(GntWidget *widget);
+G_DEFINE_TYPE(GntWindow, gnt_window, GNT_TYPE_BOX) show_menu(GntBindable *bind, GList *null)
@@ -83,11 +83,10 @@
gnt_window_class_init(GntWindowClass *klass)
GntBindableClass *bindable = GNT_BINDABLE_CLASS(klass);
- GntWidgetClass *wid_class = GNT_WIDGET_CLASS(klass);
- parent_class = GNT_BOX_CLASS(klass);
+ GntWidgetClass *widget_class = GNT_WIDGET_CLASS(klass); - org_destroy = wid_class->destroy;
- wid_class->destroy = gnt_window_destroy;
+ org_destroy = widget_class->destroy; + widget_class->destroy = gnt_window_destroy; signals[SIG_WORKSPACE_HIDE] =
g_signal_new("workspace-hidden",
@@ -114,12 +113,13 @@
-gnt_window_init(GTypeInstance *instance, gpointer class)
+gnt_window_init(GntWindow *win) - GntWidget *widget = GNT_WIDGET(instance);
- GntWindow *win = GNT_WINDOW(widget);
+ GntWidget *widget = GNT_WIDGET(win); GNT_WIDGET_UNSET_FLAGS(widget, GNT_WIDGET_NO_BORDER | GNT_WIDGET_NO_SHADOW);
GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_CAN_TAKE_FOCUS);
win->priv = g_new0(GntWindowPriv, 1);
win->priv->accels = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
@@ -128,34 +128,6 @@
/******************************************************************************
*****************************************************************************/
-gnt_window_get_type(void)
- static const GTypeInfo info = {
- sizeof(GntWindowClass),
- NULL, /* base_finalize */
- (GClassInitFunc)gnt_window_class_init,
- NULL, /* class_finalize */
- gnt_window_init, /* instance_init */
- type = g_type_register_static(GNT_TYPE_BOX,
GntWidget *gnt_window_new()
GntWidget *widget = g_object_new(GNT_TYPE_WINDOW, NULL);