/** mradio.c **/ #include static void dummyCallback(GtkObject *,gpointer); static void radioOne(GtkObject *,gpointer); static void radioTwo(GtkObject *,gpointer); static void radioThree(GtkObject *,gpointer); gint eventDelete(GtkWidget *widget, GdkEvent *event,gpointer data); gint eventDestroy(GtkWidget *widget, GdkEvent *event,gpointer data); GnomeUIInfo menuRadioList[] = { GNOMEUIINFO_RADIOITEM("Radio One", "The first radio button", radioOne,NULL), GNOMEUIINFO_RADIOITEM("Radio Two", "The second radio button", radioTwo,NULL), GNOMEUIINFO_RADIOITEM("Radio Three", "The third radio button", radioThree,NULL), GNOMEUIINFO_END }; GnomeUIInfo radioMenu[] = { GNOMEUIINFO_MENU_REDO_ITEM(dummyCallback,NULL), GNOMEUIINFO_SEPARATOR, GNOMEUIINFO_RADIOLIST(menuRadioList), GNOMEUIINFO_SEPARATOR, GNOMEUIINFO_MENU_CUT_ITEM(dummyCallback,NULL), GNOMEUIINFO_END }; GnomeUIInfo mainMenu[] = { GNOMEUIINFO_SUBTREE("RadioButtons",radioMenu), GNOMEUIINFO_END }; int main(int argc,char *argv[]) { GtkWidget *app; gnome_init("mradio","1.0",argc,argv); app = gnome_app_new("mradio","Menu Radio Buttons"); gtk_window_set_default_size(GTK_WINDOW(app),200,100); gtk_signal_connect(GTK_OBJECT(app),"delete_event", GTK_SIGNAL_FUNC(eventDelete),NULL); gtk_signal_connect(GTK_OBJECT(app),"destroy", GTK_SIGNAL_FUNC(eventDestroy),NULL); gnome_app_create_menus(GNOME_APP(app),mainMenu); gtk_widget_show_all(app); gtk_main(); exit(0); } static void dummyCallback(GtkObject *object,gpointer data) { gnome_ok_dialog("The dummy callback executed."); } static void radioOne(GtkObject *object,gpointer data) { if(GTK_CHECK_MENU_ITEM(object)->active) gnome_ok_dialog("The radio one button is on."); else gnome_ok_dialog("The radio one button is off."); } static void radioTwo(GtkObject *object,gpointer data) { if(GTK_CHECK_MENU_ITEM(object)->active) gnome_ok_dialog("The radio two button is on."); else gnome_ok_dialog("The radio two button is off."); } static void radioThree(GtkObject *object,gpointer data) { if(GTK_CHECK_MENU_ITEM(object)->active) gnome_ok_dialog("The radio three button is on."); else gnome_ok_dialog("The radio three button is off."); } gint eventDelete(GtkWidget *widget, GdkEvent *event,gpointer data) { return(FALSE); } gint eventDestroy(GtkWidget *widget, GdkEvent *event,gpointer data) { gtk_main_quit(); return(0); }