home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C / Libraries / stdwin / Appls / test / test4.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-05-14  |  1.1 KB  |  73 lines  |  [TEXT/????]

  1. /* Menu test - a text-edit window  */
  2.  
  3. #include "stdwin.h"
  4.  
  5. TEXTEDIT *tb;
  6.  
  7. void
  8. drawproc(win, l, t, r, b)
  9.     WINDOW *win;
  10. {
  11.     tedraw(tb);
  12. }
  13.  
  14. main(argc, argv)
  15.     int argc;
  16.     char **argv;
  17. {
  18.     WINDOW *win;
  19.     MENU *mp;
  20.     int width, height;
  21.     int stop= 0;
  22.     
  23.     winitargs(&argc, &argv);
  24.     if (argc >= 3) {
  25.         int h= atoi(argv[1]), v= atoi(argv[2]);
  26.         wsetdefwinpos(h, v);
  27.     }
  28.     
  29.     mp= wmenucreate(1, "File");
  30.     wmenuadditem(mp, "Quit", 'Q');
  31.     
  32.     win= wopen("Menu+textedit", drawproc);
  33.     wgetwinsize(win, &width, &height);
  34.     wsetdocsize(win, width, height);
  35.     
  36.     tb= tealloc(win, 0, 0, width);
  37.     tereplace(tb, "Hello, world\n--Guido van Rossum");
  38.     
  39.     do {
  40.         EVENT e;
  41.         wgetevent(&e);
  42.         if (teevent(tb, &e)) {
  43.             wsetdocsize(win, width, height= tegetbottom(tb));
  44.             continue;
  45.         }
  46.         switch (e.type) {
  47.         
  48.         case WE_COMMAND:
  49.             if (e.u.command == WC_CLOSE ||
  50.                 e.u.command == WC_CANCEL)
  51.                 stop= 1;
  52.             break;
  53.         
  54.         case WE_CLOSE:
  55.             stop= 1;
  56.             break;
  57.         
  58.         case WE_MENU:
  59.             if (e.u.m.id == 1 && e.u.m.item == 0)
  60.                 stop= 1;
  61.             break;
  62.         
  63.         }
  64.     } while (!stop);
  65.  
  66.      tefree(tb);
  67.     wclose(win);
  68.     wmenudelete(mp);
  69.     wdone();
  70.     
  71.     exit(0);
  72. }
  73.