static void ibus_hangul_engine_init (IBusHangulEngine *hangul) { IBusProperty* prop; IBusText* label; IBusText* tooltip; hangul->context = hangul_ic_new (hangul_keyboard->str); hangul_ic_connect_callback (hangul->context, "transition", ibus_hangul_engine_on_transition, hangul); hangul->preedit = ustring_new(); hangul->hanja_list = NULL; hangul->hangul_mode = TRUE; hangul->hanja_mode = FALSE; hangul->last_lookup_method = LOOKUP_METHOD_PREFIX; hangul->prop_list = ibus_prop_list_new (); g_object_ref_sink (hangul->prop_list); label = ibus_text_new_from_string (_("Hanja lock")); tooltip = ibus_text_new_from_string (_("Enable/Disable Hanja mode")); prop = ibus_property_new ("hanja_mode", PROP_TYPE_TOGGLE, label, NULL, tooltip, TRUE, TRUE, PROP_STATE_UNCHECKED, NULL); g_object_ref_sink (prop); ibus_prop_list_append (hangul->prop_list, prop); hangul->prop_hanja_mode = prop; label = ibus_text_new_from_string (_("Setup")); tooltip = ibus_text_new_from_string (_("Configure hangul engine")); prop = ibus_property_new ("setup", PROP_TYPE_NORMAL, label, "gtk-preferences", tooltip, TRUE, TRUE, PROP_STATE_UNCHECKED, NULL); ibus_prop_list_append (hangul->prop_list, prop); hangul->table = ibus_lookup_table_new (9, 0, TRUE, FALSE); g_object_ref_sink (hangul->table); g_signal_connect (config, "value-changed", G_CALLBACK(ibus_config_value_changed), hangul); }
void ibus_property_set_sub_props (IBusProperty *prop, IBusPropList *prop_list) { g_assert (IBUS_IS_PROPERTY (prop)); g_assert (IBUS_IS_PROP_LIST (prop_list) || prop_list == NULL); if (prop->sub_props) { g_object_unref (prop->sub_props); } if (prop_list) { prop->sub_props = prop_list; g_object_ref_sink (prop_list); } else { prop->sub_props = ibus_prop_list_new (); g_object_ref_sink (prop->sub_props); } }
static void ibus_m17n_engine_init (IBusM17NEngine *m17n) { IBusText* label; IBusText* tooltip; m17n->prop_list = ibus_prop_list_new (); g_object_ref_sink (m17n->prop_list); m17n->status_prop = ibus_property_new ("status", PROP_TYPE_NORMAL, NULL, NULL, NULL, TRUE, FALSE, 0, NULL); g_object_ref_sink (m17n->status_prop); ibus_prop_list_append (m17n->prop_list, m17n->status_prop); #ifdef HAVE_SETUP label = ibus_text_new_from_string ("Setup"); tooltip = ibus_text_new_from_string ("Configure M17N engine"); m17n->setup_prop = ibus_property_new ("setup", PROP_TYPE_NORMAL, label, "gtk-preferences", tooltip, TRUE, TRUE, PROP_STATE_UNCHECKED, NULL); g_object_ref_sink (m17n->setup_prop); ibus_prop_list_append (m17n->prop_list, m17n->setup_prop); #endif /* HAVE_SETUP */ m17n->table = ibus_lookup_table_new (9, 0, TRUE, TRUE); g_object_ref_sink (m17n->table); m17n->context = NULL; }
static void ibus_handwrite_engine_focus_in(IBusHandwriteEngine *engine) { UI_show_ui(engine); IBusPropList * pl = ibus_prop_list_new(); IBusProperty * p = ibus_property_new("choose-color", PROP_TYPE_NORMAL, ibus_text_new_from_static_string(_("color")), GTK_STOCK_COLOR_PICKER, ibus_text_new_from_static_string(_("click to set color")), TRUE, TRUE, PROP_STATE_UNCHECKED, NULL); ibus_prop_list_append(pl, p); #ifdef WITH_ZINNIA if( strcmp(lang,"jp") ==0 || strcmp(lang,"ja")) { extern char icondir[4096]; gchar * iconfile = g_strdup_printf("%s/switch.svg",icondir); g_debug("icon file is %s",iconfile); p = ibus_property_new("choose-engine", PROP_TYPE_NORMAL, ibus_text_new_from_static_string(_("engine")), iconfile, ibus_text_new_from_static_string(_("click to set engine")), TRUE, TRUE, PROP_STATE_UNCHECKED, NULL); g_free(iconfile); ibus_prop_list_append(pl, p); } #endif ibus_engine_register_properties(IBUS_ENGINE(engine), pl); }
static void ibus_unikey_engine_create_property_list(IBusUnikeyEngine* unikey) { IBusProperty* prop; IBusText* label,* tooltip; gchar name[32]; guint i; if (unikey->prop_list == NULL) { unikey->prop_list = ibus_prop_list_new(); unikey->menu_im = ibus_prop_list_new(); unikey->menu_oc = ibus_prop_list_new(); unikey->menu_opt = ibus_prop_list_new(); g_object_ref_sink(unikey->prop_list); } // create input method menu // add item for (i = 0; i < NUM_INPUTMETHOD; i++) { label = ibus_text_new_from_static_string(Unikey_IMNames[i]); tooltip = ibus_text_new_from_static_string(""); // ? sprintf(name, CONFIG_INPUTMETHOD"_%s", Unikey_IMNames[i]); prop = ibus_property_new(name, PROP_TYPE_RADIO, label, "", tooltip, TRUE, TRUE, Unikey_IM[i]==unikey->im?PROP_STATE_CHECKED:PROP_STATE_UNCHECKED, NULL); if (ibus_prop_list_update_property(unikey->menu_im, prop) == false) ibus_prop_list_append(unikey->menu_im, prop); } // END create input method menu // create output charset menu // add item for (i = 0; i < NUM_OUTPUTCHARSET; i++) { label = ibus_text_new_from_static_string(Unikey_OCNames[i]); tooltip = ibus_text_new_from_static_string(""); // ? sprintf(name, CONFIG_OUTPUTCHARSET"_%s", Unikey_OCNames[i]); prop = ibus_property_new(name, PROP_TYPE_RADIO, label, "", tooltip, TRUE, TRUE, Unikey_OC[i]==unikey->oc?PROP_STATE_CHECKED:PROP_STATE_UNCHECKED, NULL); if (ibus_prop_list_update_property(unikey->menu_oc, prop) == false) ibus_prop_list_append(unikey->menu_oc, prop); } // END create output charset menu // create option menu (for configure unikey) // add option property // --create and add spellcheck property label = ibus_text_new_from_static_string(_("Enable spell check")); tooltip = ibus_text_new_from_static_string(_("If enable, you can decrease mistake when typing")); prop = ibus_property_new(CONFIG_SPELLCHECK, PROP_TYPE_TOGGLE, label, "", tooltip, TRUE, TRUE, (unikey->ukopt.spellCheckEnabled==1)? PROP_STATE_CHECKED:PROP_STATE_UNCHECKED, NULL); if (ibus_prop_list_update_property(unikey->menu_opt, prop) == false) ibus_prop_list_append(unikey->menu_opt, prop); // --create and add macroEnabled property label = ibus_text_new_from_static_string(_("Enable Macro")); tooltip = ibus_text_new_from_static_string(""); prop = ibus_property_new(CONFIG_MACROENABLED, PROP_TYPE_TOGGLE, label, "", tooltip, TRUE, TRUE, (unikey->ukopt.macroEnabled==1)? PROP_STATE_CHECKED:PROP_STATE_UNCHECKED, NULL); if (ibus_prop_list_update_property(unikey->menu_opt, prop) == false) ibus_prop_list_append(unikey->menu_opt, prop); // --create and add MouseCapture property label = ibus_text_new_from_static_string(_("Capture mouse event")); tooltip = ibus_text_new_from_static_string(_("Auto send PreEdit string to Application when mouse move or click")); prop = ibus_property_new(CONFIG_MOUSECAPTURE, PROP_TYPE_TOGGLE, label, "", tooltip, TRUE, TRUE, (unikey->mouse_capture==1)? PROP_STATE_CHECKED:PROP_STATE_UNCHECKED, NULL); if (ibus_prop_list_update_property(unikey->menu_opt, prop) == false) ibus_prop_list_append(unikey->menu_opt, prop); // --separator prop = ibus_property_new("", PROP_TYPE_SEPARATOR, NULL, "", NULL, TRUE, TRUE, PROP_STATE_UNCHECKED, NULL); if (ibus_prop_list_update_property(unikey->menu_opt, prop) == false) ibus_prop_list_append(unikey->menu_opt, prop); // --create and add Launch Setup GUI property label = ibus_text_new_from_static_string(_("Full setup...")); tooltip = ibus_text_new_from_static_string(_("Full setup utility for IBus-Unikey")); prop = ibus_property_new("RunSetupGUI", PROP_TYPE_NORMAL, label, "", tooltip, TRUE, TRUE, PROP_STATE_UNCHECKED, NULL); if (ibus_prop_list_update_property(unikey->menu_opt, prop) == false) ibus_prop_list_append(unikey->menu_opt, prop); // END create option menu // create top menu // add item // -- add input method menu for (i = 0; i < NUM_INPUTMETHOD; i++) { if (Unikey_IM[i] == unikey->im) break; } label = ibus_text_new_from_static_string(Unikey_IMNames[i]); tooltip = ibus_text_new_from_static_string(_("Choose input method")); prop = ibus_property_new(CONFIG_INPUTMETHOD, PROP_TYPE_MENU, label, "", tooltip, TRUE, TRUE, PROP_STATE_UNCHECKED, unikey->menu_im); if (ibus_prop_list_update_property(unikey->prop_list, prop) == false) ibus_prop_list_append(unikey->prop_list, prop); // -- add output charset menu for (i = 0; i < NUM_OUTPUTCHARSET; i++) { if (Unikey_OC[i] == unikey->oc) break; } label = ibus_text_new_from_static_string(Unikey_OCNames[i]); tooltip = ibus_text_new_from_static_string(_("Choose output charset")); prop = ibus_property_new(CONFIG_OUTPUTCHARSET, PROP_TYPE_MENU, label, "", tooltip, TRUE, TRUE, PROP_STATE_UNCHECKED, unikey->menu_oc); if (ibus_prop_list_update_property(unikey->prop_list, prop) == false) ibus_prop_list_append(unikey->prop_list, prop); // -- add option menu label = ibus_text_new_from_static_string(_("Options")); tooltip = ibus_text_new_from_static_string(_("Options for Unikey")); prop = ibus_property_new("Options", PROP_TYPE_MENU, label, "gtk-preferences", tooltip, TRUE, TRUE, PROP_STATE_UNCHECKED, unikey->menu_opt); if (ibus_prop_list_update_property(unikey->prop_list, prop) == false) ibus_prop_list_append(unikey->prop_list, prop); // end top menu }