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 >
Wrap
Text File
|
1994-09-05
|
4KB
|
101 lines
(****************************************************************************
$RCSfile: BOOPSIExample.mod $
$Revision: 1.1 $
$Date: 1994/07/19 20:21:04 $
GUIEnvironment V37.0 example: BOOPSI gadgets
Oberon-A Oberon-2 Compiler V4.5ß (Release 1.3)
Copyright © 1994, Carsten Ziegeler
Augustin-Wibbelt-Str.7, 33106 Paderborn, Germany
****************************************************************************)
MODULE BOOPSIExample;
(* $P- Allow non-portable code *)
IMPORT SYS := SYSTEM, GUI := GUIEnv, I := Intuition, GS := GUIEnvSupport;
CONST version = "$VER: BOOPSIExample 1.1 (19.07.94)\n";
VAR win : I.WindowPtr;
gui : GUI.GUIInfoPtr;
int2propmap, prop2intmap : ARRAY 3 OF LONGINT;
BEGIN
int2propmap[0] := I.stringaLongVal;
int2propmap[1] := I.pgaTop;
int2propmap[2] := 0;
prop2intmap[0] := I.pgaTop;
prop2intmap[1] := I.stringaLongVal;
prop2intmap[2] := 0;
win := GUI.base.OpenGUIWindow( 50, 50, 300, 150, SYS.ADR("GUIEnvironment - BOOPSIExample"),
{I.idcmpCloseWindow, I.idcmpNewSize,
I.idcmpRefreshWindow},
{I.wflgActivate, I.wflgSizeGadget,
I.wflgDepthGadget, I.wflgCloseGadget,
I.wflgDragBar}, NIL,
I.waMinWidth, 250,
I.waMinHeight,120,
I.waMaxWidth, 500,
I.waMaxHeight,200, NIL);
IF win # NIL THEN
gui := GUI.base.CreateGUIInfo(win, GUI.guiGadgetFont, GS.TopazAttr(), NIL);
IF gui # NIL THEN
GUI.base.CreateGUIGadget(gui, 10, 20, 10, -10, GUI.gegBOOPSIPublicKind,
GUI.gegClass, SYS.ADR("propgclass"),
GUI.gegDescription, GS.GADDESC(GUI.gegDistAbs+GUI.gegObjBorder+GUI.gegObjLeft,
GUI.gegDistAbs+GUI.gegObjBorder+GUI.gegObjTop,
GUI.gegDistNorm,
GUI.gegDistAbs+GUI.gegObjBorder+GUI.gegObjBottom),
I.icaMap, SYS.ADR(prop2intmap),
I.pgaTotal, 100,
I.pgaTop, 25,
I.pgaVisible,10,
I.pgaNewLook, 1, NIL);
GUI.base.CreateGUIGadget(gui, 10, 10, -10, 18, GUI.gegBOOPSIPublicKind,
GUI.gegClass, SYS.ADR("strgclass"),
GUI.gegDescription, GS.GADDESC(GUI.gegDistAbs+GUI.gegObjGadget+GUI.gegObjRight,
GUI.gegDistAbs+GUI.gegObjBorder+GUI.gegObjTop,
GUI.gegDistAbs+GUI.gegObjBorder+GUI.gegObjRight,
GUI.gegDistNorm),
I.icaMap, SYS.ADR(int2propmap),
I.icaTarget, GUI.base.GetGUIGadget(gui, 0, GUI.gegAddress),
I.stringaLongVal, 25,
I.stringaMaxChars, 3, NIL);
GUI.base.SetGUIGadget(gui, 0, I.icaTarget, GUI.base.GetGUIGadget(gui, 1, GUI.gegAddress), NIL);
IF GUI.base.DrawGUI(gui, NIL) = GUI.geDone THEN
LOOP
GUI.base.WaitGUIMsg(gui);
IF I.idcmpCloseWindow IN gui^.msgClass THEN
EXIT;
ELSIF I.idcmpNewSize IN gui^.msgClass THEN
(* We only get these messages if an error occurs while
GUIEnv does the resizing, so we have to EXIT ! *)
EXIT;
END;
END;
END;
END;
END;
IF win # NIL THEN
GUI.base.CloseGUIWindow(win);
win := NIL;
END;
END BOOPSIExample.