home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / pmos2002.zip / TESTS / SRC / WTEST.MOD < prev   
Text File  |  1996-10-07  |  4KB  |  108 lines

  1. MODULE WTest;
  2.  
  3.         (********************************************************)
  4.         (*                                                      *)
  5.         (*            Test of window operations.                *)
  6.         (*                                                      *)
  7.         (*  Programmer:         P. Moylan                       *)
  8.         (*  Last edited:        7 October 1996                  *)
  9.         (*  Status:             Working                         *)
  10.         (*                                                      *)
  11.         (*  Faults:                                             *)
  12.         (*     1. (fixed)                                       *)
  13.         (*     2. (fixed)                                       *)
  14.         (*                                                      *)
  15.         (********************************************************)
  16.  
  17. FROM Trace IMPORT
  18.     (* proc *)  TraceOff, TraceOn, InTrace, OutTrace, Pause;
  19.  
  20. FROM Windows IMPORT
  21.     (* type *)  Window, FrameType, DividerType, Colour,
  22.     (* proc *)  OpenWindow, CloseWindow, ChangeScrollingRegion,
  23.                 WriteChar, WriteString, WriteLn, PressAnyKey;
  24.  
  25. (*
  26. FROM Bounce IMPORT
  27.     (* proc *)  Bouncing;
  28. *)
  29.  
  30. (****************************************************************)
  31.  
  32. PROCEDURE increment (VAR (* inout *) ch: CHAR);
  33.  
  34.     BEGIN
  35.         InTrace ("increment");
  36.         IF ch = CHR(255) THEN
  37.             ch := " ";
  38.         ELSE
  39.             INC (ch);
  40.         END (*IF*);
  41.         OutTrace ("increment");
  42.     END increment;
  43.  
  44. (****************************************************************)
  45.  
  46. PROCEDURE RunTheTest;
  47.  
  48.     VAR w1, w2, w3: Window;
  49.         ch: CHAR;
  50.         i, j, loopcount: CARDINAL;
  51.  
  52.     BEGIN
  53.         InTrace ("RunTheTest");
  54.         (*Bouncing (0, 11, 41, 79);*)
  55.         OpenWindow (w1, blue, cyan, 6, 16, 0, 40, simpleframe, nodivider);
  56.         (*PressAnyKey (w1);*)
  57.         WriteString (w1, "Test Message, window w1");
  58.         Pause;
  59.         OpenWindow (w2, white, magenta, 12, 22, 20, 63, doubleframe, nodivider);
  60.         WriteString (w2, "Test Message, window w2");
  61.         OpenWindow (w3, yellow, green, 13, 24, 45, 75,
  62.                         simpleframe, doubledivider);
  63.         WriteString (w3, "This one should have");  WriteLn (w3);
  64.         WriteString (w3, " a non-scrolling header.");
  65.         ChangeScrollingRegion (w3, 4, 10);
  66.         (*Pause*);
  67.         ch := " ";  loopcount := 0;
  68.         FOR i := 1 TO 40 DO
  69.             FOR j := 1 TO 40 DO
  70.                 WriteChar (w1, ch);  increment (ch);
  71.             END (* for *);
  72.             FOR j := 1 TO 40 DO
  73.                 WriteChar (w2, ch);  increment (ch);
  74.             END (* for *);
  75.             INC (loopcount);
  76.             IF loopcount = 10 THEN
  77.                 WriteLn (w3);
  78.                 WriteString (w3, " and footer");
  79.                 ChangeScrollingRegion (w3, 4, 8);
  80.             ELSIF loopcount = 20 THEN
  81.                 WriteLn (w3);
  82.                 ChangeScrollingRegion (w3, 1, 8);
  83.             ELSIF loopcount = 30 THEN
  84.                 WriteLn (w3);
  85.                 ChangeScrollingRegion (w3, 4, 10);
  86.                 loopcount := 0;
  87.             END (* if *);
  88.             FOR j := 1 TO 40 DO
  89.                 WriteChar (w3, ch);  increment (ch);
  90.             END (* for *);
  91.             (*Pause;*)
  92.         END (* FOR *);
  93.         (*DumpWindow (w2)*);
  94.         Pause;  CloseWindow (w2);
  95.         Pause;  CloseWindow (w3);
  96.         Pause;  CloseWindow (w1);
  97.         OutTrace ("RunTheTest");
  98.     END RunTheTest;
  99.  
  100. (****************************************************************)
  101.  
  102. BEGIN
  103.     (*TraceOn (0, 4, 10, 40, 1);*)
  104.     RunTheTest;
  105.     (*TraceOff;*)
  106. END WTest.
  107.  
  108.