static void gtk_image_menu_item_recalculate (GtkImageMenuItem *image_menu_item) { GtkImageMenuItemPrivate *priv = image_menu_item->priv; GtkStockItem stock_item; GtkWidget *image; const gchar *resolved_label = priv->label; if (priv->use_stock && priv->label) { G_GNUC_BEGIN_IGNORE_DEPRECATIONS; if (!priv->image) { image = gtk_image_new_from_stock (priv->label, GTK_ICON_SIZE_MENU); gtk_image_menu_item_set_image (image_menu_item, image); } if (gtk_stock_lookup (priv->label, &stock_item)) resolved_label = stock_item.label; gtk_menu_item_set_use_underline (GTK_MENU_ITEM (image_menu_item), TRUE); G_GNUC_END_IGNORE_DEPRECATIONS; } GTK_MENU_ITEM_CLASS (gtk_image_menu_item_parent_class)->set_label (GTK_MENU_ITEM (image_menu_item), resolved_label); }
void GtkMenuItem_::set_use_underline(Php::Parameters ¶meters) { gboolean setting = (gboolean)parameters[0]; gtk_menu_item_set_use_underline (GTK_MENU_ITEM(instance), setting); }
extern "C" int addToGui(gpointer data) { GtkWidget* menu; char* command; plugdata=(plugData*)data; currentClip=-1; setTextDomain(true,plugdata); menuPlug=gtk_menu_item_new_with_label(gettext("C_lipboard")); gtk_menu_item_set_use_underline((GtkMenuItem*)menuPlug,true); menu=gtk_menu_new(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuPlug),menu); for(int j=0;j<MAXCLIPS;j++) { sinkInt=asprintf(&command,gettext("Clip Number. %i"),j+1); clip[j].menuItem=(GtkWidget*)gtk_menu_item_new_with_label(command); gtk_widget_set_name(clip[j].menuItem,command); free(command); clip[j].text=NULL; g_signal_connect(G_OBJECT(clip[j].menuItem),"activate",G_CALLBACK(theCallBack),(void*)(long)j); gtk_menu_shell_append(GTK_MENU_SHELL(menu),clip[j].menuItem); } gtk_menu_shell_append(GTK_MENU_SHELL(plugdata->mlist.menuBar),menuPlug); mainClipboard=gtk_clipboard_get(GDK_SELECTION_CLIPBOARD); clipid=g_signal_connect(G_OBJECT(mainClipboard),"owner-change",G_CALLBACK(clipChanged),plugdata); setTextDomain(false,plugdata); return(0); }
/*# @method set_use_underline GtkMenuItem @brief If true, an underline in the text indicates the next character should be used for the mnemonic accelerator key. @param setting TRUE if underlines in the text indicate mnemonics */ FALCON_FUNC MenuItem::set_use_underline( VMARG ) { Item* i_bool = vm->param( 0 ); #ifndef NO_PARAMETER_CHECK if ( !i_bool || i_bool->isNil() || !i_bool->isBoolean() ) throw_inv_params( "B" ); #endif MYSELF; GET_OBJ( self ); gtk_menu_item_set_use_underline( (GtkMenuItem*)_obj, i_bool->asBoolean() ? TRUE : FALSE ); }
int main (int argc, char **argv) { GtkWidget *window; GtkWidget *button; GtkWidget *grid; GtkWidget *entry; GtkWidget *menu_widget; GtkAccelGroup *accel_group; guint i; GMenu *menu; gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_resize (GTK_WINDOW (window), 400, 300); grid = gtk_grid_new (); gtk_container_add (GTK_CONTAINER (window), grid); accel_group = gtk_accel_group_new (); gtk_window_add_accel_group (GTK_WINDOW (window), accel_group); /* Button next to entry */ entry = gtk_entry_new (); gtk_grid_attach (GTK_GRID (grid), entry, 0, 0, 1, 1); button = gtk_menu_button_new (); gtk_grid_attach (GTK_GRID (grid), button, 1, 0, 1, 1); /* Button with GtkMenu */ menu_widget = gtk_menu_new (); for (i = 5; i > 0; i--) { GtkWidget *item; if (i == 3) { item = gtk_menu_item_new_with_mnemonic ("_Copy"); } else { char *label; label = g_strdup_printf ("Item _%d", i); item = gtk_menu_item_new_with_mnemonic (label); g_free (label); } gtk_menu_item_set_use_underline (GTK_MENU_ITEM (item), TRUE); gtk_menu_attach (GTK_MENU (menu_widget), item, 0, 1, i - 1, i); } gtk_widget_show_all (menu_widget); button = gtk_menu_button_new (); gtk_menu_button_set_popup (GTK_MENU_BUTTON (button), menu_widget); gtk_grid_attach (GTK_GRID (grid), button, 1, 1, 1, 1); gtk_widget_show (create_prop_editor (G_OBJECT (button), 0)); /* Button with GMenuModel */ menu = g_menu_new (); for (i = 5; i > 0; i--) { char *label; GMenuItem *item; label = g_strdup_printf ("Item _%d", i); item = g_menu_item_new (label, NULL); if (i == 3) g_menu_item_set_attribute (item, "icon", "s", "preferences-desktop-locale-symbolic"); g_menu_insert_item (menu, i - 1, item); g_object_unref (item); g_free (label); } button = gtk_menu_button_new (); gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (button), G_MENU_MODEL (menu)); gtk_grid_attach (GTK_GRID (grid), button, 1, 2, 1, 1); gtk_widget_show_all (window); gtk_main (); return 0; }