static void ephy_notebook_constructed (GObject *object) { EphyNotebook *notebook = EPHY_NOTEBOOK (object); GtkWidget *hbox; GtkWidget *button; EphyPagesPopover *popover; G_OBJECT_CLASS (ephy_notebook_parent_class)->constructed (object); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_notebook_set_action_widget (GTK_NOTEBOOK (notebook), hbox, GTK_PACK_END); gtk_widget_show (hbox); button = gtk_menu_button_new (); gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE); /* Translators: tooltip for the tab switcher menu button */ gtk_widget_set_tooltip_text (button, _("View open tabs")); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); gtk_widget_show (button); notebook->tab_menu = g_menu_new (); /* Remove this when popover menus become scrollable. */ gtk_menu_button_set_use_popover (GTK_MENU_BUTTON (button), TRUE); popover = ephy_pages_popover_new (GTK_WIDGET (button)); ephy_pages_popover_set_notebook (popover, notebook); gtk_menu_button_set_popover (GTK_MENU_BUTTON (button), GTK_WIDGET (popover)); }
void InitScreen(void) { GtkWidget *notebook; GtkWidget *playbacklabel; GtkWidget *capturelabel; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW(window), "Lightweight Alsa Mixer"); //gtk_container_set_border_width (GTK_CONTAINER (window), 1); gtk_signal_connect (GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(gtk_main_quit), NULL); windowbox = gtk_vbox_new(FALSE,1); InitMenu(); gtk_box_pack_start(GTK_BOX(windowbox), menu_bar, FALSE, TRUE, 0); lamixer_enum_cards(); lamixer_mixer_init(card_id); mixerbox = gtk_table_new(mRows, 1, FALSE); capturebox = gtk_table_new(mRows, 1, FALSE); InitMixer(card_id); playbackscrollwin = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (playbackscrollwin),GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW (playbackscrollwin), mixerbox); capturescrollwin = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (capturescrollwin),GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW (capturescrollwin), capturebox); playbacklabel = gtk_label_new("Playback"); capturelabel = gtk_label_new("Capture"); notebook = gtk_notebook_new (); gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook), GTK_POS_TOP); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), playbackscrollwin, playbacklabel); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), capturescrollwin, capturelabel); switchmixer = gtk_combo_box_new_text(); GList *card_name = g_list_first(SoundCards); while(card_name) { gtk_combo_box_append_text (GTK_COMBO_BOX (switchmixer), card_name->data); card_name = g_list_next(card_name); } gtk_combo_box_set_active(GTK_COMBO_BOX (switchmixer), 0); g_signal_connect(G_OBJECT(switchmixer), "changed", G_CALLBACK(lamixer_mixer_switch), NULL); gtk_notebook_set_action_widget (GTK_NOTEBOOK (notebook), switchmixer, GTK_PACK_END); gtk_widget_show(switchmixer); gtk_box_pack_start(GTK_BOX(windowbox), notebook, TRUE, TRUE, 0); gtk_container_add (GTK_CONTAINER(window), windowbox); lamixer_window_resize(); gtk_widget_show_all (window); }
static VALUE rg_set_action_widget(VALUE self, VALUE widget, VALUE pack_type) { gtk_notebook_set_action_widget(_SELF(self), RVAL2WIDGET(widget), RVAL2GENUM(pack_type, GTK_TYPE_PACK_TYPE)); return self; }
static VALUE rg_set_action_widget(VALUE self, VALUE widget, VALUE pack_type) { gtk_notebook_set_action_widget(_SELF(self), RVAL2GTKWIDGET(widget), RVAL2GTKPACKTYPE(pack_type)); return self; }
static void make_add_button (GtkWidget * notebook) { GtkWidget * button = gtk_button_new (); gtk_button_set_relief ((GtkButton *) button, GTK_RELIEF_NONE); gtk_container_add ((GtkContainer *) button, gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_BUTTON)); gtk_widget_set_can_focus (button, FALSE); g_signal_connect (button, "clicked", (GCallback) add_button_cb, NULL); gtk_widget_show_all (button); gtk_notebook_set_action_widget ((GtkNotebook *) notebook, button, GTK_PACK_END); }
static GtkWidget* create_notebook_non_dragable_content (gchar **labels, const gchar *group, GtkPositionType pos) { GtkWidget *notebook, *title, *page, *action_widget; notebook = gtk_notebook_new (); gtk_widget_set_vexpand (notebook, TRUE); gtk_widget_set_hexpand (notebook, TRUE); action_widget = gtk_button_new_from_icon_name ("list-add-symbolic", GTK_ICON_SIZE_BUTTON); g_signal_connect (action_widget, "clicked", G_CALLBACK (action_clicked_cb), notebook); gtk_widget_show (action_widget); gtk_notebook_set_action_widget (GTK_NOTEBOOK (notebook), action_widget, GTK_PACK_END); g_signal_connect (notebook, "create-window", G_CALLBACK (window_creation_function), NULL); gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook), pos); gtk_notebook_set_scrollable (GTK_NOTEBOOK (notebook), TRUE); gtk_container_set_border_width (GTK_CONTAINER (notebook), 6); gtk_notebook_set_group_name (GTK_NOTEBOOK (notebook), group); while (*labels) { GtkWidget *button; button = gtk_button_new_with_label (*labels); /* Use GtkListBox since it bubbles up motion notify event, which can * experience more issues than GtkBox. */ page = gtk_list_box_new (); gtk_container_add (GTK_CONTAINER (page), button); title = gtk_label_new (*labels); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, title); gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (notebook), page, TRUE); gtk_notebook_set_tab_detachable (GTK_NOTEBOOK (notebook), page, TRUE); labels++; } g_signal_connect (GTK_NOTEBOOK (notebook), "page-reordered", G_CALLBACK (on_page_reordered), NULL); g_signal_connect_after (G_OBJECT (notebook), "drag-begin", G_CALLBACK (on_notebook_drag_begin), NULL); return notebook; }
static GtkWidget* create_notebook (gchar **labels, const gchar *group, GtkPositionType pos) { GtkWidget *notebook, *title, *page, *action_widget; notebook = gtk_notebook_new (); gtk_widget_set_vexpand (notebook, TRUE); gtk_widget_set_hexpand (notebook, TRUE); action_widget = gtk_button_new_from_icon_name ("list-add-symbolic", GTK_ICON_SIZE_BUTTON); g_signal_connect (action_widget, "clicked", G_CALLBACK (action_clicked_cb), notebook); gtk_widget_show (action_widget); gtk_notebook_set_action_widget (GTK_NOTEBOOK (notebook), action_widget, GTK_PACK_END); g_signal_connect (notebook, "create-window", G_CALLBACK (window_creation_function), NULL); gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook), pos); gtk_notebook_set_scrollable (GTK_NOTEBOOK (notebook), TRUE); gtk_container_set_border_width (GTK_CONTAINER (notebook), 6); gtk_notebook_set_group_name (GTK_NOTEBOOK (notebook), group); while (*labels) { page = gtk_entry_new (); gtk_entry_set_text (GTK_ENTRY (page), *labels); title = gtk_label_new (*labels); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, title); gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (notebook), page, TRUE); gtk_notebook_set_tab_detachable (GTK_NOTEBOOK (notebook), page, TRUE); labels++; } g_signal_connect (GTK_NOTEBOOK (notebook), "page-reordered", G_CALLBACK (on_page_reordered), NULL); g_signal_connect_after (G_OBJECT (notebook), "drag-begin", G_CALLBACK (on_notebook_drag_begin), NULL); return notebook; }