1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- MODULE Sequencers;
- (* THIS IS TEXT COPY OF BlackBox 1.6-rc6 System/Mod/Sequencers.odc *)
- (* DO NOT EDIT *)
- IMPORT Stores;
- CONST
- clean* = 0;
- notUndoable* = 1;
- invisible* = 2;
- TYPE
- Message* = ABSTRACT RECORD END;
-
- Notifier* = POINTER TO ABSTRACT RECORD
- next: Notifier
- END;
- Sequencer* = POINTER TO ABSTRACT RECORD
- notifiers: Notifier
- END;
- CloseMsg* = RECORD (Message)
- sticky*: BOOLEAN (** OUT, preset to FALSE **)
- END;
- RemoveMsg* = RECORD (Message) END;
- Directory* = POINTER TO ABSTRACT RECORD END;
- VAR dir*: Directory;
- (** Directory **)
- PROCEDURE (dir: Directory) New* (): Sequencer, NEW, ABSTRACT;
- PROCEDURE SetDir* (d: Directory);
- BEGIN
- ASSERT(d # NIL, 20); dir := d
- END SetDir;
- (** Notifier **)
- PROCEDURE (f: Notifier) Notify* (VAR msg: Message), NEW, EMPTY;
- (** Sequencer **)
- PROCEDURE (s: Sequencer) Dirty* (): BOOLEAN, NEW, ABSTRACT;
- PROCEDURE (s: Sequencer) SetDirty* (dirty: BOOLEAN), NEW, ABSTRACT;
- PROCEDURE (s: Sequencer) BeginScript* (IN name: Stores.OpName;
- VAR script: Stores.Operation), NEW, ABSTRACT;
- PROCEDURE (s: Sequencer) Do* (st: Stores.Store; IN name: Stores.OpName;
- op: Stores.Operation), NEW, ABSTRACT;
- PROCEDURE (s: Sequencer) LastOp* (st: Stores.Store): Stores.Operation, NEW, ABSTRACT;
- PROCEDURE (s: Sequencer) Bunch* (st: Stores.Store), NEW, ABSTRACT;
- PROCEDURE (s: Sequencer) EndScript* (script: Stores.Operation), NEW, ABSTRACT;
- PROCEDURE (s: Sequencer) StopBunching* (), NEW, ABSTRACT;
- PROCEDURE (s: Sequencer) BeginModification* (type: INTEGER; st: Stores.Store), NEW, ABSTRACT;
- PROCEDURE (s: Sequencer) EndModification* (type: INTEGER; st: Stores.Store), NEW, ABSTRACT;
- PROCEDURE (s: Sequencer) CanUndo* (): BOOLEAN, NEW, ABSTRACT;
- PROCEDURE (s: Sequencer) CanRedo* (): BOOLEAN, NEW, ABSTRACT;
- PROCEDURE (s: Sequencer) GetUndoName* (VAR name: Stores.OpName), NEW, ABSTRACT;
- PROCEDURE (s: Sequencer) GetRedoName* (VAR name: Stores.OpName), NEW, ABSTRACT;
- PROCEDURE (s: Sequencer) Undo* (), NEW, ABSTRACT;
- PROCEDURE (s: Sequencer) Redo* (), NEW, ABSTRACT;
- PROCEDURE (s: Sequencer) Handle* (VAR msg: ANYREC), NEW, EMPTY;
- PROCEDURE (s: Sequencer) Notify* (VAR msg: Message), NEW;
- VAR n: Notifier;
- BEGIN
- n := s.notifiers;
- WHILE n # NIL DO
- n.Notify(msg);
- n := n.next
- END
- END Notify;
- PROCEDURE (s: Sequencer) InstallNotifier* (n: Notifier), NEW;
- BEGIN
- n.next := s.notifiers; s.notifiers := n
- END InstallNotifier;
- END Sequencers.
|