home *** CD-ROM | disk | FTP | other *** search
- (* ----------------------------------------------------- *)
- (* SAASCHED.PAS *)
- (* *)
- (* ■ SAAScheduler: Ähnlich wie Item, quasi ein grosser *)
- (* Bruder; erbt aber nicht von Item, da ganz andere *)
- (* Daten und viel weniger konkretes Verhalten vorliegt,*)
- (* hier müssen die Nachkommen mehr leisten, so z.B. *)
- (* SetActive, setzt nur Active TRUE, macht nichts *)
- (* weiter. *)
- (* *)
- (* (c) 1991 by R.Reichert & toolbox *)
- (* ----------------------------------------------------- *)
- UNIT SAASched;
-
- INTERFACE
-
- USES Stuff, MouKey, UBase;
-
- CONST { ReturnCodes: }
- SchOk = 0; { alles Ok }
- SchEvNotMine = 1; { Event nicht meins }
- SchActNext = 2; { aktiviere nächsten Scheduler }
- SchActPrev = 3; { aktiviere vorhergehenden Scheduler }
- SchEvAccepted= 4; { Event akzeptiert }
-
- TYPE
- SAASchedulerPtr = ^SAAScheduler;
- SAAScheduler = OBJECT (Base)
-
- Active,
- Displayed,
- HKDisplayed: BOOLEAN;
- ActiveItem,
- ItemNum,
- SaveActItem: WORD;
- ReturnCode : BYTE;
-
- CONSTRUCTOR Init;
- PROCEDURE Display; VIRTUAL;
- PROCEDURE DisplayHotKeys; VIRTUAL;
- PROCEDURE CheckEvent (VAR Ev : EventObj); VIRTUAL;
- PROCEDURE SetActive; VIRTUAL;
- PROCEDURE SetPassive; VIRTUAL;
- PROCEDURE SetDisplayedOff; VIRTUAL;
- PROCEDURE SetXYRel (dx, dy : INTEGER); VIRTUAL;
- PROCEDURE SaveConfiguration; VIRTUAL;
- PROCEDURE RestoreConfiguration; VIRTUAL;
-
- FUNCTION GetReturnCode : BYTE; VIRTUAL;
- FUNCTION IsActive : BOOLEAN; VIRTUAL;
- FUNCTION GetActiveItem : BYTE; VIRTUAL;
- FUNCTION GetItemNum : BYTE; VIRTUAL;
- FUNCTION IsDisplayed : BOOLEAN; VIRTUAL;
- FUNCTION IsHKDisplayed : BOOLEAN; VIRTUAL;
- FUNCTION GetSaveItem : BYTE; VIRTUAL;
- FUNCTION GetResult : BYTE;
- END;
-
- IMPLEMENTATION
-
- CONSTRUCTOR SAAScheduler.Init;
- BEGIN
- ReturnCode := 0; Active := FALSE;
- ItemNum := 0; ActiveItem := 0;
- Displayed := FALSE; HKDisplayed := FALSE;
- END;
-
- PROCEDURE SAAScheduler.Display;
- BEGIN
- Displayed := TRUE;
- END;
-
- PROCEDURE SAAScheduler.DisplayHotKeys;
- BEGIN
- IF Displayed THEN
- HKDisplayed := TRUE;
- END;
-
- PROCEDURE SAAScheduler.CheckEvent (VAR Ev : EventObj);
- BEGIN
- ReturnCode := SchEvNotMine;
- IF Ev.EventType=EvKeyPressed THEN
- IF Ev.Key=Tab THEN
- ReturnCode := SchActNext
- ELSE
- IF Ev.Key=ShiftTab THEN
- ReturnCode := SchActPrev;
- IF ReturnCode<>SchEvNotMine THEN
- SetPassive;
- { da anderer aktiviert wird, wird hier passiv gesetzt }
- END;
-
- PROCEDURE SAAScheduler.SetActive;
- BEGIN
- Active := TRUE;
- END;
-
- PROCEDURE SAAScheduler.SetPassive;
- BEGIN
- Active := FALSE;
- END;
-
- PROCEDURE SAAScheduler.SetXYRel (dx, dy : INTEGER);
- BEGIN
- { SAAScheduler weiss nicht, was verschoben werden muss }
- Abstract ('SAAScheduler: SetXYRel');
- END;
-
- PROCEDURE SAAScheduler.SetDisplayedOff;
- BEGIN
- Displayed := FALSE; HKDisplayed := FALSE;
- END;
-
- PROCEDURE SAAScheduler.SaveConfiguration;
- BEGIN
- SaveActItem := ActiveItem;
- END;
-
- PROCEDURE SAAScheduler.RestoreConfiguration;
- BEGIN
- ActiveItem := SaveActItem;
- END;
-
- FUNCTION SAAScheduler.GetReturnCode : BYTE;
- BEGIN
- GetReturnCode := ReturnCode; ReturnCode := SchOk
- END;
-
- FUNCTION SAAScheduler.IsActive : BOOLEAN;
- BEGIN
- IsActive := Active;
- END;
-
- FUNCTION SAAScheduler.GetActiveItem : BYTE;
- BEGIN
- GetActiveItem := ActiveItem;
- END;
-
- FUNCTION SAAScheduler.GetItemNum : BYTE;
- BEGIN
- GetItemNum := ItemNum;
- END;
-
- FUNCTION SAAScheduler.IsDisplayed : BOOLEAN;
- BEGIN
- IsDisplayed := Displayed;
- END;
-
- FUNCTION SAAScheduler.IsHKDisplayed : BOOLEAN;
- BEGIN
- IsHKDisplayed := HKDisplayed;
- END;
-
- FUNCTION SAAScheduler.GetSaveItem : BYTE;
- BEGIN
- GetSaveItem := SaveActItem;
- END;
-
- FUNCTION SAAScheduler.GetResult;
- BEGIN
- GetResult := 0;
- END;
-
- END.
- (* ----------------------------------------------------- *)
- (* Ende von SAASCHED.PAS *)
- (* ----------------------------------------------------- *)