diff options
Diffstat (limited to 'src/helper/unit-menu.cpp')
| -rw-r--r-- | src/helper/unit-menu.cpp | 39 |
1 files changed, 8 insertions, 31 deletions
diff --git a/src/helper/unit-menu.cpp b/src/helper/unit-menu.cpp index 964ca9d67..af07c03c1 100644 --- a/src/helper/unit-menu.cpp +++ b/src/helper/unit-menu.cpp @@ -52,39 +52,16 @@ struct SPUnitSelectorClass { enum {SET_UNIT, LAST_SIGNAL}; -static void sp_unit_selector_class_init(SPUnitSelectorClass *klass); -static void sp_unit_selector_init(SPUnitSelector *selector); static void sp_unit_selector_finalize(GObject *object); -static GtkHBoxClass *unit_selector_parent_class; static guint signals[LAST_SIGNAL] = {0}; -GType sp_unit_selector_get_type(void) -{ - static GType type = 0; - if (!type) { - GTypeInfo info = { - sizeof(SPUnitSelectorClass), - 0, // base_init - 0, // base_finalize - (GClassInitFunc)sp_unit_selector_class_init, - 0, // class_finalize - 0, // class_data - sizeof(SPUnitSelector), - 0, // n_preallocs - (GInstanceInitFunc)sp_unit_selector_init, - 0 // value_table - }; - type = g_type_register_static(GTK_TYPE_HBOX, "SPUnitSelector", &info, static_cast<GTypeFlags>(0)); - } - return type; -} +G_DEFINE_TYPE(SPUnitSelector, sp_unit_selector, GTK_TYPE_HBOX); static void sp_unit_selector_class_init(SPUnitSelectorClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); - unit_selector_parent_class = (GtkHBoxClass*)g_type_class_peek_parent(klass); signals[SET_UNIT] = g_signal_new("set_unit", G_TYPE_FROM_CLASS(klass), @@ -142,23 +119,23 @@ sp_unit_selector_finalize(GObject *object) selector->unit = NULL; - G_OBJECT_CLASS(unit_selector_parent_class)->finalize(object); + G_OBJECT_CLASS(sp_unit_selector_parent_class)->finalize(object); } GtkWidget * sp_unit_selector_new(guint bases) { - SPUnitSelector *us = (SPUnitSelector*)g_object_new(SP_TYPE_UNIT_SELECTOR, NULL); + SPUnitSelector *us = SP_UNIT_SELECTOR(g_object_new(SP_TYPE_UNIT_SELECTOR, NULL)); sp_unit_selector_set_bases(us, bases); - return (GtkWidget *) us; + return GTK_WIDGET(us); } void sp_unit_selector_setsize(GtkWidget *us, guint w, guint h) { - gtk_widget_set_size_request(((SPUnitSelector *) us)->combo_box, w, h); + gtk_widget_set_size_request((SP_UNIT_SELECTOR(us))->combo_box, w, h); } SPUnit const * @@ -180,7 +157,7 @@ on_combo_box_changed (GtkComboBox *widget, SPUnitSelector *us) } SPUnit const *unit = NULL; - gtk_tree_model_get ((GtkTreeModel *)us->store, &iter, COMBO_COL_UNIT, &unit, -1); + gtk_tree_model_get (GTK_TREE_MODEL(us->store), &iter, COMBO_COL_UNIT, &unit, -1); g_return_if_fail(unit != NULL); @@ -242,7 +219,7 @@ spus_rebuild_menu(SPUnitSelector *us) gint pos = 0; gint p = 0; for (GSList *l = us->units; l != NULL; l = l->next) { - SPUnit const *u = (SPUnit*)l->data; + SPUnit const *u = static_cast<SPUnit const*>(l->data); // use only abbreviations in the menu // i = gtk_menu_item_new_with_label((us->abbr) ? (us->plural) ? u->abbr_plural : u->abbr : (us->plural) ? u->plural : u->name); @@ -272,7 +249,7 @@ sp_unit_selector_set_bases(SPUnitSelector *us, guint bases) g_return_if_fail(units != NULL); sp_unit_free_list(us->units); us->units = units; - us->unit = (SPUnit*)units->data; + us->unit = static_cast<SPUnit *>(units->data); spus_rebuild_menu(us); } |
