diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2010-08-24 23:21:41 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2010-08-25 02:37:02 +0800 |
commit | ecf3434da05b1f39f793c24b38bfd278e10b5786 (patch) | |
tree | 485ed2399920ecb10dbee2b4db4c437c22574a20 /widgets/misc/e-hinted-entry.c | |
parent | f1d2541c487fbf7433a1b9aad8e8982ef08b85f5 (diff) | |
download | gsoc2013-evolution-ecf3434da05b1f39f793c24b38bfd278e10b5786.tar gsoc2013-evolution-ecf3434da05b1f39f793c24b38bfd278e10b5786.tar.gz gsoc2013-evolution-ecf3434da05b1f39f793c24b38bfd278e10b5786.tar.bz2 gsoc2013-evolution-ecf3434da05b1f39f793c24b38bfd278e10b5786.tar.lz gsoc2013-evolution-ecf3434da05b1f39f793c24b38bfd278e10b5786.tar.xz gsoc2013-evolution-ecf3434da05b1f39f793c24b38bfd278e10b5786.tar.zst gsoc2013-evolution-ecf3434da05b1f39f793c24b38bfd278e10b5786.zip |
GObject boilerplate cleanup.
Prefer thread-safe G_DEFINE_TYPE and G_DEFINE_INTERFACE macros over
manual GType registration.
This is just a start... lots more to do.
Diffstat (limited to 'widgets/misc/e-hinted-entry.c')
-rw-r--r-- | widgets/misc/e-hinted-entry.c | 44 |
1 files changed, 10 insertions, 34 deletions
diff --git a/widgets/misc/e-hinted-entry.c b/widgets/misc/e-hinted-entry.c index 355d9bf0e3..7d74fb3d67 100644 --- a/widgets/misc/e-hinted-entry.c +++ b/widgets/misc/e-hinted-entry.c @@ -36,7 +36,10 @@ enum { PROP_HINT_SHOWN }; -static gpointer parent_class; +G_DEFINE_TYPE ( + EHintedEntry, + e_hinted_entry, + GTK_TYPE_ENTRY) static void hinted_entry_show_hint (EHintedEntry *entry) @@ -120,7 +123,7 @@ hinted_entry_finalize (GObject *object) g_free (priv->hint); /* Chain up to parent's finalize() method. */ - G_OBJECT_CLASS (parent_class)->finalize (object); + G_OBJECT_CLASS (e_hinted_entry_parent_class)->finalize (object); } static void @@ -130,7 +133,7 @@ hinted_entry_grab_focus (GtkWidget *widget) /* We don't want hints to be selected so we chain to * the GtkEntry parent if we have a hint set */ - chain_class = parent_class; + chain_class = e_hinted_entry_parent_class; if (e_hinted_entry_get_hint_shown (E_HINTED_ENTRY (widget))) chain_class = g_type_class_peek_parent (chain_class); @@ -148,7 +151,7 @@ hinted_entry_focus_in_event (GtkWidget *widget, hinted_entry_show_text (entry, ""); /* Chain up to parent's focus_in_event() method. */ - return GTK_WIDGET_CLASS (parent_class)-> + return GTK_WIDGET_CLASS (e_hinted_entry_parent_class)-> focus_in_event (widget, event); } @@ -165,17 +168,16 @@ hinted_entry_focus_out_event (GtkWidget *widget, hinted_entry_show_hint (E_HINTED_ENTRY (widget)); /* Chain up to parent's focus_out_event() method. */ - return GTK_WIDGET_CLASS (parent_class)-> + return GTK_WIDGET_CLASS (e_hinted_entry_parent_class)-> focus_out_event (widget, event); } static void -hinted_entry_class_init (EHintedEntryClass *class) +e_hinted_entry_class_init (EHintedEntryClass *class) { GObjectClass *object_class; GtkWidgetClass *widget_class; - parent_class = g_type_class_peek_parent (class); g_type_class_add_private (class, sizeof (EHintedEntryPrivate)); object_class = G_OBJECT_CLASS (class); @@ -210,39 +212,13 @@ hinted_entry_class_init (EHintedEntryClass *class) } static void -hinted_entry_init (EHintedEntry *entry) +e_hinted_entry_init (EHintedEntry *entry) { entry->priv = E_HINTED_ENTRY_GET_PRIVATE (entry); entry->priv->hint = g_strdup (""); /* hint must never be NULL */ hinted_entry_show_hint (entry); } -GType -e_hinted_entry_get_type (void) -{ - static GType type = 0; - - if (G_UNLIKELY (type == 0)) { - static const GTypeInfo type_info = { - sizeof (EHintedEntryClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) hinted_entry_class_init, - (GClassFinalizeFunc) NULL, - NULL, /* class_data */ - sizeof (EHintedEntry), - 0, /* n_preallocs */ - (GInstanceInitFunc) hinted_entry_init, - NULL /* value_table */ - }; - - type = g_type_register_static ( - GTK_TYPE_ENTRY, "EHintedEntry", &type_info, 0); - } - - return type; -} - GtkWidget * e_hinted_entry_new (void) { |