void make_toolbar(Viewer *viewer, GtkWidget *parent) { GtkWidget *toolbar = gtk_toolbar_new(); gtk_box_pack_start(GTK_BOX(parent), toolbar, FALSE, FALSE, 0); // add a recording button to the toolbar viewer->record_button = GTK_WIDGET( gtk_toggle_tool_button_new_from_stock (GTK_STOCK_MEDIA_RECORD)); gtk_tool_item_set_is_important (GTK_TOOL_ITEM (viewer->record_button), TRUE); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (viewer->record_button), viewer->tips, "Record an AVI of the viewport, saved in the current directory", NULL); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (viewer->record_button), 0); gtk_widget_show (viewer->record_button); g_signal_connect (G_OBJECT (viewer->record_button), "toggled", G_CALLBACK (on_record_toggled), viewer); // screenshot button GtkToolItem *ssbt = gtk_tool_button_new_from_stock (GTK_STOCK_FLOPPY); gtk_tool_button_set_label (GTK_TOOL_BUTTON (ssbt), "Screenshot"); gtk_tool_item_set_is_important (GTK_TOOL_ITEM (ssbt), TRUE); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (ssbt), viewer->tips, "Save a PPM screenshot of the viewport to the current directory", NULL); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), ssbt, 1); gtk_widget_show (GTK_WIDGET (ssbt)); g_signal_connect (G_OBJECT (ssbt), "clicked", G_CALLBACK (on_screenshot_clicked), viewer); // quit button GtkToolItem *quitbt = gtk_tool_button_new_from_stock (GTK_STOCK_QUIT); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (quitbt), viewer->tips, "Quit", NULL); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), quitbt, 2); gtk_widget_show (GTK_WIDGET (quitbt)); g_signal_connect (G_OBJECT (quitbt), "clicked", gtk_main_quit, NULL); GtkToolItem * sep = gtk_separator_tool_item_new (); gtk_widget_show (GTK_WIDGET (sep)); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), sep, 3); GtkWidget * hbox = gtk_hbox_new (FALSE, 5); GtkWidget * label = gtk_label_new ("Record FPS"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); viewer->fps_spin = gtk_spin_button_new_with_range (0.1, 120.0, 1.0); gtk_spin_button_set_digits (GTK_SPIN_BUTTON (viewer->fps_spin), 1); gtk_spin_button_set_value (GTK_SPIN_BUTTON (viewer->fps_spin), 30); gtk_box_pack_start (GTK_BOX (hbox), viewer->fps_spin, FALSE, FALSE, 0); GtkToolItem * toolitem = gtk_tool_item_new (); gtk_container_add (GTK_CONTAINER (toolitem), hbox); gtk_widget_show_all (GTK_WIDGET (toolitem)); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, 4); viewer->toolbar = GTK_TOOLBAR (toolbar); }
void wxToolBar::SetToolShortHelp( int id, const wxString& helpString ) { wxToolBarTool* tool = static_cast<wxToolBarTool*>(FindById(id)); if ( tool ) { (void)tool->SetShortHelp(helpString); if (tool->m_item) { #if GTK_CHECK_VERSION(2, 12, 0) if (GTK_CHECK_VERSION(3,0,0) || gtk_check_version(2,12,0) == NULL) { gtk_tool_item_set_tooltip_text(tool->m_item, wxGTK_CONV(helpString)); } else #endif { #if !GTK_CHECK_VERSION(3,0,0) && !defined(GTK_DISABLE_DEPRECATED) gtk_tool_item_set_tooltip(tool->m_item, m_tooltips, wxGTK_CONV(helpString), ""); #endif } } } }
GtkWidget * gtk_utils_append_toolbar_button (GtkToolbar *toolbar, GtkUtilsToolbarEntry *entry, GtkUtilsToolbarButtonFlags flags, gpointer user_data) { #if GTK_2_4_OR_LATER GtkToolItem *button; g_return_val_if_fail (entry, NULL); button = gtk_tool_button_new ((gtk_image_new_from_stock (entry->icon_stock_id, gtk_toolbar_get_icon_size (toolbar))), (entry->label_text ? _(entry->label_text) : NULL)); if (entry->tooltip_text) { gtk_tool_item_set_tooltip (button, toolbar->tooltips, _(entry->tooltip_text), NULL); } gtk_tool_item_set_homogeneous (button, ((flags & GTK_UTILS_HOMOGENEOUS) ? TRUE : FALSE)); gtk_tool_item_set_is_important (button, ((flags & GTK_UTILS_IS_IMPORTANT) ? TRUE : FALSE)); g_signal_connect (button, "clicked", G_CALLBACK (invoke_toolbar_button_callback), user_data); gtk_toolbar_insert (toolbar, button, -1); #else GtkWidget *button; g_return_val_if_fail (entry, NULL); UNUSED (flags); button = (gtk_toolbar_append_item (toolbar, (entry->label_text ? _(entry->label_text) : NULL), _(entry->tooltip_text), NULL, gtk_image_new_from_stock (entry->icon_stock_id, gtk_toolbar_get_icon_size (toolbar)), (GtkSignalFunc) invoke_toolbar_button_callback, user_data)); #endif if (!toolbar_button_entry_quark) { toolbar_button_entry_quark = g_quark_from_static_string ("quarry-toolbar-button-entry"); } g_object_set_qdata (G_OBJECT (button), toolbar_button_entry_quark, entry); /* For GTK+ 2.4 and up. It is certainly a widget. */ return (GtkWidget *) button; }
void ZLGtkApplicationWindow::addToolbarItem(ZLToolbar::ItemPtr item) { GtkToolItem *gtkItem = 0; switch (item->type()) { case ZLToolbar::Item::TEXT_FIELD: case ZLToolbar::Item::COMBO_BOX: { const ZLToolbar::ParameterItem ¶meterItem = (const ZLToolbar::ParameterItem&)*item; GtkEntryParameter *parameter = new GtkEntryParameter(*this, parameterItem); addVisualParameter(parameterItem.parameterId(), parameter); gtkItem = parameter->createToolItem(); gtk_tool_item_set_tooltip(gtkItem, myToolbar->tooltips, parameterItem.tooltip().c_str(), 0); } break; case ZLToolbar::Item::PLAIN_BUTTON: case ZLToolbar::Item::TOGGLE_BUTTON: case ZLToolbar::Item::MENU_BUTTON: gtkItem = createGtkToolButton((ZLToolbar::AbstractButtonItem&)*item); break; case ZLToolbar::Item::SEPARATOR: gtkItem = gtk_separator_tool_item_new(); gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(gtkItem), false); break; } if (gtkItem != 0) { gtk_toolbar_insert(myToolbar, gtkItem, -1); myAbstractToGtk[&*item] = gtkItem; myGtkToAbstract[gtkItem] = item; gtk_widget_show_all(GTK_WIDGET(gtkItem)); } }
/* Checks the passed xmlNode for a recognized item (ToolButton, ToggleToolButton, Separator) * Returns the widget or NULL if nothing useful is found */ GtkWidget* ToolbarManager::createToolItem(xml::Node& node) { const std::string nodeName = node.getName(); GtkWidget* toolItem; if (nodeName == "separator") { toolItem = GTK_WIDGET(gtk_separator_tool_item_new()); } else if (nodeName == "toolbutton" || nodeName == "toggletoolbutton") { // Found a button, load the values that are shared by both types const std::string name = node.getAttributeValue("name"); const std::string icon = node.getAttributeValue("icon"); const std::string tooltip = _(node.getAttributeValue("tooltip").c_str()); const std::string action = node.getAttributeValue("action"); if (nodeName == "toolbutton") { // Create a new GtkToolButton and assign the right callback toolItem = GTK_WIDGET(gtk_tool_button_new(NULL, name.c_str())); } else { // Create a new GtkToggleToolButton and assign the right callback toolItem = GTK_WIDGET(gtk_toggle_tool_button_new()); } IEventPtr event = GlobalEventManager().findEvent(action); if (!event->empty()) { event->connectWidget(GTK_WIDGET(toolItem)); // Tell the event to update the state of this button event->updateWidgets(); } else { globalErrorStream() << "ToolbarManager: Failed to lookup command " << action << std::endl; } // Set the tooltip, if not empty if (tooltip != "") { gtk_tool_item_set_tooltip(GTK_TOOL_ITEM(toolItem), _tooltips, tooltip.c_str(), ""); } // Load and assign the icon, if specified if (icon != "") { GtkWidget* image = gtk_image_new_from_pixbuf(GlobalUIManager().getLocalPixbufWithMask(icon)); gtk_widget_show(image); gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(toolItem), image); } } else { return NULL; } gtk_widget_show(toolItem); return toolItem; }
void gtk_tool_item_set_tooltip_text (GtkToolItem* toolitem, const gchar* text) { if (text && *text) { static GtkTooltips* tooltips = NULL; if (G_UNLIKELY (!tooltips)) tooltips = gtk_tooltips_new (); gtk_tool_item_set_tooltip (toolitem, tooltips, text, NULL); } }
void wxToolBar::SetToolShortHelp( int id, const wxString& helpString ) { wxToolBarTool* tool = static_cast<wxToolBarTool*>(FindById(id)); if ( tool ) { (void)tool->SetShortHelp(helpString); if (tool->m_item) { gtk_tool_item_set_tooltip(tool->m_item, m_tooltips, wxGTK_CONV(helpString), ""); } } }
GtkToolItem *hwidget_get_tool_button(const gchar *image_file, const gchar *label, const gchar *tooltips_string, gpointer callback, gpointer data, guint type) { GtkToolItem *button; GtkWidget *pixmap; GtkTooltips *tooltips; switch (type) { case HWIDGET_TOGGLE_TOOL_BUTTON: button = gtk_toggle_tool_button_new(); if (callback) { g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(callback), data); } break; case HWIDGET_TOOL_BUTTON: button = gtk_tool_button_new(NULL, NULL); if (callback) { g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(callback), data); } break; default: return NULL; } if (image_file) { pixmap = hutil_create_pixmap(image_file); gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(button), pixmap); } if (label) { gtk_tool_button_set_label(GTK_TOOL_BUTTON(button), label); } if (tooltips_string) { tooltips = gtk_tooltips_new(); gtk_tool_item_set_tooltip(button, tooltips, tooltips_string, NULL); } return button; }
static void _moo_widget_set_tooltip (GtkWidget *widget, const char *tip) { static GtkTooltips *tooltips; g_return_if_fail (GTK_IS_WIDGET (widget)); if (!tooltips) tooltips = gtk_tooltips_new (); if (GTK_IS_TOOL_ITEM (widget)) gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (widget), tooltips, tip, NULL); else gtk_tooltips_set_tip (tooltips, widget, tip, tip); }
GtkToolItem *ZLGtkApplicationWindow::createGtkToolButton(const ZLToolbar::AbstractButtonItem &button) { GtkToolItem *gtkItem = 0; static std::string imagePrefix = ZLibrary::ApplicationImageDirectory() + ZLibrary::FileNameDelimiter; GtkWidget *image = gtk_image_new_from_file( (imagePrefix + button.iconName() + ".png").c_str() ); switch (button.type()) { case ZLToolbar::Item::PLAIN_BUTTON: gtkItem = gtk_tool_button_new(image, button.tooltip().c_str()); break; case ZLToolbar::Item::TOGGLE_BUTTON: gtkItem = gtk_toggle_tool_button_new(); gtk_tool_button_set_label(GTK_TOOL_BUTTON(gtkItem), button.tooltip().c_str()); gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(gtkItem), image); break; case ZLToolbar::Item::MENU_BUTTON: { gtkItem = gtk_menu_tool_button_new(image, button.tooltip().c_str()); const ZLToolbar::MenuButtonItem &menuButton = (const ZLToolbar::MenuButtonItem&)button; shared_ptr<ZLPopupData> popupData = menuButton.popupData(); myPopupIdMap[gtkItem] = popupData.isNull() ? (size_t)-1 : (popupData->id() - 1); gtk_menu_tool_button_set_menu(GTK_MENU_TOOL_BUTTON(gtkItem), gtk_menu_new()); gtk_menu_tool_button_set_arrow_tooltip(GTK_MENU_TOOL_BUTTON(gtkItem), myToolbar->tooltips, menuButton.popupTooltip().c_str(), 0); break; } default: break; } gtk_tool_item_set_tooltip(gtkItem, myToolbar->tooltips, button.tooltip().c_str(), 0); ZLGtkSignalUtil::connectSignal(GTK_OBJECT(gtkItem), "clicked", GTK_SIGNAL_FUNC(onButtonClicked), this); //GTK_WIDGET_UNSET_FLAGS(gtkItem, GTK_CAN_FOCUS); return gtkItem; }
void wxToolBar::SetToolShortHelp( int id, const wxString& helpString ) { wxToolBarTool* tool = static_cast<wxToolBarTool*>(FindById(id)); if ( tool ) { (void)tool->SetShortHelp(helpString); if (tool->m_item) { #if GTK_CHECK_VERSION(2, 12, 0) if (!gtk_check_version(2, 12, 0)) { gtk_tool_item_set_tooltip_text(tool->m_item, wxGTK_CONV(helpString)); } else #endif { gtk_tool_item_set_tooltip(tool->m_item, m_tooltips, wxGTK_CONV(helpString), ""); } } } }
GtkWidget* create_lshw (void) { GtkWidget *lshw; GtkWidget *vbox1; GtkWidget *menu; GtkWidget *menuitem4; GtkWidget *menuitem4_menu; GtkWidget *save; GtkWidget *quit1; GtkWidget *menuitem6; GtkWidget *menuitem6_menu; GtkWidget *refresh1; GtkWidget *menuitem7; GtkWidget *menuitem7_menu; GtkWidget *about1; GtkWidget *toolbar1; GtkIconSize tmp_toolbar_icon_size; GtkWidget *upbutton; GtkWidget *refreshbutton; GtkWidget *savebutton; GtkWidget *quitbutton; GtkWidget *scrolledwindow1; GtkWidget *viewport2; GtkWidget *hbox1; GtkWidget *hpaned1; GtkWidget *hbox3; GtkWidget *scrolledwindow10; GtkWidget *treeview1; GtkWidget *scrolledwindow11; GtkWidget *treeview2; GtkWidget *scrolledwindow12; GtkWidget *treeview3; GtkWidget *vbox2; GtkWidget *scrolledwindow13; GtkWidget *viewport3; GtkWidget *scrolledwindow14; GtkWidget *description; GtkWidget *statusbar; GtkAccelGroup *accel_group; GtkTooltips *tooltips; tooltips = gtk_tooltips_new (); accel_group = gtk_accel_group_new (); lshw = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (lshw), "lshw"); gtk_window_set_default_size (GTK_WINDOW (lshw), 700, 480); vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox1); gtk_container_add (GTK_CONTAINER (lshw), vbox1); menu = gtk_menu_bar_new (); gtk_widget_show (menu); gtk_box_pack_start (GTK_BOX (vbox1), menu, FALSE, FALSE, 0); menuitem4 = gtk_menu_item_new_with_mnemonic ("_File"); gtk_widget_show (menuitem4); gtk_container_add (GTK_CONTAINER (menu), menuitem4); menuitem4_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem4), menuitem4_menu); save = gtk_image_menu_item_new_from_stock ("gtk-save", accel_group); gtk_widget_show (save); gtk_container_add (GTK_CONTAINER (menuitem4_menu), save); gtk_widget_set_sensitive (save, FALSE); quit1 = gtk_image_menu_item_new_from_stock ("gtk-quit", accel_group); gtk_widget_show (quit1); gtk_container_add (GTK_CONTAINER (menuitem4_menu), quit1); menuitem6 = gtk_menu_item_new_with_mnemonic ("_View"); gtk_widget_show (menuitem6); gtk_container_add (GTK_CONTAINER (menu), menuitem6); menuitem6_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem6), menuitem6_menu); refresh1 = gtk_image_menu_item_new_from_stock ("gtk-refresh", accel_group); gtk_widget_show (refresh1); gtk_container_add (GTK_CONTAINER (menuitem6_menu), refresh1); gtk_widget_add_accelerator (refresh1, "activate", accel_group, GDK_F5, (GdkModifierType) 0, GTK_ACCEL_VISIBLE); menuitem7 = gtk_menu_item_new_with_mnemonic ("_Help"); gtk_widget_show (menuitem7); gtk_container_add (GTK_CONTAINER (menu), menuitem7); menuitem7_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem7), menuitem7_menu); about1 = gtk_menu_item_new_with_mnemonic ("_About"); gtk_widget_show (about1); gtk_container_add (GTK_CONTAINER (menuitem7_menu), about1); toolbar1 = gtk_toolbar_new (); gtk_widget_show (toolbar1); gtk_box_pack_start (GTK_BOX (vbox1), toolbar1, FALSE, FALSE, 0); gtk_toolbar_set_style (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_BOTH); tmp_toolbar_icon_size = gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1)); upbutton = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-go-up"); gtk_widget_show (upbutton); gtk_container_add (GTK_CONTAINER (toolbar1), upbutton); gtk_widget_set_sensitive (upbutton, FALSE); refreshbutton = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-refresh"); gtk_widget_show (refreshbutton); gtk_container_add (GTK_CONTAINER (toolbar1), refreshbutton); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (refreshbutton), tooltips, "Rescan the hardware", NULL); savebutton = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-save"); gtk_widget_show (savebutton); gtk_container_add (GTK_CONTAINER (toolbar1), savebutton); gtk_widget_set_sensitive (savebutton, FALSE); quitbutton = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-quit"); gtk_widget_show (quitbutton); gtk_container_add (GTK_CONTAINER (toolbar1), quitbutton); scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow1); gtk_box_pack_start (GTK_BOX (vbox1), scrolledwindow1, TRUE, TRUE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); viewport2 = gtk_viewport_new (NULL, NULL); gtk_widget_show (viewport2); gtk_container_add (GTK_CONTAINER (scrolledwindow1), viewport2); hbox1 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox1); gtk_container_add (GTK_CONTAINER (viewport2), hbox1); hpaned1 = gtk_hpaned_new (); gtk_widget_show (hpaned1); gtk_box_pack_start (GTK_BOX (hbox1), hpaned1, TRUE, TRUE, 0); hbox3 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox3); gtk_paned_pack1 (GTK_PANED (hpaned1), hbox3, FALSE, TRUE); scrolledwindow10 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow10); gtk_box_pack_start (GTK_BOX (hbox3), scrolledwindow10, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow10), 2); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow10), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow10), GTK_SHADOW_ETCHED_IN); treeview1 = gtk_tree_view_new (); gtk_widget_show (treeview1); gtk_container_add (GTK_CONTAINER (scrolledwindow10), treeview1); gtk_widget_set_size_request (treeview1, 128, -1); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview1), FALSE); scrolledwindow11 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow11); gtk_box_pack_start (GTK_BOX (hbox3), scrolledwindow11, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow11), 2); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow11), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow11), GTK_SHADOW_ETCHED_IN); treeview2 = gtk_tree_view_new (); gtk_widget_show (treeview2); gtk_container_add (GTK_CONTAINER (scrolledwindow11), treeview2); gtk_widget_set_size_request (treeview2, 128, -1); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview2), FALSE); scrolledwindow12 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow12); gtk_box_pack_start (GTK_BOX (hbox3), scrolledwindow12, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow12), 2); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow12), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow12), GTK_SHADOW_ETCHED_IN); treeview3 = gtk_tree_view_new (); gtk_widget_show (treeview3); gtk_container_add (GTK_CONTAINER (scrolledwindow12), treeview3); gtk_widget_set_size_request (treeview3, 128, -1); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview3), FALSE); vbox2 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox2); gtk_paned_pack2 (GTK_PANED (hpaned1), vbox2, TRUE, TRUE); scrolledwindow13 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow13); gtk_box_pack_start (GTK_BOX (vbox2), scrolledwindow13, TRUE, TRUE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow13), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); viewport3 = gtk_viewport_new (NULL, NULL); gtk_widget_show (viewport3); gtk_container_add (GTK_CONTAINER (scrolledwindow13), viewport3); gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport3), GTK_SHADOW_NONE); scrolledwindow14 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow14); gtk_container_add (GTK_CONTAINER (viewport3), scrolledwindow14); gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow14), 2); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow14), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow14), GTK_SHADOW_ETCHED_IN); description = gtk_text_view_new (); gtk_widget_show (description); gtk_container_add (GTK_CONTAINER (scrolledwindow14), description); GTK_WIDGET_UNSET_FLAGS (description, GTK_CAN_FOCUS); gtk_tooltips_set_tip (tooltips, description, "This pane displays detailed information about the selected hardware node", NULL); gtk_text_view_set_editable (GTK_TEXT_VIEW (description), FALSE); gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (description), FALSE); gtk_text_view_set_left_margin (GTK_TEXT_VIEW (description), 10); gtk_text_view_set_right_margin (GTK_TEXT_VIEW (description), 10); gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (description)), "no information available.\n\nclick on Refresh to query hardware", -1); statusbar = gtk_statusbar_new (); gtk_widget_show (statusbar); gtk_box_pack_start (GTK_BOX (vbox1), statusbar, FALSE, FALSE, 0); gtk_statusbar_set_has_resize_grip (GTK_STATUSBAR (statusbar), FALSE); g_signal_connect ((gpointer) lshw, "delete_event", G_CALLBACK (gtk_main_quit), NULL); g_signal_connect_after ((gpointer) lshw, "map", G_CALLBACK (on_lshw_map), NULL); g_signal_connect ((gpointer) save, "activate", G_CALLBACK (on_save_activate), NULL); g_signal_connect ((gpointer) quit1, "activate", G_CALLBACK (gtk_main_quit), NULL); g_signal_connect ((gpointer) refresh1, "activate", G_CALLBACK (refresh_display), NULL); g_signal_connect ((gpointer) about1, "activate", G_CALLBACK (on_about1_activate), NULL); g_signal_connect ((gpointer) upbutton, "clicked", G_CALLBACK (go_up), NULL); g_signal_connect ((gpointer) refreshbutton, "clicked", G_CALLBACK (refresh_display), NULL); g_signal_connect ((gpointer) savebutton, "clicked", G_CALLBACK (on_savebutton_clicked), NULL); g_signal_connect ((gpointer) quitbutton, "clicked", G_CALLBACK (gtk_main_quit), NULL); g_signal_connect ((gpointer) treeview1, "row_activated", G_CALLBACK (on_treeview1_row_activated), NULL); g_signal_connect ((gpointer) treeview1, "cursor_changed", G_CALLBACK (on_treeview1_cursor_changed), NULL); g_signal_connect ((gpointer) treeview2, "row_activated", G_CALLBACK (on_treeview2_row_activated), NULL); g_signal_connect ((gpointer) treeview2, "cursor_changed", G_CALLBACK (on_treeview2_cursor_changed), NULL); g_signal_connect ((gpointer) treeview3, "row_activated", G_CALLBACK (on_treeview3_row_activated), NULL); g_signal_connect ((gpointer) treeview3, "cursor_changed", G_CALLBACK (on_treeview3_cursor_changed), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (lshw, lshw, "lshw"); GLADE_HOOKUP_OBJECT (lshw, vbox1, "vbox1"); GLADE_HOOKUP_OBJECT (lshw, menu, "menu"); GLADE_HOOKUP_OBJECT (lshw, menuitem4, "menuitem4"); GLADE_HOOKUP_OBJECT (lshw, menuitem4_menu, "menuitem4_menu"); GLADE_HOOKUP_OBJECT (lshw, save, "save"); GLADE_HOOKUP_OBJECT (lshw, quit1, "quit1"); GLADE_HOOKUP_OBJECT (lshw, menuitem6, "menuitem6"); GLADE_HOOKUP_OBJECT (lshw, menuitem6_menu, "menuitem6_menu"); GLADE_HOOKUP_OBJECT (lshw, refresh1, "refresh1"); GLADE_HOOKUP_OBJECT (lshw, menuitem7, "menuitem7"); GLADE_HOOKUP_OBJECT (lshw, menuitem7_menu, "menuitem7_menu"); GLADE_HOOKUP_OBJECT (lshw, about1, "about1"); GLADE_HOOKUP_OBJECT (lshw, toolbar1, "toolbar1"); GLADE_HOOKUP_OBJECT (lshw, upbutton, "upbutton"); GLADE_HOOKUP_OBJECT (lshw, refreshbutton, "refreshbutton"); GLADE_HOOKUP_OBJECT (lshw, savebutton, "savebutton"); GLADE_HOOKUP_OBJECT (lshw, quitbutton, "quitbutton"); GLADE_HOOKUP_OBJECT (lshw, scrolledwindow1, "scrolledwindow1"); GLADE_HOOKUP_OBJECT (lshw, viewport2, "viewport2"); GLADE_HOOKUP_OBJECT (lshw, hbox1, "hbox1"); GLADE_HOOKUP_OBJECT (lshw, hpaned1, "hpaned1"); GLADE_HOOKUP_OBJECT (lshw, hbox3, "hbox3"); GLADE_HOOKUP_OBJECT (lshw, scrolledwindow10, "scrolledwindow10"); GLADE_HOOKUP_OBJECT (lshw, treeview1, "treeview1"); GLADE_HOOKUP_OBJECT (lshw, scrolledwindow11, "scrolledwindow11"); GLADE_HOOKUP_OBJECT (lshw, treeview2, "treeview2"); GLADE_HOOKUP_OBJECT (lshw, scrolledwindow12, "scrolledwindow12"); GLADE_HOOKUP_OBJECT (lshw, treeview3, "treeview3"); GLADE_HOOKUP_OBJECT (lshw, vbox2, "vbox2"); GLADE_HOOKUP_OBJECT (lshw, scrolledwindow13, "scrolledwindow13"); GLADE_HOOKUP_OBJECT (lshw, viewport3, "viewport3"); GLADE_HOOKUP_OBJECT (lshw, scrolledwindow14, "scrolledwindow14"); GLADE_HOOKUP_OBJECT (lshw, description, "description"); GLADE_HOOKUP_OBJECT (lshw, statusbar, "statusbar"); GLADE_HOOKUP_OBJECT_NO_REF (lshw, tooltips, "tooltips"); gtk_window_add_accel_group (GTK_WINDOW (lshw), accel_group); return lshw; }
bool wxToolBar::DoInsertTool(size_t pos, wxToolBarToolBase *toolBase) { wxToolBarTool* tool = static_cast<wxToolBarTool*>(toolBase); GSList* radioGroup; switch ( tool->GetStyle() ) { case wxTOOL_STYLE_BUTTON: switch (tool->GetKind()) { case wxITEM_CHECK: tool->m_item = gtk_toggle_tool_button_new(); g_signal_connect(tool->m_item, "toggled", G_CALLBACK(item_toggled), tool); break; case wxITEM_RADIO: radioGroup = GetRadioGroup(pos); if (radioGroup) { // this is the first button in the radio button group, // it will be toggled automatically by GTK so bring the // internal flag in sync tool->Toggle(true); } tool->m_item = gtk_radio_tool_button_new(radioGroup); g_signal_connect(tool->m_item, "toggled", G_CALLBACK(item_toggled), tool); break; default: wxFAIL_MSG("unknown toolbar child type"); // fall through case wxITEM_DROPDOWN: case wxITEM_NORMAL: tool->m_item = gtk_tool_button_new(NULL, ""); g_signal_connect(tool->m_item, "clicked", G_CALLBACK(item_clicked), tool); break; } if (!HasFlag(wxTB_NOICONS)) { GtkWidget* image = gtk_image_new(); gtk_tool_button_set_icon_widget( GTK_TOOL_BUTTON(tool->m_item), image); tool->SetImage(); gtk_widget_show(image); g_signal_connect(image, "expose_event", G_CALLBACK(image_expose_event), tool); } if (!tool->GetLabel().empty()) { gtk_tool_button_set_label( GTK_TOOL_BUTTON(tool->m_item), wxGTK_CONV(tool->GetLabel())); // needed for labels in horizontal toolbar with wxTB_HORZ_LAYOUT gtk_tool_item_set_is_important(tool->m_item, true); } if (!HasFlag(wxTB_NO_TOOLTIPS) && !tool->GetShortHelp().empty()) { gtk_tool_item_set_tooltip(tool->m_item, m_tooltips, wxGTK_CONV(tool->GetShortHelp()), ""); } g_signal_connect(GTK_BIN(tool->m_item)->child, "button_press_event", G_CALLBACK(button_press_event), tool); g_signal_connect(tool->m_item, "enter_notify_event", G_CALLBACK(enter_notify_event), tool); g_signal_connect(tool->m_item, "leave_notify_event", G_CALLBACK(enter_notify_event), tool); if (tool->GetKind() == wxITEM_DROPDOWN) tool->CreateDropDown(); gtk_toolbar_insert(m_toolbar, tool->m_item, int(pos)); break; case wxTOOL_STYLE_SEPARATOR: tool->m_item = gtk_separator_tool_item_new(); gtk_toolbar_insert(m_toolbar, tool->m_item, int(pos)); break; case wxTOOL_STYLE_CONTROL: wxWindow* control = tool->GetControl(); if (control->m_widget->parent == NULL) AddChildGTK(control); tool->m_item = GTK_TOOL_ITEM(control->m_widget->parent->parent); if (gtk_toolbar_get_item_index(m_toolbar, tool->m_item) != int(pos)) { g_object_ref(tool->m_item); gtk_container_remove( GTK_CONTAINER(m_toolbar), GTK_WIDGET(tool->m_item)); gtk_toolbar_insert(m_toolbar, tool->m_item, int(pos)); g_object_unref(tool->m_item); } // Inserted items "slide" into place using an animated effect that // causes multiple size events on the item. Must set size request // to keep item size from getting permanently set too small by the // first of these size events. const wxSize size = control->GetSize(); gtk_widget_set_size_request(control->m_widget, size.x, size.y); break; } gtk_widget_show(GTK_WIDGET(tool->m_item)); InvalidateBestSize(); return true; }
GtkWidget* create_dialog1 (void) { GtkWidget *dialog1; GtkWidget *dialog_vbox1; GtkWidget *vbox3b; GtkWidget *toolbar1; GtkIconSize tmp_toolbar_icon_size; GtkWidget *toolbuttonOpen; GtkWidget *toolbuttonSave; GtkWidget *tmp_image; GtkWidget *toolbuttonScript; GtkWidget *toolbuttonDVD; GtkWidget *toolbuttonHalfD1; GtkWidget *toolbuttonSVCD; GtkWidget *toolbuttonVCD; GtkWidget *hbox11; GtkWidget *frame1; GtkWidget *alignment1; GtkWidget *vbox2; GtkWidget *notebook1; GtkWidget *scrolledwindow1; GtkWidget *treeview1; GtkWidget *hbox5; GtkWidget *image1; GtkWidget *label11; GtkWidget *scrolledwindow2; GtkWidget *treeview2; GtkWidget *hbox6; GtkWidget *image2; GtkWidget *label17; GtkWidget *scrolledwindow3; GtkWidget *treeview3; GtkWidget *hbox7; GtkWidget *image3; GtkWidget *label18; GtkWidget *scrolledwindow4; GtkWidget *treeview4; GtkWidget *hbox8; GtkWidget *image4; GtkWidget *label19; GtkWidget *scrolledwindow5; GtkWidget *treeview5; GtkWidget *hbox9; GtkWidget *image5; GtkWidget *label20; GtkWidget *scrolledwindow6; GtkWidget *treeview6; GtkWidget *hbox10; GtkWidget *image6; GtkWidget *label21; GtkWidget *scrolledwindow7; GtkWidget *treeview7; GtkWidget *hbox4; GtkWidget *image7; GtkWidget *label22; GtkWidget *treeview8; GtkWidget *label28; GtkWidget *hbox13; GtkWidget *buttonAdd; GtkWidget *image11; GtkWidget *label23; GtkWidget *frame2; GtkWidget *alignment2; GtkWidget *hbox1; GtkWidget *vbox3; GtkWidget *scrolledwindow9; GtkWidget *treeview0; GtkWidget *hbox14; GtkWidget *buttonRemove; GtkWidget *image15; GtkWidget *buttonDown; GtkWidget *image14; GtkWidget *buttonUp; GtkWidget *image13; GtkWidget *buttonPartial; GtkWidget *buttonProperties; GtkWidget *alignment4; GtkWidget *hbox16; GtkWidget *label25; GtkWidget *label2; GtkWidget *dialog_action_area1; GtkWidget *buttonPreview; GtkWidget *alignment5; GtkWidget *hbox17; GtkWidget *image17; GtkWidget *label26; GtkWidget *buttonClose; GtkAccelGroup *accel_group; GtkTooltips *tooltips; tooltips = gtk_tooltips_new (); accel_group = gtk_accel_group_new (); dialog1 = gtk_dialog_new (); gtk_container_set_border_width (GTK_CONTAINER (dialog1), 6); gtk_window_set_title (GTK_WINDOW (dialog1), QT_TR_NOOP("Video Filter Manager")); gtk_window_set_type_hint (GTK_WINDOW (dialog1), GDK_WINDOW_TYPE_HINT_DIALOG); gtk_dialog_set_has_separator (GTK_DIALOG (dialog1), FALSE); dialog_vbox1 = GTK_DIALOG (dialog1)->vbox; gtk_box_set_spacing (GTK_BOX(dialog_vbox1), 12); gtk_widget_show (dialog_vbox1); vbox3b = gtk_vbox_new (FALSE, 12); gtk_widget_show (vbox3b); gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox3b, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox3b), 6); toolbar1 = gtk_toolbar_new (); gtk_widget_show (toolbar1); gtk_box_pack_start (GTK_BOX (vbox3b), toolbar1, FALSE, FALSE, 0); gtk_toolbar_set_style (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_BOTH); tmp_toolbar_icon_size = gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1)); toolbuttonOpen = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-open"); gtk_widget_show (toolbuttonOpen); gtk_container_add (GTK_CONTAINER (toolbar1), toolbuttonOpen); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbuttonOpen), tooltips, QT_TR_NOOP("Open filter list [Ctrl-O]"), NULL); gtk_widget_add_accelerator (toolbuttonOpen, "clicked", accel_group, GDK_O, (GdkModifierType) GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); gtk_tool_item_set_is_important (GTK_TOOL_ITEM (toolbuttonOpen), TRUE); toolbuttonSave = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-save"); gtk_widget_show (toolbuttonSave); gtk_container_add (GTK_CONTAINER (toolbar1), toolbuttonSave); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbuttonSave), tooltips, QT_TR_NOOP("Save filter list [Ctrl-S]"), NULL); gtk_widget_add_accelerator (toolbuttonSave, "clicked", accel_group, GDK_S, (GdkModifierType) GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); gtk_tool_item_set_is_important (GTK_TOOL_ITEM (toolbuttonSave), TRUE); tmp_image = gtk_image_new_from_stock ("gtk-save-as", tmp_toolbar_icon_size); gtk_widget_show (tmp_image); toolbuttonScript = (GtkWidget*) gtk_tool_button_new (tmp_image, QT_TR_NOOP("Save Script")); gtk_widget_show (toolbuttonScript); gtk_container_add (GTK_CONTAINER (toolbar1), toolbuttonScript); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbuttonScript), tooltips, QT_TR_NOOP("Save as script [Ctrl-J]"), NULL); gtk_widget_add_accelerator (toolbuttonScript, "clicked", accel_group, GDK_J, (GdkModifierType) GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); gtk_tool_item_set_is_important (GTK_TOOL_ITEM (toolbuttonScript), TRUE); tmp_image = gtk_image_new_from_stock ("gtk-cdrom", tmp_toolbar_icon_size); gtk_widget_show (tmp_image); toolbuttonDVD = (GtkWidget*) gtk_tool_button_new (tmp_image, QT_TR_NOOP("DVD Res")); gtk_widget_show (toolbuttonDVD); gtk_container_add (GTK_CONTAINER (toolbar1), toolbuttonDVD); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbuttonDVD), tooltips, QT_TR_NOOP("DVD resolution [Ctrl-1]"), NULL); gtk_widget_add_accelerator (toolbuttonDVD, "clicked", accel_group, GDK_1, (GdkModifierType) GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); gtk_tool_item_set_is_important (GTK_TOOL_ITEM (toolbuttonDVD), TRUE); tmp_image = gtk_image_new_from_stock ("gtk-cdrom", tmp_toolbar_icon_size); gtk_widget_show (tmp_image); toolbuttonHalfD1 = (GtkWidget*) gtk_tool_button_new (tmp_image, QT_TR_NOOP("Half D1 Res")); gtk_widget_show (toolbuttonHalfD1); gtk_container_add (GTK_CONTAINER (toolbar1), toolbuttonHalfD1); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbuttonHalfD1), tooltips, QT_TR_NOOP("Half D1 resolution [Ctrl-2]"), NULL); gtk_widget_add_accelerator (toolbuttonHalfD1, "clicked", accel_group, GDK_2, (GdkModifierType) GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); gtk_tool_item_set_is_important (GTK_TOOL_ITEM (toolbuttonHalfD1), TRUE); tmp_image = gtk_image_new_from_stock ("gtk-cdrom", tmp_toolbar_icon_size); gtk_widget_show (tmp_image); toolbuttonSVCD = (GtkWidget*) gtk_tool_button_new (tmp_image, QT_TR_NOOP("SVCD Res")); gtk_widget_show (toolbuttonSVCD); gtk_container_add (GTK_CONTAINER (toolbar1), toolbuttonSVCD); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbuttonSVCD), tooltips, QT_TR_NOOP("SVCD resolution [Ctrl-3]"), NULL); gtk_widget_add_accelerator (toolbuttonSVCD, "clicked", accel_group, GDK_3, (GdkModifierType) GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); gtk_tool_item_set_is_important (GTK_TOOL_ITEM (toolbuttonSVCD), TRUE); tmp_image = gtk_image_new_from_stock ("gtk-cdrom", tmp_toolbar_icon_size); gtk_widget_show (tmp_image); toolbuttonVCD = (GtkWidget*) gtk_tool_button_new (tmp_image, QT_TR_NOOP("VCD Res")); gtk_widget_show (toolbuttonVCD); gtk_container_add (GTK_CONTAINER (toolbar1), toolbuttonVCD); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbuttonVCD), tooltips, QT_TR_NOOP("VCD resolution [Ctrl-4]"), NULL); gtk_widget_add_accelerator (toolbuttonVCD, "clicked", accel_group, GDK_4, (GdkModifierType) GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); gtk_tool_item_set_is_important (GTK_TOOL_ITEM (toolbuttonVCD), TRUE); hbox11 = gtk_hbox_new (FALSE, 12); gtk_widget_show (hbox11); gtk_box_pack_start (GTK_BOX (vbox3b), hbox11, TRUE, TRUE, 0); frame1 = gtk_frame_new (NULL); gtk_widget_show (frame1); gtk_box_pack_start (GTK_BOX (hbox11), frame1, TRUE, TRUE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_NONE); alignment1 = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_show (alignment1); gtk_container_add (GTK_CONTAINER (frame1), alignment1); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment1), 6, 0, 18, 0); vbox2 = gtk_vbox_new (FALSE, 6); gtk_widget_show (vbox2); gtk_container_add (GTK_CONTAINER (alignment1), vbox2); notebook1 = gtk_notebook_new (); gtk_widget_show (notebook1); gtk_box_pack_start (GTK_BOX (vbox2), notebook1, TRUE, TRUE, 0); gtk_notebook_set_show_border (GTK_NOTEBOOK (notebook1), FALSE); gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook1), GTK_POS_LEFT); scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow1); gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow1); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); treeview1 = gtk_tree_view_new (); gtk_widget_show (treeview1); gtk_container_add (GTK_CONTAINER (scrolledwindow1), treeview1); gtk_widget_set_size_request (treeview1, 288, 336); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview1), FALSE); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview1), TRUE); gtk_tree_view_set_enable_search (GTK_TREE_VIEW (treeview1), FALSE); hbox5 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox5); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), hbox5); image1 = create_pixmap (dialog1, "1.png"); gtk_widget_show (image1); gtk_box_pack_start (GTK_BOX (hbox5), image1, FALSE, FALSE, 0); label11 = gtk_label_new_with_mnemonic (QT_TR_NOOP("Transform")); gtk_widget_show (label11); gtk_box_pack_start (GTK_BOX (hbox5), label11, FALSE, FALSE, 4); gtk_label_set_use_markup (GTK_LABEL (label11), TRUE); scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow2); gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow2); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); treeview2 = gtk_tree_view_new (); gtk_widget_show (treeview2); gtk_container_add (GTK_CONTAINER (scrolledwindow2), treeview2); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview2), FALSE); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview2), TRUE); gtk_tree_view_set_enable_search (GTK_TREE_VIEW (treeview2), FALSE); hbox6 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox6); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 1), hbox6); image2 = create_pixmap (dialog1, "2.png"); gtk_widget_show (image2); gtk_box_pack_start (GTK_BOX (hbox6), image2, FALSE, FALSE, 0); label17 = gtk_label_new_with_mnemonic (QT_TR_NOOP("Interlacing")); gtk_widget_show (label17); gtk_box_pack_start (GTK_BOX (hbox6), label17, FALSE, FALSE, 4); scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow3); gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow3); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); treeview3 = gtk_tree_view_new (); gtk_widget_show (treeview3); gtk_container_add (GTK_CONTAINER (scrolledwindow3), treeview3); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview3), FALSE); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview3), TRUE); gtk_tree_view_set_enable_search (GTK_TREE_VIEW (treeview3), FALSE); hbox7 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox7); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 2), hbox7); image3 = create_pixmap (dialog1, "4.png"); gtk_widget_show (image3); gtk_box_pack_start (GTK_BOX (hbox7), image3, FALSE, FALSE, 0); label18 = gtk_label_new_with_mnemonic (QT_TR_NOOP("Colors")); gtk_widget_show (label18); gtk_box_pack_start (GTK_BOX (hbox7), label18, FALSE, FALSE, 4); scrolledwindow4 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow4); gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow4); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); treeview4 = gtk_tree_view_new (); gtk_widget_show (treeview4); gtk_container_add (GTK_CONTAINER (scrolledwindow4), treeview4); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview4), FALSE); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview4), TRUE); gtk_tree_view_set_enable_search (GTK_TREE_VIEW (treeview4), FALSE); hbox8 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox8); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 3), hbox8); image4 = create_pixmap (dialog1, "5.png"); gtk_widget_show (image4); gtk_box_pack_start (GTK_BOX (hbox8), image4, FALSE, FALSE, 0); label19 = gtk_label_new_with_mnemonic (QT_TR_NOOP("Noise")); gtk_widget_show (label19); gtk_box_pack_start (GTK_BOX (hbox8), label19, FALSE, FALSE, 4); scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow5); gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow5); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); treeview5 = gtk_tree_view_new (); gtk_widget_show (treeview5); gtk_container_add (GTK_CONTAINER (scrolledwindow5), treeview5); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview5), FALSE); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview5), TRUE); gtk_tree_view_set_enable_search (GTK_TREE_VIEW (treeview5), FALSE); hbox9 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox9); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 4), hbox9); image5 = create_pixmap (dialog1, "3.png"); gtk_widget_show (image5); gtk_box_pack_start (GTK_BOX (hbox9), image5, FALSE, FALSE, 0); label20 = gtk_label_new_with_mnemonic (QT_TR_NOOP("Sharpness")); gtk_widget_show (label20); gtk_box_pack_start (GTK_BOX (hbox9), label20, FALSE, FALSE, 4); scrolledwindow6 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow6); gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow6); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow6), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); treeview6 = gtk_tree_view_new (); gtk_widget_show (treeview6); gtk_container_add (GTK_CONTAINER (scrolledwindow6), treeview6); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview6), FALSE); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview6), TRUE); gtk_tree_view_set_enable_search (GTK_TREE_VIEW (treeview6), FALSE); hbox10 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox10); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 5), hbox10); image6 = create_pixmap (dialog1, "7.png"); gtk_widget_show (image6); gtk_box_pack_start (GTK_BOX (hbox10), image6, FALSE, FALSE, 0); label21 = gtk_label_new_with_mnemonic (QT_TR_NOOP("Subtitles")); gtk_widget_show (label21); gtk_box_pack_start (GTK_BOX (hbox10), label21, FALSE, FALSE, 4); scrolledwindow7 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow7); gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow7); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow7), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); treeview7 = gtk_tree_view_new (); gtk_widget_show (treeview7); gtk_container_add (GTK_CONTAINER (scrolledwindow7), treeview7); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview7), FALSE); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview7), TRUE); gtk_tree_view_set_enable_search (GTK_TREE_VIEW (treeview7), FALSE); hbox4 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox4); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 6), hbox4); image7 = create_pixmap (dialog1, "6.png"); gtk_widget_show (image7); gtk_box_pack_start (GTK_BOX (hbox4), image7, FALSE, FALSE, 0); label22 = gtk_label_new_with_mnemonic (QT_TR_NOOP("Misc")); gtk_widget_show (label22); gtk_box_pack_start (GTK_BOX (hbox4), label22, FALSE, FALSE, 4); treeview8 = gtk_tree_view_new (); gtk_widget_show (treeview8); gtk_container_add (GTK_CONTAINER (notebook1), treeview8); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview8), FALSE); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview8), TRUE); gtk_tree_view_set_enable_search (GTK_TREE_VIEW (treeview8), FALSE); label28 = gtk_label_new (QT_TR_NOOP("External")); gtk_widget_show (label28); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 7), label28); hbox13 = gtk_hbox_new (FALSE, 6); gtk_widget_show (hbox13); gtk_box_pack_start (GTK_BOX (vbox2), hbox13, FALSE, FALSE, 0); buttonAdd = gtk_button_new (); gtk_widget_show (buttonAdd); gtk_box_pack_end (GTK_BOX (hbox13), buttonAdd, FALSE, FALSE, 0); gtk_tooltips_set_tip (tooltips, buttonAdd, QT_TR_NOOP("Add selected filter to the Active Filters list"), NULL); image11 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image11); gtk_container_add (GTK_CONTAINER (buttonAdd), image11); label23 = gtk_label_new (QT_TR_NOOP("<b>Available Filters</b>")); gtk_widget_show (label23); gtk_frame_set_label_widget (GTK_FRAME (frame1), label23); gtk_label_set_use_markup (GTK_LABEL (label23), TRUE); gtk_misc_set_alignment (GTK_MISC (label23), 1, 1); frame2 = gtk_frame_new (NULL); gtk_widget_show (frame2); gtk_box_pack_start (GTK_BOX (hbox11), frame2, TRUE, TRUE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame2), GTK_SHADOW_NONE); alignment2 = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_show (alignment2); gtk_container_add (GTK_CONTAINER (frame2), alignment2); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment2), 6, 0, 18, 0); hbox1 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox1); gtk_container_add (GTK_CONTAINER (alignment2), hbox1); vbox3 = gtk_vbox_new (FALSE, 6); gtk_widget_show (vbox3); gtk_box_pack_start (GTK_BOX (hbox1), vbox3, TRUE, TRUE, 0); scrolledwindow9 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow9); gtk_box_pack_start (GTK_BOX (vbox3), scrolledwindow9, TRUE, TRUE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow9), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow9), GTK_SHADOW_OUT); treeview0 = gtk_tree_view_new (); gtk_widget_show (treeview0); gtk_container_add (GTK_CONTAINER (scrolledwindow9), treeview0); gtk_widget_set_size_request (treeview0, 288, 336); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview0), FALSE); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview0), TRUE); gtk_tree_view_set_enable_search (GTK_TREE_VIEW (treeview0), FALSE); hbox14 = gtk_hbox_new (FALSE, 6); gtk_widget_show (hbox14); gtk_box_pack_start (GTK_BOX (vbox3), hbox14, FALSE, FALSE, 0); buttonRemove = gtk_button_new (); gtk_widget_show (buttonRemove); gtk_box_pack_end (GTK_BOX (hbox14), buttonRemove, FALSE, FALSE, 0); gtk_tooltips_set_tip (tooltips, buttonRemove, QT_TR_NOOP("Remove filter"), NULL); image15 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image15); gtk_container_add (GTK_CONTAINER (buttonRemove), image15); buttonDown = gtk_button_new (); gtk_widget_show (buttonDown); gtk_box_pack_end (GTK_BOX (hbox14), buttonDown, FALSE, FALSE, 0); gtk_tooltips_set_tip (tooltips, buttonDown, QT_TR_NOOP("Move filter down"), NULL); image14 = gtk_image_new_from_icon_name ("gtk-go-down", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image14); gtk_container_add (GTK_CONTAINER (buttonDown), image14); buttonUp = gtk_button_new (); gtk_widget_show (buttonUp); gtk_box_pack_end (GTK_BOX (hbox14), buttonUp, FALSE, FALSE, 0); gtk_tooltips_set_tip (tooltips, buttonUp, QT_TR_NOOP("Move filter up"), NULL); image13 = gtk_image_new_from_icon_name ("gtk-go-up", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image13); gtk_container_add (GTK_CONTAINER (buttonUp), image13); buttonPartial = gtk_button_new_with_mnemonic (QT_TR_NOOP("P_artial")); gtk_widget_show (buttonPartial); gtk_box_pack_end (GTK_BOX (hbox14), buttonPartial, FALSE, FALSE, 0); gtk_tooltips_set_tip (tooltips, buttonPartial, QT_TR_NOOP("Apply the current filter only to a part of the file"), NULL); buttonProperties = gtk_button_new (); gtk_widget_show (buttonProperties); gtk_box_pack_end (GTK_BOX (hbox14), buttonProperties, FALSE, FALSE, 0); gtk_tooltips_set_tip (tooltips, buttonProperties, QT_TR_NOOP("Configure filter"), NULL); alignment4 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_show (alignment4); gtk_container_add (GTK_CONTAINER (buttonProperties), alignment4); hbox16 = gtk_hbox_new (FALSE, 2); gtk_widget_show (hbox16); gtk_container_add (GTK_CONTAINER (alignment4), hbox16); label25 = gtk_label_new_with_mnemonic (QT_TR_NOOP("C_onfigure")); gtk_widget_show (label25); gtk_box_pack_start (GTK_BOX (hbox16), label25, FALSE, FALSE, 0); label2 = gtk_label_new (QT_TR_NOOP("<b >Active Filters</b>")); gtk_widget_show (label2); gtk_frame_set_label_widget (GTK_FRAME (frame2), label2); gtk_label_set_use_markup (GTK_LABEL (label2), TRUE); gtk_misc_set_alignment (GTK_MISC (label2), 1, 1); dialog_action_area1 = GTK_DIALOG (dialog1)->action_area; gtk_widget_show (dialog_action_area1); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END); buttonPreview = gtk_button_new (); gtk_widget_show (buttonPreview); gtk_dialog_add_action_widget (GTK_DIALOG (dialog1), buttonPreview, GTK_RESPONSE_APPLY); GTK_WIDGET_SET_FLAGS (buttonPreview, GTK_CAN_DEFAULT); alignment5 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_show (alignment5); gtk_container_add (GTK_CONTAINER (buttonPreview), alignment5); hbox17 = gtk_hbox_new (FALSE, 2); gtk_widget_show (hbox17); gtk_container_add (GTK_CONTAINER (alignment5), hbox17); image17 = create_pixmap (dialog1, "preview-button.png"); gtk_widget_show (image17); gtk_box_pack_start (GTK_BOX (hbox17), image17, FALSE, FALSE, 0); label26 = gtk_label_new_with_mnemonic (QT_TR_NOOP("_Preview")); gtk_widget_show (label26); gtk_box_pack_start (GTK_BOX (hbox17), label26, FALSE, FALSE, 0); buttonClose = gtk_button_new_from_stock ("gtk-close"); gtk_widget_show (buttonClose); gtk_dialog_add_action_widget (GTK_DIALOG (dialog1), buttonClose, GTK_RESPONSE_CLOSE); GTK_WIDGET_SET_FLAGS (buttonClose, GTK_CAN_DEFAULT); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog1, "dialog1"); GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog_vbox1, "dialog_vbox1"); GLADE_HOOKUP_OBJECT (dialog1, vbox3b, "vbox3b"); GLADE_HOOKUP_OBJECT (dialog1, toolbar1, "toolbar1"); GLADE_HOOKUP_OBJECT (dialog1, toolbuttonOpen, "toolbuttonOpen"); GLADE_HOOKUP_OBJECT (dialog1, toolbuttonSave, "toolbuttonSave"); GLADE_HOOKUP_OBJECT (dialog1, toolbuttonScript, "toolbuttonScript"); GLADE_HOOKUP_OBJECT (dialog1, toolbuttonDVD, "toolbuttonDVD"); GLADE_HOOKUP_OBJECT (dialog1, toolbuttonHalfD1, "toolbuttonHalfD1"); GLADE_HOOKUP_OBJECT (dialog1, toolbuttonSVCD, "toolbuttonSVCD"); GLADE_HOOKUP_OBJECT (dialog1, toolbuttonVCD, "toolbuttonVCD"); GLADE_HOOKUP_OBJECT (dialog1, hbox11, "hbox11"); GLADE_HOOKUP_OBJECT (dialog1, frame1, "frame1"); GLADE_HOOKUP_OBJECT (dialog1, alignment1, "alignment1"); GLADE_HOOKUP_OBJECT (dialog1, vbox2, "vbox2"); GLADE_HOOKUP_OBJECT (dialog1, notebook1, "notebook1"); GLADE_HOOKUP_OBJECT (dialog1, scrolledwindow1, "scrolledwindow1"); GLADE_HOOKUP_OBJECT (dialog1, treeview1, "treeview1"); GLADE_HOOKUP_OBJECT (dialog1, hbox5, "hbox5"); GLADE_HOOKUP_OBJECT (dialog1, image1, "image1"); GLADE_HOOKUP_OBJECT (dialog1, label11, "label11"); GLADE_HOOKUP_OBJECT (dialog1, scrolledwindow2, "scrolledwindow2"); GLADE_HOOKUP_OBJECT (dialog1, treeview2, "treeview2"); GLADE_HOOKUP_OBJECT (dialog1, hbox6, "hbox6"); GLADE_HOOKUP_OBJECT (dialog1, image2, "image2"); GLADE_HOOKUP_OBJECT (dialog1, label17, "label17"); GLADE_HOOKUP_OBJECT (dialog1, scrolledwindow3, "scrolledwindow3"); GLADE_HOOKUP_OBJECT (dialog1, treeview3, "treeview3"); GLADE_HOOKUP_OBJECT (dialog1, hbox7, "hbox7"); GLADE_HOOKUP_OBJECT (dialog1, image3, "image3"); GLADE_HOOKUP_OBJECT (dialog1, label18, "label18"); GLADE_HOOKUP_OBJECT (dialog1, scrolledwindow4, "scrolledwindow4"); GLADE_HOOKUP_OBJECT (dialog1, treeview4, "treeview4"); GLADE_HOOKUP_OBJECT (dialog1, hbox8, "hbox8"); GLADE_HOOKUP_OBJECT (dialog1, image4, "image4"); GLADE_HOOKUP_OBJECT (dialog1, label19, "label19"); GLADE_HOOKUP_OBJECT (dialog1, scrolledwindow5, "scrolledwindow5"); GLADE_HOOKUP_OBJECT (dialog1, treeview5, "treeview5"); GLADE_HOOKUP_OBJECT (dialog1, hbox9, "hbox9"); GLADE_HOOKUP_OBJECT (dialog1, image5, "image5"); GLADE_HOOKUP_OBJECT (dialog1, label20, "label20"); GLADE_HOOKUP_OBJECT (dialog1, scrolledwindow6, "scrolledwindow6"); GLADE_HOOKUP_OBJECT (dialog1, treeview6, "treeview6"); GLADE_HOOKUP_OBJECT (dialog1, hbox10, "hbox10"); GLADE_HOOKUP_OBJECT (dialog1, image6, "image6"); GLADE_HOOKUP_OBJECT (dialog1, label21, "label21"); GLADE_HOOKUP_OBJECT (dialog1, scrolledwindow7, "scrolledwindow7"); GLADE_HOOKUP_OBJECT (dialog1, treeview7, "treeview7"); GLADE_HOOKUP_OBJECT (dialog1, hbox4, "hbox4"); GLADE_HOOKUP_OBJECT (dialog1, image7, "image7"); GLADE_HOOKUP_OBJECT (dialog1, label22, "label22"); GLADE_HOOKUP_OBJECT (dialog1, treeview8, "treeview8"); GLADE_HOOKUP_OBJECT (dialog1, label28, "label28"); GLADE_HOOKUP_OBJECT (dialog1, hbox13, "hbox13"); GLADE_HOOKUP_OBJECT (dialog1, buttonAdd, "buttonAdd"); GLADE_HOOKUP_OBJECT (dialog1, image11, "image11"); GLADE_HOOKUP_OBJECT (dialog1, label23, "label23"); GLADE_HOOKUP_OBJECT (dialog1, frame2, "frame2"); GLADE_HOOKUP_OBJECT (dialog1, alignment2, "alignment2"); GLADE_HOOKUP_OBJECT (dialog1, hbox1, "hbox1"); GLADE_HOOKUP_OBJECT (dialog1, vbox3, "vbox3"); GLADE_HOOKUP_OBJECT (dialog1, scrolledwindow9, "scrolledwindow9"); GLADE_HOOKUP_OBJECT (dialog1, treeview0, "treeview0"); GLADE_HOOKUP_OBJECT (dialog1, hbox14, "hbox14"); GLADE_HOOKUP_OBJECT (dialog1, buttonRemove, "buttonRemove"); GLADE_HOOKUP_OBJECT (dialog1, image15, "image15"); GLADE_HOOKUP_OBJECT (dialog1, buttonDown, "buttonDown"); GLADE_HOOKUP_OBJECT (dialog1, image14, "image14"); GLADE_HOOKUP_OBJECT (dialog1, buttonUp, "buttonUp"); GLADE_HOOKUP_OBJECT (dialog1, image13, "image13"); GLADE_HOOKUP_OBJECT (dialog1, buttonPartial, "buttonPartial"); GLADE_HOOKUP_OBJECT (dialog1, buttonProperties, "buttonProperties"); GLADE_HOOKUP_OBJECT (dialog1, alignment4, "alignment4"); GLADE_HOOKUP_OBJECT (dialog1, hbox16, "hbox16"); GLADE_HOOKUP_OBJECT (dialog1, label25, "label25"); GLADE_HOOKUP_OBJECT (dialog1, label2, "label2"); GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog_action_area1, "dialog_action_area1"); GLADE_HOOKUP_OBJECT (dialog1, buttonPreview, "buttonPreview"); GLADE_HOOKUP_OBJECT (dialog1, alignment5, "alignment5"); GLADE_HOOKUP_OBJECT (dialog1, hbox17, "hbox17"); GLADE_HOOKUP_OBJECT (dialog1, image17, "image17"); GLADE_HOOKUP_OBJECT (dialog1, label26, "label26"); GLADE_HOOKUP_OBJECT (dialog1, buttonClose, "buttonClose"); GLADE_HOOKUP_OBJECT_NO_REF (dialog1, tooltips, "tooltips"); gtk_window_add_accel_group (GTK_WINDOW (dialog1), accel_group); return dialog1; }
static void egg_find_bar_init (EggFindBar *find_bar) { EggFindBarPrivate *priv; GtkWidget *label; GtkWidget *alignment; GtkWidget *box; GtkToolItem *item; GtkWidget *arrow; /* Data */ priv = EGG_FIND_BAR_GET_PRIVATE (find_bar); find_bar->priv = priv; priv->search_string = NULL; gtk_toolbar_set_style (GTK_TOOLBAR (find_bar), GTK_TOOLBAR_BOTH_HORIZ); /* Find: |_____| */ item = gtk_tool_item_new (); box = gtk_hbox_new (FALSE, 12); alignment = gtk_alignment_new (0.0, 0.5, 1.0, 0.0); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 2, 2); label = gtk_label_new_with_mnemonic (_("Find:")); priv->find_entry = gtk_entry_new (); gtk_entry_set_width_chars (GTK_ENTRY (priv->find_entry), 32); gtk_entry_set_max_length (GTK_ENTRY (priv->find_entry), 512); gtk_label_set_mnemonic_widget (GTK_LABEL (label), priv->find_entry); /* Prev */ arrow = gtk_arrow_new (GTK_ARROW_LEFT, GTK_SHADOW_NONE); priv->previous_button = gtk_tool_button_new (arrow, Q_("Find Previous")); gtk_tool_item_set_is_important (priv->previous_button, TRUE); gtk_tool_item_set_tooltip (priv->previous_button, GTK_TOOLBAR (find_bar)->tooltips, _("Find previous occurrence of the search string"), NULL); /* Next */ arrow = gtk_arrow_new (GTK_ARROW_RIGHT, GTK_SHADOW_NONE); priv->next_button = gtk_tool_button_new (arrow, Q_("Find Next")); gtk_tool_item_set_is_important (priv->next_button, TRUE); gtk_tool_item_set_tooltip (priv->next_button, GTK_TOOLBAR (find_bar)->tooltips, _("Find next occurrence of the search string"), NULL); /* Separator*/ priv->status_separator = gtk_separator_tool_item_new(); /* Case button */ priv->case_button = gtk_toggle_tool_button_new (); g_object_set (G_OBJECT (priv->case_button), "label", _("C_ase Sensitive"), NULL); gtk_tool_button_set_use_underline (GTK_TOOL_BUTTON (priv->case_button), TRUE); gtk_tool_item_set_is_important (priv->case_button, TRUE); gtk_tool_item_set_tooltip (priv->case_button, GTK_TOOLBAR (find_bar)->tooltips, _("Toggle case sensitive search"), NULL); /* Status */ priv->status_item = gtk_tool_item_new(); gtk_tool_item_set_expand (priv->status_item, TRUE); priv->status_label = gtk_label_new (NULL); gtk_label_set_ellipsize (GTK_LABEL (priv->status_label), PANGO_ELLIPSIZE_END); gtk_misc_set_alignment (GTK_MISC (priv->status_label), 0.0, 0.5); g_signal_connect (priv->find_entry, "changed", G_CALLBACK (entry_changed_callback), find_bar); g_signal_connect (priv->find_entry, "activate", G_CALLBACK (entry_activate_callback), find_bar); g_signal_connect (priv->next_button, "clicked", G_CALLBACK (next_clicked_callback), find_bar); g_signal_connect (priv->previous_button, "clicked", G_CALLBACK (previous_clicked_callback), find_bar); g_signal_connect (priv->case_button, "toggled", G_CALLBACK (case_sensitive_toggled_callback), find_bar); gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (box), priv->find_entry, TRUE, TRUE, 0); gtk_container_add (GTK_CONTAINER (alignment), box); gtk_container_add (GTK_CONTAINER (item), alignment); gtk_toolbar_insert (GTK_TOOLBAR (find_bar), item, -1); gtk_toolbar_insert (GTK_TOOLBAR (find_bar), priv->previous_button, -1); gtk_toolbar_insert (GTK_TOOLBAR (find_bar), priv->next_button, -1); gtk_toolbar_insert (GTK_TOOLBAR (find_bar), priv->case_button, -1); gtk_toolbar_insert (GTK_TOOLBAR (find_bar), priv->status_separator, -1); gtk_container_add (GTK_CONTAINER (priv->status_item), priv->status_label); gtk_toolbar_insert (GTK_TOOLBAR (find_bar), priv->status_item, -1); /* don't show status separator/label until they are set */ gtk_widget_show_all (GTK_WIDGET (item)); gtk_widget_show_all (GTK_WIDGET (priv->next_button)); gtk_widget_show_all (GTK_WIDGET (priv->previous_button)); gtk_widget_show (priv->status_label); }
GtkWidget* ptk_toolbar_add_items_from_data( GtkWidget* toolbar, PtkToolItemEntry* entries, gpointer cb_data, GtkTooltips* tooltips ) { GtkWidget* btn; PtkToolItemEntry* ent; GtkWidget* image; GtkWidget* menu; GtkIconSize icon_size = gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar)); GSList* radio_group = NULL; for( ent = entries; ; ++ent ) { /* Normal tool item */ if( G_LIKELY( ent->stock_icon || ent->tooltip || ent->label ) ) { /* Stock item */ if( G_LIKELY(ent->stock_icon) ) image = gtk_image_new_from_stock( ent->stock_icon, icon_size ); else image = NULL; if( G_LIKELY( ! ent->menu ) ) { /* Normal button */ if( G_UNLIKELY( PTK_IS_STOCK_ITEM(ent) ) ) btn = GTK_WIDGET(gtk_tool_button_new_from_stock ( ent->label )); else btn = GTK_WIDGET(gtk_tool_button_new ( image, _(ent->label) )); } else if( G_UNLIKELY( PTK_IS_CHECK_TOOL_ITEM(ent) ) ) { if( G_UNLIKELY( PTK_IS_STOCK_ITEM(ent) ) ) btn = GTK_WIDGET(gtk_toggle_tool_button_new_from_stock(ent->label)); else { btn = GTK_WIDGET(gtk_toggle_tool_button_new ()); gtk_tool_button_set_icon_widget( GTK_TOOL_BUTTON(btn), image ); gtk_tool_button_set_label(GTK_TOOL_BUTTON(btn), _(ent->label)); } } else if( G_UNLIKELY( PTK_IS_RADIO_TOOL_ITEM(ent) ) ) { if( G_UNLIKELY( PTK_IS_STOCK_ITEM(ent) ) ) btn = GTK_WIDGET(gtk_radio_tool_button_new_from_stock( radio_group, ent->label )); else { btn = GTK_WIDGET(gtk_radio_tool_button_new( radio_group )); if( G_LIKELY( PTK_IS_RADIO_TOOL_ITEM( (ent + 1) ) ) ) radio_group = gtk_radio_tool_button_get_group( GTK_RADIO_TOOL_BUTTON(btn) ); else radio_group = NULL; gtk_tool_button_set_icon_widget( GTK_TOOL_BUTTON(btn), image ); gtk_tool_button_set_label(GTK_TOOL_BUTTON(btn), _(ent->label)); } } else if( ent->menu ) { if( G_UNLIKELY( PTK_IS_STOCK_ITEM(ent) ) ) btn = GTK_WIDGET(gtk_menu_tool_button_new_from_stock ( ent->label )); else { btn = GTK_WIDGET(gtk_menu_tool_button_new ( image, _(ent->label) )); if( G_LIKELY( 3 < (int)ent->menu ) ) { /* Sub menu */ menu = ptk_menu_new_from_data( ent->menu, cb_data, NULL ); gtk_menu_tool_button_set_menu( GTK_MENU_TOOL_BUTTON(btn), menu ); } } } if( G_LIKELY(ent->callback) ) { /* Callback */ if( G_LIKELY( ent->menu == NULL || ent->menu == PTK_EMPTY_MENU) ) g_signal_connect( btn, "clicked", ent->callback, cb_data); else g_signal_connect( btn, "toggled", ent->callback, cb_data); } if( G_LIKELY(ent->tooltip) ) gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (btn), tooltips, _(ent->tooltip), NULL); } else { if( ! PTK_IS_SEPARATOR_TOOL_ITEM(ent) ) /* End of menu */ break; btn = (GtkWidget*)gtk_separator_tool_item_new (); } gtk_toolbar_insert ( GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(btn), -1 ); if( G_UNLIKELY(ent->ret) ) {/* Return */ *ent->ret = btn; ent->ret = NULL; } } return NULL; }
bool wxToolBar::DoInsertTool(size_t pos, wxToolBarToolBase *toolBase) { wxToolBarTool* tool = static_cast<wxToolBarTool*>(toolBase); GSList* radioGroup; GtkWidget* bin_child; switch ( tool->GetStyle() ) { case wxTOOL_STYLE_BUTTON: switch (tool->GetKind()) { case wxITEM_CHECK: tool->m_item = gtk_toggle_tool_button_new(); g_signal_connect(tool->m_item, "toggled", G_CALLBACK(item_toggled), tool); break; case wxITEM_RADIO: radioGroup = GetRadioGroup(pos); if (!radioGroup) { // this is the first button in the radio button group, // it will be toggled automatically by GTK so bring the // internal flag in sync tool->Toggle(true); } tool->m_item = gtk_radio_tool_button_new(radioGroup); g_signal_connect(tool->m_item, "toggled", G_CALLBACK(item_toggled), tool); break; default: wxFAIL_MSG("unknown toolbar child type"); // fall through case wxITEM_DROPDOWN: case wxITEM_NORMAL: tool->m_item = gtk_tool_button_new(NULL, ""); g_signal_connect(tool->m_item, "clicked", G_CALLBACK(item_clicked), tool); break; } if (!HasFlag(wxTB_NOICONS)) { GtkWidget* image = gtk_image_new(); gtk_tool_button_set_icon_widget( GTK_TOOL_BUTTON(tool->m_item), image); tool->SetImage(); gtk_widget_show(image); #ifdef __WXGTK3__ g_signal_connect(image, "draw", G_CALLBACK(image_draw), tool); #else g_signal_connect(image, "expose_event", G_CALLBACK(image_expose_event), tool); #endif } if (!tool->GetLabel().empty()) { gtk_tool_button_set_label( GTK_TOOL_BUTTON(tool->m_item), wxGTK_CONV(tool->GetLabel())); // needed for labels in horizontal toolbar with wxTB_HORZ_LAYOUT gtk_tool_item_set_is_important(tool->m_item, true); } if (!HasFlag(wxTB_NO_TOOLTIPS) && !tool->GetShortHelp().empty()) { #if GTK_CHECK_VERSION(2, 12, 0) if (GTK_CHECK_VERSION(3,0,0) || gtk_check_version(2,12,0) == NULL) { gtk_tool_item_set_tooltip_text(tool->m_item, wxGTK_CONV(tool->GetShortHelp())); } else #endif { #ifndef __WXGTK3__ gtk_tool_item_set_tooltip(tool->m_item, m_tooltips, wxGTK_CONV(tool->GetShortHelp()), ""); #endif } } bin_child = gtk_bin_get_child(GTK_BIN(tool->m_item)); g_signal_connect(bin_child, "button_press_event", G_CALLBACK(button_press_event), tool); g_signal_connect(bin_child, "enter_notify_event", G_CALLBACK(enter_notify_event), tool); g_signal_connect(bin_child, "leave_notify_event", G_CALLBACK(enter_notify_event), tool); if (tool->GetKind() == wxITEM_DROPDOWN) tool->CreateDropDown(); gtk_toolbar_insert(m_toolbar, tool->m_item, int(pos)); break; case wxTOOL_STYLE_SEPARATOR: tool->m_item = gtk_separator_tool_item_new(); if ( tool->IsStretchable() ) { gtk_separator_tool_item_set_draw ( GTK_SEPARATOR_TOOL_ITEM(tool->m_item), FALSE ); gtk_tool_item_set_expand(tool->m_item, TRUE); } gtk_toolbar_insert(m_toolbar, tool->m_item, int(pos)); break; case wxTOOL_STYLE_CONTROL: wxWindow* control = tool->GetControl(); if (gtk_widget_get_parent(control->m_widget) == NULL) AddChildGTK(control); tool->m_item = GTK_TOOL_ITEM(gtk_widget_get_parent(gtk_widget_get_parent(control->m_widget))); if (gtk_toolbar_get_item_index(m_toolbar, tool->m_item) != int(pos)) { g_object_ref(tool->m_item); gtk_container_remove( GTK_CONTAINER(m_toolbar), GTK_WIDGET(tool->m_item)); gtk_toolbar_insert(m_toolbar, tool->m_item, int(pos)); g_object_unref(tool->m_item); } break; } gtk_widget_show(GTK_WIDGET(tool->m_item)); InvalidateBestSize(); return true; }
GtkWidget * create_window1 (void) { GtkWidget *vbox1; /* menu */ GtkWidget *menubar1; GtkWidget *menuitem1; GtkWidget *menuitem1_menu; GtkWidget *open; GtkWidget *apply; GtkWidget *save; GtkWidget *separatormenuitem1; GtkWidget *save_picture; GtkWidget *save_picture_image; GtkWidget *xsane; GtkWidget *separatormenuitem2; GtkWidget *quit; GtkWidget *menuitem2; GtkWidget *menuitem2_menu; GtkWidget *font; GtkWidget *separator2; GtkWidget *spell_check; GtkWidget *separator3; GtkWidget *menuitem3; GtkWidget *menuitem3_menu; GtkWidget *zoom_in; GtkWidget *zoom_out; GtkWidget *normal_size; GtkWidget *menuitem4; GtkWidget *menuitem4_menu; GtkWidget *about; GtkAccelGroup *accel_group; /* toolbar */ GtkWidget *toolbar; GtkIconSize tmp_toolbar_icon_size; GtkWidget *toolbutton_open; GtkWidget *toolbutton_apply; GtkWidget *toolbutton_save; GtkWidget *toolitem1; GtkWidget *vseparator1; GtkWidget *toolbutton_spell; GtkWidget *toolitem2; GtkWidget *vseparator2; GtkWidget *toolbutton_zoom_in; GtkWidget *toolbutton_zoom_out; GtkWidget *toolbutton_zoom_fit; /* image */ GtkWidget *vpaned1; GtkWidget *scrolledwindow_image; /* text */ GtkTooltips *tooltips; PangoFontDescription *font_desc; tooltips = gtk_tooltips_new (); accel_group = gtk_accel_group_new (); window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_size_request (window1, 600, 300); gtk_window_maximize (GTK_WINDOW (window1)); gtk_window_set_title (GTK_WINDOW (window1), _("hocr-gtk")); vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox1); gtk_container_add (GTK_CONTAINER (window1), vbox1); /* menu */ menubar1 = gtk_menu_bar_new (); gtk_widget_show (menubar1); gtk_box_pack_start (GTK_BOX (vbox1), menubar1, FALSE, FALSE, 0); menuitem1 = gtk_menu_item_new_with_mnemonic (_("_File")); gtk_widget_show (menuitem1); gtk_container_add (GTK_CONTAINER (menubar1), menuitem1); menuitem1_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem1), menuitem1_menu); open = gtk_image_menu_item_new_from_stock ("gtk-open", accel_group); gtk_widget_show (open); gtk_container_add (GTK_CONTAINER (menuitem1_menu), open); apply = gtk_image_menu_item_new_from_stock ("gtk-apply", accel_group); gtk_widget_show (apply); gtk_container_add (GTK_CONTAINER (menuitem1_menu), apply); save = gtk_image_menu_item_new_from_stock ("gtk-save", accel_group); gtk_widget_show (save); gtk_container_add (GTK_CONTAINER (menuitem1_menu), save); separatormenuitem1 = gtk_separator_menu_item_new (); gtk_widget_show (separatormenuitem1); gtk_container_add (GTK_CONTAINER (menuitem1_menu), separatormenuitem1); gtk_widget_set_sensitive (separatormenuitem1, FALSE); save_picture = gtk_image_menu_item_new_with_label (_("Save Picture")); save_picture_image = gtk_image_new_from_stock ("gtk-save", GTK_ICON_SIZE_MENU); gtk_widget_show (save_picture_image); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (save_picture), save_picture_image); gtk_widget_show (save_picture); gtk_container_add (GTK_CONTAINER (menuitem1_menu), save_picture); xsane = gtk_menu_item_new_with_label (_("Xsane")); gtk_widget_show (xsane); gtk_container_add (GTK_CONTAINER (menuitem1_menu), xsane); separatormenuitem2 = gtk_separator_menu_item_new (); gtk_widget_show (separatormenuitem2); gtk_container_add (GTK_CONTAINER (menuitem1_menu), separatormenuitem2); gtk_widget_set_sensitive (separatormenuitem2, FALSE); quit = gtk_image_menu_item_new_from_stock ("gtk-quit", accel_group); gtk_widget_show (quit); gtk_container_add (GTK_CONTAINER (menuitem1_menu), quit); menuitem2 = gtk_menu_item_new_with_mnemonic (_("_Edit")); gtk_widget_show (menuitem2); gtk_container_add (GTK_CONTAINER (menubar1), menuitem2); menuitem2_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem2), menuitem2_menu); font = gtk_image_menu_item_new_from_stock ("gtk-select-font", accel_group); gtk_widget_show (font); gtk_container_add (GTK_CONTAINER (menuitem2_menu), font); separator2 = gtk_separator_menu_item_new (); gtk_widget_show (separator2); gtk_container_add (GTK_CONTAINER (menuitem2_menu), separator2); gtk_widget_set_sensitive (separator2, FALSE); #ifdef WITH_GTKSPELL spell_check = gtk_image_menu_item_new_from_stock ("gtk-spell-check", accel_group); gtk_widget_show (spell_check); gtk_container_add (GTK_CONTAINER (menuitem2_menu), spell_check); separator3 = gtk_separator_menu_item_new (); gtk_widget_show (separator3); gtk_container_add (GTK_CONTAINER (menuitem2_menu), separator3); gtk_widget_set_sensitive (separator3, FALSE); #endif color_text_box = gtk_check_menu_item_new_with_mnemonic (_("Color boxes")); gtk_widget_show (color_text_box); gtk_container_add (GTK_CONTAINER (menuitem2_menu), color_text_box); gtk_tooltips_set_tip (tooltips, color_text_box, _("Color text boxes"), NULL); gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (color_text_box), TRUE); color_misread = gtk_check_menu_item_new_with_mnemonic (_("Color misread")); gtk_widget_show (color_misread); gtk_container_add (GTK_CONTAINER (menuitem2_menu), color_misread); gtk_tooltips_set_tip (tooltips, color_misread, _("Color misread fonts"), NULL); gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (color_misread), TRUE); clear_text = gtk_check_menu_item_new_with_mnemonic (_("Clear")); gtk_widget_show (clear_text); gtk_container_add (GTK_CONTAINER (menuitem2_menu), clear_text); gtk_tooltips_set_tip (tooltips, clear_text, _("Clear text each time you ocr new scan"), NULL); gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (clear_text), TRUE); ocr = gtk_check_menu_item_new_with_mnemonic (_("Ocr")); gtk_widget_show (ocr); gtk_container_add (GTK_CONTAINER (menuitem2_menu), ocr); gtk_tooltips_set_tip (tooltips, ocr, _("Try to recognize fonts in scaned text"), NULL); gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (ocr), TRUE); use_dict = gtk_check_menu_item_new_with_mnemonic (_("Use dictionary")); gtk_widget_show (use_dict); gtk_container_add (GTK_CONTAINER (menuitem2_menu), use_dict); gtk_tooltips_set_tip (tooltips, use_dict, _ ("Try to guess unrecognized fonts in scaned text using internal dictionary"), NULL); gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (use_dict), FALSE); use_nikud = gtk_check_menu_item_new_with_mnemonic (_("Use nikud")); gtk_widget_show (use_nikud); gtk_container_add (GTK_CONTAINER (menuitem2_menu), use_nikud); gtk_tooltips_set_tip (tooltips, use_nikud, _("Try to guess nikud"), NULL); gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (use_nikud), TRUE); use_spaces = gtk_check_menu_item_new_with_mnemonic (_("Use spaces")); gtk_widget_show (use_spaces); gtk_container_add (GTK_CONTAINER (menuitem2_menu), use_spaces); gtk_tooltips_set_tip (tooltips, use_spaces, _("Use spaces for tabs"), NULL); gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (use_spaces), FALSE); use_indent = gtk_check_menu_item_new_with_mnemonic (_("Use indentation")); gtk_widget_show (use_indent); gtk_container_add (GTK_CONTAINER (menuitem2_menu), use_indent); gtk_tooltips_set_tip (tooltips, use_indent, _("Try to guess line indentation"), NULL); gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (use_indent), FALSE); menuitem3 = gtk_menu_item_new_with_mnemonic (_("_View")); gtk_widget_show (menuitem3); gtk_container_add (GTK_CONTAINER (menubar1), menuitem3); menuitem3_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem3), menuitem3_menu); zoom_in = gtk_image_menu_item_new_from_stock ("gtk-zoom-in", accel_group); gtk_widget_show (zoom_in); gtk_container_add (GTK_CONTAINER (menuitem3_menu), zoom_in); zoom_out = gtk_image_menu_item_new_from_stock ("gtk-zoom-out", accel_group); gtk_widget_show (zoom_out); gtk_container_add (GTK_CONTAINER (menuitem3_menu), zoom_out); normal_size = gtk_image_menu_item_new_from_stock ("gtk-zoom-100", accel_group); gtk_widget_show (normal_size); gtk_container_add (GTK_CONTAINER (menuitem3_menu), normal_size); menuitem4 = gtk_menu_item_new_with_mnemonic (_("_Help")); gtk_widget_show (menuitem4); gtk_container_add (GTK_CONTAINER (menubar1), menuitem4); menuitem4_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem4), menuitem4_menu); about = gtk_menu_item_new_with_mnemonic (_("_About")); gtk_widget_show (about); gtk_container_add (GTK_CONTAINER (menuitem4_menu), about); /* toolbar */ toolbar = gtk_toolbar_new (); gtk_widget_show (toolbar); gtk_box_pack_start (GTK_BOX (vbox1), toolbar, FALSE, FALSE, 0); gtk_toolbar_set_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_BOTH); tmp_toolbar_icon_size = gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar)); toolbutton_open = (GtkWidget *) gtk_tool_button_new_from_stock ("gtk-open"); gtk_widget_show (toolbutton_open); gtk_container_add (GTK_CONTAINER (toolbar), toolbutton_open); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_open), tooltips, _("Open a new picture for the OCR"), NULL); toolbutton_apply = (GtkWidget *) gtk_tool_button_new_from_stock ("gtk-apply"); gtk_widget_show (toolbutton_apply); gtk_container_add (GTK_CONTAINER (toolbar), toolbutton_apply); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_apply), tooltips, _("Convert picture to text"), NULL); toolbutton_save = (GtkWidget *) gtk_tool_button_new_from_stock ("gtk-save"); gtk_widget_show (toolbutton_save); gtk_container_add (GTK_CONTAINER (toolbar), toolbutton_save); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_save), tooltips, _("Save the text created by the OCR"), NULL); toolitem1 = (GtkWidget *) gtk_tool_item_new (); gtk_widget_show (toolitem1); gtk_container_add (GTK_CONTAINER (toolbar), toolitem1); vseparator1 = gtk_vseparator_new (); gtk_widget_show (vseparator1); gtk_container_add (GTK_CONTAINER (toolitem1), vseparator1); #ifdef WITH_GTKSPELL toolbutton_spell = (GtkWidget *) gtk_tool_button_new_from_stock ("gtk-spell-check"); gtk_widget_show (toolbutton_spell); gtk_container_add (GTK_CONTAINER (toolbar), toolbutton_spell); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_spell), tooltips, _("Spell check the text"), NULL); toolitem2 = (GtkWidget *) gtk_tool_item_new (); gtk_widget_show (toolitem2); gtk_container_add (GTK_CONTAINER (toolbar), toolitem2); vseparator2 = gtk_vseparator_new (); gtk_widget_show (vseparator2); gtk_container_add (GTK_CONTAINER (toolitem2), vseparator2); #endif toolbutton_zoom_in = (GtkWidget *) gtk_tool_button_new_from_stock ("gtk-zoom-in"); gtk_widget_show (toolbutton_zoom_in); gtk_container_add (GTK_CONTAINER (toolbar), toolbutton_zoom_in); toolbutton_zoom_out = (GtkWidget *) gtk_tool_button_new_from_stock ("gtk-zoom-out"); gtk_widget_show (toolbutton_zoom_out); gtk_container_add (GTK_CONTAINER (toolbar), toolbutton_zoom_out); toolbutton_zoom_fit = (GtkWidget *) gtk_tool_button_new_from_stock ("gtk-zoom-fit"); gtk_widget_show (toolbutton_zoom_fit); gtk_container_add (GTK_CONTAINER (toolbar), toolbutton_zoom_fit); /* image */ vpaned1 = gtk_vpaned_new (); gtk_widget_show (vpaned1); gtk_container_add (GTK_CONTAINER (vbox1), vpaned1); scrolledwindow_image = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy ((GtkScrolledWindow *) scrolledwindow_image, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_widget_show (scrolledwindow_image); gtk_container_add (GTK_CONTAINER (vpaned1), scrolledwindow_image); viewport1 = gtk_viewport_new (NULL, NULL); gtk_widget_show (viewport1); gtk_container_add (GTK_CONTAINER (scrolledwindow_image), viewport1); image = gtk_image_new (); gtk_widget_show (image); gtk_container_add (GTK_CONTAINER (viewport1), image); /* text */ scrolledwindow_text = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy ((GtkScrolledWindow *) scrolledwindow_text, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_widget_show (scrolledwindow_text); gtk_container_add (GTK_CONTAINER (vpaned1), scrolledwindow_text); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow_text), GTK_SHADOW_IN); textview = gtk_text_view_new (); gtk_widget_show (textview); gtk_container_add (GTK_CONTAINER (scrolledwindow_text), textview); font_desc = pango_font_description_from_string (font_name); gtk_widget_modify_font (textview, font_desc); font_name = g_strdup (TEXT_FONT_NAME); /* progress bar */ hbox2 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox2); gtk_box_pack_start (GTK_BOX (vbox1), hbox2, FALSE, FALSE, 0); pbar = gtk_progress_bar_new (); gtk_widget_show (pbar); gtk_box_pack_start (GTK_BOX (hbox2), pbar, FALSE, FALSE, 0); gtk_widget_set_size_request (pbar, 100, -1); statusbar1 = gtk_statusbar_new (); gtk_widget_show (statusbar1); gtk_box_pack_start (GTK_BOX (hbox2), statusbar1, TRUE, TRUE, 0); /* main window */ g_signal_connect ((gpointer) window1, "delete_event", G_CALLBACK (on_window1_delete_event), NULL); /* toolbar */ g_signal_connect ((gpointer) toolbutton_open, "clicked", G_CALLBACK (on_toolbutton_open_clicked), NULL); g_signal_connect ((gpointer) toolbutton_apply, "clicked", G_CALLBACK (on_toolbutton_apply_clicked), NULL); g_signal_connect ((gpointer) toolbutton_save, "clicked", G_CALLBACK (on_toolbutton_save_clicked), NULL); g_signal_connect ((gpointer) toolbutton_zoom_in, "clicked", G_CALLBACK (on_toolbutton_zoom_in_clicked), NULL); g_signal_connect ((gpointer) toolbutton_zoom_out, "clicked", G_CALLBACK (on_toolbutton_zoom_out_clicked), NULL); g_signal_connect ((gpointer) toolbutton_zoom_fit, "clicked", G_CALLBACK (on_toolbutton_zoom_fit_clicked), NULL); #ifdef WITH_GTKSPELL g_signal_connect ((gpointer) toolbutton_spell, "clicked", G_CALLBACK (on_toolbutton_spell_clicked), NULL); #endif /* menu */ g_signal_connect ((gpointer) open, "activate", G_CALLBACK (on_open_activate), NULL); g_signal_connect ((gpointer) apply, "activate", G_CALLBACK (on_apply_activate), NULL); g_signal_connect ((gpointer) save, "activate", G_CALLBACK (on_save_activate), NULL); g_signal_connect ((gpointer) save_picture, "activate", G_CALLBACK (on_save_picture_activate), NULL); g_signal_connect ((gpointer) xsane, "activate", G_CALLBACK (on_xsane_activate), NULL); g_signal_connect ((gpointer) quit, "activate", G_CALLBACK (on_quit_activate), NULL); g_signal_connect ((gpointer) font, "activate", G_CALLBACK (on_font_activate), NULL); #ifdef WITH_GTKSPELL g_signal_connect ((gpointer) spell_check, "activate", G_CALLBACK (on_spell_check_activate), NULL); #endif g_signal_connect ((gpointer) zoom_in, "activate", G_CALLBACK (on_zoom_in_activate), NULL); g_signal_connect ((gpointer) zoom_out, "activate", G_CALLBACK (on_zoom_out_activate), NULL); g_signal_connect ((gpointer) normal_size, "activate", G_CALLBACK (on_normal_size_activate), NULL); g_signal_connect ((gpointer) about, "activate", G_CALLBACK (on_about_activate), NULL); gtk_window_add_accel_group (GTK_WINDOW (window1), accel_group); return window1; }
int main (int argc, char *argv[]) { GtkWidget *window1; GdkPixbuf *window1_icon_pixbuf; GtkWidget *vbox1; GtkWidget *menubar1; GtkWidget *menuitem1; GtkWidget *menuitem1_menu; GtkWidget *Save_s_1; GtkWidget *Quit_q_1; GtkWidget *menuitem2; GtkWidget *menuitem2_menu; GtkWidget *Add_a_1; GtkWidget *Edit_e_1; GtkWidget *Delete_d_1; GtkWidget *menuitem3; GtkWidget *menuitem3_menu; GtkWidget *Find_f_1; GtkWidget *toolbar1; GtkIconSize tmp_toolbar_icon_size; GtkWidget *toolbutton1; GtkWidget *toolbutton2; GtkWidget *toolbutton3; GtkWidget *toolbutton4; GtkWidget *toolbutton5; GtkWidget *hbox1; GtkWidget *scrolledwindow1; GtkWidget *treeview; GtkWidget *scrolledwindow2; GtkWidget *textview1; GtkAccelGroup *accel_group; GtkTooltips *tooltips; GtkTreeSelection *selection; //初始化GTK+ gtk_init (&argc, &argv); tooltips = gtk_tooltips_new (); accel_group = gtk_accel_group_new (); window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_size_request (window1, 450, 600); gtk_window_set_title (GTK_WINDOW (window1), "Echo Addressbook"); gtk_window_set_icon_from_file(GTK_WINDOW (window1), "./pixmaps/logo.png", NULL); vbox1 = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (window1), vbox1); //菜单 menubar1 = gtk_menu_bar_new (); gtk_box_pack_start (GTK_BOX (vbox1), menubar1, FALSE, FALSE, 0); menuitem1 = gtk_menu_item_new_with_mnemonic ("_File"); gtk_container_add (GTK_CONTAINER (menubar1), menuitem1); menuitem1_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem1), menuitem1_menu); Save_s_1 = gtk_image_menu_item_new_from_stock ("gtk-save", accel_group); gtk_container_add (GTK_CONTAINER (menuitem1_menu), Save_s_1); Quit_q_1 = gtk_image_menu_item_new_from_stock ("gtk-quit", accel_group); gtk_container_add (GTK_CONTAINER (menuitem1_menu), Quit_q_1); menuitem2 = gtk_menu_item_new_with_mnemonic ("_Edit"); gtk_container_add (GTK_CONTAINER (menubar1), menuitem2); menuitem2_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem2), menuitem2_menu); Add_a_1 = gtk_image_menu_item_new_from_stock ("gtk-add", accel_group); gtk_container_add (GTK_CONTAINER (menuitem2_menu), Add_a_1); gtk_widget_add_accelerator (Add_a_1, "activate", accel_group, GDK_a, (GdkModifierType) GDK_CONTROL_MASK,GTK_ACCEL_VISIBLE); Edit_e_1 = gtk_image_menu_item_new_from_stock ("gtk-edit", accel_group); gtk_container_add (GTK_CONTAINER (menuitem2_menu), Edit_e_1); gtk_widget_add_accelerator (Edit_e_1, "activate", accel_group, GDK_e, (GdkModifierType) GDK_CONTROL_MASK,GTK_ACCEL_VISIBLE); Delete_d_1 = gtk_image_menu_item_new_from_stock ("gtk-delete", accel_group); gtk_container_add (GTK_CONTAINER (menuitem2_menu), Delete_d_1); gtk_widget_add_accelerator (Delete_d_1, "activate", accel_group, GDK_d, (GdkModifierType) GDK_CONTROL_MASK,GTK_ACCEL_VISIBLE); menuitem3 = gtk_menu_item_new_with_mnemonic ("_Search"); gtk_container_add (GTK_CONTAINER (menubar1), menuitem3); menuitem3_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem3), menuitem3_menu); Find_f_1 = gtk_image_menu_item_new_from_stock ("gtk-find", accel_group); gtk_container_add (GTK_CONTAINER (menuitem3_menu), Find_f_1); //菜单 //工具条 toolbar1 = gtk_toolbar_new (); gtk_box_pack_start (GTK_BOX (vbox1), toolbar1, FALSE, FALSE, 0); gtk_toolbar_set_style (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_ICONS); tmp_toolbar_icon_size = gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1)); toolbutton1 = (GtkWidget *) gtk_tool_button_new_from_stock ("gtk-add"); gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton1); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton1), tooltips, "Add", NULL); toolbutton2 = (GtkWidget *) gtk_tool_button_new_from_stock ("gtk-find"); gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton2); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton2), tooltips, "Search", NULL); toolbutton3 = (GtkWidget *) gtk_tool_button_new_from_stock ("gtk-edit"); gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton3); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton3), tooltips, "Edit", NULL); toolbutton4 = (GtkWidget *) gtk_tool_button_new_from_stock ("gtk-save"); gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton4); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton4), tooltips, "Save", NULL); toolbutton5 = (GtkWidget *) gtk_tool_button_new_from_stock ("gtk-delete"); gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton5); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton5), tooltips, "Delete", NULL); //工具条 /* hbox start*/ hbox1 = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox1), hbox1, TRUE, TRUE, 0); statusbar = gtk_statusbar_new (); //Treeview //创建treeview model = create_model (); treeview = gtk_tree_view_new_with_model (model); //创建栏目 creat_columns (GTK_TREE_VIEW (treeview)); //加载数据 LoadFile(); BuildTreeView(GTK_TREE_VIEW (treeview)); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview), TRUE); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)); //滚动条1---treeview scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); gtk_box_pack_start (GTK_BOX (hbox1), scrolledwindow1, FALSE, TRUE, 0); gtk_widget_set_size_request (scrolledwindow1, 160, -1); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_SHADOW_IN); gtk_container_add (GTK_CONTAINER (scrolledwindow1), treeview); // //GTK textview textview1 = gtk_text_view_new (); gtk_text_view_set_editable (GTK_TEXT_VIEW (textview1), FALSE); gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (textview1), FALSE); gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (textview1), GTK_WRAP_CHAR); buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview1)); gtk_text_buffer_create_tag (buffer, "x-large","scale", PANGO_SCALE_X_LARGE, NULL); //滚动条2---textview scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); gtk_box_pack_start (GTK_BOX (hbox1), scrolledwindow2, TRUE, TRUE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_SHADOW_IN); gtk_container_add (GTK_CONTAINER (scrolledwindow2), textview1); /* hbox end */ //状态栏 gtk_box_pack_start (GTK_BOX (vbox1), statusbar, FALSE, FALSE, 0); //设置回调函数 g_signal_connect (window1, "destroy", G_CALLBACK (gtk_main_quit),NULL); g_signal_connect (selection, "changed", G_CALLBACK (GetSelect), treeview); g_signal_connect (toolbutton1, "clicked", G_CALLBACK (add_people), treeview); g_signal_connect (toolbutton2, "clicked", G_CALLBACK (search_people), treeview); g_signal_connect (toolbutton3, "clicked", G_CALLBACK (edit_people), treeview); g_signal_connect (toolbutton4, "clicked", G_CALLBACK (SaveFile), NULL); g_signal_connect (toolbutton5, "clicked",G_CALLBACK (remove_item),treeview); g_signal_connect (Add_a_1, "activate", G_CALLBACK (add_people), treeview); g_signal_connect (Edit_e_1, "activate", G_CALLBACK (edit_people),treeview); g_signal_connect (Find_f_1, "activate", G_CALLBACK (search_people),treeview); g_signal_connect (Delete_d_1, "activate", G_CALLBACK (remove_item),treeview); g_signal_connect (Quit_q_1, "activate", G_CALLBACK (gtk_main_quit),treeview); //快捷键组 gtk_window_add_accel_group (GTK_WINDOW (window1), accel_group); gtk_widget_show_all (window1); //GTK_main gtk_main (); return 0; }