static void gui_add_to_app_menu (GimpUIManager *ui_manager, IgeMacMenuGroup *group, const gchar *action_path, const gchar *label) { GtkWidget *item; item = gtk_ui_manager_get_widget (GTK_UI_MANAGER (ui_manager), action_path); if (GTK_IS_MENU_ITEM (item)) ige_mac_menu_add_app_menu_item (group, GTK_MENU_ITEM (item), label); }
int main (int argc, char **argv) { GtkWidget *window; GtkWidget *vbox; GtkWidget *menubar; IgeMacMenuGroup *group; IgeMacDock *dock; GtkWidget *bbox; GtkWidget *button; gtk_init (&argc, &argv); dock = ige_mac_dock_get_default (); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size (GTK_WINDOW (window), 400, 300); g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); vbox = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); menubar = test_setup_menu (); gtk_box_pack_start (GTK_BOX (vbox), menubar, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("Some window content here"), FALSE, FALSE, 12); bbox = gtk_hbutton_box_new (); gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_CENTER); gtk_button_box_set_spacing (GTK_BUTTON_BOX (bbox), 12); gtk_box_pack_start (GTK_BOX (vbox), bbox, TRUE, TRUE, 0); button = gtk_button_new_with_label ("Bounce"); g_signal_connect (button, "clicked", G_CALLBACK (bounce_cb), dock); gtk_box_pack_start (GTK_BOX (bbox), button, FALSE, FALSE, 0); button = gtk_button_new_with_label ("Change Icon"); g_signal_connect (button, "clicked", G_CALLBACK (change_icon_cb), dock); gtk_box_pack_start (GTK_BOX (bbox), button, FALSE, FALSE, 0); button = gtk_button_new_with_label ("Change Menu"); g_signal_connect (button, "clicked", G_CALLBACK (change_menu_cb), NULL); gtk_box_pack_start (GTK_BOX (bbox), button, FALSE, FALSE, 0); gtk_widget_show_all (window); gtk_widget_hide (menubar); ige_mac_menu_set_menu_bar (GTK_MENU_SHELL (menubar)); ige_mac_menu_set_quit_menu_item (GTK_MENU_ITEM (quit_item)); group = ige_mac_menu_add_app_menu_group (); ige_mac_menu_add_app_menu_item (group, GTK_MENU_ITEM (about_item), NULL); group = ige_mac_menu_add_app_menu_group (); ige_mac_menu_add_app_menu_item (group, GTK_MENU_ITEM (preferences_item), NULL); dock = ige_mac_dock_new (); g_signal_connect (dock, "clicked", G_CALLBACK (dock_clicked_cb), window); g_signal_connect (dock, "quit-activate", G_CALLBACK (gtk_main_quit), window); gtk_main (); return 0; }