-- EditToolPrivate.mesa -- Edited by Paxton on 6-Feb-82 11:56:07 DIRECTORY Buttons, Convert, EditNotify, Inline, IOStream, Labels, List, Menus, MessageWindow, NodeAddrs, Rope, RopeEdit, RopeReader, RunReader, Runtime, TEditDocument, TEditInputOps, TEditOps, TextEdit, TextFind, TextLooks, TextLooksSupport, TextNode, TreeFind, UndoEvent, UserTerminal, ViewerClasses, ViewerMenus, ViewerOps; EditToolPrivate: DEFINITIONS = { -- command registration stuff RegisterSort, RegisterSubs, RegisterSearch: PROC; UnRegisterSort, UnRegisterSubs, UnRegisterSearch: PROC; -- general stuff mainEditTool: BOOLEAN; interrupt: BOOLEAN; Event: TYPE = UndoEvent.Ref; entryHeight: CARDINAL = 15; entryVSpace: CARDINAL = 5; entryLeft: CARDINAL; gapSize: CARDINAL = 5; heightSoFar: CARDINAL; container: ViewerClasses.Viewer; tSel: TEditDocument.Selection; ChangeState: PROC [label: Labels.Label, flag: BOOLEAN, trueAtom, falseAtom: ATOM]; BuildPair: PROC [proc: Buttons.ButtonProc, flag: BOOLEAN, l1, l2: Rope.Ref] RETURNS [label: Labels.Label, button: Buttons.Button]; CycleTriple: PROC [label: Labels.Label, state: [0..2], atom0, atom1, atom2: ATOM]; BuildTriple: PROC [proc: Buttons.ButtonProc, state: [0..2], l0, l1, l2: Rope.Ref] RETURNS [label: Labels.Label, button: Buttons.Button]; DataFieldButton: PROC [arg: ViewerClasses.Viewer]; BuildDataFieldPair: PROC [buttonRope: Rope.Ref, buttonProc: Buttons.ButtonProc, lines: CARDINAL ← 2] RETURNS [button: Buttons.Button, arg: ViewerClasses.Viewer]; GetDataNode: PROC [arg: ViewerClasses.Viewer] RETURNS [TextNode.RefTextNode]; GetDataLooks: PROC [arg: ViewerClasses.Viewer, name: Rope.Ref] RETURNS [looks: TextLooks.Looks]; -- Search related stuff BuildSearchEntries, BuildSearchButtons, BuildTargetEntry: PROC; word: BOOLEAN; looksExact: BOOLEAN; looksChoice: [0..2]; looksOnly: [0..2] = 0; textOnly: [0..2] = 1; textAndLooks: [0..2] = 2; literal: BOOLEAN; ignoreCase: BOOLEAN; targetArg: ViewerClasses.Viewer; SearchForward, SearchBackwards: Buttons.ButtonProc; Search: PROC [forward: BOOLEAN]; CheckPSel: PROC [pSel: TEditDocument.Selection] RETURNS [ok: BOOLEAN]; GetPatternNode: PROC RETURNS [pattern: TextNode.RefTextNode]; Extend: PROC[forward: BOOLEAN, searchLooks: TextLooks.Looks, where: TextNode.RefTextNode, at, atEnd: TextNode.Offset, last: TextNode.Ref ← NIL, lastLen: TextNode.Offset ← TextNode.MaxLen] RETURNS [newAt, newAtEnd: TextNode.Offset]; -- Substitute related stuff sourceArg: ViewerClasses.Viewer; doReplace: BOOLEAN; forceInitCap: BOOLEAN; subsRange: [0..2]; withinSel: [0..2] = 0; afterSel: [0..2] = 1; entireDoc: [0..2] = 2; GetLooksAndPatternInfo: PROC [pattern: TextNode.RefTextNode] RETURNS [pat: TextNode.RefTextNode, ignoreLooks, lit: BOOLEAN, searchLooks: TextLooks.Looks]; BuildSourceEntry, BuildDoItEntries, BuildOperationEntry, BuildInitCapEntry, BuildOperationField, BuildGetAndSetOpsEntries, BuildComNumField, BuildSubstituteEntry, BuildPatternDocEntry: PROC; -- Sort related stuff BuildSortButtons: PROC; sortIncreasing: BOOLEAN; sortKind: [0..2]; sortText: [0..2] = 0; sortLines: [0..2] = 1; sortBranches: [0..2] = 2; }...