wxSize wxToolBar::DoGetBestSize() const { // Unfortunately, if overflow arrow is enabled GtkToolbar only reports size // of arrow. To get the real size, the arrow is temporarily disabled here. // This is gross, since it will cause a queue_resize, and could potentially // lead to an infinite loop. But there seems to be no alternative, short of // disabling the arrow entirely. gtk_toolbar_set_show_arrow(m_toolbar, false); const wxSize size = wxToolBarBase::DoGetBestSize(); gtk_toolbar_set_show_arrow(m_toolbar, true); return size; }
ZLGtkApplicationWindow::ZLGtkApplicationWindow(ZLApplication *application) : ZLApplicationWindow(application), KeyActionOnReleaseNotOnPressOption(ZLCategoryKey::CONFIG, "KeyAction", "OnRelease", false), myFullScreen(false) { myProgram = HILDON_PROGRAM(hildon_program_get_instance()); g_set_application_name(""); myWindow = HILDON_WINDOW(hildon_window_new()); ((ZLMaemoCommunicationManager&)ZLCommunicationManager::Instance()).init(); myToolbar = GTK_TOOLBAR(gtk_toolbar_new()); gtk_toolbar_set_show_arrow(myToolbar, false); gtk_toolbar_set_orientation(myToolbar, GTK_ORIENTATION_HORIZONTAL); gtk_toolbar_set_style(myToolbar, GTK_TOOLBAR_ICONS); myMenu = GTK_MENU(gtk_menu_new()); hildon_window_set_menu(myWindow, myMenu); gtk_widget_show_all(GTK_WIDGET(myMenu)); hildon_window_add_toolbar(myWindow, myToolbar); hildon_program_add_window(myProgram, myWindow); gtk_widget_show_all(GTK_WIDGET(myWindow)); myViewWidget = 0; ZLGtkSignalUtil::connectSignal(GTK_OBJECT(myWindow), "delete_event", GTK_SIGNAL_FUNC(applicationQuit), this); ZLGtkSignalUtil::connectSignal(GTK_OBJECT(myWindow), "key_press_event", GTK_SIGNAL_FUNC(handleKeyPress), this); ZLGtkSignalUtil::connectSignal(GTK_OBJECT(myWindow), "key_release_event", GTK_SIGNAL_FUNC(handleKeyRelease), this); }
/* Create a toolbar with cut, copy, paste and select all */ static void create_toolbar( GtkWidget *toolbar, GtkWidget *entry ) { GtkToolItem *cut = gtk_tool_button_new_from_stock( GTK_STOCK_CUT ); GtkToolItem *copy = gtk_tool_button_new_from_stock( GTK_STOCK_COPY ); GtkToolItem *paste = gtk_tool_button_new_from_stock( GTK_STOCK_PASTE ); GtkToolItem *selectall = gtk_tool_button_new_from_stock( GTK_STOCK_SELECT_ALL ); GtkToolItem *separator = gtk_separator_tool_item_new(); gtk_toolbar_set_show_arrow( GTK_TOOLBAR( toolbar ), TRUE ); gtk_toolbar_set_style( GTK_TOOLBAR( toolbar ), GTK_TOOLBAR_BOTH ); gtk_toolbar_insert( GTK_TOOLBAR( toolbar ), cut, 0 ); gtk_toolbar_insert( GTK_TOOLBAR( toolbar ), copy, 1 ); gtk_toolbar_insert( GTK_TOOLBAR( toolbar ), paste, 2 ); gtk_toolbar_insert( GTK_TOOLBAR( toolbar ), separator, 3 ); gtk_toolbar_insert( GTK_TOOLBAR( toolbar ), selectall, 4 ); g_signal_connect_swapped( G_OBJECT( cut ), "clicked", G_CALLBACK( gtk_editable_cut_clipboard ), entry ); g_signal_connect_swapped( G_OBJECT( copy ), "clicked", G_CALLBACK( gtk_editable_copy_clipboard ), entry ); g_signal_connect_swapped( G_OBJECT( paste ), "clicked", G_CALLBACK( gtk_editable_paste_clipboard ), entry ); g_signal_connect_swapped( G_OBJECT( selectall ), "clicked", G_CALLBACK( select_all ), entry ); }
/* Creates a toolbar based on the data found in the passed xmlNode * Returns the fully populated GtkToolbar */ GtkToolbar* ToolbarCreator::createToolbar(xml::Node& node) { // Get all action children elements xml::NodeList toolItemList = node.getChildren(); GtkWidget* toolbar; if (toolItemList.size() > 0) { // Create a new toolbar toolbar = gtk_toolbar_new(); gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS); gtk_toolbar_set_show_arrow(GTK_TOOLBAR(toolbar), TRUE); // Try to set the alignment, if the attribute is properly set std::string align = node.getAttributeValue("align"); gtk_toolbar_set_orientation(GTK_TOOLBAR(toolbar), align == "vertical" ? GTK_ORIENTATION_VERTICAL : GTK_ORIENTATION_HORIZONTAL); for (unsigned int i = 0; i < toolItemList.size(); i++) { // Create and get the toolItem with the parsing GtkWidget* toolItem = createToolItem(toolItemList[i], GTK_TOOLBAR(toolbar)); // It is possible that no toolItem is returned, only add it if it's safe to do so if (toolItem != NULL) { gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(toolItem), -1); } } } else { throw std::runtime_error("No elements in toolbar."); } return GTK_TOOLBAR(toolbar); }
void downloadmanager_setup(void) { dm.win = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_type_hint(GTK_WINDOW(dm.win), GDK_WINDOW_TYPE_HINT_DIALOG); gtk_window_set_default_size(GTK_WINDOW(dm.win), 500, 250); gtk_window_set_title(GTK_WINDOW(dm.win), __NAME__" - Download Manager"); g_signal_connect(G_OBJECT(dm.win), "delete-event", G_CALLBACK(gtk_widget_hide_on_delete), NULL); g_signal_connect(G_OBJECT(dm.win), "key-press-event", G_CALLBACK(key_downloadmanager), NULL); dm.toolbar = gtk_toolbar_new(); gtk_orientable_set_orientation(GTK_ORIENTABLE(dm.toolbar), GTK_ORIENTATION_VERTICAL); gtk_toolbar_set_style(GTK_TOOLBAR(dm.toolbar), GTK_TOOLBAR_BOTH_HORIZ); gtk_toolbar_set_show_arrow(GTK_TOOLBAR(dm.toolbar), FALSE); dm.scroll = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(dm.scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_add(GTK_CONTAINER(dm.scroll), dm.toolbar); gtk_container_add(GTK_CONTAINER(dm.win), dm.scroll); }
JNIEXPORT void JNICALL Java_org_gnome_gtk_GtkToolbar_gtk_1toolbar_1set_1show_1arrow ( JNIEnv* env, jclass cls, jlong _self, jboolean _showArrow ) { GtkToolbar* self; gboolean showArrow; // convert parameter self self = (GtkToolbar*) _self; // convert parameter showArrow showArrow = (gboolean) _showArrow; // call function gtk_toolbar_set_show_arrow(self, showArrow); // cleanup parameter self // cleanup parameter showArrow }
static GtkWidget * create_dock (EggEditableToolbar *etoolbar) { GtkWidget *toolbar, *hbox; hbox = gtk_hbox_new (0, FALSE); toolbar = gtk_toolbar_new (); gtk_toolbar_set_show_arrow (GTK_TOOLBAR (toolbar), TRUE); gtk_widget_show (toolbar); gtk_box_pack_start (GTK_BOX (hbox), toolbar, TRUE, TRUE, 0); g_signal_connect (toolbar, "drag_drop", G_CALLBACK (toolbar_drag_drop_cb), etoolbar); g_signal_connect (toolbar, "drag_motion", G_CALLBACK (toolbar_drag_motion_cb), etoolbar); g_signal_connect (toolbar, "drag_leave", G_CALLBACK (toolbar_drag_leave_cb), etoolbar); g_signal_connect (toolbar, "drag_data_received", G_CALLBACK (toolbar_drag_data_received_cb), etoolbar); g_signal_connect (toolbar, "popup_context_menu", G_CALLBACK (popup_context_menu_cb), etoolbar); configure_drag_dest (etoolbar, GTK_TOOLBAR (toolbar)); return hbox; }
static void on_detach_toolbar( GtkHandleBox *handle, GtkToolbar *toolbar, CactMainWindow *window ) { static const gchar *thisfn = "cact_main_toolbar_on_detach_toolbar"; g_debug( "%s: handle=%p, toolbar=%p, window=%p", thisfn, ( void * ) handle, ( void * ) toolbar, ( void * ) window ); gtk_toolbar_set_show_arrow( toolbar, FALSE ); }
void egg_editable_toolbar_set_fixed (EggEditableToolbar *etoolbar, GtkToolbar *toolbar) { EggEditableToolbarPrivate *priv = etoolbar->priv; g_return_if_fail (!toolbar || GTK_IS_TOOLBAR (toolbar)); if (priv->fixed_toolbar) { unparent_fixed (etoolbar); g_object_unref (priv->fixed_toolbar); priv->fixed_toolbar = NULL; } if (toolbar) { priv->fixed_toolbar = GTK_WIDGET (toolbar); gtk_toolbar_set_show_arrow (toolbar, FALSE); g_object_ref_sink (toolbar); } update_fixed (etoolbar); }
static void main_window_create_toolbars(void) { //updated toolbar code with the new gtk+ functions // Create the Main Toolbar main_window.toolbar_main = gtk_toolbar_new (); gtk_widget_show (main_window.toolbar_main); gnome_app_add_toolbar (GNOME_APP (main_window.window), GTK_TOOLBAR (main_window.toolbar_main), "toolbar1", BONOBO_DOCK_ITEM_BEH_NORMAL, BONOBO_DOCK_TOP, 1, 0, 0); gtk_container_set_border_width (GTK_CONTAINER (main_window.toolbar_main), 1); gtk_toolbar_set_style (GTK_TOOLBAR (main_window.toolbar_main), GTK_TOOLBAR_ICONS); gtk_toolbar_set_show_arrow (GTK_TOOLBAR (main_window.toolbar_main), FALSE); // Add the File operations to the Main Toolbar //main_window.toolbar_main_button_new = gtk_toolbar_insert_stock (GTK_TOOLBAR (main_window.toolbar_main),GTK_STOCK_NEW, _("New File"), NULL, NULL, NULL, -1); main_window.toolbar_main_button_new = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_NEW)); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM (main_window.toolbar_main_button_new), _("New File")); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_main_button_new), -1); gtk_widget_show (main_window.toolbar_main_button_new); //main_window.toolbar_main_button_open = gtk_toolbar_insert_stock (GTK_TOOLBAR (main_window.toolbar_main),GTK_STOCK_OPEN, _("Open File"), NULL, NULL, NULL, -1); //gtk_widget_show (main_window.toolbar_main_button_open); main_window.toolbar_main_button_open = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_OPEN)); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM (main_window.toolbar_main_button_open), _("Open File")); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_main_button_open), -1); gtk_widget_show (main_window.toolbar_main_button_open); // main_window.toolbar_main_button_save = gtk_toolbar_insert_stock (GTK_TOOLBAR (main_window.toolbar_main),GTK_STOCK_SAVE, _("Save File"), NULL, NULL, NULL, -1); main_window.toolbar_main_button_save = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_SAVE)); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM (main_window.toolbar_main_button_save), _("Save File")); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_main_button_save), -1); gtk_widget_show (main_window.toolbar_main_button_save); // main_window.toolbar_main_button_save_as = gtk_toolbar_insert_stock (GTK_TOOLBAR (main_window.toolbar_main),GTK_STOCK_SAVE_AS, _("Save File As..."), NULL, NULL, NULL, -1); main_window.toolbar_main_button_save_as = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_SAVE_AS)); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM (main_window.toolbar_main_button_save_as), _("Save File As...")); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_main_button_save_as), -1); gtk_widget_show (main_window.toolbar_main_button_save_as); // main_window.toolbar_main_button_close = gtk_toolbar_insert_stock (GTK_TOOLBAR (main_window.toolbar_main),GTK_STOCK_CLOSE, _("Close File"), NULL, NULL, NULL, -1); main_window.toolbar_main_button_close = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_CLOSE)); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM (main_window.toolbar_main_button_close), _("Close File")); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_main_button_close), -1); gtk_widget_show (main_window.toolbar_main_button_close); gtk_signal_connect (GTK_OBJECT (main_window.toolbar_main_button_open), "clicked", GTK_SIGNAL_FUNC (on_open1_activate), NULL); gtk_signal_connect (GTK_OBJECT (main_window.toolbar_main_button_new), "clicked", GTK_SIGNAL_FUNC (on_new1_activate), NULL); gtk_signal_connect (GTK_OBJECT (main_window.toolbar_main_button_save), "clicked", GTK_SIGNAL_FUNC (on_save1_activate), NULL); gtk_signal_connect (GTK_OBJECT (main_window.toolbar_main_button_save_as), "clicked", GTK_SIGNAL_FUNC (on_save_as1_activate), NULL); gtk_signal_connect (GTK_OBJECT (main_window.toolbar_main_button_close), "clicked", GTK_SIGNAL_FUNC (on_close1_activate), NULL); // gtk_toolbar_append_space(GTK_TOOLBAR(main_window.toolbar_main)); main_window.toolbar_separator=gtk_separator_tool_item_new(); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_separator), -1); gtk_widget_show (GTK_WIDGET(main_window.toolbar_separator)); // Add the Undo operations to the Main Toolbar // main_window.toolbar_main_button_undo = gtk_toolbar_insert_stock (GTK_TOOLBAR (main_window.toolbar_main),GTK_STOCK_UNDO, _("Undo last change"), NULL, NULL, NULL, -1); main_window.toolbar_main_button_undo = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_UNDO)); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM (main_window.toolbar_main_button_undo), _("Undo last change")); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_main_button_undo), -1); gtk_widget_show (main_window.toolbar_main_button_undo); // main_window.toolbar_main_button_redo = gtk_toolbar_insert_stock (GTK_TOOLBAR (main_window.toolbar_main),GTK_STOCK_REDO, _("Redo last change"), NULL, NULL, NULL, -1); main_window.toolbar_main_button_redo = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_REDO)); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM (main_window.toolbar_main_button_redo), _("Redo last change")); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_main_button_redo), -1); gtk_widget_show (main_window.toolbar_main_button_redo); gtk_signal_connect (GTK_OBJECT (main_window.toolbar_main_button_undo), "clicked", GTK_SIGNAL_FUNC (on_undo1_activate), NULL); gtk_signal_connect (GTK_OBJECT (main_window.toolbar_main_button_redo), "clicked", GTK_SIGNAL_FUNC (on_redo1_activate), NULL); //gtk_toolbar_append_space(GTK_TOOLBAR(main_window.toolbar_main)); main_window.toolbar_separator=gtk_separator_tool_item_new(); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_separator), -1); gtk_widget_show (GTK_WIDGET(main_window.toolbar_separator)); // Add the Clipboard operations to the Main Toolbar //main_window.toolbar_main_button_cut = gtk_toolbar_insert_stock (GTK_TOOLBAR (main_window.toolbar_main),GTK_STOCK_CUT, _("Cut current selection"), NULL, NULL, NULL, -1); main_window.toolbar_main_button_cut = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_CUT)); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM (main_window.toolbar_main_button_cut), _("Cut current selection")); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_main_button_cut), -1); gtk_signal_connect (GTK_OBJECT (main_window.toolbar_main_button_cut), "clicked", GTK_SIGNAL_FUNC (on_cut1_activate), NULL); gtk_widget_show (main_window.toolbar_main_button_cut); // main_window.toolbar_main_button_copy = gtk_toolbar_insert_stock (GTK_TOOLBAR (main_window.toolbar_main),GTK_STOCK_COPY, _("Copy current selection"), NULL, NULL, NULL, -1); main_window.toolbar_main_button_copy = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_COPY)); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM (main_window.toolbar_main_button_copy), _("Copy current selection")); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_main_button_copy), -1); gtk_signal_connect (GTK_OBJECT (main_window.toolbar_main_button_copy), "clicked", GTK_SIGNAL_FUNC (on_copy1_activate), NULL); gtk_widget_show (main_window.toolbar_main_button_copy); //main_window.toolbar_main_button_paste = gtk_toolbar_insert_stock (GTK_TOOLBAR (main_window.toolbar_main),GTK_STOCK_PASTE, _("Paste current selection"), NULL, NULL, NULL, -1); main_window.toolbar_main_button_paste = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_PASTE)); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM (main_window.toolbar_main_button_paste), _("Paste current selection")); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_main_button_paste), -1); gtk_signal_connect (GTK_OBJECT (main_window.toolbar_main_button_paste), "clicked", GTK_SIGNAL_FUNC (on_paste1_activate), NULL); gtk_widget_show (main_window.toolbar_main_button_paste); //gtk_toolbar_append_space(GTK_TOOLBAR(main_window.toolbar_main)); main_window.toolbar_separator=gtk_separator_tool_item_new(); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_separator), -1); gtk_widget_show (GTK_WIDGET(main_window.toolbar_separator)); // Add the Search operations to the Main Toolbar // main_window.toolbar_main_button_find = gtk_toolbar_insert_stock (GTK_TOOLBAR (main_window.toolbar_main),GTK_STOCK_FIND, _("Find text"), NULL, NULL, NULL, -1); main_window.toolbar_main_button_find = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_FIND)); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM (main_window.toolbar_main_button_find), _("Find Text")); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_main_button_find), -1); gtk_widget_show (main_window.toolbar_main_button_find); gtk_signal_connect (GTK_OBJECT (main_window.toolbar_main_button_find), "clicked", GTK_SIGNAL_FUNC (on_find1_activate), NULL); //main_window.toolbar_main_button_replace = gtk_toolbar_insert_stock (GTK_TOOLBAR (main_window.toolbar_main),GTK_STOCK_FIND_AND_REPLACE, _("Find/Replace text"), NULL, NULL, NULL, -1); main_window.toolbar_main_button_replace = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_FIND_AND_REPLACE)); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM (main_window.toolbar_main_button_replace), _("Find/Replace text")); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_main_button_replace), -1); gtk_signal_connect (GTK_OBJECT (main_window.toolbar_main_button_replace), "clicked", GTK_SIGNAL_FUNC (on_replace1_activate), NULL); gtk_widget_show (main_window.toolbar_main_button_replace); main_window.toolbar_separator=gtk_separator_tool_item_new(); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_separator), -1); gtk_widget_show (GTK_WIDGET(main_window.toolbar_separator)); // Add the indent/unindent operations to the Main Toolbar /*indent block*/ main_window.toolbar_main_button_indent = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_INDENT)); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM (main_window.toolbar_main_button_indent), _("Indent block")); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_main_button_indent), -1); gtk_signal_connect (GTK_OBJECT (main_window.toolbar_main_button_indent), "clicked", GTK_SIGNAL_FUNC (block_indent), NULL); gtk_widget_show (main_window.toolbar_main_button_indent); /*unindent block*/ main_window.toolbar_main_button_unindent = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_UNINDENT)); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM (main_window.toolbar_main_button_unindent), _("Unindent block")); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_main_button_unindent), -1); gtk_signal_connect (GTK_OBJECT (main_window.toolbar_main_button_unindent), "clicked", GTK_SIGNAL_FUNC (block_unindent), NULL); gtk_widget_show (main_window.toolbar_main_button_unindent); main_window.toolbar_separator=gtk_separator_tool_item_new(); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_separator), -1); gtk_widget_show (GTK_WIDGET(main_window.toolbar_separator)); //zoom in main_window.toolbar_main_button_zoom_in = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_ZOOM_IN)); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM (main_window.toolbar_main_button_zoom_in), _("Zoom in")); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_main_button_zoom_in), -1); gtk_signal_connect (GTK_OBJECT (main_window.toolbar_main_button_zoom_in), "clicked", GTK_SIGNAL_FUNC (zoom_in), NULL); gtk_widget_show (main_window.toolbar_main_button_zoom_in); //zoom out main_window.toolbar_main_button_zoom_out = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_ZOOM_OUT)); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM (main_window.toolbar_main_button_zoom_out), _("Zoom out")); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_main), GTK_TOOL_ITEM (main_window.toolbar_main_button_zoom_out), -1); gtk_signal_connect (GTK_OBJECT (main_window.toolbar_main_button_zoom_out), "clicked", GTK_SIGNAL_FUNC (zoom_out), NULL); gtk_widget_show (main_window.toolbar_main_button_zoom_out); // Create the Search Toolbar GtkToolItem *item; main_window.toolbar_find = gtk_toolbar_new (); gtk_widget_show (main_window.toolbar_find); gtk_toolbar_set_show_arrow (GTK_TOOLBAR (main_window.toolbar_find), FALSE); gtk_container_set_border_width (GTK_CONTAINER (main_window.toolbar_find), 1); gnome_app_add_toolbar (GNOME_APP (main_window.window), GTK_TOOLBAR (main_window.toolbar_find), "toolbar_search", BONOBO_DOCK_ITEM_BEH_NORMAL, BONOBO_DOCK_TOP, 2, 0, 0); main_window.toolbar_find_search_label = gtk_label_new(_("Search for: ")); gtk_widget_show(main_window.toolbar_find_search_label); item=gtk_tool_item_new(); gtk_tool_item_set_expand (item, TRUE); gtk_container_add (GTK_CONTAINER (item), main_window.toolbar_find_search_label); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_find), GTK_TOOL_ITEM (item), -1); gtk_widget_show(GTK_WIDGET(item)); item=gtk_tool_item_new(); gtk_tool_item_set_expand (item, TRUE); main_window.toolbar_find_search_entry = gtk_entry_new(); gtk_widget_show(main_window.toolbar_find_search_entry); gtk_container_add (GTK_CONTAINER (item), main_window.toolbar_find_search_entry); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM (item), _("Incremental search")); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_find), GTK_TOOL_ITEM (item), -1); gtk_widget_show(GTK_WIDGET(item)); //gtk_toolbar_append_widget(GTK_TOOLBAR (main_window.toolbar_find), main_window.toolbar_find_search_entry, _("Incremental search"),NULL); gtk_signal_connect_after(GTK_OBJECT(main_window.toolbar_find_search_entry), "insert_text", GTK_SIGNAL_FUNC(inc_search_typed), NULL); gtk_signal_connect_after(GTK_OBJECT(main_window.toolbar_find_search_entry), "key_release_event", GTK_SIGNAL_FUNC(inc_search_key_release_event), NULL); gtk_signal_connect_after(GTK_OBJECT(main_window.toolbar_find_search_entry), "activate", GTK_SIGNAL_FUNC(inc_search_activate), NULL); main_window.toolbar_separator=gtk_separator_tool_item_new(); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_find), GTK_TOOL_ITEM (main_window.toolbar_separator), -1); gtk_widget_show (GTK_WIDGET(main_window.toolbar_separator)); //gtk_toolbar_append_space(GTK_TOOLBAR(main_window.toolbar_find)); main_window.toolbar_find_goto_label = gtk_label_new(_("Go to line: ")); gtk_widget_show(main_window.toolbar_find_goto_label); item=gtk_tool_item_new(); gtk_tool_item_set_expand (item, TRUE); gtk_container_add (GTK_CONTAINER (item), main_window.toolbar_find_goto_label); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_find), GTK_TOOL_ITEM (item), -1); gtk_widget_show(GTK_WIDGET(item)); // gtk_toolbar_append_widget(GTK_TOOLBAR (main_window.toolbar_find), main_window.toolbar_find_goto_label,NULL,NULL); main_window.toolbar_find_goto_entry = gtk_entry_new_with_max_length(6); gtk_entry_set_width_chars(GTK_ENTRY(main_window.toolbar_find_goto_entry),7); gtk_widget_show(main_window.toolbar_find_goto_entry); item=gtk_tool_item_new(); gtk_tool_item_set_expand (item, TRUE); gtk_container_add (GTK_CONTAINER (item), main_window.toolbar_find_goto_entry); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM (item), _("Go to line")); gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_find), GTK_TOOL_ITEM (item), -1); gtk_widget_show(GTK_WIDGET(item)); // gtk_toolbar_append_widget(GTK_TOOLBAR (main_window.toolbar_find), main_window.toolbar_find_goto_entry, _("Go to line"),NULL); gtk_signal_connect_after(GTK_OBJECT(main_window.toolbar_find_goto_entry), "activate", GTK_SIGNAL_FUNC(goto_line_activate), NULL); /* GtkToolItem * search_toolbar_separator; search_toolbar_separator = gtk_separator_tool_item_new(); gtk_separator_tool_item_set_draw(search_toolbar_separator, FALSE); gtk_tool_item_set_expand(search_toolbar_separator, TRUE); //gtk_toolbar_insert(GTK_TOOLBAR(main_window.toolbar_find), search_toolbar_separator, 0); gtk_toolbar_append_widget(GTK_TOOLBAR (main_window.toolbar_find), search_toolbar_separator,NULL,NULL); gtk_widget_show(search_toolbar_separator); */ }
static void child_attached(GtkWidget*, GtkToolbar* toolbar, void*) { gtk_toolbar_set_show_arrow(toolbar, true); }
static GObject * debug_dialog_constructor (GType type, guint n_construct_params, GObjectConstructParam *construct_params) { GObject *object; EmpathyDebugDialogPriv *priv; GtkWidget *vbox; GtkWidget *toolbar; GtkWidget *image; GtkWidget *label; GtkToolItem *item; GtkCellRenderer *renderer; GtkListStore *level_store; GtkTreeIter iter; object = G_OBJECT_CLASS (empathy_debug_dialog_parent_class)->constructor (type, n_construct_params, construct_params); priv = GET_PRIV (object); gtk_window_set_title (GTK_WINDOW (object), _("Debug Window")); gtk_window_set_default_size (GTK_WINDOW (object), 800, 400); vbox = GTK_DIALOG (object)->vbox; toolbar = gtk_toolbar_new (); gtk_toolbar_set_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_BOTH_HORIZ); gtk_toolbar_set_show_arrow (GTK_TOOLBAR (toolbar), TRUE); gtk_toolbar_set_icon_size (GTK_TOOLBAR (toolbar), GTK_ICON_SIZE_SMALL_TOOLBAR); gtk_widget_show (toolbar); gtk_box_pack_start (GTK_BOX (vbox), toolbar, FALSE, FALSE, 0); /* CM */ priv->cm_chooser = gtk_combo_box_new_text (); priv->cms = gtk_list_store_new (NUM_COLS_CM, G_TYPE_STRING, G_TYPE_STRING); gtk_combo_box_set_model (GTK_COMBO_BOX (priv->cm_chooser), GTK_TREE_MODEL (priv->cms)); gtk_widget_show (priv->cm_chooser); item = gtk_tool_item_new (); gtk_widget_show (GTK_WIDGET (item)); gtk_container_add (GTK_CONTAINER (item), priv->cm_chooser); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1); g_signal_connect (priv->cm_chooser, "changed", G_CALLBACK (debug_dialog_cm_chooser_changed_cb), object); gtk_widget_show (GTK_WIDGET (priv->cm_chooser)); item = gtk_separator_tool_item_new (); gtk_widget_show (GTK_WIDGET (item)); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1); /* Save */ priv->save_button = gtk_tool_button_new_from_stock (GTK_STOCK_SAVE); g_signal_connect (priv->save_button, "clicked", G_CALLBACK (debug_dialog_save_clicked_cb), object); gtk_widget_show (GTK_WIDGET (priv->save_button)); gtk_tool_item_set_is_important (GTK_TOOL_ITEM (priv->save_button), TRUE); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), priv->save_button, -1); /* Copy */ priv->copy_button = gtk_tool_button_new_from_stock (GTK_STOCK_COPY); g_signal_connect (priv->copy_button, "clicked", G_CALLBACK (debug_dialog_copy_clicked_cb), object); gtk_widget_show (GTK_WIDGET (priv->copy_button)); gtk_tool_item_set_is_important (GTK_TOOL_ITEM (priv->copy_button), TRUE); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), priv->copy_button, -1); /* Clear */ priv->clear_button = gtk_tool_button_new_from_stock (GTK_STOCK_CLEAR); g_signal_connect (priv->clear_button, "clicked", G_CALLBACK (debug_dialog_clear_clicked_cb), object); gtk_widget_show (GTK_WIDGET (priv->clear_button)); gtk_tool_item_set_is_important (GTK_TOOL_ITEM (priv->clear_button), TRUE); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), priv->clear_button, -1); item = gtk_separator_tool_item_new (); gtk_widget_show (GTK_WIDGET (item)); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1); /* Pause */ priv->paused = FALSE; image = gtk_image_new_from_stock (GTK_STOCK_MEDIA_PAUSE, GTK_ICON_SIZE_MENU); gtk_widget_show (image); priv->pause_button = gtk_toggle_tool_button_new (); gtk_toggle_tool_button_set_active ( GTK_TOGGLE_TOOL_BUTTON (priv->pause_button), priv->paused); g_signal_connect (priv->pause_button, "toggled", G_CALLBACK (debug_dialog_pause_toggled_cb), object); gtk_widget_show (GTK_WIDGET (priv->pause_button)); gtk_tool_item_set_is_important (GTK_TOOL_ITEM (priv->pause_button), TRUE); gtk_tool_button_set_label (GTK_TOOL_BUTTON (priv->pause_button), _("Pause")); gtk_tool_button_set_icon_widget ( GTK_TOOL_BUTTON (priv->pause_button), image); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), priv->pause_button, -1); item = gtk_separator_tool_item_new (); gtk_widget_show (GTK_WIDGET (item)); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1); /* Level */ priv->level_label = gtk_tool_item_new (); gtk_widget_show (GTK_WIDGET (priv->level_label)); label = gtk_label_new (_("Level ")); gtk_widget_show (label); gtk_container_add (GTK_CONTAINER (priv->level_label), label); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), priv->level_label, -1); priv->level_filter = gtk_combo_box_new_text (); gtk_widget_show (priv->level_filter); item = gtk_tool_item_new (); gtk_widget_show (GTK_WIDGET (item)); gtk_container_add (GTK_CONTAINER (item), priv->level_filter); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1); level_store = gtk_list_store_new (NUM_COLS_LEVEL, G_TYPE_STRING, G_TYPE_UINT); gtk_combo_box_set_model (GTK_COMBO_BOX (priv->level_filter), GTK_TREE_MODEL (level_store)); gtk_list_store_append (level_store, &iter); gtk_list_store_set (level_store, &iter, COL_LEVEL_NAME, _("Debug"), COL_LEVEL_VALUE, EMP_DEBUG_LEVEL_DEBUG, -1); gtk_list_store_append (level_store, &iter); gtk_list_store_set (level_store, &iter, COL_LEVEL_NAME, _("Info"), COL_LEVEL_VALUE, EMP_DEBUG_LEVEL_INFO, -1); gtk_list_store_append (level_store, &iter); gtk_list_store_set (level_store, &iter, COL_LEVEL_NAME, _("Message"), COL_LEVEL_VALUE, EMP_DEBUG_LEVEL_MESSAGE, -1); gtk_list_store_append (level_store, &iter); gtk_list_store_set (level_store, &iter, COL_LEVEL_NAME, _("Warning"), COL_LEVEL_VALUE, EMP_DEBUG_LEVEL_WARNING, -1); gtk_list_store_append (level_store, &iter); gtk_list_store_set (level_store, &iter, COL_LEVEL_NAME, _("Critical"), COL_LEVEL_VALUE, EMP_DEBUG_LEVEL_CRITICAL, -1); gtk_list_store_append (level_store, &iter); gtk_list_store_set (level_store, &iter, COL_LEVEL_NAME, _("Error"), COL_LEVEL_VALUE, EMP_DEBUG_LEVEL_ERROR, -1); gtk_combo_box_set_active (GTK_COMBO_BOX (priv->level_filter), 0); g_signal_connect (priv->level_filter, "changed", G_CALLBACK (debug_dialog_filter_changed_cb), object); /* Debug treeview */ priv->view = gtk_tree_view_new (); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (priv->view), TRUE); g_signal_connect (priv->view, "button-press-event", G_CALLBACK (debug_dialog_button_press_event_cb), object); renderer = gtk_cell_renderer_text_new (); g_object_set (renderer, "yalign", 0, NULL); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->view), -1, _("Time"), renderer, "text", COL_DEBUG_TIMESTAMP, NULL); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->view), -1, _("Domain"), renderer, "text", COL_DEBUG_DOMAIN, NULL); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->view), -1, _("Category"), renderer, "text", COL_DEBUG_CATEGORY, NULL); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->view), -1, _("Level"), renderer, "text", COL_DEBUG_LEVEL_STRING, NULL); renderer = gtk_cell_renderer_text_new (); g_object_set (renderer, "family", "Monospace", NULL); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->view), -1, _("Message"), renderer, "text", COL_DEBUG_MESSAGE, NULL); priv->store = gtk_list_store_new (NUM_DEBUG_COLS, G_TYPE_DOUBLE, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT); priv->store_filter = gtk_tree_model_filter_new ( GTK_TREE_MODEL (priv->store), NULL); gtk_tree_model_filter_set_visible_func ( GTK_TREE_MODEL_FILTER (priv->store_filter), debug_dialog_visible_func, object, NULL); gtk_tree_view_set_model (GTK_TREE_VIEW (priv->view), priv->store_filter); /* Scrolled window */ priv->scrolled_win = g_object_ref (gtk_scrolled_window_new (NULL, NULL)); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_widget_show (priv->view); gtk_container_add (GTK_CONTAINER (priv->scrolled_win), priv->view); gtk_widget_show (priv->scrolled_win); /* Not supported label */ priv->not_supported_label = g_object_ref (gtk_label_new ( _("The selected connection manager does not support the remote " "debugging extension."))); gtk_widget_show (priv->not_supported_label); gtk_box_pack_start (GTK_BOX (vbox), priv->not_supported_label, TRUE, TRUE, 0); priv->view_visible = FALSE; debug_dialog_set_toolbar_sensitivity (EMPATHY_DEBUG_DIALOG (object), FALSE); debug_dialog_fill_cm_chooser (EMPATHY_DEBUG_DIALOG (object)); gtk_widget_show (GTK_WIDGET (object)); return object; }
static void change_show_arrow (GtkWidget *button, GtkWidget *toolbar) { gtk_toolbar_set_show_arrow (GTK_TOOLBAR (toolbar), gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button))); }
void ay_edit_local_accounts(void) { char *text[] = { _("C"), _("Screen Name"), _("Password"), _("Service") }; GtkWidget *box; GtkWidget *window_box; GtkWidget *hbox; GtkWidget *button_box; GtkWidget *label; guint label_key; GtkWidget *toolbar; GtkToolItem *toolitem; GtkToolItem *tool_sep; GtkWidget *separator; LList *list; LList *l; GtkAccelGroup *accel_group; GtkCellRenderer *renderer; GtkTreeViewColumn *column; GtkTreeSelection *selection; if (is_open) return; is_open = 1; accel_group = gtk_accel_group_new(); account_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position(GTK_WINDOW(account_window), GTK_WIN_POS_MOUSE); gtk_widget_realize(account_window); account_list_store = gtk_list_store_new(COL_COUNT, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); account_list = gtk_tree_view_new_with_model(GTK_TREE_MODEL (account_list_store)); renderer = gtk_cell_renderer_toggle_new(); column = gtk_tree_view_column_new_with_attributes(text[CONNECT], renderer, "active", CONNECT, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(account_list), column); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(text[USER_NAME], renderer, "text", USER_NAME, NULL); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); gtk_tree_view_append_column(GTK_TREE_VIEW(account_list), column); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(text[SERVICE_TYPE], renderer, "text", SERVICE_TYPE, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(account_list), column); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(account_list)); gtk_tree_selection_set_mode(selection, GTK_SELECTION_MULTIPLE); gtk_container_set_border_width(GTK_CONTAINER(account_window), 5); g_signal_connect(selection, "changed", G_CALLBACK(selection_made_callback), NULL); box = gtk_vbox_new(FALSE, 0); window_box = gtk_vbox_new(FALSE, 5); hbox = gtk_hbox_new(FALSE, 5); gtk_container_set_border_width(GTK_CONTAINER(hbox), 5); /*Screen Name Section */ label = gtk_label_new_with_mnemonic(_("Screen _Name:")); label_key = gtk_label_get_mnemonic_keyval(GTK_LABEL(label)); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_box_pack_start(GTK_BOX(box), label, TRUE, TRUE, 5); gtk_widget_show(label); username = gtk_entry_new(); gtk_box_pack_start(GTK_BOX(box), username, FALSE, FALSE, 2); gtk_widget_show(username); gtk_widget_add_accelerator(username, "grab_focus", accel_group, label_key, GDK_MOD1_MASK, (GtkAccelFlags) 0); /*Password Section */ label = gtk_label_new_with_mnemonic(_("_Password:"******"grab_focus", accel_group, label_key, GDK_MOD1_MASK, (GtkAccelFlags) 0); /*Service Type Section */ label = gtk_label_new_with_mnemonic(_("Service _Type:")); label_key = gtk_label_get_mnemonic_keyval(GTK_LABEL(label)); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_box_pack_start(GTK_BOX(box), label, TRUE, TRUE, 5); gtk_widget_show(label); service_type = gtk_combo_box_new_text(); list = get_service_list(); for (l = list; l; l = l_list_next(l)) { char *label = l->data; gtk_combo_box_append_text(GTK_COMBO_BOX(service_type), label); } l_list_free(list); gtk_widget_show(service_type); gtk_box_pack_start(GTK_BOX(box), service_type, FALSE, FALSE, 2); gtk_widget_add_accelerator(service_type, "grab_focus", accel_group, label_key, GDK_MOD1_MASK, (GtkAccelFlags) 0); /*Connect at startup Section */ connect_at_startup = gtk_check_button_new_with_mnemonic(_("_Connect at startup")); label_key = gtk_label_get_mnemonic_keyval(GTK_LABEL(GTK_BIN (connect_at_startup)->child)); gtk_widget_show(connect_at_startup); gtk_widget_add_accelerator(connect_at_startup, "clicked", accel_group, label_key, GDK_MOD1_MASK, (GtkAccelFlags) 0); gtk_box_pack_start(GTK_BOX(box), connect_at_startup, FALSE, FALSE, 5); gtk_box_pack_start(GTK_BOX(hbox), box, FALSE, FALSE, 2); gtk_widget_show(box); box = gtk_vbox_new(FALSE, 0); read_contacts(); gtk_box_pack_start(GTK_BOX(box), account_list, TRUE, TRUE, 0); gtk_widget_show(account_list); gtk_box_pack_start(GTK_BOX(hbox), box, TRUE, TRUE, 2); gtk_widget_show(box); gtk_box_pack_start(GTK_BOX(window_box), hbox, TRUE, TRUE, 0); gtk_widget_show(hbox); separator = gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(window_box), separator, TRUE, TRUE, 0); gtk_widget_show(separator); /*Initialize Toolbar */ toolbar = gtk_toolbar_new(); gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH); gtk_toolbar_set_show_arrow(GTK_TOOLBAR(toolbar), FALSE); gtk_toolbar_set_orientation(GTK_TOOLBAR(toolbar), GTK_ORIENTATION_HORIZONTAL); gtk_container_set_border_width(GTK_CONTAINER(toolbar), 0); /*Add Button */ #define TOOLBAR_APPEND(titem,stock,tip,callback,cb_data) { \ titem = gtk_tool_button_new_from_stock(stock); \ gtk_tool_item_set_tooltip_text(titem, tip); \ g_signal_connect(titem, "clicked", G_CALLBACK(callback), cb_data); \ gtk_widget_show(GTK_WIDGET(titem)); \ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), titem, -1); \ } /* line will tell whether to draw the separator line or not */ #define TOOLBAR_APPEND_SEPARATOR(line) { \ tool_sep = gtk_separator_tool_item_new(); \ gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(tool_sep), line); \ gtk_widget_show(GTK_WIDGET(tool_sep)); \ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), tool_sep, -1); \ } TOOLBAR_APPEND(toolitem, GTK_STOCK_HELP, _("Help"), help_callback, NULL); TOOLBAR_APPEND_SEPARATOR(TRUE); TOOLBAR_APPEND(toolitem, GTK_STOCK_ADD, _("Add Account"), add_callback, NULL); TOOLBAR_APPEND_SEPARATOR(FALSE); /*Delete Button */ TOOLBAR_APPEND(del_button, GTK_STOCK_DELETE, _("Delete Account"), remove_callback, NULL); gtk_widget_set_sensitive(GTK_WIDGET(del_button), FALSE); TOOLBAR_APPEND_SEPARATOR(FALSE); /* Modify Button */ TOOLBAR_APPEND(mod_button, GTK_STOCK_EDIT, _("Modify Account"), modify_callback, NULL); gtk_widget_set_sensitive(GTK_WIDGET(mod_button), FALSE); TOOLBAR_APPEND_SEPARATOR(TRUE); /*Okay Button */ TOOLBAR_APPEND(toolitem, GTK_STOCK_OK, _("Ok"), ok_callback, NULL); TOOLBAR_APPEND_SEPARATOR(FALSE); /*Cancel Button */ TOOLBAR_APPEND(toolitem, GTK_STOCK_CANCEL, _("Cancel"), cancel_callback, NULL); #undef TOOLBAR_APPEND_SEPARATOR #undef TOOLBAR_APPEND /*Buttons End */ button_box = gtk_hbox_new(FALSE, 0); gtk_box_pack_end(GTK_BOX(button_box), toolbar, FALSE, FALSE, 0); gtk_widget_show(toolbar); gtk_box_pack_start(GTK_BOX(window_box), button_box, FALSE, FALSE, 0); gtk_widget_show(button_box); gtk_widget_show(window_box); gtk_container_add(GTK_CONTAINER(account_window), window_box); gtk_window_set_title(GTK_WINDOW(account_window), _("Ayttm Account Editor")); g_signal_connect(account_window, "destroy", G_CALLBACK(destroy), NULL); gtk_window_add_accel_group(GTK_WINDOW(account_window), accel_group); gtk_widget_show(account_window); gtk_widget_grab_focus(username); }
static GtkWidget *cd_build_events_widget (void) { GtkWidget *pMainBox = gtk_box_new (GTK_ORIENTATION_VERTICAL, MARGIN); // category toolbar. GtkWidget *pToolBar = gtk_toolbar_new (); ///gtk_toolbar_set_orientation (GTK_TOOLBAR (pToolBar), GTK_ORIENTATION_HORIZONTAL); gtk_toolbar_set_style (GTK_TOOLBAR (pToolBar), GTK_TOOLBAR_BOTH); // overwrite system preference (GTK_TOOLBAR_ICONS) gtk_style_context_add_class (gtk_widget_get_style_context (pToolBar), GTK_STYLE_CLASS_INLINE_TOOLBAR); // style: inline GtkCssProvider *css = gtk_css_provider_new (); // but without border gtk_css_provider_load_from_data (css, ".inline-toolbar.toolbar { " "background: transparent; border-color: transparent; }", -1, NULL); GtkStyleContext *ctx = gtk_widget_get_style_context (pToolBar); gtk_style_context_add_provider (ctx, GTK_STYLE_PROVIDER (css), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); gtk_toolbar_set_show_arrow (GTK_TOOLBAR (pToolBar), FALSE); // force to display all the entries. gtk_box_pack_start (GTK_BOX (pMainBox), pToolBar, TRUE, TRUE, MARGIN); int i = 0; GtkToolItem *group = _add_category_button (pToolBar, D_("All"), "stock_search", i++, NULL); _add_category_button (pToolBar, D_("Applications"), "exec", i++, group); _add_category_button (pToolBar, D_("Documents"), "document", i++, group); ///_add_category_button (pToolBar, D_("Folders"), "folder", i++, group); _add_category_button (pToolBar, D_("Images"), "image", i++, group); _add_category_button (pToolBar, D_("Audio"), "sound", i++, group); _add_category_button (pToolBar, D_("Videos"), "video", i++, group); _add_category_button (pToolBar, D_("Web"), "text-html", i++, group); _add_category_button (pToolBar, D_("Others"), "unknown", i++, group); _add_category_button (pToolBar, D_("Top Results"), "gtk-about", i, group); // search entry. GtkWidget *pFilterBox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, CAIRO_DOCK_GUI_MARGIN); gtk_box_pack_start (GTK_BOX (pMainBox), pFilterBox, FALSE, FALSE, MARGIN); GtkWidget *pFilterLabel = gtk_label_new (D_("Look for events")); gldi_dialog_set_widget_text_color (GTK_WIDGET (pFilterLabel)); gtk_box_pack_start (GTK_BOX (pFilterBox), pFilterLabel, FALSE, FALSE, MARGIN); GtkWidget *pEntry = gtk_entry_new (); // press any key: g_signal_connect (pEntry, "key-release-event", G_CALLBACK (on_key_press_filter), NULL); gtk_box_pack_start (GTK_BOX (pFilterBox), pEntry, TRUE, TRUE, MARGIN); gtk_widget_set_tooltip_text (pEntry, D_("The default boolean operator is AND. Thus the query foo bar will be interpreted as foo AND bar. To exclude a term from the result set prepend it with a minus sign - eg foo -bar. Phrase queries can be done by double quoting the string \"foo is a bar\". You can truncate terms by appending a *. ")); gtk_entry_set_icon_activatable (GTK_ENTRY (pEntry), GTK_ENTRY_ICON_SECONDARY, TRUE); gtk_entry_set_icon_from_icon_name (GTK_ENTRY (pEntry), GTK_ENTRY_ICON_SECONDARY, GLDI_ICON_NAME_CLEAR); g_signal_connect (pEntry, "icon-press", G_CALLBACK (on_clear_filter), NULL); myData.pEntry = pEntry; gtk_widget_grab_focus (pEntry); // model GtkListStore *pModel = gtk_list_store_new (CD_MODEL_NB_COLUMNS, G_TYPE_STRING, /* CD_MODEL_NAME */ G_TYPE_STRING, /* CD_MODEL_URI */ G_TYPE_STRING, /* CD_MODEL_PATH */ GDK_TYPE_PIXBUF, /* CD_MODEL_ICON */ G_TYPE_INT64, /* CD_MODEL_DATE */ G_TYPE_UINT); /* CD_MODEL_ID */ myData.pModel = pModel; // tree-view GtkWidget *pOneWidget = gtk_tree_view_new (); gtk_tree_view_set_model (GTK_TREE_VIEW (pOneWidget), GTK_TREE_MODEL (pModel)); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (pOneWidget), TRUE); gtk_tree_view_set_headers_clickable (GTK_TREE_VIEW (pOneWidget), TRUE); GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (pOneWidget)); gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); /**gtk_tree_selection_set_select_function (selection, (GtkTreeSelectionFunc) _cairo_dock_select_one_item_in_tree, NULL, NULL);*/ g_signal_connect (G_OBJECT (pOneWidget), "button-release-event", G_CALLBACK (_on_click_module_tree_view), NULL); // pour le menu du clic droit g_signal_connect (G_OBJECT (pOneWidget), "button-press-event", G_CALLBACK (_on_click_module_tree_view), NULL); // pour le menu du clic droit g_object_set (G_OBJECT (pOneWidget), "tooltip-column", CD_MODEL_PATH, NULL); GtkTreeViewColumn* col; GtkCellRenderer *rend; // icon rend = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (pOneWidget), -1, NULL, rend, "pixbuf", CD_MODEL_ICON, NULL); // file name rend = gtk_cell_renderer_text_new (); col = gtk_tree_view_column_new_with_attributes (D_("File name"), rend, "text", CD_MODEL_NAME, NULL); gtk_tree_view_column_set_min_width (col, 200); gtk_tree_view_column_set_max_width (col, MAX (500, g_desktopGeometry.Xscreen.width / g_desktopGeometry.iNbScreens * .67)); // we don't know on which screen is place the container... gtk_tree_view_column_set_sort_column_id (col, CD_MODEL_NAME); gtk_tree_view_append_column (GTK_TREE_VIEW (pOneWidget), col); // date rend = gtk_cell_renderer_text_new (); col = gtk_tree_view_column_new_with_attributes (D_("Last access"), rend, "text", CD_MODEL_DATE, NULL); gtk_tree_view_column_set_cell_data_func (col, rend, (GtkTreeCellDataFunc)_render_date, NULL, NULL); gtk_tree_view_column_set_sort_column_id (col, CD_MODEL_DATE); gtk_tree_view_append_column (GTK_TREE_VIEW (pOneWidget), col); // barres de defilement GtkAdjustment *adj = gtk_adjustment_new (0., 0., 100., 1, 10, 10); gtk_scrollable_set_vadjustment (GTK_SCROLLABLE (pOneWidget), GTK_ADJUSTMENT (adj)); GtkWidget *pScrolledWindow = gtk_scrolled_window_new (NULL, NULL); g_object_set (pScrolledWindow, "height-request", 300, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (pScrolledWindow), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); #if GTK_CHECK_VERSION (3, 8, 0) gtk_container_add (GTK_CONTAINER (pScrolledWindow), pOneWidget); #else gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (pScrolledWindow), pOneWidget); #endif gtk_box_pack_start (GTK_BOX (pMainBox), pScrolledWindow, FALSE, FALSE, MARGIN); return pMainBox; }
static void fcitx_im_widget_init(FcitxImWidget* self) { gtk_orientable_set_orientation(GTK_ORIENTABLE(self), GTK_ORIENTATION_VERTICAL); GtkCellRenderer* renderer; GtkTreeViewColumn* column; GtkWidget* hbox; GtkToolItem* separator; self->imstore = gtk_list_store_new(IM_N_COLUMNS, G_TYPE_STRING, G_TYPE_POINTER); self->imview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(self->imstore)); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes( _("Input Method"), renderer, "text", IM_LIST_IM_STRING, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(self->imview), column); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(self->imview), FALSE); GtkTreeSelection* selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(self->imview)); gtk_tree_selection_set_mode(selection, GTK_SELECTION_BROWSE); g_signal_connect(G_OBJECT(selection), "changed", G_CALLBACK(_fcitx_im_widget_im_selection_changed), self); GtkWidget* scrolledwindow = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_container_add(GTK_CONTAINER(scrolledwindow), self->imview); g_object_set(G_OBJECT(scrolledwindow), "shadow-type", GTK_SHADOW_IN, NULL); GtkWidget* toolbar = gtk_toolbar_new(); gtk_toolbar_set_icon_size(GTK_TOOLBAR(toolbar), 1); gtk_toolbar_set_show_arrow(GTK_TOOLBAR(toolbar), false); gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS); GtkToolItem* item; /* add and remove */ self->addimbutton = gtk_button_new(); gtk_button_set_image(GTK_BUTTON(self->addimbutton), gtk_image_new_from_icon_name("list-add-symbolic", GTK_ICON_SIZE_BUTTON)); self->delimbutton = gtk_button_new(); gtk_button_set_image(GTK_BUTTON(self->delimbutton), gtk_image_new_from_icon_name("list-remove-symbolic", GTK_ICON_SIZE_BUTTON)); gtk_widget_set_sensitive(self->delimbutton, FALSE); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start(GTK_BOX(hbox), self->addimbutton, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), self->delimbutton, FALSE, FALSE, 0); item = gtk_tool_item_new(); gtk_container_add(GTK_CONTAINER(item), hbox); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1); /* separator */ separator = gtk_separator_tool_item_new(); g_object_set(G_OBJECT(separator), "draw", false, NULL); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), separator, -1); /* move up and move down */ self->moveupbutton = gtk_button_new(); gtk_button_set_image(GTK_BUTTON(self->moveupbutton), gtk_image_new_from_icon_name("go-up-symbolic", GTK_ICON_SIZE_BUTTON)); gtk_widget_set_sensitive(self->moveupbutton, FALSE); self->movedownbutton = gtk_button_new(); gtk_button_set_image(GTK_BUTTON(self->movedownbutton), gtk_image_new_from_icon_name("go-down-symbolic", GTK_ICON_SIZE_BUTTON)); gtk_widget_set_sensitive(self->movedownbutton, FALSE); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start(GTK_BOX(hbox), self->moveupbutton, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), self->movedownbutton, FALSE, FALSE, 0); item = gtk_tool_item_new(); gtk_container_add(GTK_CONTAINER(item), hbox); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1); /* separator */ separator = gtk_separator_tool_item_new(); g_object_set(G_OBJECT(separator), "draw", false, NULL); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), separator, -1); /* configure */ self->configurebutton = gtk_button_new(); gtk_button_set_image(GTK_BUTTON(self->configurebutton), gtk_image_new_from_icon_name("preferences-system-symbolic", GTK_ICON_SIZE_BUTTON)); gtk_widget_set_sensitive(self->configurebutton, FALSE); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start(GTK_BOX(hbox), self->configurebutton, FALSE, FALSE, 0); item = gtk_tool_item_new(); gtk_container_add(GTK_CONTAINER(item), hbox); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1); GtkStyleContext* context; context = gtk_widget_get_style_context (scrolledwindow); gtk_style_context_set_junction_sides (context, GTK_JUNCTION_BOTTOM); context = gtk_widget_get_style_context (toolbar); gtk_style_context_set_junction_sides (context, GTK_JUNCTION_TOP); gtk_style_context_add_class (context, "inline-toolbar"); gtk_box_pack_start(GTK_BOX(self), scrolledwindow, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(self), toolbar, FALSE, TRUE, 0); g_object_set(G_OBJECT(self), "margin", 5, NULL); g_signal_connect(G_OBJECT(self->addimbutton), "clicked", G_CALLBACK(_fcitx_im_widget_addim_button_clicked), self); g_signal_connect(G_OBJECT(self->delimbutton), "clicked", G_CALLBACK(_fcitx_im_widget_delim_button_clicked), self); g_signal_connect(G_OBJECT(self->moveupbutton), "clicked", G_CALLBACK(_fcitx_im_widget_moveup_button_clicked), self); g_signal_connect(G_OBJECT(self->movedownbutton), "clicked", G_CALLBACK(_fcitx_im_widget_movedown_button_clicked), self); g_signal_connect(G_OBJECT(self->configurebutton), "clicked", G_CALLBACK(_fcitx_im_widget_configure_button_clicked), self); _fcitx_im_widget_connect(self); }
static void GyahtzeeCreateMainWindow (GApplication *app, gpointer user_data) { GtkWidget *hbox, *vbox; GtkWidget *toolbar; GtkWidget *tmp; GtkWidget *dicebox; GtkWidget *undo_button; GtkWidget *menu_button; GtkWidget *icon; GtkBuilder *builder; GMenuModel *appmenu; int i, j; window = gtk_application_window_new (application); gtk_window_set_application (GTK_WINDOW (window), application); gtk_window_set_title (GTK_WINDOW (window), _(appName)); gtk_window_set_hide_titlebar_when_maximized (GTK_WINDOW (window), FALSE); gtk_window_set_icon_name (GTK_WINDOW (window), "org.gnome.Tali"); //games_conf_add_window (GTK_WINDOW (window), NULL); g_signal_connect (GTK_WIDGET (window), "key_press_event", G_CALLBACK (key_press), NULL); g_action_map_add_action_entries (G_ACTION_MAP (application), app_entries, G_N_ELEMENTS (app_entries), application); const gchar *vaccels_help[] = {"F1", NULL}; const gchar *vaccels_new[] = {"<Primary>n", NULL}; const gchar *vaccels_roll[] = {"<Primary>r", NULL}; const gchar *vaccels_undo[] = {"<Primary>z", NULL}; gtk_application_set_accels_for_action (application, "app.help", vaccels_help); gtk_application_set_accels_for_action (application, "app.new-game", vaccels_new); gtk_application_set_accels_for_action (application, "app.roll", vaccels_roll); gtk_application_set_accels_for_action (application, "app.undo", vaccels_undo); scores_action = g_action_map_lookup_action (G_ACTION_MAP (application), "scores"); undo_action = g_action_map_lookup_action (G_ACTION_MAP (application), "undo"); update_undo_sensitivity (); /*--- Headerbar ---*/ hbar = gtk_header_bar_new (); gtk_header_bar_set_show_close_button (GTK_HEADER_BAR (hbar), TRUE); gtk_header_bar_set_title (GTK_HEADER_BAR (hbar), _(appName)); gtk_widget_show (hbar); gtk_window_set_titlebar (GTK_WINDOW (window), hbar); if (gtk_widget_get_default_direction () == GTK_TEXT_DIR_RTL) undo_button = gtk_button_new_from_icon_name ("edit-undo-rtl-symbolic", GTK_ICON_SIZE_BUTTON); else undo_button = gtk_button_new_from_icon_name ("edit-undo-symbolic", GTK_ICON_SIZE_BUTTON); gtk_widget_set_valign (undo_button, GTK_ALIGN_CENTER); gtk_actionable_set_action_name (GTK_ACTIONABLE (undo_button), "app.undo"); gtk_widget_set_tooltip_text (undo_button, _("Undo your most recent move")); gtk_widget_show (undo_button); gtk_header_bar_pack_start (GTK_HEADER_BAR (hbar), undo_button); builder = gtk_builder_new_from_resource ("/org/gnome/Tali/ui/menus.ui"); appmenu = (GMenuModel *) gtk_builder_get_object (builder, "app-menu"); menu_button = gtk_menu_button_new(); icon = gtk_image_new_from_icon_name ("open-menu-symbolic", GTK_ICON_SIZE_BUTTON); gtk_button_set_image (GTK_BUTTON (menu_button), icon); gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (menu_button), appmenu); gtk_widget_show (menu_button); gtk_header_bar_pack_end (GTK_HEADER_BAR (hbar), menu_button); /*---- Content ----*/ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); /* Retreive dice pixmaps from memory or files */ LoadDicePixmaps (); /* Put all the dice in a vertical column */ dicebox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hbox), dicebox, FALSE, TRUE, 0); gtk_widget_show (dicebox); rollLabel = gtk_label_new (NULL); gtk_label_set_use_markup (GTK_LABEL (rollLabel), TRUE); gtk_widget_show (rollLabel); gtk_box_pack_start (GTK_BOX (dicebox), rollLabel, FALSE, TRUE, 5); mbutton = gtk_button_new_with_label (_("Roll!")); gtk_box_pack_end (GTK_BOX (dicebox), mbutton, FALSE, FALSE, 5); g_signal_connect (GTK_BUTTON (mbutton), "clicked", G_CALLBACK (roll_button_pressed_cb), NULL); gtk_widget_show (GTK_WIDGET (mbutton)); toolbar = gtk_toolbar_new (); gtk_orientable_set_orientation (GTK_ORIENTABLE (toolbar), GTK_ORIENTATION_VERTICAL); gtk_toolbar_set_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_ICONS); gtk_toolbar_set_show_arrow (GTK_TOOLBAR (toolbar), FALSE); gtk_box_pack_end (GTK_BOX (dicebox), toolbar, TRUE, TRUE, 0); for (i = 0; i < NUMBER_OF_DICE; i++) { tmp = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); for (j = 0; j < NUMBER_OF_PIXMAPS; j++) { gtk_box_pack_start (GTK_BOX (tmp), dicePixmaps[i][j][GAME_YAHTZEE], FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (tmp), dicePixmaps[i][j][GAME_KISMET], FALSE, FALSE, 0); } diceBox[i] = gtk_toggle_tool_button_new (); gtk_tool_button_set_icon_widget (GTK_TOOL_BUTTON (diceBox[i]), tmp); g_signal_connect (GTK_TOOL_BUTTON (diceBox[i]), "clicked", G_CALLBACK (modify_dice), &DiceValues[i]); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (diceBox[i]), -1); gtk_widget_show (GTK_WIDGET (diceBox[i])); gtk_widget_show (tmp); /*gtk_widget_show (dicePixmaps[i][0][game_type]);*/ } gtk_widget_show (toolbar); /* Scores displayed in score list */ ScoreList = create_score_list (); gtk_box_pack_end (GTK_BOX (hbox), ScoreList, TRUE, TRUE, 0); setup_score_list (ScoreList); gtk_widget_show (ScoreList); gtk_widget_show (hbox); gtk_widget_show (vbox); }
static void child_detached(GtkWidget*, GtkToolbar* toolbar, void*) { // disable showing overflow arrow when toolbar is detached, // otherwise toolbar collapses to just an arrow gtk_toolbar_set_show_arrow(toolbar, false); }
static void GyahtzeeCreateMainWindow (void) { GtkWidget *hbox, *vbox; GtkWidget *toolbar; GtkWidget *tmp; GtkWidget *dicebox; GtkAccelGroup *accel_group; GtkBuilder *builder; GtkUIManager *ui_manager; int i, j; window = gtk_application_window_new (application); gtk_window_set_application (GTK_WINDOW (window), application); gtk_window_set_title (GTK_WINDOW (window), _(appName)); gtk_window_set_hide_titlebar_when_maximized (GTK_WINDOW (window), TRUE); //games_conf_add_window (GTK_WINDOW (window), NULL); g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK (quit_game), NULL); g_signal_connect (G_OBJECT (window), "key_press_event", G_CALLBACK (key_press), NULL); statusbar = gtk_statusbar_new (); ui_manager = gtk_ui_manager_new (); builder = gtk_builder_new (); gtk_builder_add_from_string (builder, builder_description, -1, NULL); games_stock_prepare_for_statusbar_tooltips (ui_manager, statusbar); /*---- Menus ----*/ create_menus (ui_manager); accel_group = gtk_ui_manager_get_accel_group (ui_manager); gtk_window_add_accel_group (GTK_WINDOW (window), accel_group); g_action_map_add_action_entries (G_ACTION_MAP (application), app_entries, G_N_ELEMENTS (app_entries), application); gtk_application_set_app_menu (GTK_APPLICATION (application), G_MENU_MODEL (gtk_builder_get_object (builder, "app-menu"))); /*---- Content ----*/ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), statusbar, FALSE, FALSE, 0); gtk_widget_show (statusbar); /* Retreive dice pixmaps from memory or files */ LoadDicePixmaps (); /* Put all the dice in a vertical column */ dicebox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hbox), dicebox, FALSE, TRUE, 0); gtk_widget_show (dicebox); rollLabel = gtk_label_new (NULL); gtk_label_set_use_markup (GTK_LABEL (rollLabel), TRUE); gtk_widget_show (rollLabel); gtk_box_pack_start (GTK_BOX (dicebox), rollLabel, FALSE, TRUE, 5); mbutton = gtk_button_new_with_label (_("Roll!")); gtk_box_pack_end (GTK_BOX (dicebox), mbutton, FALSE, FALSE, 5); g_signal_connect (G_OBJECT (mbutton), "clicked", G_CALLBACK (roll_dice), NULL); gtk_widget_show (GTK_WIDGET (mbutton)); toolbar = gtk_toolbar_new (); gtk_orientable_set_orientation (GTK_ORIENTABLE (toolbar), GTK_ORIENTATION_VERTICAL); gtk_toolbar_set_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_ICONS); gtk_toolbar_set_show_arrow (GTK_TOOLBAR (toolbar), FALSE); gtk_box_pack_end (GTK_BOX (dicebox), toolbar, TRUE, TRUE, 0); for (i = 0; i < NUMBER_OF_DICE; i++) { tmp = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); for (j = 0; j < NUMBER_OF_PIXMAPS; j++) { gtk_box_pack_start (GTK_BOX (tmp), dicePixmaps[i][j][GAME_YAHTZEE], FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (tmp), dicePixmaps[i][j][GAME_KISMET], FALSE, FALSE, 0); } diceBox[i] = gtk_toggle_tool_button_new (); gtk_tool_button_set_icon_widget (GTK_TOOL_BUTTON (diceBox[i]), tmp); g_signal_connect (G_OBJECT (diceBox[i]), "clicked", G_CALLBACK (modify_dice), &DiceValues[i]); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (diceBox[i]), -1); gtk_widget_show (GTK_WIDGET (diceBox[i])); gtk_widget_show (tmp); /*gtk_widget_show (dicePixmaps[i][0][game_type]);*/ } gtk_widget_show (toolbar); /* Scores displayed in score list */ ScoreList = create_score_list (); gtk_box_pack_end (GTK_BOX (hbox), ScoreList, TRUE, TRUE, 0); setup_score_list (ScoreList); gtk_widget_show (ScoreList); gtk_widget_show (hbox); gtk_widget_show (vbox); gtk_widget_show (window); GyahtzeeNewGame (); }
static void nemo_toolbar_constructed (GObject *obj) { NemoToolbar *self = NEMO_TOOLBAR (obj); GtkToolItem *item; GtkBox *hbox; GtkToolbar *toolbar, *secondary_toolbar; GtkWidget *search; GtkStyleContext *context; GtkWidget *sep_space; G_OBJECT_CLASS (nemo_toolbar_parent_class)->constructed (obj); gtk_style_context_set_junction_sides (gtk_widget_get_style_context (GTK_WIDGET (self)), GTK_JUNCTION_BOTTOM); /* add the UI */ self->priv->ui_manager = gtk_ui_manager_new (); gtk_ui_manager_add_ui_from_resource (self->priv->ui_manager, "/org/nemo/nemo-toolbar-ui.xml", NULL); gtk_ui_manager_insert_action_group (self->priv->ui_manager, self->priv->action_group, 0); toolbar = GTK_TOOLBAR (gtk_ui_manager_get_widget (self->priv->ui_manager, "/Toolbar")); self->priv->toolbar = toolbar; secondary_toolbar = GTK_TOOLBAR (gtk_ui_manager_get_widget (self->priv->ui_manager, "/SecondaryToolbar")); self->priv->secondary_toolbar = secondary_toolbar; gtk_toolbar_set_icon_size (GTK_TOOLBAR (toolbar), GTK_ICON_SIZE_BUTTON); gtk_toolbar_set_icon_size (GTK_TOOLBAR (secondary_toolbar), GTK_ICON_SIZE_MENU); context = gtk_widget_get_style_context (GTK_WIDGET(toolbar)); gtk_style_context_add_class (context, GTK_STYLE_CLASS_PRIMARY_TOOLBAR); context = gtk_widget_get_style_context (GTK_WIDGET(secondary_toolbar)); gtk_style_context_add_class (context, GTK_STYLE_CLASS_PRIMARY_TOOLBAR); //search = gtk_ui_manager_get_widget (self->priv->ui_manager, "/Toolbar/Search"); //gtk_style_context_add_class (gtk_widget_get_style_context (search), GTK_STYLE_CLASS_RAISED); //gtk_widget_set_name (search, "nemo-search-button"); hbox = GTK_BOX(gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0)); gtk_box_pack_start (hbox, GTK_WIDGET(self->priv->toolbar), TRUE, TRUE, 0); gtk_widget_show_all (GTK_WIDGET(self->priv->toolbar)); gtk_toolbar_set_show_arrow (self->priv->secondary_toolbar, FALSE); gtk_box_pack_start (hbox, GTK_WIDGET(self->priv->secondary_toolbar), FALSE, TRUE, 0); gtk_widget_show_all (GTK_WIDGET(self->priv->secondary_toolbar)); gtk_box_pack_start (GTK_BOX (self), GTK_WIDGET(hbox), TRUE, TRUE, 0); gtk_widget_show_all (GTK_WIDGET(hbox)); hbox = GTK_BOX(gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0)); gtk_widget_show (GTK_WIDGET(hbox)); /* regular path bar */ self->priv->path_bar = g_object_new (NEMO_TYPE_PATH_BAR, NULL); /* entry-like location bar */ self->priv->location_bar = nemo_location_bar_new (); gtk_box_pack_start (GTK_BOX (hbox), self->priv->location_bar, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), self->priv->path_bar, TRUE, TRUE, 0); item = gtk_tool_item_new (); gtk_tool_item_set_expand (item, TRUE); gtk_container_add (GTK_CONTAINER (item), GTK_WIDGET(hbox)); /* append to the end of the toolbar so navigation buttons are at the beginning */ gtk_toolbar_insert (GTK_TOOLBAR (self->priv->toolbar), item, 8); gtk_widget_show (GTK_WIDGET (item)); setup_root_info_bar (self); /* search bar */ self->priv->search_bar = nemo_search_bar_new (); gtk_box_pack_start (GTK_BOX (self), self->priv->search_bar, TRUE, TRUE, 0); g_signal_connect_swapped (nemo_preferences, "changed::" NEMO_PREFERENCES_SHOW_LOCATION_ENTRY, G_CALLBACK (toolbar_update_appearance), self); /* nemo patch */ g_signal_connect_swapped (nemo_preferences, "changed::" NEMO_PREFERENCES_SHOW_UP_ICON_TOOLBAR, G_CALLBACK (toolbar_update_appearance), self); g_signal_connect_swapped (nemo_preferences, "changed::" NEMO_PREFERENCES_SHOW_EDIT_ICON_TOOLBAR, G_CALLBACK (toolbar_update_appearance), self); g_signal_connect_swapped (nemo_preferences, "changed::" NEMO_PREFERENCES_SHOW_RELOAD_ICON_TOOLBAR, G_CALLBACK (toolbar_update_appearance), self); g_signal_connect_swapped (nemo_preferences, "changed::" NEMO_PREFERENCES_SHOW_HOME_ICON_TOOLBAR, G_CALLBACK (toolbar_update_appearance), self); g_signal_connect_swapped (nemo_preferences, "changed::" NEMO_PREFERENCES_SHOW_COMPUTER_ICON_TOOLBAR, G_CALLBACK (toolbar_update_appearance), self); g_signal_connect_swapped (nemo_preferences, "changed::" NEMO_PREFERENCES_SHOW_SEARCH_ICON_TOOLBAR, G_CALLBACK (toolbar_update_appearance), self); g_signal_connect_swapped (nemo_preferences, "changed::" NEMO_PREFERENCES_SHOW_LABEL_SEARCH_ICON_TOOLBAR, G_CALLBACK (toolbar_update_appearance), self); toolbar_update_appearance (self); }
gint main(gint argc, gchar *argv[]) { GtkWidget *window; GtkWidget *vbox; GtkWidget *menubar; GtkWidget *subMenu; GtkWidget *menuitem; GtkWidget *toolbar; GtkActionGroup* actiongroup; GtkUIManager* ui_manager;//主界面,包含了待建立的界面和相关的动作 gtk_init(&argc, &argv); /**********初始化主界面$$$$$$$$**********{*/ /*初始化主界面相关动作信息*/ action_init(&actiongroup, &ui_manager); /*初始华主界面具体界面信息*/ ui_init(&actiongroup, &ui_manager); /**********初始化主界面$$$$$$$$**********}*/ /*window*/ window = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_signal_connect(window, "destroy" , G_CALLBACK(gtk_main_quit), NULL); /*添加快捷键*/ gtk_window_add_accel_group(GTK_WINDOW(window), gtk_ui_manager_get_accel_group(ui_manager)); /*vbox*/ vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(window), vbox); /***********使用、设置主界面中的元素$$$$$$******{*/ /*从主界面获取一个部件的方法,便于添加到窗口中为什么这里有一个警告?*/ menubar = gtk_ui_manager_get_widget(ui_manager, "/menubar"); gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0); /*从主界面获取一个菜单项的方法,获取之后设置其属性*/ menuitem = gtk_ui_manager_get_widget(ui_manager, "/menubar/Menu1/menuitem1.1"); /*从主界面把本来可以点击的菜单按钮设置为无法点击,非激活状态,工具栏上面仍然可以点*/ gtk_widget_set_sensitive(GTK_WIDGET(menuitem), FALSE); /*从主界面获取一个子菜单的方法,获取之后添加一个额外不属于主界面的菜单*/ subMenu = gtk_menu_item_get_submenu( GTK_MENU_ITEM(gtk_ui_manager_get_widget(ui_manager, "/menubar/Menu2"))); /*可以添加2个额外的分割线*/ menuitem = gtk_separator_menu_item_new(); gtk_menu_shell_append(GTK_MENU_SHELL(subMenu), menuitem); menuitem = gtk_separator_menu_item_new(); gtk_menu_shell_append(GTK_MENU_SHELL(subMenu), menuitem); menuitem = gtk_menu_item_new_with_label("added out the Ui"); gtk_menu_shell_append(GTK_MENU_SHELL(subMenu), menuitem); gtk_widget_show_all(GTK_WIDGET(subMenu));//此处如果不写,那么即使后面有window的show_all那也没法显示这个菜单. /*从主界面获取工具栏的部件*/ toolbar = gtk_ui_manager_get_widget(ui_manager, "/toolbar_navigation"); gtk_toolbar_set_show_arrow(GTK_TOOLBAR(toolbar), 0); gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0); g_object_unref(ui_manager); /***********使用、设置主界面中的元素$$$$$$******}*/ gtk_widget_show_all(window); gtk_main(); return 0; }