home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD2.bin
/
bbs
/
dev
/
oberon-a-1.4ß.lha
/
Oberon-A
/
examples
/
GuiEnvironment
/
GuideExample.mod
< prev
next >
Wrap
Text File
|
1994-09-05
|
4KB
|
115 lines
(****************************************************************************
$RCSfile: GuideExample.mod $
$Revision: 1.1 $
$Date: 1994/07/19 20:21:29 $
GUIEnvironment example: Menu help function
Oberon-A Oberon-2 Compiler V4.5ß (Release 1.3)
Copyright © 1994, Carsten Ziegeler
Augustin-Wibbelt-Str.7, 33106 Paderborn, Germany
****************************************************************************)
MODULE GuideExample;
(* This example open's a window with a menu. If the user presses the
help key over a menu item, the AmigaGuide is called with the
belonging help text ! *)
(* GuideExample uses the following catalog strings 101.. : menus
50.. : misc (NotifyExample)
200 : END *)
(* $P- Allow non-portable code *)
IMPORT SYS := SYSTEM, GUI := GUIEnv, I := Intuition, GS := GUIEnvSupport,
GT := GadTools;
CONST ver = "$VER: GuideExample 1.1 (19.07.94)\n";
VAR W : I.WindowPtr;
G : GUI.GUIInfoPtr;
(* The menu functions: *)
PROCEDURE MenuAbout() : BOOLEAN;
BEGIN
IF GUI.base.GUIRequest(G, GUI.base.GetCatStr(G, 51,
SYS.ADR("GUIEnvironment example for version 37.0\n© 1994 C. Ziegeler")),
GUI.gerOKKind, NIL) = 0 THEN END;
RETURN TRUE;
END MenuAbout;
PROCEDURE MenuQuit() : BOOLEAN;
BEGIN
RETURN GUI.base.GUIRequest(G, GUI.base.GetCatStr(G, 52, SYS.ADR("Really quit example ?")),
GUI.gerDoItKind,
GUI.gerGadgets, GUI.base.GetCatStr(G, 53, SYS.ADR("YES|NO")), NIL) # GUI.gerYes;
END MenuQuit;
PROCEDURE MenuGUIEnv() : BOOLEAN;
BEGIN
IF GUI.base.GUIRequest(G, SYS.ADR("GUIEnvironment !"), GUI.gerOKKind, NIL) = 0 THEN END;
RETURN TRUE;
END MenuGUIEnv;
PROCEDURE MenuAmiga() : BOOLEAN;
BEGIN
IF GUI.base.GUIRequest(G, SYS.ADR("Amiga !"), GUI.gerOKKind, NIL) = 0 THEN END;
RETURN TRUE;
END MenuAmiga;
BEGIN
W := GUI.base.OpenGUIWindow(100, 70, 300, 100, SYS.ADR("GUIEnvironment : GuideExample"),
{I.idcmpCloseWindow, I.idcmpMenuPick,
I.idcmpMenuHelp},
{I.wflgCloseGadget, I.wflgActivate}, NIL,
I.waMenuHelp, 1, NIL);
IF W # NIL THEN
(* create GUIInfo *)
G := GUI.base.CreateGUIInfo(W,
GUI.guiCatalogFile, SYS.ADR("GUIEnvExamples.catalog"),
GUI.guiMenuCatalogOffset, 101,
GUI.guiMenuGuide, SYS.ADR("GUIEnvExamples.guide"), NIL);
IF G # NIL THEN
GUI.base.CreateGUIMenuEntry(G, GT.nmTitle, SYS.ADR("Project"), NIL);
GUI.base.CreateGUIMenuEntry(G, GT.nmItem, SYS.ADR("About"),
GUI.gemFunction, SYS.ADR(MenuAbout),
GUI.gemShortCut, SYS.ADR("A\o"), NIL);
GUI.base.CreateGUIMenuEntry(G, GT.nmItem, SYS.ADR("Quit"),
GUI.gemFunction, SYS.ADR(MenuQuit),
GUI.gemShortCut, SYS.ADR("Q\o"), NIL);
GUI.base.CreateGUIMenuEntry(G, GT.nmTitle, SYS.ADR("Help"), NIL);
GUI.base.CreateGUIMenuEntry(G, GT.nmItem, SYS.ADR("GUIEnv"),
GUI.gemFunction, SYS.ADR(MenuGUIEnv),
GUI.gemShortCut, SYS.ADR("G\o"), NIL);
GUI.base.CreateGUIMenuEntry(G, GT.nmItem, SYS.ADR("Amiga"),
GUI.gemFunction, SYS.ADR(MenuAmiga),
GUI.gemShortCut, SYS.ADR("A\o"), NIL);
IF GUI.base.DrawGUI(G, NIL) = GUI.geDone THEN
LOOP (* Input-Loop *)
GUI.base.WaitGUIMsg(G);
IF I.idcmpCloseWindow IN G^.msgClass THEN
EXIT;
ELSIF I.idcmpMenuPick IN G^.msgClass THEN
EXIT;
END;
END;
END;
END;
END;
IF W # NIL THEN
GUI.base.CloseGUIWindow(W);
W := NIL;
END;
END GuideExample.