diff options
| author | Peng Huang <shawn.p.huang@gmail.com> | 2010-03-25 14:01:09 +0800 |
|---|---|---|
| committer | Peng Huang <shawn.p.huang@gmail.com> | 2010-03-25 14:01:09 +0800 |
| commit | e193cc8a2cb74a94dc30e201eb76a0a9d939a097 (patch) | |
| tree | ef825d1d65ea884e85f20278929661eb61d7d7c4 /src/Engine.cc | |
| parent | e46e050a07680ba4b944502f35c4c0ad3c6fd774 (diff) | |
| download | ibus-libpinyin-e193cc8a2cb74a94dc30e201eb76a0a9d939a097.tar.gz ibus-libpinyin-e193cc8a2cb74a94dc30e201eb76a0a9d939a097.tar.xz ibus-libpinyin-e193cc8a2cb74a94dc30e201eb76a0a9d939a097.zip | |
Use G_DEFINE_TYPE to make code simple
Diffstat (limited to 'src/Engine.cc')
| -rw-r--r-- | src/Engine.cc | 41 |
1 files changed, 7 insertions, 34 deletions
diff --git a/src/Engine.cc b/src/Engine.cc index 13f54e0..f7e8851 100644 --- a/src/Engine.cc +++ b/src/Engine.cc @@ -54,8 +54,9 @@ static void ibus_engine_set_cursor_location (IBusEngine *engine, gint y, gint w, gint h); -static void ibus_pinyin_engine_set_capabilities (IBusEngine *engine, - guint caps); +static void ibus_pinyin_engine_set_capabilities + (IBusEngine *engine, + guint caps); #endif static void ibus_pinyin_engine_page_up (IBusEngine *engine); @@ -78,34 +79,7 @@ static void ibus_pinyin_engine_property_hide (IBusEngine *engine, const gchar *prop_name); #endif -static IBusEngineClass *parent_class = NULL; - -GType -ibus_pinyin_engine_get_type (void) -{ - static GType type = 0; - - static const GTypeInfo type_info = { - sizeof (IBusPinyinEngineClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) ibus_pinyin_engine_class_init, - NULL, - NULL, - sizeof (IBusPinyinEngine), - 0, - (GInstanceInitFunc) ibus_pinyin_engine_init, - }; - - if (type == 0) { - type = g_type_register_static (IBUS_TYPE_ENGINE, - "IBusPinyinEngine", - &type_info, - (GTypeFlags) 0); - } - - return type; -} +G_DEFINE_TYPE (IBusPinyinEngine, ibus_pinyin_engine, IBUS_TYPE_ENGINE) static void ibus_pinyin_engine_class_init (IBusPinyinEngineClass *klass) @@ -114,8 +88,6 @@ ibus_pinyin_engine_class_init (IBusPinyinEngineClass *klass) IBusObjectClass *ibus_object_class = IBUS_OBJECT_CLASS (klass); IBusEngineClass *engine_class = IBUS_ENGINE_CLASS (klass); - parent_class = (IBusEngineClass *) g_type_class_peek_parent (klass); - ibus_object_class->destroy = (IBusObjectDestroyFunc) ibus_pinyin_engine_destroy; engine_class->process_key_event = ibus_pinyin_engine_process_key_event; @@ -153,7 +125,7 @@ ibus_pinyin_engine_destroy (IBusPinyinEngine *pinyin) delete pinyin->engine; pinyin->engine = NULL; } - IBUS_OBJECT_CLASS (parent_class)->destroy ((IBusObject *)pinyin); + ((IBusObjectClass *) ibus_pinyin_engine_parent_class)->destroy ((IBusObject *)pinyin); } static gboolean @@ -190,7 +162,8 @@ ibus_pinyin_engine_candidate_clicked (IBusEngine *engine, { \ IBusPinyinEngine *pinyin = (IBusPinyinEngine *) engine; \ pinyin->engine->Name (); \ - parent_class->name (engine); \ + ((IBusEngineClass *) ibus_pinyin_engine_parent_class) \ + ->name (engine); \ } FUNCTION(focus_in, focusIn) FUNCTION(focus_out, focusOut) |
