static void gdict_applet_build_window (GdictApplet *applet) { GdictAppletPrivate *priv = applet->priv; GtkWidget *window; GtkWidget *frame; GtkWidget *vbox; GtkWidget *bbox; GtkWidget *button; if (!priv->entry) { g_warning ("No entry widget defined"); return; } window = gdict_aligned_window_new (priv->toggle); g_signal_connect (window, "key-press-event", G_CALLBACK (window_key_press_event_cb), applet); g_signal_connect (window, "show", G_CALLBACK (window_show_cb), applet); frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); gtk_container_add (GTK_CONTAINER (window), frame); gtk_widget_show (frame); priv->frame = frame; vbox = gtk_vbox_new (FALSE, 12); gtk_container_set_border_width (GTK_CONTAINER (vbox), 6); gtk_container_add (GTK_CONTAINER (frame), vbox); gtk_widget_show (vbox); priv->defbox = gdict_defbox_new (); if (priv->context) gdict_defbox_set_context (GDICT_DEFBOX (priv->defbox), priv->context); gtk_box_pack_start (GTK_BOX (vbox), priv->defbox, TRUE, TRUE, 0); gtk_widget_show (priv->defbox); gtk_widget_set_can_focus (priv->defbox, TRUE); gtk_widget_set_can_default (priv->defbox, TRUE); bbox = gtk_hbutton_box_new (); gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END); gtk_box_set_spacing (GTK_BOX (bbox), 6); gtk_box_pack_end (GTK_BOX (vbox), bbox, FALSE, FALSE, 0); gtk_widget_show (bbox); button = gtk_button_new_from_stock (GTK_STOCK_CLEAR); gtk_widget_set_tooltip_text (button, _("Clear the definitions found")); set_atk_name_description (button, _("Clear definition"), _("Clear the text of the definition")); g_signal_connect (button, "clicked", G_CALLBACK (clear_cb), applet); gtk_box_pack_start (GTK_BOX (bbox), button, FALSE, FALSE, 0); gtk_widget_show (button); button = gtk_button_new_from_stock (GTK_STOCK_PRINT); gtk_widget_set_tooltip_text (button, _("Print the definitions found")); set_atk_name_description (button, _("Print definition"), _("Print the text of the definition")); g_signal_connect (button, "clicked", G_CALLBACK (print_cb), applet); gtk_box_pack_start (GTK_BOX (bbox), button, FALSE, FALSE, 0); gtk_widget_show (button); button = gtk_button_new_from_stock (GTK_STOCK_SAVE); gtk_widget_set_tooltip_text (button, _("Save the definitions found")); set_atk_name_description (button, _("Save definition"), _("Save the text of the definition to a file")); g_signal_connect (button, "clicked", G_CALLBACK (save_cb), applet); gtk_box_pack_start (GTK_BOX (bbox), button, FALSE, FALSE, 0); gtk_widget_show (button); gtk_window_set_default (GTK_WINDOW (window), priv->defbox); priv->window = window; priv->is_window_showing = FALSE; }
static void gedit_dict_panel_draw (GeditDictPanel *panel) { GtkWidget *vbox; GtkWidget *hbox; vbox = gtk_vbox_new (FALSE, 6); gtk_container_set_border_width (GTK_CONTAINER (vbox), 6); gtk_widget_show (vbox); hbox = gtk_hbox_new (FALSE, 12); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); /* * Look up Button */ panel->priv->button = gtk_button_new_with_mnemonic (_("Look _up:")); g_signal_connect(panel->priv->button, "clicked", G_CALLBACK (gedit_dict_panel_entry_activate_cb), panel); gtk_button_set_relief (GTK_BUTTON (panel->priv->button), GTK_RELIEF_NONE); gtk_box_pack_start (GTK_BOX (hbox), panel->priv->button, FALSE, FALSE, 0); gtk_widget_show(panel->priv->button); /* * Entry */ panel->priv->entry = gtk_entry_new (); if (panel->priv->word) gtk_entry_set_text (GTK_ENTRY (panel->priv->entry), panel->priv->word); g_signal_connect (panel->priv->entry, "activate", G_CALLBACK (gedit_dict_panel_entry_activate_cb), panel); gtk_box_pack_start (GTK_BOX (hbox), panel->priv->entry, TRUE, TRUE, 0); gtk_widget_show (panel->priv->entry); /* * Defbox */ panel->priv->defbox = gdict_defbox_new (); if (panel->priv->context) gdict_defbox_set_context (GDICT_DEFBOX (panel->priv->defbox), panel->priv->context); g_signal_connect(panel->priv->defbox, "link-clicked", G_CALLBACK(gedit_dict_panel_link_clicked), panel); gtk_container_add (GTK_CONTAINER (vbox), panel->priv->defbox); gtk_widget_show (panel->priv->defbox); panel->priv->sidebar = gdict_sidebar_new (); g_signal_connect (panel->priv->sidebar, "page-changed", G_CALLBACK (sidebar_page_changed_cb), panel); /* * Paned */ panel->priv->paned = GTK_PANED(gtk_vpaned_new()); gtk_box_pack_start (GTK_BOX (panel), GTK_WIDGET(panel->priv->paned), TRUE, TRUE, 0); gtk_paned_pack1 (panel->priv->paned, vbox, FALSE, TRUE); gtk_paned_pack2 (panel->priv->paned, panel->priv->sidebar, TRUE, TRUE); gtk_widget_show (GTK_WIDGET(panel->priv->paned)); g_signal_connect(panel->priv->paned, "notify::position", G_CALLBACK(store_position), NULL); /* * Speller */ panel->priv->speller = gdict_speller_new (); if (panel->priv->context) gdict_speller_set_context (GDICT_SPELLER (panel->priv->speller), panel->priv->context); g_signal_connect (panel->priv->speller, "word-activated", G_CALLBACK (speller_word_activated_cb), panel); gdict_sidebar_add_page (GDICT_SIDEBAR (panel->priv->sidebar), GDICT_SIDEBAR_SPELLER_PAGE, _("Similar words"), panel->priv->speller); gtk_widget_show (panel->priv->speller); /* * db chooser */ panel->priv->db_chooser = gdict_database_chooser_new (); if (panel->priv->context) gdict_database_chooser_set_context (GDICT_DATABASE_CHOOSER (panel->priv->db_chooser), panel->priv->context); g_signal_connect (panel->priv->db_chooser, "database-activated", G_CALLBACK (database_activated_cb), panel); gdict_sidebar_add_page (GDICT_SIDEBAR (panel->priv->sidebar), GDICT_SIDEBAR_DATABASES_PAGE, _("Available dictionaries"), panel->priv->db_chooser); gtk_widget_show (panel->priv->db_chooser); /* * Strategy chooser */ panel->priv->strat_chooser = gdict_strategy_chooser_new (); if (panel->priv->context) gdict_strategy_chooser_set_context (GDICT_STRATEGY_CHOOSER (panel->priv->strat_chooser), panel->priv->context); g_signal_connect (panel->priv->strat_chooser, "strategy-activated", G_CALLBACK (strategy_activated_cb), panel); gdict_sidebar_add_page (GDICT_SIDEBAR (panel->priv->sidebar), GDICT_SIDEBAR_STRATEGIES_PAGE, _("Available strategies"), panel->priv->strat_chooser); gtk_widget_show (panel->priv->strat_chooser); gtk_widget_show (panel->priv->sidebar); }
static void GDict_dlg_create (const char * search) { GtkWidget * vbox; GtkWidget * hbox; GtkWidget * button; GtkWidget * scrolled; GtkWidget * close; GtkWidget * gtk_entry; // create the toplevel dialog gdict_dlg = gnome_dialog_new ("AbiWord Dictionary", GNOME_STOCK_BUTTON_CLOSE, NULL); gtk_window_set_modal (GTK_WINDOW(gdict_dlg), false); gtk_widget_set_usize (gdict_dlg, 450, 300); // center the dialog and connect focus XAP_App * pApp = XAP_App::getApp (); XAP_UnixFrame * pFrame = static_cast<XAP_UnixFrame*>(pApp->getLastFocussedFrame ()); GtkWidget * parent = pFrame->getTopLevelWindow(); centerDialog(parent, gdict_dlg); close = GTK_WIDGET (g_list_last (GNOME_DIALOG (gdict_dlg)->buttons)->data); vbox = GNOME_DIALOG(gdict_dlg)->vbox; hbox = gtk_hbox_new (FALSE, GNOME_PAD_SMALL); gtk_container_set_border_width (GTK_CONTAINER (hbox), GNOME_PAD_SMALL); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); button = gtk_button_new_with_label ("Look Up"); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); gdict_entry = gnome_entry_new(NULL); gtk_entry = gnome_entry_gtk_entry(GNOME_ENTRY(gdict_entry)); gtk_box_pack_start (GTK_BOX (hbox), gdict_entry, TRUE, TRUE, 0); scrolled = gtk_scrolled_window_new (NULL, NULL); gtk_container_set_border_width (GTK_CONTAINER (scrolled), GNOME_PAD_SMALL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_box_pack_start (GTK_BOX (vbox), scrolled, TRUE, TRUE, 0); gdict_defbox = gdict_defbox_new (); gtk_widget_show (gdict_defbox); gtk_container_add (GTK_CONTAINER (scrolled), gdict_defbox); g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (lookup_button_cb), gdict_defbox); g_signal_connect (G_OBJECT (gtk_entry), "activate", G_CALLBACK (entry_activate_cb), gdict_defbox); #if 0 g_signal_connect (G_OBJECT (gtk_entry), "changed", G_CALLBACK (entry_activate_cb), gdict_defbox); #endif g_signal_connect (G_OBJECT (gdict_dlg), "close", G_CALLBACK(close_cb), (gpointer)0); g_signal_connect (G_OBJECT (close), "clicked", G_CALLBACK(close_cb), (gpointer)0); g_signal_connect_after(G_OBJECT(gdict_dlg), "destroy", NULL, NULL); gtk_widget_show_all (gdict_dlg); }
static void gtr_dict_panel_init (GtrDictPanel * panel) { GtrDictPanelPrivate *priv; GtkWidget *vbox; GtkWidget *hbox; panel->priv = GTR_DICT_PANEL_GET_PRIVATE (panel); priv = panel->priv; priv->status = NULL; if (!priv->loader) panel->priv->loader = gdict_source_loader_new (); gtk_orientable_set_orientation (GTK_ORIENTABLE (panel), GTK_ORIENTATION_VERTICAL); /* add our data dir inside $HOME to the loader's search paths */ gdict_source_loader_add_search_path (priv->loader, gtr_dirs_get_user_config_dir ()); /* settings */ priv->settings = g_settings_new ("org.gnome.gtranslator.plugins.dictionary"); g_signal_connect (priv->settings, "changed", G_CALLBACK (on_settings_changed), panel); /* force retrieval of the configuration from gsettings */ gtr_dict_panel_set_source_name (panel, NULL); /* Draw widgets */ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_container_set_border_width (GTK_CONTAINER (vbox), 6); gtk_widget_show (vbox); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); /* Look up Button */ panel->priv->button = gtk_button_new_with_mnemonic (_("Look _up:")); g_signal_connect (panel->priv->button, "clicked", G_CALLBACK (gtr_dict_panel_entry_activate_cb), panel); gtk_button_set_relief (GTK_BUTTON (panel->priv->button), GTK_RELIEF_NONE); gtk_box_pack_start (GTK_BOX (hbox), panel->priv->button, FALSE, FALSE, 0); gtk_widget_show (panel->priv->button); /* Entry */ panel->priv->entry = gtk_entry_new (); if (panel->priv->word) gtk_entry_set_text (GTK_ENTRY (panel->priv->entry), panel->priv->word); g_signal_connect (panel->priv->entry, "activate", G_CALLBACK (gtr_dict_panel_entry_activate_cb), panel); gtk_box_pack_start (GTK_BOX (hbox), panel->priv->entry, TRUE, TRUE, 0); gtk_widget_show (panel->priv->entry); /* Defbox */ panel->priv->defbox = gdict_defbox_new (); if (panel->priv->context) gdict_defbox_set_context (GDICT_DEFBOX (panel->priv->defbox), panel->priv->context); g_signal_connect (panel->priv->defbox, "link-clicked", G_CALLBACK (gtr_dict_panel_link_clicked), panel); gtk_container_add (GTK_CONTAINER (vbox), panel->priv->defbox); gtk_widget_show (panel->priv->defbox); /* Sidebar */ panel->priv->sidebar = gdict_sidebar_new (); g_signal_connect (panel->priv->sidebar, "page-changed", G_CALLBACK (sidebar_page_changed_cb), panel); /* Paned */ panel->priv->paned = GTK_PANED (gtk_paned_new (GTK_ORIENTATION_VERTICAL)); gtk_box_pack_start (GTK_BOX (panel), GTK_WIDGET (panel->priv->paned), TRUE, TRUE, 0); gtk_paned_pack1 (panel->priv->paned, vbox, FALSE, TRUE); gtk_paned_pack2 (panel->priv->paned, panel->priv->sidebar, TRUE, TRUE); gtk_widget_show (GTK_WIDGET (panel->priv->paned)); g_settings_bind (panel->priv->settings, DICTIONARY_SETTINGS_POSITION_KEY, panel->priv->paned, "position", G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET); /* Speller */ panel->priv->speller = gdict_speller_new (); if (panel->priv->context) gdict_speller_set_context (GDICT_SPELLER (panel->priv->speller), panel->priv->context); g_signal_connect (panel->priv->speller, "word-activated", G_CALLBACK (speller_word_activated_cb), panel); gdict_sidebar_add_page (GDICT_SIDEBAR (panel->priv->sidebar), GDICT_SIDEBAR_SPELLER_PAGE, _("Similar words"), panel->priv->speller); gtk_widget_show (panel->priv->speller); /* db chooser */ panel->priv->db_chooser = gdict_database_chooser_new (); if (panel->priv->context) gdict_database_chooser_set_context (GDICT_DATABASE_CHOOSER (panel->priv->db_chooser), panel->priv->context); g_signal_connect (panel->priv->db_chooser, "database-activated", G_CALLBACK (database_activated_cb), panel); gdict_sidebar_add_page (GDICT_SIDEBAR (panel->priv->sidebar), GDICT_SIDEBAR_DATABASES_PAGE, _("Available dictionaries"), panel->priv->db_chooser); gtk_widget_show (panel->priv->db_chooser); /* Strategy chooser */ panel->priv->strat_chooser = gdict_strategy_chooser_new (); if (panel->priv->context) gdict_strategy_chooser_set_context (GDICT_STRATEGY_CHOOSER (panel->priv->strat_chooser), panel->priv->context); g_signal_connect (panel->priv->strat_chooser, "strategy-activated", G_CALLBACK (strategy_activated_cb), panel); gdict_sidebar_add_page (GDICT_SIDEBAR (panel->priv->sidebar), GDICT_SIDEBAR_STRATEGIES_PAGE, _("Available strategies"), panel->priv->strat_chooser); gtk_widget_show (panel->priv->strat_chooser); /* Source chooser */ panel->priv->source_chooser = gdict_source_chooser_new_with_loader (panel->priv->loader); g_signal_connect (panel->priv->source_chooser, "source-activated", G_CALLBACK (source_activated_cb), panel); gdict_sidebar_add_page (GDICT_SIDEBAR (panel->priv->sidebar), GDICT_SIDEBAR_SOURCES_PAGE, _("Dictionary sources"), panel->priv->source_chooser); gtk_widget_show (panel->priv->source_chooser); gtk_widget_show (panel->priv->sidebar); }