/** * gtk_image_menu_item_set_accel_group: * @image_menu_item: a #GtkImageMenuItem * @accel_group: the #GtkAccelGroup * * Specifies an @accel_group to add the menu items accelerator to * (this only applies to stock items so a stock item must already * be set, make sure to call gtk_image_menu_item_set_use_stock() * and gtk_menu_item_set_label() with a valid stock item first). * * If you want this menu item to have changeable accelerators then * you shouldnt need this (see gtk_image_menu_item_new_from_stock()). * * Since: 2.16 * * Deprecated: 3.10 */ void gtk_image_menu_item_set_accel_group (GtkImageMenuItem *image_menu_item, GtkAccelGroup *accel_group) { GtkImageMenuItemPrivate *priv; GtkStockItem stock_item; /* Silent return for the constructor */ if (!accel_group) return; g_return_if_fail (GTK_IS_IMAGE_MENU_ITEM (image_menu_item)); g_return_if_fail (GTK_IS_ACCEL_GROUP (accel_group)); priv = image_menu_item->priv; G_GNUC_BEGIN_IGNORE_DEPRECATIONS; if (priv->use_stock && priv->label && gtk_stock_lookup (priv->label, &stock_item)) if (stock_item.keyval) { gtk_widget_add_accelerator (GTK_WIDGET (image_menu_item), "activate", accel_group, stock_item.keyval, stock_item.modifier, GTK_ACCEL_VISIBLE); g_object_notify (G_OBJECT (image_menu_item), "accel-group"); } G_GNUC_END_IGNORE_DEPRECATIONS; }
/****************************************************************************** * gtk_ItemFactoryNew( container_type, spath, accel_group ) --> ItemFactoryNewObject * container_type is one of :GTK_TYPE_MENU_BAR, GTK_TYPE_MENU or GTK_TYPE_OPTION_MENU ******************************************************************************/ int clip_GTK_ITEMFACTORYNEW(ClipMachine * cm) { gint itype = INT_OPTION(cm, 1, CLIP_GTK_TYPE_MENU_BAR); const gchar *path = _clip_parc(cm, 2); C_object *caccel = _fetch_cobject(cm, _clip_spar(cm, 3)); C_object *citem ; GtkItemFactory *item ; GtkType type = 0; CHECKARG(1, NUMERIC_t); CHECKARG(2, CHARACTER_t); CHECKOPT(3, MAP_t); CHECKCOBJOPT(caccel, GTK_IS_ACCEL_GROUP(caccel->object)); switch (itype) { case CLIP_GTK_TYPE_MENU_BAR: type = GTK_TYPE_MENU_BAR; break; case CLIP_GTK_TYPE_MENU: type = GTK_TYPE_MENU; break; case CLIP_GTK_TYPE_OPTION_MENU: type = GTK_TYPE_OPTION_MENU; break; } item = gtk_item_factory_new(type, path, GTK_ACCEL_GROUP(caccel->object)); if (item) { citem = _list_get_cobject(cm,item); if (!citem) citem = _register_object(cm,item,GTK_TYPE_ITEM_FACTORY,NULL,NULL); if (citem) _clip_mclone(cm,RETPTR(cm),&citem->obj); } return 0; err: return 1; }
/* * glade_app_set_accel_group: * * Sets @accel_group to app. * The acceleration group will made available for editor dialog windows * from the plugin backend. */ void glade_app_set_accel_group (GtkAccelGroup *accel_group) { GladeApp *app; g_return_if_fail (GTK_IS_ACCEL_GROUP (accel_group)); app = glade_app_get (); app->priv->accel_group = accel_group; }
/** * gtk_action_set_accel_group: * @action: the action object * @accel_group: (allow-none): a #GtkAccelGroup or %NULL * * Sets the #GtkAccelGroup in which the accelerator for this action * will be installed. * * Since: 2.4 **/ void gtk_action_set_accel_group (GtkAction *action, GtkAccelGroup *accel_group) { g_return_if_fail (GTK_IS_ACTION (action)); g_return_if_fail (accel_group == NULL || GTK_IS_ACCEL_GROUP (accel_group)); if (accel_group) g_object_ref (accel_group); if (action->private_data->accel_group) g_object_unref (action->private_data->accel_group); action->private_data->accel_group = accel_group; }
int clip_GTK_WINDOWADDACCELGROUP(ClipMachine * cm) { C_widget *cwin = _fetch_cw_arg(cm); C_object *caccg = _fetch_cobject(cm,_clip_spar(cm,2)); CHECKARG2(2, MAP_t, NUMERIC_t); CHECKCWID(cwin,GTK_IS_WINDOW); CHECKCOBJ(caccg,GTK_IS_ACCEL_GROUP(caccg)); gtk_window_add_accel_group(GTK_WINDOW(cwin->widget), GTK_ACCEL_GROUP(caccg->object)); return 0; err: return 1; }
void _gtk_accel_map_add_group (const gchar *accel_path, GtkAccelGroup *accel_group) { AccelEntry *entry; g_return_if_fail (_gtk_accel_path_is_valid (accel_path)); g_return_if_fail (GTK_IS_ACCEL_GROUP (accel_group)); entry = accel_path_lookup (accel_path); if (!entry) { gtk_accel_map_add_entry (accel_path, 0, 0); entry = accel_path_lookup (accel_path); } entry->groups = g_slist_prepend (entry->groups, accel_group); }
/****************************************************************************** * gtk_ItemFactoryConstruct( itemFactory, container_type, spath, accel_group ) --> NIL * container_type is one of :GTK_TYPE_MENU_BAR, GTK_TYPE_MENU or GTK_TYPE_OPTION_MENU ******************************************************************************/ int clip_GTK_ITEMFACTORYCONSTRUCT(ClipMachine * cm) { C_object *citem = _fetch_co_arg(cm); GtkType type = INT_OPTION(cm, 2, GTK_TYPE_MENU_BAR); const gchar *path = _clip_parc(cm, 3); C_object *caccel = _fetch_cobject(cm, _clip_spar(cm, 4)); CHECKARG(1, MAP_t); CHECKCOBJ(citem, GTK_IS_ITEM_FACTORY(citem->object)); CHECKARG(2, NUMERIC_t); CHECKARG(3, CHARACTER_t); CHECKOPT(4, MAP_t); CHECKCOBJOPT(caccel, GTK_IS_ACCEL_GROUP(caccel->object)); gtk_item_factory_construct(GTK_ITEM_FACTORY(citem->object), type, path, GTK_ACCEL_GROUP(caccel->object)); return 0; err: return 1; }
/****************************************************************************** * gtk_ItemFactoryAddForeign( accel_widget, sfull_path, accel_group, nkeyvalue, modifiers ) --> NIL ******************************************************************************/ int clip_GTK_ITEMFACTORYADDFOREIGN(ClipMachine * cm) { C_widget *cwid = _fetch_cw_arg(cm); const gchar *path = _clip_parc(cm, 2); C_object *caccel = _fetch_cobject(cm, _clip_spar(cm, 3)); gint keyval = _clip_parni(cm, 4); GdkModifierType type = _clip_parni(cm, 5); CHECKARG(1, MAP_t); CHECKCWID(cwid, GTK_IS_WIDGET); CHECKARG(2, CHARACTER_t); CHECKOPT(3, MAP_t); CHECKCOBJOPT(caccel, GTK_IS_ACCEL_GROUP(caccel->object)); CHECKARG(4, NUMERIC_t); CHECKARG(5, NUMERIC_t); gtk_item_factory_add_foreign(GTK_WIDGET(cwid->widget), path, GTK_ACCEL_GROUP(caccel->object), keyval, type); return 0; err: return 1; }