Esempio n. 1
0
static void ibus_handwrite_engine_class_init(IBusHandwriteEngineClass *klass)
{
	//init global class data
	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_handwrite_engine_destroy;

	engine_class->process_key_event = ibus_handwrite_engine_process_key_event;

	engine_class->disable
			= (ibus_engine_callback) ibus_handwrite_engine_disable;
	engine_class->enable = (ibus_engine_callback) ibus_handwrite_engine_enable;
	engine_class->focus_in
			= (ibus_engine_callback) ibus_handwrite_engine_focus_in;
	engine_class->focus_out
			= (ibus_engine_callback) ibus_handwrite_engine_focus_out;
	engine_class->reset = (ibus_engine_callback) ibus_handwrite_engine_reset;

	engine_class->property_activate = ibus_handwrite_property_activate;

	klass->commit_text = ibus_handwrite_engine_commit_text;
}
Esempio n. 2
0
// initialize the meta class object
void
ibus_sunpinyin_engine_class_init (IBusSunPinyinEngineClass *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_sunpinyin_engine_destroy;
    
    engine_class->process_key_event = ibus_sunpinyin_engine_process_key_event;
    engine_class->focus_in          = ibus_sunpinyin_engine_focus_in;
    engine_class->focus_out         = ibus_sunpinyin_engine_focus_out;
    engine_class->reset             = ibus_sunpinyin_engine_reset;
    engine_class->enable            = ibus_sunpinyin_engine_enable;
    engine_class->disable           = ibus_sunpinyin_engine_disable;
    engine_class->focus_in          = ibus_sunpinyin_engine_focus_in;
    engine_class->focus_out         = ibus_sunpinyin_engine_focus_out;
    engine_class->page_up           = ibus_sunpinyin_engine_page_up;
    engine_class->page_down         = ibus_sunpinyin_engine_page_down;
    engine_class->cursor_up         = ibus_sunpinyin_engine_cursor_up;
    engine_class->cursor_down       = ibus_sunpinyin_engine_cursor_down;
    engine_class->property_activate = ibus_sunpinyin_engine_property_activate;
    engine_class->candidate_clicked = ibus_sunpinyin_engine_candidate_clicked;
}
Esempio n. 3
0
static void
ibus_lanxang_engine_class_init (IBusLanXangEngineClass *klass)
{
  GObjectClass *object_class = G_OBJECT_CLASS (klass);
  IBusObjectClass *ibus_object_class = IBUS_OBJECT_CLASS (klass);
  IBusEngineClass *engine_class = IBUS_ENGINE_CLASS (klass);

  object_class->constructor = ibus_lanxang_engine_constructor;
  ibus_object_class->destroy
    = (IBusObjectDestroyFunc) ibus_lanxang_engine_destroy;
  engine_class->process_key_event = ibus_lanxang_engine_process_key_event;
}
Esempio n. 4
0
static void ibus_unikey_engine_class_init(IBusUnikeyEngineClass* klass)
{
    GObjectClass* object_class         = G_OBJECT_CLASS(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);

    object_class->constructor = ibus_unikey_engine_constructor;
    ibus_object_class->destroy = (IBusObjectDestroyFunc)ibus_unikey_engine_destroy;

    engine_class->process_key_event = ibus_unikey_engine_process_key_event;
    engine_class->reset             = ibus_unikey_engine_reset;
    engine_class->enable            = ibus_unikey_engine_enable;
    engine_class->disable           = ibus_unikey_engine_disable;
    engine_class->focus_in          = ibus_unikey_engine_focus_in;
    engine_class->focus_out         = ibus_unikey_engine_focus_out;
    engine_class->property_activate = ibus_unikey_engine_property_activate;
}
Esempio n. 5
0
static void
ibus_m17n_engine_class_init (IBusM17NEngineClass *klass)
{
    GObjectClass *object_class = G_OBJECT_CLASS (klass);
    IBusObjectClass *ibus_object_class = IBUS_OBJECT_CLASS (klass);
    IBusEngineClass *engine_class = IBUS_ENGINE_CLASS (klass);
    gchar *engine_name, *lang = NULL, *name = NULL;
    IBusM17NEngineConfig *engine_config;
    gchar *hex;

    if (parent_class == NULL)
        parent_class = (IBusEngineClass *) g_type_class_peek_parent (klass);

    object_class->constructor = ibus_m17n_engine_constructor;
    ibus_object_class->destroy = (IBusObjectDestroyFunc) ibus_m17n_engine_destroy;

    engine_class->process_key_event = ibus_m17n_engine_process_key_event;

    engine_class->reset = ibus_m17n_engine_reset;
    engine_class->enable = ibus_m17n_engine_enable;
    engine_class->disable = ibus_m17n_engine_disable;

    engine_class->focus_in = ibus_m17n_engine_focus_in;
    engine_class->focus_out = ibus_m17n_engine_focus_out;

    engine_class->page_up = ibus_m17n_engine_page_up;
    engine_class->page_down = ibus_m17n_engine_page_down;

    engine_class->cursor_up = ibus_m17n_engine_cursor_up;
    engine_class->cursor_down = ibus_m17n_engine_cursor_down;

    engine_class->property_activate = ibus_m17n_engine_property_activate;

    if (!ibus_m17n_scan_class_name (G_OBJECT_CLASS_NAME (klass),
                                    &lang, &name)) {
        g_free (lang);
        g_free (name);
        return;
    }
    engine_name = g_strdup_printf ("m17n:%s:%s", lang, name);
    klass->config_section = g_strdup_printf ("engine/M17N/%s/%s", lang, name);
    g_free (lang);
    g_free (name);

    /* configurations are per class */
    klass->preedit_foreground = INVALID_COLOR;
    klass->preedit_background = INVALID_COLOR;
    klass->preedit_underline = IBUS_ATTR_UNDERLINE_NONE;
    klass->lookup_table_orientation = IBUS_ORIENTATION_SYSTEM;

    engine_config = ibus_m17n_get_engine_config (engine_name);
    g_free (engine_name);

    if (ibus_m17n_config_get_string (config,
                                     klass->config_section,
                                     "preedit_foreground",
                                     &hex)) {
        klass->preedit_foreground = ibus_m17n_parse_color (hex);
        g_free (hex);
    } else if (engine_config->preedit_highlight)
        klass->preedit_foreground = PREEDIT_FOREGROUND;

    if (ibus_m17n_config_get_string (config,
                                     klass->config_section,
                                     "preedit_background",
                                     &hex)) {
        klass->preedit_background = ibus_m17n_parse_color (hex);
        g_free (hex);
    } else if (engine_config->preedit_highlight)
        klass->preedit_background = PREEDIT_BACKGROUND;

    if (!ibus_m17n_config_get_int (config,
                                   klass->config_section,
                                   "preedit_underline",
                                   &klass->preedit_underline))
        klass->preedit_underline = IBUS_ATTR_UNDERLINE_NONE;

    if (!ibus_m17n_config_get_int (config,
                                   klass->config_section,
                                   "lookup_table_orientation",
                                   &klass->lookup_table_orientation))
        klass->lookup_table_orientation = IBUS_ORIENTATION_SYSTEM;

    g_signal_connect (config, "value-changed",
                      G_CALLBACK(ibus_m17n_config_value_changed),
                      klass);

    klass->im = NULL;
}