(*********************************************************************
 *
 *  :Program.    Werkzeuge.mod
 *  :Project.    Nahverkehrssystem
 *  :Author.     Ingo Goldak
 *  :Address.    Hohenzollerndamm 8
 *  :Address.    1000 Berlin 31
 *  :Copyright.  PD
 *  :Language.   Modula-II
 *  :Translator. M2Amiga V3.3d
 *  :Imports.    Initializations [Ingo Goldak]
 *  :Contents.   Konstanten und Typen
 *  :History. V1.0 [Ingo Goldak] 30.03.90
 *
 *********************************************************************)

IMPLEMENTATION MODULE Werkzeuge;

FROM SYSTEM IMPORT
     ADR;
FROM Intuition IMPORT
     SetWindowTitles,MenuPtr,WindowPtr;
FROM Graphics IMPORT
     SetRast;
FROM Strings IMPORT
     Length,Copy,Occurs,last;
FROM Initializations IMPORT
     SetMenu;


PROCEDURE ClearWindow (Window : WindowPtr;
                       VAR Flags : FLAGSET);

VAR Titel : ARRAY [0..255] OF CHAR;
    Position : INTEGER;

BEGIN
   EXCL(Flags,Datum);
   Copy(Titel,Title,0,Length(Title));
   Position:=Occurs(Title,0," am ",TRUE);
   IF Position#last
   THEN
      Copy(Title,Titel,0,Position);
      SetWindowTitles(Window,NIL,ADR(Title));
   END (* IF *);
   EXCL(Flags,Namen);
   EXCL(Flags,Veraendert);
   SetRast(Window^.rPort,0);
END ClearWindow;


PROCEDURE SetMenues (Menue : MenuPtr;
                     Flags : FLAGSET;
                     Nummer : CARDINAL);

BEGIN
   CASE Nummer OF
      0 : SetMenu(Menue,1,0,FALSE);
          SetMenu(Menue,2,0,FALSE);
          SetMenu(Menue,3,0,FALSE);
          SetMenu(Menue,4,0,FALSE);
          SetMenu(Menue,5,0,FALSE)
    | 1 : SetMenu(Menue,1,0,FALSE);
          SetMenu(Menue,2,0,FALSE);
          SetMenu(Menue,3,0,FALSE);
          SetMenu(Menue,4,0,FALSE);
          SetMenu(Menue,5,1,TRUE);
          SetMenu(Menue,5,2,TRUE);
          SetMenu(Menue,5,3,FALSE);
          SetMenu(Menue,5,4,FALSE);
          SetMenu(Menue,5,5,TRUE);
          SetMenu(Menue,5,6,TRUE);
          IF (Stadt IN Flags)
          THEN
             SetMenu(Menue,1,1,TRUE);
             SetMenu(Menue,1,8,TRUE);
             SetMenu(Menue,2,0,TRUE);
             SetMenu(Menue,4,1,TRUE);
             SetMenu(Menue,4,2,TRUE);
             SetMenu(Menue,4,7,TRUE);
             SetMenu(Menue,5,4,TRUE)
          END;
          IF (Namen IN Flags)
          THEN
             SetMenu(Menue,1,3,TRUE);
             SetMenu(Menue,1,4,TRUE);
             SetMenu(Menue,1,5,TRUE);
             SetMenu(Menue,1,6,TRUE);
             SetMenu(Menue,1,7,TRUE)
          END;
          IF ((Veraendert IN Flags) AND (Namen IN Flags))
          THEN
             SetMenu(Menue,1,2,TRUE)
          END;
          IF (Datum IN Flags)
          THEN
             SetMenu(Menue,5,3,TRUE)
          END;
          IF (Sortiert IN Flags)
          THEN
             SetMenu(Menue,3,0,TRUE);
             SetMenu(Menue,4,3,TRUE);
             SetMenu(Menue,4,4,TRUE);
             SetMenu(Menue,4,5,TRUE);
             SetMenu(Menue,4,6,TRUE)
          END;
   ELSE
      SetMenu(Menue,1,0,TRUE);
      SetMenu(Menue,2,0,TRUE);
      SetMenu(Menue,3,0,TRUE);
      SetMenu(Menue,4,0,TRUE);
      SetMenu(Menue,5,0,TRUE)
   END; (* CASE *)
END SetMenues;


BEGIN (* Modul *)
   Names:=0;
   Speichern:=FALSE;
END Werkzeuge.
