static void setup_input_methods_menu(GtkWidget *widget) { GtkWidget *menu = gtk_menu_new(); gtk_im_multicontext_append_menuitems((GtkIMMulticontext *) input_method,GTK_MENU_SHELL(menu)); gtk_widget_show_all(menu); gtk_menu_item_set_submenu(GTK_MENU_ITEM(widget),menu); }
void TextInputGTK::SelectInputMethod() { GtkWidget *menu = gtk_menu_new(); gtk_im_multicontext_append_menuitems( reinterpret_cast<GtkIMMulticontext *>(mContext), GTK_MENU_SHELL(menu) ); gtk_menu_popup( GTK_MENU(menu), NULL, NULL, NULL, NULL, 0, 0 ); gtk_im_context_reset( mContext ); }
static GtkWidget* inputMethodsMenuItem (WebKitWebView* webView) { if (gtk_major_version > 2 || (gtk_major_version == 2 && gtk_minor_version >= 10)) { GtkSettings* settings = webView ? gtk_widget_get_settings(GTK_WIDGET(webView)) : gtk_settings_get_default(); gboolean showMenu = TRUE; if (settings) g_object_get(settings, "gtk-show-input-method-menu", &showMenu, NULL); if (!showMenu) return 0; } GtkWidget* menuitem = gtk_image_menu_item_new_with_mnemonic( _("Input _Methods")); WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(webView); GtkWidget* imContextMenu = gtk_menu_new(); gtk_im_multicontext_append_menuitems(GTK_IM_MULTICONTEXT(priv->imContext), GTK_MENU_SHELL(imContextMenu)); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), imContextMenu); return menuitem; }
void gtkhtml_editor_private_constructed (GtkhtmlEditor *editor) { GtkhtmlEditorPrivate *priv = editor->priv; GtkHTML *html; GtkWidget *widget; GtkToolbar *toolbar; GtkToolItem *tool_item; /* Construct main window widgets. */ widget = gtkhtml_editor_get_managed_widget (editor, "/main-menu"); gtk_box_pack_start (GTK_BOX (editor->vbox), widget, FALSE, FALSE, 0); priv->main_menu = g_object_ref (widget); gtk_widget_show (widget); widget = gtkhtml_editor_get_managed_widget (editor, "/main-toolbar"); gtk_box_pack_start (GTK_BOX (editor->vbox), widget, FALSE, FALSE, 0); priv->main_toolbar = g_object_ref (widget); gtk_widget_show (widget); widget = gtkhtml_editor_get_managed_widget (editor, "/edit-toolbar"); gtk_toolbar_set_style (GTK_TOOLBAR (widget), GTK_TOOLBAR_BOTH_HORIZ); gtk_box_pack_start (GTK_BOX (editor->vbox), widget, FALSE, FALSE, 0); priv->edit_toolbar = g_object_ref (widget); gtk_widget_show (widget); widget = gtkhtml_editor_get_managed_widget (editor, "/html-toolbar"); gtk_toolbar_set_style (GTK_TOOLBAR (widget), GTK_TOOLBAR_BOTH_HORIZ); gtk_box_pack_start (GTK_BOX (editor->vbox), widget, FALSE, FALSE, 0); priv->html_toolbar = g_object_ref (widget); gtk_widget_show (widget); widget = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW (widget), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type ( GTK_SCROLLED_WINDOW (widget), GTK_SHADOW_IN); gtk_box_pack_start (GTK_BOX (editor->vbox), widget, TRUE, TRUE, 0); priv->scrolled_window = g_object_ref (widget); gtk_widget_show (widget); widget = GTK_WIDGET (gtkhtml_editor_get_html (editor)); gtk_container_add (GTK_CONTAINER (priv->scrolled_window), widget); gtk_widget_show (widget); /* Add some combo boxes to the "edit" toolbar. */ toolbar = GTK_TOOLBAR (priv->edit_toolbar); tool_item = gtk_tool_item_new (); widget = gtkhtml_combo_box_new_with_action ( GTK_RADIO_ACTION (ACTION (STYLE_NORMAL))); gtk_combo_box_set_focus_on_click (GTK_COMBO_BOX (widget), FALSE); gtk_container_add (GTK_CONTAINER (tool_item), widget); gtk_widget_set_tooltip_text (widget, _("Paragraph Style")); gtk_toolbar_insert (toolbar, tool_item, 0); priv->style_combo_box = g_object_ref (widget); gtk_widget_show_all (GTK_WIDGET (tool_item)); tool_item = gtk_separator_tool_item_new (); gtk_toolbar_insert (toolbar, tool_item, 0); gtk_widget_show_all (GTK_WIDGET (tool_item)); tool_item = gtk_tool_item_new (); widget = gtkhtml_combo_box_new_with_action ( GTK_RADIO_ACTION (ACTION (MODE_HTML))); gtk_combo_box_set_focus_on_click (GTK_COMBO_BOX (widget), FALSE); gtk_container_add (GTK_CONTAINER (tool_item), widget); gtk_widget_set_tooltip_text (widget, _("Editing Mode")); gtk_toolbar_insert (toolbar, tool_item, 0); priv->mode_combo_box = g_object_ref (widget); gtk_widget_show_all (GTK_WIDGET (tool_item)); /* Add some combo boxes to the "html" toolbar. */ toolbar = GTK_TOOLBAR (priv->html_toolbar); tool_item = gtk_tool_item_new (); widget = gtkhtml_color_combo_new (); gtk_container_add (GTK_CONTAINER (tool_item), widget); gtk_widget_set_tooltip_text (widget, _("Font Color")); gtk_toolbar_insert (toolbar, tool_item, 0); priv->color_combo_box = g_object_ref (widget); gtk_widget_show_all (GTK_WIDGET (tool_item)); tool_item = gtk_tool_item_new (); widget = gtkhtml_combo_box_new_with_action ( GTK_RADIO_ACTION (ACTION (SIZE_PLUS_ZERO))); gtk_combo_box_set_focus_on_click (GTK_COMBO_BOX (widget), FALSE); gtk_container_add (GTK_CONTAINER (tool_item), widget); gtk_widget_set_tooltip_text (widget, _("Font Size")); gtk_toolbar_insert (toolbar, tool_item, 0); priv->size_combo_box = g_object_ref (widget); gtk_widget_show_all (GTK_WIDGET (tool_item)); /* Initialize painters (requires "edit_area"). */ html = gtkhtml_editor_get_html (editor); gtk_widget_ensure_style (GTK_WIDGET (html)); priv->html_painter = g_object_ref (html->engine->painter); priv->plain_painter = html_plain_painter_new (priv->edit_area, TRUE); /* Add input methods to the context menu. */ widget = gtkhtml_editor_get_managed_widget ( editor, "/context-menu/context-input-methods-menu"); widget = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget)); gtk_im_multicontext_append_menuitems ( GTK_IM_MULTICONTEXT (html->priv->im_context), GTK_MENU_SHELL (widget)); /* Configure color stuff. */ priv->palette = gtkhtml_color_palette_new (); priv->text_color = gtkhtml_color_state_new (); gtkhtml_color_state_set_default_label ( priv->text_color, _("Automatic")); gtkhtml_color_state_set_palette ( priv->text_color, priv->palette); /* Text color widgets share state. */ widget = priv->color_combo_box; gtkhtml_color_combo_set_state ( GTKHTML_COLOR_COMBO (widget), priv->text_color); widget = WIDGET (TEXT_PROPERTIES_COLOR_COMBO); gtkhtml_color_combo_set_state ( GTKHTML_COLOR_COMBO (widget), priv->text_color); /* These color widgets share a custom color palette. */ widget = WIDGET (CELL_PROPERTIES_COLOR_COMBO); gtkhtml_color_combo_set_palette ( GTKHTML_COLOR_COMBO (widget), priv->palette); widget = WIDGET (PAGE_PROPERTIES_BACKGROUND_COLOR_COMBO); gtkhtml_color_combo_set_palette ( GTKHTML_COLOR_COMBO (widget), priv->palette); widget = WIDGET (PAGE_PROPERTIES_LINK_COLOR_COMBO); gtkhtml_color_combo_set_palette ( GTKHTML_COLOR_COMBO (widget), priv->palette); widget = WIDGET (TABLE_PROPERTIES_COLOR_COMBO); gtkhtml_color_combo_set_palette ( GTKHTML_COLOR_COMBO (widget), priv->palette); }
static VALUE rg_append_menuitems(VALUE self, VALUE menushell) { gtk_im_multicontext_append_menuitems(_SELF(self), RVAL2GTKMENUSHELL(menushell)); return self; }