summaryrefslogtreecommitdiffstats
path: root/src/Engine.cc
diff options
context:
space:
mode:
authorPeng Huang <shawn.p.huang@gmail.com>2010-03-25 14:01:09 +0800
committerPeng Huang <shawn.p.huang@gmail.com>2010-03-25 14:01:09 +0800
commite193cc8a2cb74a94dc30e201eb76a0a9d939a097 (patch)
treeef825d1d65ea884e85f20278929661eb61d7d7c4 /src/Engine.cc
parente46e050a07680ba4b944502f35c4c0ad3c6fd774 (diff)
downloadibus-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.cc41
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)