home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD2.bin / bbs / dev / oberon-a-1.4ß.lha / Oberon-A / examples / GuiEnvironment / BOOPSIExample.mod next >
Text File  |  1994-09-05  |  4KB  |  101 lines

  1. (****************************************************************************
  2.  
  3. $RCSfile: BOOPSIExample.mod $
  4.  
  5. $Revision: 1.1 $
  6.     $Date: 1994/07/19 20:21:04 $
  7.  
  8.     GUIEnvironment V37.0 example: BOOPSI gadgets
  9.  
  10.     Oberon-A Oberon-2 Compiler V4.5ß (Release 1.3)
  11.  
  12.   Copyright © 1994, Carsten Ziegeler
  13.                     Augustin-Wibbelt-Str.7, 33106 Paderborn, Germany
  14.  
  15. ****************************************************************************)
  16. MODULE BOOPSIExample;
  17.  
  18. (* $P- Allow non-portable code *)
  19.  
  20. IMPORT SYS := SYSTEM, GUI := GUIEnv, I := Intuition, GS := GUIEnvSupport;
  21.  
  22. CONST version = "$VER: BOOPSIExample 1.1 (19.07.94)\n";
  23.  
  24.  
  25. VAR win : I.WindowPtr;
  26.     gui : GUI.GUIInfoPtr;
  27.  
  28.     int2propmap, prop2intmap : ARRAY 3 OF LONGINT;
  29.  
  30. BEGIN
  31.   int2propmap[0] := I.stringaLongVal;
  32.   int2propmap[1] := I.pgaTop;
  33.   int2propmap[2] := 0;
  34.  
  35.   prop2intmap[0] := I.pgaTop;
  36.   prop2intmap[1] := I.stringaLongVal;
  37.   prop2intmap[2] := 0;
  38.  
  39.   win := GUI.base.OpenGUIWindow( 50, 50, 300, 150, SYS.ADR("GUIEnvironment - BOOPSIExample"),
  40.                                 {I.idcmpCloseWindow, I.idcmpNewSize,
  41.                                  I.idcmpRefreshWindow},
  42.                                 {I.wflgActivate, I.wflgSizeGadget,
  43.                                  I.wflgDepthGadget, I.wflgCloseGadget,
  44.                                  I.wflgDragBar}, NIL,
  45.                                 I.waMinWidth, 250,
  46.                                 I.waMinHeight,120,
  47.                                 I.waMaxWidth, 500,
  48.                                 I.waMaxHeight,200, NIL);
  49.   IF win # NIL THEN
  50.  
  51.     gui := GUI.base.CreateGUIInfo(win, GUI.guiGadgetFont, GS.TopazAttr(), NIL);
  52.     IF gui # NIL THEN
  53.  
  54.       GUI.base.CreateGUIGadget(gui, 10, 20, 10, -10, GUI.gegBOOPSIPublicKind,
  55.                                GUI.gegClass, SYS.ADR("propgclass"),
  56.                                GUI.gegDescription, GS.GADDESC(GUI.gegDistAbs+GUI.gegObjBorder+GUI.gegObjLeft,
  57.                                                               GUI.gegDistAbs+GUI.gegObjBorder+GUI.gegObjTop,
  58.                                                               GUI.gegDistNorm,
  59.                                                               GUI.gegDistAbs+GUI.gegObjBorder+GUI.gegObjBottom),
  60.                                I.icaMap, SYS.ADR(prop2intmap),
  61.                                I.pgaTotal, 100,
  62.                                I.pgaTop, 25,
  63.                                I.pgaVisible,10,
  64.                                I.pgaNewLook, 1, NIL);
  65.  
  66.       GUI.base.CreateGUIGadget(gui, 10, 10, -10, 18, GUI.gegBOOPSIPublicKind,
  67.                                GUI.gegClass, SYS.ADR("strgclass"),
  68.                                GUI.gegDescription, GS.GADDESC(GUI.gegDistAbs+GUI.gegObjGadget+GUI.gegObjRight,
  69.                                                               GUI.gegDistAbs+GUI.gegObjBorder+GUI.gegObjTop,
  70.                                                               GUI.gegDistAbs+GUI.gegObjBorder+GUI.gegObjRight,
  71.                                                               GUI.gegDistNorm),
  72.                                I.icaMap, SYS.ADR(int2propmap),
  73.                                I.icaTarget, GUI.base.GetGUIGadget(gui, 0, GUI.gegAddress),
  74.                                I.stringaLongVal, 25,
  75.                                I.stringaMaxChars, 3, NIL);
  76.       GUI.base.SetGUIGadget(gui, 0, I.icaTarget, GUI.base.GetGUIGadget(gui, 1, GUI.gegAddress), NIL);
  77.  
  78.       IF GUI.base.DrawGUI(gui, NIL) = GUI.geDone THEN
  79.  
  80.         LOOP
  81.           GUI.base.WaitGUIMsg(gui);
  82.  
  83.           IF    I.idcmpCloseWindow IN gui^.msgClass THEN
  84.             EXIT;
  85.           ELSIF I.idcmpNewSize     IN gui^.msgClass THEN
  86.             (* We only get these messages if an error occurs while
  87.                GUIEnv does the resizing, so we have to EXIT ! *)
  88.             EXIT;
  89.           END;
  90.         END;
  91.       END;
  92.  
  93.     END;
  94.   END;
  95.  
  96.   IF win # NIL THEN
  97.     GUI.base.CloseGUIWindow(win);
  98.     win := NIL;
  99.   END;
  100. END BOOPSIExample.
  101.