/* Menu Button Test */ /* Machine generated by mkmenu.cpp */ #include #include #include GtkWidget *window1 ; GtkWidget *vbox1 ; GtkWidget *menubar ; GtkWidget *filemenu ; GtkWidget *filemenu_menu ; GtkWidget *filenew ; GtkWidget *fileopen ; GtkWidget *filesave ; GtkWidget *separator_1 ; GtkWidget *filequit ; GtkWidget *editmenu ; GtkWidget *editmenu_menu ; GtkWidget *editcut ; GtkWidget *editcopy ; GtkWidget *editpaste ; GtkWidget *separator_2 ; GtkWidget *editselectall ; GtkWidget *editdeselect ; GtkWidget *helpmenu ; GtkWidget *helpmenu_menu ; GtkWidget *helphelp ; GtkWidget *helpabout ; GtkWidget *label1 ; GtkWidget *hbox1 ; GtkWidget *button1 ; GtkWidget *button2 ; void InitializeMainSystem () { /* .... put initialize stuff here .... */ } void MessageBox (GtkWindow *parentWindow, char *messageValue) { GtkWidget *dialog; dialog = gtk_message_dialog_new (parentWindow, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, messageValue); gtk_window_set_title (GTK_WINDOW (dialog), "Information"); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); } /* Stop the GTK+ main loop function. */ static void destroy_window1 (GtkWidget *window, gpointer data) { gtk_main_quit (); } /* Return FALSE to destroy the widget. By returning TRUE, you can cancel a delete-event. This can be used to confirm quitting the application. */ static gboolean delete_event_window1 (GtkWidget *window, GdkEvent *event, gpointer data) { return (FALSE); } static void filenew_activated (GtkMenuItem *filenew, GtkWindow *parentWindow) { MessageBox(parentWindow, "Menu filenew was clicked."); } static void fileopen_activated (GtkMenuItem *fileopen, GtkWindow *parentWindow) { MessageBox(parentWindow, "Menu fileopen was clicked."); } static void filesave_activated (GtkMenuItem *filesave, GtkWindow *parentWindow) { MessageBox(parentWindow, "Menu filesave was clicked."); } static void filequit_activated (GtkMenuItem *filequit, GtkWindow *parentWindow) { MessageBox(parentWindow, "Menu filequit was clicked."); } static void editcut_activated (GtkMenuItem *editcut, GtkWindow *parentWindow) { MessageBox(parentWindow, "Menu editcut was clicked."); } static void editcopy_activated (GtkMenuItem *editcopy, GtkWindow *parentWindow) { MessageBox(parentWindow, "Menu editcopy was clicked."); } static void editpaste_activated (GtkMenuItem *editpaste, GtkWindow *parentWindow) { MessageBox(parentWindow, "Menu editpaste was clicked."); } static void editselectall_activated (GtkMenuItem *editselectall, GtkWindow *parentWindow) { MessageBox(parentWindow, "Menu editselectall was clicked."); } static void editdeselect_activated (GtkMenuItem *editdeselect, GtkWindow *parentWindow) { MessageBox(parentWindow, "Menu editdeselect was clicked."); } static void helphelp_activated (GtkMenuItem *helphelp, GtkWindow *parentWindow) { MessageBox(parentWindow, "Menu helphelp was clicked."); } static void helpabout_activated (GtkMenuItem *helpabout, GtkWindow *parentWindow) { MessageBox(parentWindow, "Menu helpabout was clicked."); } static void button1_clicked (GtkButton *button1, GtkWindow *parentWindow) { MessageBox(parentWindow, "button1 was clicked."); } static void button2_clicked (GtkButton *button2, GtkWindow *parentWindow) { MessageBox(parentWindow, "button2 was clicked."); } void InitializeUserInterface () { /* initialize main window */ window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window1), "Menu Test"); gtk_window_set_default_size (GTK_WINDOW (window1), 400, 200); // gtk_window_maximize (GTK_WINDOW (window1)); /* Connect the main window to the destroy and delete-event signals. */ g_signal_connect (G_OBJECT (window1), "destroy", G_CALLBACK (destroy_window1), NULL); g_signal_connect (G_OBJECT (window1), "delete_event", G_CALLBACK (delete_event_window1), NULL); vbox1 = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (window1), vbox1); menubar = gtk_menu_bar_new (); gtk_box_pack_start (GTK_BOX (vbox1), menubar, FALSE, FALSE, 2); filemenu = gtk_menu_item_new_with_label ("File"); filemenu_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (filemenu), filemenu_menu); gtk_menu_shell_append (GTK_MENU_SHELL (menubar), filemenu); filenew = gtk_menu_item_new_with_label ("New"); gtk_menu_shell_append (GTK_MENU_SHELL (filemenu_menu), filenew); g_signal_connect (G_OBJECT (filenew), "activate", G_CALLBACK (filenew_activated), (gpointer) window1); fileopen = gtk_menu_item_new_with_label ("Open"); gtk_menu_shell_append (GTK_MENU_SHELL (filemenu_menu), fileopen); g_signal_connect (G_OBJECT (fileopen), "activate", G_CALLBACK (fileopen_activated), (gpointer) window1); filesave = gtk_menu_item_new_with_label ("Save"); gtk_menu_shell_append (GTK_MENU_SHELL (filemenu_menu), filesave); g_signal_connect (G_OBJECT (filesave), "activate", G_CALLBACK (filesave_activated), (gpointer) window1); separator_1 = gtk_separator_menu_item_new (); gtk_menu_shell_append (GTK_MENU_SHELL (filemenu_menu), separator_1); filequit = gtk_menu_item_new_with_label ("Quit"); gtk_menu_shell_append (GTK_MENU_SHELL (filemenu_menu), filequit); g_signal_connect (G_OBJECT (filequit), "activate", G_CALLBACK (filequit_activated), (gpointer) window1); editmenu = gtk_menu_item_new_with_label ("Edit"); editmenu_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (editmenu), editmenu_menu); gtk_menu_shell_append (GTK_MENU_SHELL (menubar), editmenu); editcut = gtk_menu_item_new_with_label ("Cut"); gtk_menu_shell_append (GTK_MENU_SHELL (editmenu_menu), editcut); g_signal_connect (G_OBJECT (editcut), "activate", G_CALLBACK (editcut_activated), (gpointer) window1); editcopy = gtk_menu_item_new_with_label ("Copy"); gtk_menu_shell_append (GTK_MENU_SHELL (editmenu_menu), editcopy); g_signal_connect (G_OBJECT (editcopy), "activate", G_CALLBACK (editcopy_activated), (gpointer) window1); editpaste = gtk_menu_item_new_with_label ("Paste"); gtk_menu_shell_append (GTK_MENU_SHELL (editmenu_menu), editpaste); g_signal_connect (G_OBJECT (editpaste), "activate", G_CALLBACK (editpaste_activated), (gpointer) window1); separator_2 = gtk_separator_menu_item_new (); gtk_menu_shell_append (GTK_MENU_SHELL (editmenu_menu), separator_2); editselectall = gtk_menu_item_new_with_label ("SelectAll"); gtk_menu_shell_append (GTK_MENU_SHELL (editmenu_menu), editselectall); g_signal_connect (G_OBJECT (editselectall), "activate", G_CALLBACK (editselectall_activated), (gpointer) window1); editdeselect = gtk_menu_item_new_with_label ("Deselect"); gtk_menu_shell_append (GTK_MENU_SHELL (editmenu_menu), editdeselect); g_signal_connect (G_OBJECT (editdeselect), "activate", G_CALLBACK (editdeselect_activated), (gpointer) window1); helpmenu = gtk_menu_item_new_with_label ("Help"); helpmenu_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (helpmenu), helpmenu_menu); gtk_menu_shell_append (GTK_MENU_SHELL (menubar), helpmenu); helphelp = gtk_menu_item_new_with_label ("Help"); gtk_menu_shell_append (GTK_MENU_SHELL (helpmenu_menu), helphelp); g_signal_connect (G_OBJECT (helphelp), "activate", G_CALLBACK (helphelp_activated), (gpointer) window1); helpabout = gtk_menu_item_new_with_label ("About"); gtk_menu_shell_append (GTK_MENU_SHELL (helpmenu_menu), helpabout); g_signal_connect (G_OBJECT (helpabout), "activate", G_CALLBACK (helpabout_activated), (gpointer) window1); label1 = gtk_label_new ("Testing 1234"); gtk_label_set_selectable (GTK_LABEL (label1), FALSE); gtk_box_pack_start (GTK_BOX (vbox1), label1, TRUE, TRUE, 2); hbox1 = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox1), hbox1, FALSE, FALSE, 2); button1 = gtk_button_new_with_label ("ClickMe1"); gtk_box_pack_start (GTK_BOX (hbox1), button1, FALSE, FALSE, 2); g_signal_connect (G_OBJECT (button1), "clicked", G_CALLBACK (button1_clicked), (gpointer) window1); button2 = gtk_button_new_with_label ("ClickMe2"); gtk_box_pack_start (GTK_BOX (hbox1), button2, FALSE, FALSE, 2); g_signal_connect (G_OBJECT (button2), "clicked", G_CALLBACK (button2_clicked), (gpointer) window1); } int main (int argc, char *argv[]) { gtk_init (&argc, &argv); InitializeMainSystem(); InitializeUserInterface(); gtk_widget_show_all (window1); gtk_main (); return (0); }