Annotation of 43BSDTahoe/new/X/XMenu/tests/rstest.c, revision 1.1.1.1

1.1       root        1: #include <X/mit-copyright.h>
                      2: 
                      3: /* $Header: rstest.c,v 10.6 86/02/12 16:17:54 tony Rel $ */
                      4: /* Copyright    Massachusetts Institute of Technology    1985  */
                      5: 
                      6: /*
                      7:  * XMenu:      MIT Project Athena, X Window System menu package.
                      8:  *
                      9:  *     rstest.c                rstest is an XMenu random selection
                     10:  *                             addition 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("rstest: 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.
                     52:      */
                     53:     printf("Rstest assembling panes: zero... ");
                     54:     stat = XMenuAddPane(menu, "Pane Zero", 1);
                     55:     if (stat == XM_FAILURE) MenuError();
                     56: 
                     57:     printf("one... ");
                     58:     stat = XMenuAddPane(menu, "Pane One", 1);
                     59:     if (stat == XM_FAILURE) MenuError();
                     60: 
                     61:     printf("two... ");
                     62:     stat = XMenuAddPane(menu, "Pane Two", 1);
                     63:     if (stat == XM_FAILURE) MenuError();
                     64: 
                     65:     printf("three... ");
                     66:     stat = XMenuAddPane(menu, "Pane Three", 1);
                     67:     if (stat == XM_FAILURE) MenuError();
                     68: 
                     69:     printf("four... ");
                     70:     stat = XMenuAddPane(menu, "Pane Four", 1);
                     71:     if (stat == XM_FAILURE) MenuError();
                     72: 
                     73:     printf("done.\n");
                     74: 
                     75:     /*
                     76:      * Add selections.
                     77:      */
                     78:     printf("Adding selections... ");
                     79:     stat = XMenuAddSelection(menu, 0, (char *)1, "Exit rstest.", 1);
                     80:     if (stat == XM_FAILURE) MenuError();
                     81:     stat = XMenuAddSelection(menu, 1, (char *)2, "Selection zero.", 1);
                     82:     if (stat == XM_FAILURE) MenuError();
                     83:     stat = XMenuAddSelection(menu, 2, (char *)2, "Selection zero.", 1);
                     84:     if (stat == XM_FAILURE) MenuError();
                     85:     stat = XMenuAddSelection(menu, 1, (char *)2, "Selection one.", 1);
                     86:     if (stat == XM_FAILURE) MenuError();
                     87:     stat = XMenuAddSelection(menu, 2, (char *)2, "Selection one.", 1);
                     88:     if (stat == XM_FAILURE) MenuError();
                     89:     stat = XMenuAddSelection(menu, 2, (char *)2, "Selection two.", 1);
                     90:     if (stat == XM_FAILURE) MenuError();
                     91:     stat = XMenuAddSelection(menu, 2, (char *)2, "Selection three.", 1);
                     92:     if (stat == XM_FAILURE) MenuError();
                     93:     stat = XMenuAddSelection(menu, 0, (char *)2, "Selection one.", 1);
                     94:     if (stat == XM_FAILURE) MenuError();
                     95:     stat = XMenuAddSelection(menu, 4, (char *)2, "Selection zero.", 1);
                     96:     if (stat == XM_FAILURE) MenuError();
                     97:     stat = XMenuAddSelection(menu, 2, (char *)2, "Selection four.", 1);
                     98:     if (stat == XM_FAILURE) MenuError();
                     99:     stat = XMenuAddSelection(menu, 4, (char *)2, "Selection one.", 1);
                    100:     if (stat == XM_FAILURE) MenuError();
                    101:     stat = XMenuAddSelection(menu, 3, (char *)2, "Selection zero.", 1);
                    102:     if (stat == XM_FAILURE) MenuError();
                    103:     stat = XMenuAddSelection(menu, 0, (char *)2, "Selection two.", 1);
                    104:     if (stat == XM_FAILURE) MenuError();
                    105:     stat = XMenuAddSelection(menu, 1, (char *)2, "Selection two.", 1);
                    106:     if (stat == XM_FAILURE) MenuError();
                    107:     stat = XMenuAddSelection(menu, 0, (char *)2, "Selection three.", 1);
                    108:     if (stat == XM_FAILURE) MenuError();
                    109:     printf("done.\n");
                    110: 
                    111:     /*
                    112:      * Recompute menu.
                    113:      */
                    114:     printf("Rstest recomputing menu dependencies.\n");
                    115:     stat = XMenuRecompute(menu);
                    116:     if (stat == XM_FAILURE) MenuError();
                    117:     
                    118:     /*
                    119:      * Post the menu.
                    120:      */
                    121:     while (1) {
                    122:        data = NULL;
                    123:        printf(
                    124:            "Rstest posting menu: pane = %d, selection = %d.\n",
                    125:            p_num, s_num
                    126:        );
                    127:        XQueryMouse(RootWindow, &x, &y, &twin);
                    128:        stat = XMenuActivate(
                    129:            menu,
                    130:            &p_num, &s_num,
                    131:            x, y,
                    132:            ButtonPressed,
                    133:            &data
                    134:        );
                    135:        printf("Rstest results:  data = %d, pane = %d, selection = %d\n",
                    136:            (int)data, p_num, s_num);
                    137:        if (stat == XM_FAILURE) MenuError();
                    138:        if (stat == XM_NO_SELECT) {
                    139:            printf("Rstest reports no selection made.\n");
                    140:            s_num = 0;
                    141:            continue;
                    142:        }
                    143:        if (stat == XM_IA_SELECT) {
                    144:            printf("Rstest reports no selection active.\n");
                    145:            continue;
                    146:        }
                    147:        if ((int)data == 1) break;
                    148:     }
                    149: 
                    150:     /*
                    151:      * Destroy XMenu.
                    152:      */
                    153:     printf("Rstest destroying menu.\n");
                    154:     XMenuDestroy(menu);
                    155: }
                    156: 
                    157: /*
                    158:  * Print the XMenu error message.
                    159:  */
                    160: MenuError()
                    161: {
                    162:     printf("\nRstest reports XMenu error: %s.\n\n", XMenuError());
                    163:     exit(0);
                    164: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.