GtkWidget * menus_create_display_menubar (GtkUIManager **ui_manager, GtkActionGroup **actions) { GtkWidget *menu_bar; GError *error = NULL; gchar *uifile; *actions = create_or_ref_display_actions (TRUE); tool_actions = create_or_ref_tool_actions (); *ui_manager = gtk_ui_manager_new (); gtk_ui_manager_set_add_tearoffs (*ui_manager, DIA_SHOW_TEAROFFS); gtk_ui_manager_insert_action_group (*ui_manager, *actions, 0); gtk_ui_manager_insert_action_group (*ui_manager, tool_actions, 0); g_object_unref (G_OBJECT (tool_actions)); uifile = build_ui_filename ("ui/display-ui.xml"); if (!gtk_ui_manager_add_ui_from_file (*ui_manager, uifile, &error)) { g_warning ("building menus failed: %s", error->message); g_error_free (error); g_free (uifile); return NULL; } g_free (uifile); add_plugin_actions (*ui_manager, DISPLAY_MENU); menu_bar = gtk_ui_manager_get_widget (*ui_manager, DISPLAY_MENU); return menu_bar; }
static void menus_init(void) { GError *error = NULL; gchar *uifile; if (!initialise) return; initialise = FALSE; _setup_global_actions (); uifile = build_ui_filename ("ui/toolbox-ui.xml"); if (!gtk_ui_manager_add_ui_from_file (_ui_manager, uifile, &error)) { g_warning ("building menus failed: %s", error->message); g_error_free (error); error = NULL; } g_free (uifile); /* the display menu */ display_actions = create_or_ref_display_actions (TRUE); display_ui_manager = gtk_ui_manager_new (); g_signal_connect (G_OBJECT (display_ui_manager), "connect_proxy", G_CALLBACK (_ui_manager_connect_proxy), NULL); gtk_ui_manager_set_add_tearoffs (display_ui_manager, DIA_SHOW_TEAROFFS); gtk_ui_manager_insert_action_group (display_ui_manager, display_actions, 0); gtk_ui_manager_insert_action_group (display_ui_manager, tool_actions, 0); if (!gtk_ui_manager_add_ui_from_string (display_ui_manager, ui_info, -1, &error)) { g_warning ("built-in menus failed: %s", error->message); g_error_free (error); error = NULL; } uifile = build_ui_filename ("ui/popup-ui.xml"); /* TODO it would be more elegant if we had only one definition of the * menu hierarchy and merge it into a popup somehow. */ if (!gtk_ui_manager_add_ui_from_file (display_ui_manager, uifile, &error)) { g_warning ("building menus failed: %s", error->message); g_error_free (error); error = NULL; } g_free (uifile); display_accels = gtk_ui_manager_get_accel_group (display_ui_manager); display_menubar = gtk_ui_manager_get_widget (display_ui_manager, DISPLAY_MENU); g_assert (display_menubar); add_plugin_actions (_ui_manager, TOOLBOX_MENU); add_plugin_actions (display_ui_manager, DISPLAY_MENU); add_plugin_actions (display_ui_manager, INVISIBLE_MENU); /* after creating all menu items */ load_accels (); }
void gpview_device_ctrl_set_ui_manager(GPViewDeviceCtrl *ctrl, GtkUIManager *ui_manager) { GPViewDeviceCtrlPrivate *privat = GPVIEW_DEVICE_CTRL_GET_PRIVATE(ctrl); if (privat != NULL) { if (privat->ui_manager != NULL) { gtk_ui_manager_remove_action_group( privat->ui_manager, privat->action_group_single ); gtk_ui_manager_remove_action_group( privat->ui_manager, privat->action_group_multiple ); gtk_ui_manager_remove_action_group( privat->ui_manager, privat->action_group_connected ); g_object_unref(privat->ui_manager); } privat->ui_manager = ui_manager; if (privat->ui_manager != NULL) { g_object_ref(privat->ui_manager); gtk_ui_manager_insert_action_group( privat->ui_manager, privat->action_group_connected, 0 ); gtk_ui_manager_insert_action_group( privat->ui_manager, privat->action_group_multiple, 0 ); gtk_ui_manager_insert_action_group( privat->ui_manager, privat->action_group_single, 0 ); } g_object_notify(G_OBJECT(ctrl), "ui-manager"); } }
void menus_get_integrated_ui_menubar (GtkWidget **menubar, GtkWidget **toolbar, GtkAccelGroup **accel_group) { GError *error = NULL; gchar *uifile; _setup_global_actions (); g_return_if_fail (_ui_manager != NULL); /* the integrated ui menu */ display_actions = create_or_ref_display_actions (FALSE); g_return_if_fail (tool_actions != NULL); /* maybe better to put this into toolbox_actions? */ gtk_action_group_add_toggle_actions (display_actions, integrated_ui_view_toggle_entries, G_N_ELEMENTS (integrated_ui_view_toggle_entries), NULL); /* for stand-alone they are per display */ gtk_ui_manager_insert_action_group (_ui_manager, display_actions, 0); tool_actions = create_or_ref_tool_actions (); gtk_ui_manager_insert_action_group (_ui_manager, tool_actions, 0); uifile = build_ui_filename ("ui/integrated-ui.xml"); if (!gtk_ui_manager_add_ui_from_file (_ui_manager, uifile, &error)) { g_warning ("building integrated ui menus failed: %s", error->message); g_error_free (error); error = NULL; } g_free (uifile); if (!gtk_ui_manager_add_ui_from_string (_ui_manager, ui_info, -1, &error)) { g_warning ("built-in menus failed: %s", error->message); g_error_free (error); error = NULL; } add_plugin_actions (_ui_manager, NULL); /* after creating all menu items */ load_accels (); if (menubar) *menubar = gtk_ui_manager_get_widget (_ui_manager, INTEGRATED_MENU); if (toolbar) *toolbar = create_integrated_ui_toolbar (); if (accel_group) *accel_group = gtk_ui_manager_get_accel_group (_ui_manager); }
static void usage_view_activate (PlannerView *view) { PlannerUsageViewPriv *priv; gchar *filename; priv = PLANNER_USAGE_VIEW (view)->priv; priv->actions = gtk_action_group_new ("TimeTableView"); gtk_action_group_set_translation_domain (priv->actions, GETTEXT_PACKAGE); gtk_action_group_add_actions (priv->actions, entries, G_N_ELEMENTS (entries), view); gtk_ui_manager_insert_action_group (priv->ui_manager, priv->actions, 0); filename = mrp_paths_get_ui_dir ("time-table-view.ui"); priv->merged_id = gtk_ui_manager_add_ui_from_file (priv->ui_manager, filename, NULL); g_free (filename); gtk_ui_manager_ensure_update (priv->ui_manager); usage_view_update_zoom_sensitivity (view); gtk_widget_grab_focus (priv->tree); }
void ip__gth_browser_construct_cb (GthBrowser *browser) { BrowserData *data; GError *error = NULL; g_return_if_fail (GTH_IS_BROWSER (browser)); data = g_new0 (BrowserData, 1); data->action_group = gtk_action_group_new ("Image Print Actions"); gtk_action_group_set_translation_domain (data->action_group, NULL); _gtk_action_group_add_actions_with_flags (data->action_group, action_entries, G_N_ELEMENTS (action_entries), browser); gtk_ui_manager_insert_action_group (gth_browser_get_ui_manager (browser), data->action_group, 0); data->fixed_merge_id = gtk_ui_manager_add_ui_from_string (gth_browser_get_ui_manager (browser), fixed_ui_info, -1, &error); if (data->fixed_merge_id == 0) { g_warning ("building ui failed: %s", error->message); g_error_free (error); } g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free); }
static GtkWidget* popup_menu_create (GtkTreeView *treeview) { GtkUIManager *ui_manager; GtkActionGroup *action_group; GtkWidget *popup; g_return_val_if_fail (treeview != NULL, NULL); action_group = gtk_action_group_new ("MenuActions"); gtk_action_group_set_translation_domain (action_group, NULL); gtk_action_group_add_actions (action_group, popup_menu_items, G_N_ELEMENTS (popup_menu_items), treeview); ui_manager = gtk_ui_manager_new (); gtk_ui_manager_insert_action_group (ui_manager, action_group, 0); if (!gtk_ui_manager_add_ui_from_string (ui_manager, ui_description, -1, NULL)) return NULL; popup = gtk_ui_manager_get_widget (ui_manager, "/MainMenu"); return popup; }
int vwin_menu_add_item_unique (windata_t *vwin, const gchar *aname, const gchar *path, GtkActionEntry *entry) { GList *list = gtk_ui_manager_get_action_groups(vwin->ui); GtkActionGroup *actions; guint id; while (list != NULL) { GtkActionGroup *group = list->data; if (!strcmp(aname, gtk_action_group_get_name(group))) { gtk_ui_manager_remove_action_group(vwin->ui, group); break; } list = list->next; } id = gtk_ui_manager_new_merge_id(vwin->ui); actions = gtk_action_group_new(aname); gtk_action_group_set_translation_domain(actions, "gretl"); gtk_action_group_add_actions(actions, entry, 1, vwin); gtk_ui_manager_add_ui(vwin->ui, id, path, entry->name, entry->name, GTK_UI_MANAGER_MENUITEM, FALSE); gtk_ui_manager_insert_action_group(vwin->ui, actions, 0); g_object_unref(actions); return id; }
static void create_menus (GtkUIManager * ui_manager) { GtkActionGroup *action_group; action_group = gtk_action_group_new ("MenuActions"); gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); gtk_action_group_add_actions (action_group, action_entry, G_N_ELEMENTS (action_entry), window); gtk_ui_manager_insert_action_group (ui_manager, action_group, 0); gtk_ui_manager_add_ui_from_string (ui_manager, ui_description, -1, NULL); new_game_action = gtk_action_group_get_action (action_group, "NewGame"); scores_action = gtk_action_group_get_action (action_group, "Scores"); end_game_action = gtk_action_group_get_action (action_group, "EndGame"); pause_action = gtk_action_group_get_action (action_group, "Pause"); resume_action = gtk_action_group_get_action (action_group, "Resume"); preferences_action = gtk_action_group_get_action (action_group, "Preferences"); fullscreen_action = gtk_action_group_get_action (action_group, "Fullscreen"); leave_fullscreen_action = gtk_action_group_get_action (action_group, "LeaveFullscreen"); new_network_action = gtk_action_group_get_action (action_group, "NewNetworkGame"); #ifndef GGZ_CLIENT gtk_action_set_sensitive (new_network_action, FALSE); #endif player_list_action = gtk_action_group_get_action (action_group, "PlayerList"); }
static void sheet_item_init (SheetItem *item) { GError *error = NULL; item->priv = g_new0 (SheetItemPriv, 1); item->priv->selected = FALSE; item->priv->preserve_selection = FALSE; item->priv->data = NULL; item->priv->ui_manager = NULL; item->priv->action_group = NULL; item->priv->ui_manager = gtk_ui_manager_new (); item->priv->action_group = gtk_action_group_new ("action_group"); gtk_action_group_set_translation_domain (item->priv->action_group, GETTEXT_PACKAGE); gtk_action_group_add_actions (item->priv->action_group, action_entries, G_N_ELEMENTS (action_entries), NULL); gtk_ui_manager_insert_action_group (item->priv->ui_manager, item->priv->action_group, 0); if (!gtk_ui_manager_add_ui_from_string (item->priv->ui_manager, sheet_item_context_menu, -1, &error)) { g_message ("building menus failed: %s", error->message); g_error_free (error); } }
static void install_menu (PlumaWindow *window) { GtkUIManager *manager; WindowData *data = BOOKMARKS_DATA (window); GError *error = NULL; manager = pluma_window_get_ui_manager (window); data->action_group = gtk_action_group_new ("PlumaBookmarksPluginActions"); gtk_action_group_set_translation_domain (data->action_group, GETTEXT_PACKAGE); gtk_action_group_add_actions (data->action_group, action_entries, G_N_ELEMENTS (action_entries), window); gtk_ui_manager_insert_action_group (manager, data->action_group, -1); data->ui_id = gtk_ui_manager_add_ui_from_string (manager, uidefinition, -1, &error); if (!data->ui_id) { g_warning ("Could not load UI: %s", error->message); g_error_free (error); } }
void db__gth_browser_construct_cb (GthBrowser *browser) { BrowserData *data; GError *error = NULL; g_return_if_fail (GTH_IS_BROWSER (browser)); data = g_new0 (BrowserData, 1); data->action_group = gtk_action_group_new ("Desktop Background Actions"); gtk_action_group_set_translation_domain (data->action_group, NULL); gtk_action_group_add_actions (data->action_group, action_entries, G_N_ELEMENTS (action_entries), browser); gtk_ui_manager_insert_action_group (gth_browser_get_ui_manager (browser), data->action_group, 0); if (! gtk_ui_manager_add_ui_from_string (gth_browser_get_ui_manager (browser), fixed_ui_info, -1, &error)) { g_message ("building menus failed: %s", error->message); g_clear_error (&error); } gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (gtk_ui_manager_get_widget (gth_browser_get_ui_manager (browser), "/FileListPopup/Screen_Actions/DesktopBackground")), TRUE); gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (gtk_ui_manager_get_widget (gth_browser_get_ui_manager (browser), "/FilePopup/Screen_Actions/DesktopBackground")), TRUE); g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free); }
static VALUE rg_insert_action_group(VALUE self, VALUE action_group, VALUE pos) { gtk_ui_manager_insert_action_group(_SELF(self), RVAL2GOBJ(action_group), NUM2INT(pos)); G_CHILD_ADD(self, action_group); return self; }
/* create the popup menu */ static void _dtv_create_popup_menu (DiagramTreeView *dtv) { static GtkActionEntry menu_items [] = { { "Select", NULL, N_("Select"), NULL, NULL, G_CALLBACK (_dtv_select_items) }, { "Locate", NULL, N_("Locate"), NULL, NULL, G_CALLBACK (_dtv_locate_item) }, { "Properties", NULL, N_("Properties"), NULL, NULL, G_CALLBACK(_dtv_showprops_item) } }; static const gchar *ui_description = "<ui>" " <popup name='PopupMenu'>" " <menuitem action='Select'/>" " <menuitem action='Locate'/>" " <menuitem action='Properties'/>" " </popup>" "</ui>"; GtkActionGroup *action_group; g_return_if_fail (dtv->popup == NULL && dtv->ui_manager == NULL); action_group = gtk_action_group_new ("PopupActions"); gtk_action_group_set_translation_domain (action_group, NULL); /* FIXME? */ gtk_action_group_add_actions (action_group, menu_items, G_N_ELEMENTS (menu_items), dtv); dtv->ui_manager = gtk_ui_manager_new (); gtk_ui_manager_insert_action_group (dtv->ui_manager, action_group, 0); if (gtk_ui_manager_add_ui_from_string (dtv->ui_manager, ui_description, -1, NULL)) dtv->popup = GTK_MENU(gtk_ui_manager_get_widget (dtv->ui_manager, "/ui/PopupMenu")); }
static void create_game_menus (GtkUIManager * ui_manager) { GtkActionGroup *action_group; games_stock_init (); action_group = gtk_action_group_new ("actions"); gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); gtk_action_group_add_actions (action_group, action_entry, G_N_ELEMENTS (action_entry), app); gtk_ui_manager_insert_action_group (ui_manager, action_group, 0); gtk_ui_manager_add_ui_from_string (ui_manager, ui_description, -1, NULL); gtk_window_add_accel_group (GTK_WINDOW (app), gtk_ui_manager_get_accel_group (ui_manager)); new_game_action = gtk_action_group_get_action (action_group, "NewGame"); hint_action = gtk_action_group_get_action (action_group, "Hint"); undo_action = gtk_action_group_get_action (action_group, "UndoMove"); fullscreen_action = GTK_ACTION (games_fullscreen_action_new ("Fullscreen", GTK_WINDOW (app))); gtk_action_group_add_action_with_accel (action_group, fullscreen_action, NULL); }
static void merge_in_clipboard_menu_items (GObject *widget_as_object, TargetCallbackData *target_data) { gboolean add_selection_callback; g_assert (target_data != NULL); add_selection_callback = target_data->shares_selection_changes; gtk_ui_manager_insert_action_group (target_data->ui_manager, target_data->action_group, 0); set_paste_sensitive_if_clipboard_contains_data (target_data->action_group); g_signal_connect (gtk_clipboard_get (GDK_SELECTION_CLIPBOARD), "owner_change", G_CALLBACK (owner_change_callback), target_data); if (add_selection_callback) { target_data->connect_callbacks (widget_as_object, target_data); } else { /* If we don't use sensitivity, everything should be on */ set_clipboard_menu_items_sensitive (target_data->action_group); } set_clipboard_items_are_merged_in (widget_as_object, TRUE); }
static void galeon_encoding_menu_set_window (GaleonEncodingMenu *menu, GaleonWindow *window) { GtkActionGroup *action_group; GtkWidget *widget; GList *encodings; g_return_if_fail (GALEON_IS_WINDOW (window)); menu->priv->window = window; menu->priv->merge = GTK_UI_MANAGER (window->merge); action_group = gtk_action_group_new ("EncodingActions"); gtk_action_group_set_translation_domain (action_group, NULL); menu->priv->action_group = action_group; gtk_action_group_add_actions (action_group, menu_entries, n_menu_entries, menu); gtk_action_group_add_toggle_actions (action_group, toggle_menu_entries, n_toggle_menu_entries, menu); encodings = galeon_encodings_get_encodings (menu->priv->encodings, LG_ALL); g_list_foreach (encodings, (GFunc) add_action, menu); g_list_free (encodings); gtk_ui_manager_insert_action_group (menu->priv->merge, action_group, 0); g_object_unref (action_group); widget = gtk_ui_manager_get_widget (menu->priv->merge, "/menubar/View"); g_signal_connect_object (widget, "activate", G_CALLBACK (update_encoding_menu_cb), menu, 0); }
/** * Update the clickable list of closed accounts and target * accounts to move a transaction, in menu. * * \param * \return FALSE * */ gboolean gsb_menu_update_accounts_in_menus ( void ) { GSList *list_tmp; GtkActionGroup * action_group; if ( move_to_account_merge_id != -1 ) gtk_ui_manager_remove_ui ( ui_manager, move_to_account_merge_id ); move_to_account_merge_id = gtk_ui_manager_new_merge_id ( ui_manager ); action_group = gtk_action_group_new ( "Group3" ); /* create the closed accounts and accounts in the menu to move a transaction */ list_tmp = gsb_data_account_get_list_accounts (); while ( list_tmp ) { gint i; i = gsb_data_account_get_no_account ( list_tmp -> data ); if ( !gsb_data_account_get_closed_account ( i ) ) { gchar *tmp_name; gchar *account_name; GtkAction *action; tmp_name = g_strdup_printf ( "MoveToAccount%d", i ); account_name = gsb_data_account_get_name ( i ); if ( !account_name ) account_name = _("Unnamed account"); action = gtk_action_new ( tmp_name, account_name, "", "" ); if ( gsb_gui_navigation_get_current_account () == i ) gtk_action_set_sensitive ( action, FALSE ); gtk_action_group_add_action ( action_group, action ); g_signal_connect ( action, "activate", G_CALLBACK ( move_selected_operation_to_account_nb ), GINT_TO_POINTER ( i ) ); gtk_ui_manager_add_ui ( ui_manager, move_to_account_merge_id, "/menubar/EditMenu/MoveToAnotherAccount/", tmp_name, tmp_name, GTK_UI_MANAGER_MENUITEM, FALSE ); g_free ( tmp_name ); } list_tmp = list_tmp -> next; } gtk_ui_manager_insert_action_group ( ui_manager, action_group, 2 ); gtk_ui_manager_ensure_update ( ui_manager ); return FALSE; }
static void eog_reload_plugin_activate (EogWindowActivatable *activatable) { GtkUIManager *manager; EogReloadPlugin *plugin = EOG_RELOAD_PLUGIN (activatable); eog_debug (DEBUG_PLUGINS); manager = eog_window_get_ui_manager (plugin->window); plugin->ui_action_group = gtk_action_group_new ("EogReloadPluginActions"); gtk_action_group_set_translation_domain (plugin->ui_action_group, GETTEXT_PACKAGE); gtk_action_group_add_actions (plugin->ui_action_group, action_entries, G_N_ELEMENTS (action_entries), plugin->window); gtk_ui_manager_insert_action_group (manager, plugin->ui_action_group, -1); plugin->ui_id = gtk_ui_manager_add_ui_from_string (manager, ui_definition, -1, NULL); g_warn_if_fail (plugin->ui_id != 0); }
void edit_metadata__gth_browser_construct_cb (GthBrowser *browser) { BrowserData *data; GError *error = NULL; g_return_if_fail (GTH_IS_BROWSER (browser)); data = g_new0 (BrowserData, 1); data->browser = browser; data->actions = gtk_action_group_new ("Edit Metadata Actions"); gtk_action_group_set_translation_domain (data->actions, NULL); _gtk_action_group_add_actions_with_flags (data->actions, edit_metadata_action_entries, G_N_ELEMENTS (edit_metadata_action_entries), browser); gtk_ui_manager_insert_action_group (gth_browser_get_ui_manager (browser), data->actions, 0); if (! gtk_ui_manager_add_ui_from_string (gth_browser_get_ui_manager (browser), fixed_ui_info, -1, &error)) { g_message ("building menus failed: %s", error->message); g_error_free (error); } if (gth_main_extension_is_active ("list_tools") && ! gtk_ui_manager_add_ui_from_string (gth_browser_get_ui_manager (browser), fixed_ui_file_tools_info, -1, &error)) { g_message ("building menus failed: %s", error->message); g_error_free (error); } g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free); }
/** * create_game_menus * @ap: application pointer * * Description: * Creates the menus for application @ap * **/ void create_game_menus (GtkUIManager * ui_manager) { GtkActionGroup *action_group; games_stock_init (); action_group = gtk_action_group_new ("actions"); gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); gtk_action_group_add_actions (action_group, action_entry, G_N_ELEMENTS (action_entry), app); gtk_action_group_add_toggle_actions (action_group, toggle_action_entry, G_N_ELEMENTS (toggle_action_entry), app); gtk_ui_manager_insert_action_group (ui_manager, action_group, 0); gtk_ui_manager_add_ui_from_string (ui_manager, ui_description, -1, NULL); scores_action = gtk_action_group_get_action (action_group, "Scores"); teleport_action = gtk_action_group_get_action (action_group, "Teleport"); random_action = gtk_action_group_get_action (action_group, "Random"); wait_action = gtk_action_group_get_action (action_group, "Wait"); toolbar_toggle_action = gtk_action_group_get_action (action_group, "ShowToolbar"); fullscreen_action = GTK_ACTION (games_fullscreen_action_new ("Fullscreen", GTK_WINDOW (app))); gtk_action_group_add_action_with_accel (action_group, fullscreen_action, NULL); return; }
//============================================================================== // PRIVATE METHODS = //============================================================================== static void merge_ui_def(GebrGuiHelpEditWindow * window, gboolean revert_visible) { GtkActionGroup * action_group; GtkUIManager * ui_manager; GtkAction * action; GError * error = NULL; gchar * path; ui_manager = gebr_gui_help_edit_window_get_ui_manager(window); action_group = gtk_action_group_new("DebrHelpEditGroup"); gtk_action_group_set_translation_domain(action_group, GETTEXT_PACKAGE); gtk_action_group_add_actions(action_group, action_entries, n_action_entries, window); action = gtk_action_group_get_action(action_group, "JumpToMenu"); g_object_set(action, "hide-if-empty", FALSE, NULL); action = gtk_action_group_get_action(action_group, "RevertAction"); gtk_action_set_sensitive(action, revert_visible); gtk_ui_manager_insert_action_group(ui_manager, action_group, 0); gtk_ui_manager_add_ui_from_string(ui_manager, ui_def, -1, &error); g_object_unref(action_group); path = g_strconcat (gebr_gui_help_edit_window_get_tool_bar_mark (window), "/PreviewAction", NULL); action = gtk_ui_manager_get_action (ui_manager, path); g_signal_connect (action, "toggled", G_CALLBACK (on_preview_toggled), window); g_free (path); if (error != NULL) { g_warning("%s\n", error->message); g_clear_error(&error); } }
int vwin_add_ui (windata_t *vwin, GtkActionEntry *entries, gint n_entries, const gchar *ui_info) { GtkActionGroup *actions; GError *err = NULL; actions = gtk_action_group_new("MyActions"); gtk_action_group_set_translation_domain(actions, "gretl"); gtk_action_group_add_actions(actions, entries, n_entries, vwin); vwin->ui = gtk_ui_manager_new(); gtk_ui_manager_insert_action_group(vwin->ui, actions, 0); g_object_unref(actions); gtk_window_add_accel_group(GTK_WINDOW(vwin->main), gtk_ui_manager_get_accel_group(vwin->ui)); gtk_ui_manager_add_ui_from_string(vwin->ui, ui_info, -1, &err); if (err != NULL) { g_message("building menus failed: %s", err->message); g_error_free(err); } vwin->mbar = gtk_ui_manager_get_widget(vwin->ui, "/menubar"); return 0; }
PtpSimulatorUIManager * ptp_simulator_ui_manager_new(void) { PtpSimulatorUIManager *ui_manager; GtkActionGroup *menubar_action_group; GError *error = NULL; menubar_action_group = gtk_action_group_new("MenuActionGroup"); gtk_action_group_add_actions(menubar_action_group, /* the action group */ menubar_action_entries, /* an array of action descriptions */ G_N_ELEMENTS(menubar_action_entries), /* the number of entries */ NULL); /* data to pass to the action callbacks */ ui_manager = g_object_new(PTP_SIMULATOR_TYPE_UI_MANAGER, NULL); gtk_ui_manager_insert_action_group(GTK_UI_MANAGER(ui_manager), menubar_action_group, 0); gtk_ui_manager_add_ui_from_string(GTK_UI_MANAGER(ui_manager), menubar_definition, -1, &error); if (error != NULL) { fprintf(stderr, "Warning: building menubar failed: %s\n", error->message); g_error_free(error); error = NULL; } g_object_unref(menubar_action_group); return ui_manager; }
int vwin_menu_add_items (windata_t *vwin, const gchar *path, GtkActionEntry *entries, int n) { GtkActionGroup *actions; int newgroup = 1; guint id; int i; actions = get_ad_hoc_group(vwin->ui, &newgroup); gtk_action_group_add_actions(actions, entries, n, vwin); id = gtk_ui_manager_new_merge_id(vwin->ui); for (i=0; i<n; i++) { gtk_ui_manager_add_ui(vwin->ui, id, path, entries[i].name, entries[i].name, GTK_UI_MANAGER_MENUITEM, FALSE); } if (newgroup) { gtk_ui_manager_insert_action_group(vwin->ui, actions, 0); g_object_unref(actions); } return id; }
void nautilus_navigation_window_initialize_actions (NautilusNavigationWindow *window) { GtkActionGroup *action_group; GtkUIManager *ui_manager; GtkAction *action; action_group = gtk_action_group_new ("NavigationActions"); gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); window->details->navigation_action_group = action_group; gtk_action_group_add_actions (action_group, navigation_entries, G_N_ELEMENTS (navigation_entries), window); gtk_action_group_add_toggle_actions (action_group, navigation_toggle_entries, G_N_ELEMENTS (navigation_toggle_entries), window); action = g_object_new (NAUTILUS_TYPE_NAVIGATION_ACTION, "name", "Back", "label", _("_Back"), "stock_id", GTK_STOCK_GO_BACK, "tooltip", _("Go to the previous visited location"), "arrow-tooltip", _("Back history"), "window", window, "direction", NAUTILUS_NAVIGATION_DIRECTION_BACK, "is_important", TRUE, NULL); g_signal_connect (action, "activate", G_CALLBACK (action_back_callback), window); gtk_action_group_add_action_with_accel (action_group, action, "<alt>Left"); g_object_unref (action); action = g_object_new (NAUTILUS_TYPE_NAVIGATION_ACTION, "name", "Forward", "label", _("_Forward"), "stock_id", GTK_STOCK_GO_FORWARD, "tooltip", _("Go to the next visited location"), "arrow-tooltip", _("Forward history"), "window", window, "direction", NAUTILUS_NAVIGATION_DIRECTION_FORWARD, "is_important", TRUE, NULL); g_signal_connect (action, "activate", G_CALLBACK (action_forward_callback), window); gtk_action_group_add_action_with_accel (action_group, action, "<alt>Right"); g_object_unref (action); action = gtk_action_group_get_action (action_group, NAUTILUS_ACTION_SEARCH); g_object_set (action, "short_label", _("_Search"), NULL); ui_manager = nautilus_window_get_ui_manager (NAUTILUS_WINDOW (window)); gtk_ui_manager_insert_action_group (ui_manager, action_group, 0); g_object_unref (action_group); /* owned by ui_manager */ }
GtkUIManager *create_iijmio_uimanager(GtkWidget *window) { GtkUIManager *ui; GtkActionGroup *action_group; GError *error; ui = gtk_ui_manager_new(); g_object_set_data_full(G_OBJECT(window), "ui-manager", ui, g_object_unref); if (!gtk_ui_manager_add_ui_from_string(ui, ui_info, -1, &error)) { g_message("Failed to build menus: %s\n", error->message); g_error_free (error); error = NULL; } action_group = gtk_action_group_new("IIJmioActions"); gtk_action_group_add_actions(action_group, entries, n_entries, window); gtk_ui_manager_insert_action_group(ui, action_group, 0); gtk_window_add_accel_group(GTK_WINDOW(window), gtk_ui_manager_get_accel_group(ui)); return ui; }
void terminal_popup_menu(GtkWidget *widget,GdkEventButton * event, gpointer data) { MainWin * mw; GtkUIManager *ui; GtkActionGroup *actions; GError *error = NULL; GtkWidget * menu; mw=(MainWin *)data; if(event->type !=GDK_BUTTON_PRESS || event->button != 3){ g_print("left button\n"); return; } actions = gtk_action_group_new ("PopActions"); gtk_action_group_add_actions (actions, popentries, n_popentries, mw); ui = gtk_ui_manager_new (); gtk_ui_manager_insert_action_group (ui, actions, 0); gtk_window_add_accel_group (GTK_WINDOW (mw->window), gtk_ui_manager_get_accel_group (ui)); if (!gtk_ui_manager_add_ui_from_string (ui, popui, -1, &error)) { g_message ("building menus failed: %s", error->message); g_error_free (error); } menu = gtk_ui_manager_get_widget (ui, "/ui/PopupMenu"); g_signal_connect (menu, "deactivate", G_CALLBACK (gtk_widget_destroy),NULL); gtk_menu_popup (GTK_MENU(menu), NULL, NULL, NULL, NULL, 3, gtk_get_current_event_time ()); }
G_MODULE_EXPORT void plugin_init (PlannerPlugin *plugin) { PlannerPluginPriv *priv; GtkUIManager *ui; gchar *filename; priv = g_new0 (PlannerPluginPriv, 1); plugin->priv = priv; priv->actions = gtk_action_group_new ("HTML plugin actions"); gtk_action_group_set_translation_domain (priv->actions, GETTEXT_PACKAGE); gtk_action_group_add_actions (priv->actions, action_entries, G_N_ELEMENTS (action_entries), plugin); ui = planner_window_get_ui_manager (plugin->main_window); gtk_ui_manager_insert_action_group (ui, priv->actions, 0); filename = mrp_paths_get_ui_dir ("html-plugin.ui"); gtk_ui_manager_add_ui_from_file (ui, filename, NULL); g_free (filename); gtk_ui_manager_ensure_update (ui); }
static GtkUIManager * create_ui_manager (MduShell *shell) { GtkUIManager *ui_manager; GError *error; shell->priv->action_group = gtk_action_group_new ("MateDiskUtilityActions"); gtk_action_group_set_translation_domain (shell->priv->action_group, NULL); gtk_action_group_add_actions (shell->priv->action_group, entries, G_N_ELEMENTS (entries), shell); /* -------------------------------------------------------------------------------- */ ui_manager = gtk_ui_manager_new (); gtk_ui_manager_insert_action_group (ui_manager, shell->priv->action_group, 0); error = NULL; if (!gtk_ui_manager_add_ui_from_string (ui_manager, ui, -1, &error)) { g_message ("Building menus failed: %s", error->message); g_error_free (error); gtk_main_quit (); } return ui_manager; }