|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T i
Length: 5639 (0x1607) Types: TextFile Names: »instest.c«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki └─⟦526ad3590⟧ »EUUGD11/gnu-31mar87/X.V10.R4.tar.Z« └─⟦2109abc41⟧ └─⟦this⟧ »./X.V10R4/XMenu/tests/instest.c«
#include <X/mit-copyright.h> /* $Header: instest.c,v 10.7 86/02/12 16:17:41 tony Rel $ */ /* Copyright Massachusetts Institute of Technology 1985 */ /* * XMenu: MIT Project Athena, X Window System menu package. * * instest.c Instest is an XMenu selection / pane * insertion testing utility. * * Author: Tony Della Fera, DEC * 20-Nov-85 */ #include <X/Xlib.h> #include "../XMenu.h" #include <stdio.h> main(argc, argv) int argc; /* Argument count. */ char **argv; /* Argument vector. */ { register int i; /* Counter. */ register int j; /* Counter. */ register int stat; /* Return status. */ int p_num = 0; /* Pane number. */ int s_num = 0; /* Selection number. */ int x, y; /* Mouse X and Y position. */ Window twin; /* Temporary window. */ XMenu *menu; /* Menu structure. */ char *data; /* Test data. */ /* * Open the display. */ if (XOpenDisplay(NULL) == NULL) { printf("deltest: Error opening display.\n"); exit(0); } /* * Create the XMenu. */ menu = (XMenu *)XMenuCreate(RootWindow, argv[0]); if (menu == NULL) MenuError(); /* * Assemble the panes and selections. */ printf("Instest assembling panes: zero... "); stat = XMenuAddPane(menu, "Pane Zero", 1); if (stat == XM_FAILURE) MenuError(); stat = XMenuAddSelection(menu, 0, (char *)1, "Exit instest.", 1); if (stat == XM_FAILURE) MenuError(); stat = XMenuAddSelection(menu, 0, (char *)3, "Selection one.", 1); if (stat == XM_FAILURE) MenuError(); stat = XMenuAddSelection(menu, 0, (char *)3, "Selection two.", 1); if (stat == XM_FAILURE) MenuError(); stat = XMenuAddSelection(menu, 0, (char *)3, "Selection three.", 1); if (stat == XM_FAILURE) MenuError(); printf("one... "); stat = XMenuAddPane(menu, "Pane One", 1); if (stat == XM_FAILURE) MenuError(); stat = XMenuAddSelection(menu, 1, (char *)4, "Insert pane.", 1); if (stat == XM_FAILURE) MenuError(); stat = XMenuAddSelection(menu, 1, (char *)3, "Selection one.", 1); if (stat == XM_FAILURE) MenuError(); stat = XMenuAddSelection(menu, 1, (char *)3, "Selection two.", 1); if (stat == XM_FAILURE) MenuError(); printf("two... "); stat = XMenuAddPane(menu, "Pane Two", 1); if (stat == XM_FAILURE) MenuError(); stat = XMenuAddSelection(menu, 2, (char *)4, "Insert pane.", 1); if (stat == XM_FAILURE) MenuError(); stat = XMenuAddSelection(menu, 2, (char *)3, "Selection one.", 1); if (stat == XM_FAILURE) MenuError(); stat = XMenuAddSelection(menu, 2, (char *)3, "Selection two.", 1); if (stat == XM_FAILURE) MenuError(); stat = XMenuAddSelection(menu, 2, (char *)3, "Selection three.", 1); if (stat == XM_FAILURE) MenuError(); stat = XMenuAddSelection(menu, 2, (char *)3, "Selection four.", 1); if (stat == XM_FAILURE) MenuError(); printf("three... "); stat = XMenuAddPane(menu, "Pane Three", 1); if (stat == XM_FAILURE) MenuError(); stat = XMenuAddSelection(menu, 3, (char *)4, "Insert pane.", 1); if (stat == XM_FAILURE) MenuError(); printf("four... "); stat = XMenuAddPane(menu, "Pane Four", 1); if (stat == XM_FAILURE) MenuError(); stat = XMenuAddSelection(menu, 4, (char *)4, "Insert pane.", 1); if (stat == XM_FAILURE) MenuError(); stat = XMenuAddSelection(menu, 4, (char *)3, "Selection one.", 1); if (stat == XM_FAILURE) MenuError(); printf("done.\n"); /* * Recompute menu. */ printf("Instest recomputing menu dependencies.\n"); stat = XMenuRecompute(menu); if (stat == XM_FAILURE) MenuError(); /* * Post the menu. */ while (1) { data = NULL; printf( "Instest posting menu: pane = %d, selection = %d.\n", p_num, s_num ); XQueryMouse(RootWindow, &x, &y, &twin); stat = XMenuActivate( menu, &p_num, &s_num, x, y, ButtonPressed, &data ); printf("Instest results: data = %d, pane = %d, selection = %d\n", (int)data, p_num, s_num); if (stat == XM_FAILURE) MenuError(); if (stat == XM_NO_SELECT) { printf("Instest reports no selection made.\n"); s_num = 0; continue; } if (stat == XM_IA_SELECT) { printf("Instest reports no selection active.\n"); continue; } if ((int)data == 1) break; if ((int)data == 3) { printf( "Instest inserting selection %d in pane %d.\n", (s_num + 1), p_num ); stat = XMenuInsertSelection( menu, p_num, (s_num + 1), (char *)3, "Inserted selection.", 1 ); if (stat == XM_FAILURE) MenuError(); printf("Instest recomputing menu dependencies.\n"); stat = XMenuRecompute(menu); if (stat == XM_FAILURE) MenuError(); } if ((int)data == 4) { printf("Instest inserting pane %d.\n", (p_num + 1)); stat = XMenuInsertPane( menu, (p_num + 1), "Inserted Pane.", 1 ); if (stat == XM_FAILURE) MenuError(); stat = XMenuAddSelection( menu, (p_num + 1), (char *)4, "Insert pane.", 1 ); if (stat == XM_FAILURE) MenuError(); stat = XMenuAddSelection( menu, (p_num + 1), (char *)3, "Selection one.", 1 ); if (stat == XM_FAILURE) MenuError(); printf("Instest recomputing menu dependencies.\n"); stat = XMenuRecompute(menu); if (stat == XM_FAILURE) MenuError(); } } /* * Destroy XMenu. */ printf("Instest destroying menu.\n"); XMenuDestroy(menu); } /* * Print the XMenu error message. */ MenuError() { printf("\nInstest reports XMenu error: %s.\n\n", XMenuError()); exit(0); }