home *** CD-ROM | disk | FTP | other *** search
- (****************************************************************************
-
- $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.
-