DIRECTORY TextNode USING [Ref], TEditDocument USING [Selection, TEditDocumentData], UndoEvent USING [Ref], ViewerClasses USING [Viewer]; TEditInput: CEDAR DEFINITIONS = BEGIN interpreterNesting: INTEGER; currentEvent: UndoEvent.Ref; -- used by anyone who needs to save info for Undo/Cancel EditState: TYPE = { reset, -- no edit specified abort, -- edit aborted tolimbo, -- delete primary toprimary, -- copy/move secondary selection to/onto primary tosecondary, -- copy/move primary to/onto secondary toboth -- transpose primary and secondary }; editState: EditState; repeatList: LIST OF REF ANY; chars: REF TEXT; -- buffer for typein charsClosed, charsUsed, closeEvent: BOOL; CloseEvent: PROC = INLINE { closeEvent _ TRUE }; CurrentEvent: PROC RETURNS [UndoEvent.Ref] = INLINE { RETURN [currentEvent] }; CloseEventNow: PROC; CommandProc: TYPE = PROC [viewer: ViewerClasses.Viewer _ NIL] RETURNS [recordAtom: BOOL _ TRUE, quit: BOOL _ FALSE]; Register: PROC [name: ATOM, proc: CommandProc, before: BOOL _ TRUE]; UnRegister: PROC [name: ATOM, proc: CommandProc]; IsRegistered: PROC [name: ATOM, proc: CommandProc] RETURNS [BOOLEAN]; RecordInt: PROC [i: LONG INTEGER]; RecordChar: PROC [c: CHARACTER]; RecordRef: PROC [ref: REF ANY]; GetRepeatSequence: PROC RETURNS [params: LIST OF REF ANY]; ComIndex: TYPE = [0..9]; SetCommand: PROC [num: ComIndex, params: LIST OF REF ANY]; GetCommand: PROC [num: ComIndex] RETURNS [params: LIST OF REF ANY]; InterpInput: PROC [viewer: ViewerClasses.Viewer, params: LIST OF REF ANY, increaseNestingCount: BOOL _ TRUE]; Interpret: PROC [viewer: ViewerClasses.Viewer, params: LIST OF REF ANY]; DontDoIt: SIGNAL; -- raised if user category is too low BadMouse: SIGNAL; -- raised if mouse "color" is wrong InterpretAtom: PROC [viewer: ViewerClasses.Viewer, atom: ATOM]; ResetInputStuff: PROC ; SaveCoords: PROC [x,y: INTEGER]; ReadTipTables: PROC; CheckSelection: PROC [sel: TEditDocument.Selection] RETURNS [BOOLEAN]; FreeTree: PROC [root: TextNode.Ref]; AllLevels, FirstLevelOnly, MoreLevels, FewerLevels: CommandProc; AllLines, FirstLineOnly, MoreLines, FewerLines: CommandProc; MaxLevelShown: PROC [tdd: TEditDocument.TEditDocumentData] RETURNS [level: INTEGER]; MakePointSelection, Normalize: CommandProc; Cancel, Repeat, RestoreSelectionA, SaveSelectionA, RestoreSelectionB, SaveSelectionB: CommandProc; END. Φ-- TEditInput.mesa; Edited by Paxton on October 29, 1982 9:58 am If before is true, proc goes at front of list. Else goes at end of list. Remove the proc from the list for the atom. -- as if input from TIP ΚΘ˜JšΟc@™@J˜šΟk ˜ Jšœ žœ˜Jšœžœ ˜3Jšœ žœ˜Jšœžœ ˜J˜—Jšœ žœž˜%J˜Jšœžœ˜J˜Jšœ8˜UJ˜šœ žœ˜Jšœ˜Jšœ˜Jšœ ˜Jšœ 0˜;Jšœ &˜3Jšœ"˜*J˜J˜—J˜J˜Jš œ žœžœžœžœ˜J˜Jšœžœžœ˜%J˜Jšœ$žœ˜)J˜JšΟn œžœžœžœ˜0J˜Jš Ÿ œžœžœžœžœ˜NJ˜JšŸ œžœ˜J˜procšŸ œžœžœ!žœ˜=Jš žœžœžœžœžœ˜6J˜—š Ÿœžœžœžœžœ˜DK™I—J˜šŸ œžœžœ˜1K™+J˜—Kš Ÿ œžœžœžœžœ˜EK˜JšŸ œžœžœžœ˜"J˜JšŸ œžœž œ˜ J˜JšŸ œžœžœžœ˜J˜JšŸœžœžœ žœžœžœžœ˜:J˜Jšœ žœ ˜J˜Jš Ÿ œžœžœžœžœžœ˜:J˜JšŸ œžœžœ žœžœžœžœ˜CJ˜š Ÿ œžœ(žœžœžœžœ˜IJšœžœžœ˜#J˜—Jš Ÿ œžœ(žœžœžœžœ˜HJ˜Jšœ žœ%˜7J˜Jšœ žœ#˜5J˜šŸ œžœ&žœ˜?Jš™J˜—JšŸœžœ˜J˜JšŸ œžœžœ˜ J˜JšŸ œžœ˜J˜JšŸœžœ žœžœ˜FJ˜JšŸœžœ˜$J˜J˜@J˜J˜