IMPLEMENTATION MODULE MPWin;
(*---------------------------------------------------------------------------
   :Program.    MPWin.Mod
   :Version.    3.3
   :History.	Mar-90
   :Author.     Markus Peuckert
   :Address.    Schützenstr. 50, D-3550 Marburg, West-Germany,
   :Copyright.  ShareWare
   :Language.   Modula-2
   :Translator. M2Amiga V3.3d
---------------------------------------------------------------------------*)

FROM SYSTEM	IMPORT	ADR, ADDRESS, INLINE;
FROM Arts	IMPORT	Assert, TermProcedure, CurrentLevel;
FROM Intuition 	IMPORT	CloseWindow,ActivationFlags,
			ActivationFlagSet, IDCMPFlags, IDCMPFlagSet,
			WindowFlags, WindowFlagSet, ScreenFlags, ScreenFlagSet,
			WindowPtr;
FROM Graphics  	IMPORT 	RastPortPtr, RastPortFlagSet, RastPortFlags;
FROM Terminal	IMPORT	waitCloseGadget;
FROM IntuiSup	IMPORT 	CreateWindow, ActivWindow;
FROM DosSupport	IMPORT	OpenCon, CloseCon;
FROM MPGad	IMPORT	CompGad;


VAR	MyLevel			: INTEGER;


PROCEDURE Cleanup;
BEGIN
 IF MyLevel >= CurrentLevel () THEN
  IF win2#NIL THEN  CloseWindow(win2); win2:=NIL END;
  IF fh#NIL THEN CloseCon (fh); fh:=NIL END;
  IF win#NIL THEN  CloseWindow(win); win:=NIL END
 END
END Cleanup;


BEGIN
 win := NIL;  win2 := NIL;  rp:= NIL;  rp2 := NIL;  fh := NIL;
 MyLevel:=CurrentLevel(); TermProcedure (Cleanup); waitCloseGadget:=FALSE;

 winTitle := "       Compile by Mouse --- © 1990 by M.Peuckert       ";
 win := CreateWindow (WinLEFT, WinTOP, WinWIDTH, WinHEIGHT,
 	IDCMPFlagSet{closeWindow, gadgetUp, menuPick},
        WindowFlagSet{windowDrag, windowDepth, windowClose, windowActive,
        gimmeZeroZero}, ADR(CompGad), NIL, ADR(winTitle),
        ScreenFlagSet{wbenchScreen});
 Assert(win#NIL,ADR("Kann Fenster nicht öffnen"));
 DWidth := WinWIDTH - win^.minWidth; DHeight := WinHEIGHT - win^.minHeight;
 rp:=win^.rPort;

 fh := OpenCon ("CON:50/53/500/80/ MPCompile V3.3 --- Output  :                               ");
 ConPtr := ActivWindow ();

END MPWin.Mod
