JNIEXPORT jint JNICALL Java_org_gnome_gtk_GtkToolbar_gtk_1toolbar_1get_1n_1items ( JNIEnv* env, jclass cls, jlong _self ) { gint result; jint _result; GtkToolbar* self; // convert parameter self self = (GtkToolbar*) _self; // call function result = gtk_toolbar_get_n_items(self); // cleanup parameter self // translate return value to JNI type _result = (jint) result; // and finally return _result; }
static GtkWidget* create_toolbar (GtkWidget *window) { /* Create toolbar */ GtkToolbar *toolbar = GTK_TOOLBAR (gtk_toolbar_new ()); gtk_toolbar_set_icon_size (toolbar, GTK_ICON_SIZE_LARGE_TOOLBAR); GtkToolItem *quit; toolbar_add_button (toolbar, gtk_menu_tool_button_new_from_stock (GTK_STOCK_GOTO_FIRST), FOLDING_TAB_PANE_GET_FROM_WINDOW (window, FOLDING_TAB_PANE_LEFT)); toolbar_add_button (toolbar, gtk_menu_tool_button_new_from_stock (GTK_STOCK_GOTO_LAST), FOLDING_TAB_PANE_GET_FROM_WINDOW (window, FOLDING_TAB_PANE_RIGHT)); toolbar_add_button (toolbar, gtk_menu_tool_button_new_from_stock (GTK_STOCK_GOTO_TOP), FOLDING_TAB_PANE_GET_FROM_WINDOW (window, FOLDING_TAB_PANE_TOP)); toolbar_add_button (toolbar, gtk_menu_tool_button_new_from_stock (GTK_STOCK_GOTO_BOTTOM), FOLDING_TAB_PANE_GET_FROM_WINDOW (window, FOLDING_TAB_PANE_BOTTOM)); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), gtk_separator_tool_item_new(), gtk_toolbar_get_n_items (toolbar)); quit = gtk_tool_button_new_from_stock (GTK_STOCK_QUIT); gtk_toolbar_insert (toolbar, quit, gtk_toolbar_get_n_items (toolbar)); g_signal_connect (G_OBJECT (quit), "clicked", G_CALLBACK (application_shutdown), toolbar); return GTK_WIDGET (toolbar); }
static void toolbar_add_button (GtkToolbar *toolbar, GtkToolItem *button, FoldingTabPane *pane_to_handle) { gtk_toolbar_insert (toolbar, gtk_separator_tool_item_new(), gtk_toolbar_get_n_items (toolbar)); gtk_toolbar_insert (toolbar, button, gtk_toolbar_get_n_items (toolbar)); gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (button), create_toolbar_button_menu ()); g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (toolbar_button_clicked), pane_to_handle); }
static void set_edit_mode (EggEditableToolbar *etoolbar, gboolean mode) { EggEditableToolbarPrivate *priv = etoolbar->priv; int i, l, n_items; i = priv->edit_mode; if (mode) { priv->edit_mode++; } else { g_return_if_fail (priv->edit_mode > 0); priv->edit_mode--; } i *= priv->edit_mode; if (i == 0) { for (i = get_n_toolbars (etoolbar)-1; i >= 0; i--) { GtkWidget *toolbar; toolbar = get_toolbar_nth (etoolbar, i); n_items = gtk_toolbar_get_n_items (GTK_TOOLBAR (toolbar)); if (n_items == 0 && priv->edit_mode == 0) { egg_toolbars_model_remove_toolbar (priv->model, i); } else { for (l = 0; l < n_items; l++) { GtkToolItem *item; item = gtk_toolbar_get_nth_item (GTK_TOOLBAR (toolbar), l); configure_item_cursor (item, etoolbar); configure_item_sensitivity (item, etoolbar); } } } } }
/** Show the accelerators in the toolbar */ static void gui_toolbar_show_accelerators(gboolean show_accelerators) { GtkToolbar *tb; gint n, i; toolbar_show_accelerators = show_accelerators; tb = GTK_TOOLBAR(toolbar); n = gtk_toolbar_get_n_items(tb); for (i = 0; i < n; i++) { GtkToolItem *ti; GtkToolButton *tbtn; gchar *text; gint j; ti = gtk_toolbar_get_nth_item(tb, i); tbtn = GTK_TOOL_BUTTON(ti); g_assert(tbtn != NULL); if (gtk_major_version == 2 && gtk_minor_version == 10) { /* Work around a gtk+ 2.10 bug (#434261) that * mishandles strings like (Fn) in labels. */ /** @todo BW 2007-04-29 Remove this when gtk 2.10 * is no longer supported. */ gtk_tool_button_set_use_underline(tbtn, FALSE); } text = g_strdup(gtk_tool_button_get_label(tbtn)); if (strchr(text, '\n')) *strchr(text, '\n') = '\0'; /* Find the matching entry */ for (j = 0; j < G_N_ELEMENTS(entries); j++) { if (strcmp(text, _(entries[j].label)) == 0) { if (show_accelerators) { gchar *label; if (entries[j].accelerator == NULL || strlen(entries[j].accelerator) == 0) label = g_strdup_printf("%s\n", text); else { gchar *accelerator_text; guint accelerator_key; GdkModifierType accelerator_mods; gtk_accelerator_parse (entries [j].accelerator, &accelerator_key, &accelerator_mods); accelerator_text = gtk_accelerator_get_label (accelerator_key, accelerator_mods); label = g_strdup_printf ("%s\n(%s)", text, accelerator_text); g_free(accelerator_text); } gtk_tool_button_set_label(tbtn, label); g_free(label); } else { gtk_tool_button_set_label(tbtn, _(entries [j]. label)); } break; } } g_free(text); } config_set_int("settings/toolbar_show_accelerators", toolbar_show_accelerators); }
static VALUE rg_n_items(VALUE self) { return INT2NUM(gtk_toolbar_get_n_items(_SELF(self))); }
static void fm_main_win_init(FmMainWin *self) { GtkWidget *vbox, *menubar, *toolitem, *next_btn, *scroll; GtkUIManager* ui; GtkActionGroup* act_grp; GtkAction* act; GtkAccelGroup* accel_grp; ++n_wins; vbox = gtk_vbox_new(FALSE, 0); self->hpaned = gtk_hpaned_new(); gtk_paned_set_position(GTK_PANED(self->hpaned), 150); /* places left pane */ self->places_view = fm_places_view_new(); scroll = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_container_add(GTK_CONTAINER(scroll), self->places_view); gtk_paned_add1(GTK_PANED(self->hpaned), scroll); /* folder view */ self->folder_view = fm_folder_view_new( FM_FV_ICON_VIEW ); fm_folder_view_set_show_hidden(FM_FOLDER_VIEW(self->folder_view), FALSE); fm_folder_view_sort(FM_FOLDER_VIEW(self->folder_view), GTK_SORT_DESCENDING, COL_FILE_NAME); fm_folder_view_set_selection_mode(FM_FOLDER_VIEW(self->folder_view), GTK_SELECTION_MULTIPLE); g_signal_connect(self->folder_view, "clicked", on_file_clicked, self); g_signal_connect(self->folder_view, "status", on_status, self); g_signal_connect(self->folder_view, "sel-changed", on_sel_changed, self); gtk_paned_add2(GTK_PANED(self->hpaned), self->folder_view); /* link places view with folder view. */ g_signal_connect_swapped(self->places_view, "chdir", G_CALLBACK(fm_main_win_chdir), self); /* create menu bar and toolbar */ ui = gtk_ui_manager_new(); act_grp = gtk_action_group_new("Main"); gtk_action_group_add_actions(act_grp, main_win_actions, G_N_ELEMENTS(main_win_actions), self); gtk_action_group_add_toggle_actions(act_grp, main_win_toggle_actions, G_N_ELEMENTS(main_win_toggle_actions), self); gtk_action_group_add_radio_actions(act_grp, main_win_mode_actions, G_N_ELEMENTS(main_win_mode_actions), FM_FV_ICON_VIEW, on_change_mode, self); gtk_action_group_add_radio_actions(act_grp, main_win_sort_type_actions, G_N_ELEMENTS(main_win_sort_type_actions), GTK_SORT_ASCENDING, on_sort_type, self); gtk_action_group_add_radio_actions(act_grp, main_win_sort_by_actions, G_N_ELEMENTS(main_win_sort_by_actions), 0, on_sort_by, self); accel_grp = gtk_ui_manager_get_accel_group(ui); gtk_window_add_accel_group(GTK_WINDOW(self), accel_grp); gtk_ui_manager_insert_action_group(ui, act_grp, 0); gtk_ui_manager_add_ui_from_string(ui, main_menu_xml, -1, NULL); menubar = gtk_ui_manager_get_widget(ui, "/menubar"); self->toolbar = gtk_ui_manager_get_widget(ui, "/toolbar"); /* FIXME: should make these optional */ gtk_toolbar_set_icon_size(GTK_TOOLBAR(self->toolbar), GTK_ICON_SIZE_SMALL_TOOLBAR); gtk_toolbar_set_style(GTK_TOOLBAR(self->toolbar), GTK_TOOLBAR_ICONS); /* create 'Next' button manually and add a popup menu to it */ toolitem = g_object_new(GTK_TYPE_MENU_TOOL_BUTTON, NULL); gtk_toolbar_insert(GTK_TOOLBAR(self->toolbar), toolitem, 2); gtk_widget_show(GTK_WIDGET(toolitem)); act = gtk_ui_manager_get_action(ui, "/menubar/GoMenu/Next"); gtk_activatable_set_related_action(GTK_ACTIVATABLE(toolitem), act); /* set up history menu */ self->nav_history = fm_nav_history_new(); self->history_menu = gtk_menu_new(); gtk_menu_tool_button_set_menu(GTK_MENU_TOOL_BUTTON(toolitem), self->history_menu); g_signal_connect(toolitem, "show-menu", G_CALLBACK(on_show_history_menu), self); self->popup = gtk_ui_manager_get_widget(ui, "/popup"); gtk_box_pack_start( (GtkBox*)vbox, menubar, FALSE, TRUE, 0 ); gtk_box_pack_start( (GtkBox*)vbox, self->toolbar, FALSE, TRUE, 0 ); /* load bookmarks menu */ load_bookmarks(self, ui); /* the location bar */ self->location = fm_path_entry_new(); g_signal_connect(self->location, "activate", on_entry_activate, self); g_signal_connect(self->folder_view, "loaded", G_CALLBACK(on_view_loaded), (gpointer) self); toolitem = gtk_tool_item_new(); gtk_container_add( GTK_CONTAINER(toolitem), self->location ); gtk_tool_item_set_expand(GTK_TOOL_ITEM(toolitem), TRUE); gtk_toolbar_insert((GtkToolbar*)self->toolbar, toolitem, gtk_toolbar_get_n_items(GTK_TOOLBAR(self->toolbar)) - 1 ); gtk_box_pack_start( (GtkBox*)vbox, self->hpaned, TRUE, TRUE, 0 ); /* status bar */ self->statusbar = gtk_statusbar_new(); gtk_box_pack_start( (GtkBox*)vbox, self->statusbar, FALSE, TRUE, 0 ); self->statusbar_ctx = gtk_statusbar_get_context_id(GTK_STATUSBAR(self->statusbar), "status"); self->statusbar_ctx2 = gtk_statusbar_get_context_id(GTK_STATUSBAR(self->statusbar), "status2"); g_object_unref(act_grp); self->ui = ui; gtk_container_add( (GtkContainer*)self, vbox ); gtk_widget_show_all(vbox); fm_folder_view_set_show_hidden(FM_FOLDER_VIEW(self->folder_view), FALSE); fm_main_win_chdir(self, fm_path_get_home()); gtk_widget_grab_focus(self->folder_view); }