/* * btn_menu.c -- display a panel that has an OPEN LOOK menu button. * The choices displayed are Yes, No and Quit. If Quit is selected * in the menu, the program exits. */ #include <xview/xview.h> #include <xview/panel.h> #include <xview/openmenu.h> main(argc, argv) int argc; char *argv[]; { Frame frame; Panel panel; Menu menu; int selected(); void menu_proc(); xv_init(XV_INIT_ARGC_PTR_ARGV, &argc, argv, NULL); frame = (Frame)xv_create(NULL, FRAME, NULL); panel = (Panel)xv_create(frame, PANEL, NULL); /* Create the menu _before_ the panel button */ menu = (Menu)xv_create(NULL, MENU, MENU_NOTIFY_PROC, menu_proc, MENU_STRINGS, "Yes", "No", "Quit", NULL, NULL); (void) xv_create(panel, PANEL_BUTTON, PANEL_LABEL_STRING, "Y/N/Q", PANEL_NOTIFY_PROC, selected, PANEL_ITEM_MENU, menu, /* attach menu to button */ NULL); window_fit(panel); window_fit(frame); xv_main_loop(frame); } int selected(item, event) Panel_item item; Event *event; { printf("%s selected...\n", xv_get(item, PANEL_LABEL_STRING)); return XV_OK; } void menu_proc(menu, menu_item) Menu menu; Menu_item menu_item; { printf("Menu Item: %s\n", xv_get(menu_item, MENU_STRING)); if (!strcmp((char *)xv_get(menu_item, MENU_STRING), "Quit")) exit(0); }