|
|
1.1 ! root 1: #include <X/mit-copyright.h> ! 2: ! 3: /* $Header: acttest.c,v 10.6 86/02/01 16:16:05 tony Rel $ */ ! 4: /* Copyright Massachusetts Institute of Technology 1985 */ ! 5: ! 6: /* ! 7: * XMenu: MIT Project Athena, X Window System menu package. ! 8: * ! 9: * acttest.c Acttest is an XMenu selection / pane ! 10: * activation testing utility. ! 11: * ! 12: * Author: Tony Della Fera, DEC ! 13: * September, 1985 ! 14: */ ! 15: ! 16: #include <X/Xlib.h> ! 17: #include "../XMenu.h" ! 18: #include <stdio.h> ! 19: ! 20: main(argc, argv) ! 21: int argc; /* Argument count. */ ! 22: char **argv; /* Argument vector. */ ! 23: { ! 24: register int i; /* Counter. */ ! 25: register int j; /* Counter. */ ! 26: register int stat; /* Return status. */ ! 27: register XMenu *menu; /* Menu structure. */ ! 28: char *data; /* Test data. */ ! 29: ! 30: int p_num = 0; /* Pane number. */ ! 31: int s_num = 0; /* Selection number. */ ! 32: int x, y; /* Mouse X and Y position. */ ! 33: ! 34: Window twin; /* Temporary window. */ ! 35: ! 36: /* ! 37: * Open the display. ! 38: */ ! 39: if (XOpenDisplay(NULL) == NULL) { ! 40: printf("acttest: Error opening display.\n"); ! 41: exit(0); ! 42: } ! 43: ! 44: /* ! 45: * Create the XMenu. ! 46: */ ! 47: menu = (XMenu *)XMenuCreate(RootWindow, argv[0]); ! 48: if (menu == NULL) MenuError(); ! 49: ! 50: /* ! 51: * Assemble the panes and selections. ! 52: */ ! 53: printf("Acttest assembling panes: zero... "); ! 54: stat = XMenuAddPane(menu, "Pane Zero", 1); ! 55: if (stat == XM_FAILURE) MenuError(); ! 56: stat = XMenuAddSelection(menu, 0, (char *)1, "Exit acctest.", 1); ! 57: if (stat == XM_FAILURE) MenuError(); ! 58: stat = XMenuAddSelection(menu, 0, (char *)2, "Reactivate all panes.", 1); ! 59: if (stat == XM_FAILURE) MenuError(); ! 60: stat = XMenuAddSelection(menu, 0, (char *)3, "Selection two.", 1); ! 61: if (stat == XM_FAILURE) MenuError(); ! 62: stat = XMenuAddSelection(menu, 0, (char *)3, "Selection three.", 1); ! 63: if (stat == XM_FAILURE) MenuError(); ! 64: ! 65: printf("one... "); ! 66: stat = XMenuAddPane(menu, "Pane One", 1); ! 67: if (stat == XM_FAILURE) MenuError(); ! 68: stat = XMenuAddSelection(menu, 1, (char *)4, "Deactivate pane.", 1); ! 69: if (stat == XM_FAILURE) MenuError(); ! 70: stat = XMenuAddSelection(menu, 1, (char *)3, "Selection one.", 1); ! 71: if (stat == XM_FAILURE) MenuError(); ! 72: stat = XMenuAddSelection(menu, 1, (char *)3, "Selection two.", 1); ! 73: if (stat == XM_FAILURE) MenuError(); ! 74: ! 75: printf("two... "); ! 76: stat = XMenuAddPane(menu, "Pane Two", 1); ! 77: if (stat == XM_FAILURE) MenuError(); ! 78: stat = XMenuAddSelection(menu, 2, (char *)4, "Deactivate pane.", 1); ! 79: if (stat == XM_FAILURE) MenuError(); ! 80: stat = XMenuAddSelection(menu, 2, (char *)3, "Selection one.", 1); ! 81: if (stat == XM_FAILURE) MenuError(); ! 82: stat = XMenuAddSelection(menu, 2, (char *)3, "Selection two.", 1); ! 83: if (stat == XM_FAILURE) MenuError(); ! 84: stat = XMenuAddSelection(menu, 2, (char *)3, "Selection three.", 1); ! 85: if (stat == XM_FAILURE) MenuError(); ! 86: stat = XMenuAddSelection(menu, 2, (char *)3, "Selection four.", 1); ! 87: if (stat == XM_FAILURE) MenuError(); ! 88: ! 89: printf("three... "); ! 90: stat = XMenuAddPane(menu, "Pane Three", 1); ! 91: if (stat == XM_FAILURE) MenuError(); ! 92: stat = XMenuAddSelection(menu, 3, (char *)4, "Deactivate pane.", 1); ! 93: if (stat == XM_FAILURE) MenuError(); ! 94: ! 95: printf("four... "); ! 96: stat = XMenuAddPane(menu, "Pane Four", 1); ! 97: if (stat == XM_FAILURE) MenuError(); ! 98: stat = XMenuAddSelection(menu, 4, (char *)4, "Deactivate pane.", 1); ! 99: if (stat == XM_FAILURE) MenuError(); ! 100: stat = XMenuAddSelection(menu, 4, (char *)3, "Selection one.", 1); ! 101: if (stat == XM_FAILURE) MenuError(); ! 102: printf("done.\n"); ! 103: ! 104: /* ! 105: * Recompute menu. ! 106: */ ! 107: printf("Acttest recomputing menu dependencies.\n"); ! 108: stat = XMenuRecompute(menu); ! 109: if (stat == XM_FAILURE) MenuError(); ! 110: ! 111: /* ! 112: * Post the menu. ! 113: */ ! 114: while (1) { ! 115: data = NULL; ! 116: printf( ! 117: "Acttest posting menu: pane = %d, selection = %d.\n", ! 118: p_num, s_num ! 119: ); ! 120: XQueryMouse(RootWindow, &x, &y, &twin); ! 121: stat = XMenuActivate( ! 122: menu, ! 123: &p_num, &s_num, ! 124: x, y, ! 125: ButtonPressed, ! 126: &data ! 127: ); ! 128: printf("Acttest results: data = %d, pane = %d, selection = %d\n", ! 129: (int)data, p_num, s_num); ! 130: if (stat == XM_FAILURE) MenuError(); ! 131: if (stat == XM_NO_SELECT) { ! 132: printf("Acttest reports no selection made.\n"); ! 133: s_num = 0; ! 134: continue; ! 135: } ! 136: if (stat == XM_IA_SELECT) { ! 137: printf("Acttest reports no selection active.\n"); ! 138: continue; ! 139: } ! 140: if ((int)data == 1) break; ! 141: if ((int)data == 2) { ! 142: printf("Acttest reactivating all selections.\n"); ! 143: stat = XMenuSetPane(menu, 0, 1); ! 144: if (stat == XM_FAILURE) MenuError(); ! 145: stat = XMenuSetSelection(menu, 0, 0, 1); ! 146: if (stat == XM_FAILURE) MenuError(); ! 147: stat = XMenuSetSelection(menu, 0, 1, 1); ! 148: if (stat == XM_FAILURE) MenuError(); ! 149: stat = XMenuSetSelection(menu, 0, 2, 1); ! 150: if (stat == XM_FAILURE) MenuError(); ! 151: stat = XMenuSetSelection(menu, 0, 3, 1); ! 152: if (stat == XM_FAILURE) MenuError(); ! 153: ! 154: stat = XMenuSetPane(menu, 1, 1); ! 155: if (stat == XM_FAILURE) MenuError(); ! 156: stat = XMenuSetSelection(menu, 1, 0, 1); ! 157: if (stat == XM_FAILURE) MenuError(); ! 158: stat = XMenuSetSelection(menu, 1, 1, 1); ! 159: if (stat == XM_FAILURE) MenuError(); ! 160: stat = XMenuSetSelection(menu, 1, 2, 1); ! 161: if (stat == XM_FAILURE) MenuError(); ! 162: ! 163: stat = XMenuSetPane(menu, 2, 1); ! 164: if (stat == XM_FAILURE) MenuError(); ! 165: stat = XMenuSetSelection(menu, 2, 0, 1); ! 166: if (stat == XM_FAILURE) MenuError(); ! 167: stat = XMenuSetSelection(menu, 2, 1, 1); ! 168: if (stat == XM_FAILURE) MenuError(); ! 169: stat = XMenuSetSelection(menu, 2, 2, 1); ! 170: if (stat == XM_FAILURE) MenuError(); ! 171: stat = XMenuSetSelection(menu, 2, 3, 1); ! 172: if (stat == XM_FAILURE) MenuError(); ! 173: stat = XMenuSetSelection(menu, 2, 4, 1); ! 174: if (stat == XM_FAILURE) MenuError(); ! 175: ! 176: stat = XMenuSetPane(menu, 3, 1); ! 177: if (stat == XM_FAILURE) MenuError(); ! 178: stat = XMenuSetSelection(menu, 3, 0, 1); ! 179: if (stat == XM_FAILURE) MenuError(); ! 180: ! 181: stat = XMenuSetPane(menu, 4, 1); ! 182: if (stat == XM_FAILURE) MenuError(); ! 183: stat = XMenuSetSelection(menu, 4, 0, 1); ! 184: if (stat == XM_FAILURE) MenuError(); ! 185: stat = XMenuSetSelection(menu, 4, 1, 1); ! 186: if (stat == XM_FAILURE) MenuError(); ! 187: continue; ! 188: } ! 189: if ((int)data == 3) { ! 190: printf( ! 191: "Acttest deactivating selection %d in pane %d.\n", ! 192: s_num, p_num ! 193: ); ! 194: stat = XMenuSetSelection(menu, p_num, s_num, 0); ! 195: if (stat == XM_FAILURE) MenuError(); ! 196: } ! 197: if ((int)data == 4) { ! 198: printf("Acttest deactivating pane %d.\n", p_num); ! 199: stat = XMenuSetPane(menu, p_num, 0); ! 200: if (stat == XM_FAILURE) MenuError(); ! 201: } ! 202: } ! 203: ! 204: /* ! 205: * Destroy XMenu. ! 206: */ ! 207: printf("Acttest destroying menu.\n"); ! 208: XMenuDestroy(menu); ! 209: } ! 210: ! 211: /* ! 212: * Print the XMenu error message. ! 213: */ ! 214: MenuError() ! 215: { ! 216: printf("\nActtest reports XMenu error: %s.\n\n", XMenuError()); ! 217: exit(0); ! 218: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.