DIRECTORY EditToolBuilder, Buttons, Convert, EditNotify, Inline, IO, Labels, List, Menus, MessageWindow, NameSymbolTable, NodeAddrs, Rope, RopeEdit, RopeReader, RunReader, Runtime, TEditDocument, TEditInputOps, TEditInput, TextEdit, TextFind, TextLooks, TextLooksSupport, TextNode, TiogaOps, TreeFind, UndoEvent, UserTerminal, ViewerClasses, ViewerMenus, ViewerOps; EditToolPrivate: CEDAR DEFINITIONS SHARES Rope = { Register: PROC [atom: ATOM, op: TEditInput.CommandProc] RETURNS [LIST OF REF]; DoButton: PROC [ redList, blueList: LIST OF REF _ NIL, redButton: BOOL _ FALSE, viewer: ViewerClasses.Viewer _ NIL]; numHeights: CARDINAL = 4; NodeKind: TYPE = BOOLEAN; root: NodeKind = FALSE; selection: NodeKind = TRUE; SearchWhere: TYPE = [0..2]; anywhere: SearchWhere = 0; words: SearchWhere = 1; nodes: SearchWhere = 2; Info: TYPE = REF InfoRec; InfoRec: TYPE = RECORD [ heights: ARRAY [0..numHeights) OF CARDINAL, currentHeightIndex: [0..numHeights), interrupt: REF BOOLEAN, searchWhere: SearchWhere, looksExact: BOOLEAN, ignoreLooks: BOOLEAN, ignoreText: BOOLEAN, ignoreType: BOOLEAN, ignoreStyle: BOOLEAN, ignoreComment: BOOLEAN, literal: BOOLEAN, ignoreCase: BOOLEAN, doReplace: BOOLEAN, forceInitCap: BOOLEAN, caretType: BOOLEAN, subsRange: [0..2], sortIncreasing: BOOLEAN, sortKind: [0..2], caretLooks: BOOLEAN, typeNode: NodeKind, styleNode: NodeKind, propNode: NodeKind, targetArg: ViewerClasses.Viewer, sourceArg: ViewerClasses.Viewer, typeNameArg: ViewerClasses.Viewer, styleNameArg: ViewerClasses.Viewer, propNameArg: ViewerClasses.Viewer, propValueArg: ViewerClasses.Viewer, propPatternArg: ViewerClasses.Viewer, substituteButton: Buttons.Button, textButton: Buttons.Button, looksButton: Buttons.Button, typeButton: Buttons.Button, styleButton: Buttons.Button, commentButton: Buttons.Button, doitButton: Buttons.Button, sortOrderLabel: Labels.Label, sortKindLabel: Labels.Label, operationLabel: Labels.Label, propNodeLabel: Labels.Label, opsArg: ViewerClasses.Viewer, filesArg: ViewerClasses.Viewer, typeArg: ViewerClasses.Viewer, looksArg: ViewerClasses.Viewer, initCapLabel: Labels.Label, caretTypeLabel: Labels.Label, comArg: ViewerClasses.Viewer, subsRangeLabel: Labels.Label, looksMatchLabel: Labels.Label, looksLabel: Labels.Label, literalLabel: Labels.Label, caseLabel: Labels.Label, wordLabel: Labels.Label, caretLooksLabel: Labels.Label, typeNodeLabel: Labels.Label, styleNodeLabel: Labels.Label, finder: TreeFind.Finder, varRuns: TextLooks.Runs, varRope: Rope.ROPE, layout: EditToolBuilder.Layout ]; SubsInfo: TYPE = REF SubsInfoRec; SubsInfoRec: TYPE = RECORD [ substitute: BOOLEAN, searchLooks, targetLooks, sourceLooks: TextLooks.Looks, last: TextNode.Ref, lastLen, sourceLen: TextNode.Offset, sourceRope, styleRope: Rope.ROPE, sourceRuns: TextLooks.Runs, nameRope: REF substr node Rope.RopeRep, sourceType: TextNode.TypeName, sourceStyle: NameSymbolTable.Name, sourceComment: BOOLEAN, rdr: RopeReader.Ref, event: UndoEvent.Ref ]; editTool: ViewerClasses.Viewer; mainToolInfo: Info; Event: TYPE = UndoEvent.Ref; tSel: TEditDocument.Selection; ChangeState: PROC [flag: BOOLEAN, trueList, falseList: LIST OF REF]; CycleTriple: PROC [state: [0..2], list0, list1, list2: LIST OF REF]; SavePSel: PROC; -- if pSel is not in data field of Edit Tool, save it for later FixPSel: PROC; -- if pSel is in data field of Edit Tool, restore prior DoSubstituteMenuButton, DoYesMenuButton, DoNoMenuButton, DoItMenuButton, DoCountMenuButton, DoSearchMenuButton: Menus.MenuProc; BuildSearchEntries, BuildSearchButtons, BuildTargetEntry: PROC [info: Info]; Search: PROC [whichDir: TiogaOps.SearchDir, info: Info]; TrySearch: PROC [whichDir: TiogaOps.SearchDir, info: Info] RETURNS [found: BOOL]; CheckPSel: PROC [pSel: TEditDocument.Selection, typescriptOK: BOOL _ TRUE] RETURNS [ok: BOOLEAN]; GetPatternNode: PROC [info: Info] RETURNS [pattern: TextNode.RefTextNode]; Extend: PROC[info: Info, 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]; ReportPatternError: PROC [ec: TextFind.PatternErrorCode]; withinSel: [0..2] = 0; afterSel: [0..2] = 1; entireDoc: [0..2] = 2; GetLooksAndPatternInfo: PROC [pattern: TextNode.RefTextNode, info: Info] RETURNS [pat: TextNode.RefTextNode, lit: BOOLEAN, searchLooks: TextLooks.Looks, type: TextNode.TypeName, style: NameSymbolTable.Name, commentControl: TreeFind.CommentControl]; BuildSourceEntry, BuildDoItEntries, BuildOperationEntry, BuildInitCapEntry, BuildOperationField, BuildGetAndSetOpsEntries, BuildFileListEntries, BuildComNumField, BuildSubstituteEntry, BuildPatternDocEntry, BuildMiniPatternDocEntry: PROC [info: Info]; GetOps: PROC [info: Info] RETURNS [list: LIST OF REF ANY]; DoOpsCom: PROC [info: Info]; BuildSortButtons: PROC [info: Info]; sortText: [0..2] = 0; sortLines: [0..2] = 1; sortBranches: [0..2] = 2; BuildLooksButtons: PROC [info: Info]; BuildTypeButtons: PROC [info: Info]; BuildStyleButtons: PROC [info: Info]; BuildPropertyButtons: PROC [info: Info]; BuildExtraButtons: PROC [info: Info]; BuildExtraOverflow: PROC [info: Info]; DoList: PROC [list: LIST OF REF ANY, typescriptOK: BOOL _ TRUE]; DoList2: PROC [list: LIST OF REF ANY, typescriptOK: BOOL _ TRUE]; }... <-- EditToolPrivate.mesa -- Edited by Paxton on December 30, 1982 10:21 am -- Edited by McGregor on June 11, 1982 1:50 pm -- command registration stuff -- general stuff -- Menu procs -- Search related stuff -- Substitute related stuff -- Sort related stuff -- Looks related stuff -- Miscellaneous related stuff Κ˜JšΟc™Jš1™1Jš.™.J˜šΟk ˜ J˜J˜J˜J˜ J˜Jšžœ˜J˜J˜J˜J˜J˜J˜ J˜J˜ J˜ J˜ J˜J˜J˜J˜ J˜ J˜ J˜ J˜J˜ J˜ J˜ J˜ J˜ J˜J˜ J˜ J˜—Jšœžœ˜#Jšžœ ˜J˜Jš™J˜JšΟnœžœžœžœžœžœžœ˜NJ˜Jš™J˜šŸœžœ˜Jš œžœžœžœžœ˜%Jšœ žœžœ˜Jšœžœ˜$J˜—Jšœ žœ˜J˜Jšœ žœžœ˜Jšœžœ˜Jšœžœ˜J˜Jšœ žœ ˜J˜J˜J˜J˜Jšœžœžœ ˜šœ žœžœ˜Jšœ žœžœžœ˜+J˜$Jšœ ž œ˜J˜Jšœ žœ˜Jšœ žœ˜Jšœ žœ˜Jšœ žœ˜Jšœ žœ˜Jšœžœ˜Jšœ žœ˜Jšœ žœ˜Jšœ žœ˜Jšœžœ˜Jšœ žœ˜J˜Jšœžœ˜J˜Jšœ žœ˜J˜J˜J˜J˜ J˜ J˜"J˜#J˜"J˜#J˜%J˜!J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜Jšœžœ˜J˜!J˜—Jšœ žœžœ ˜!šœ žœžœ˜Jšœ žœ˜J˜7J˜J˜$Jšœžœ˜!J˜Jšœ žœ˜'J˜J˜"Jšœžœ˜J˜J˜J˜—J˜J˜J˜J˜Jšœžœ˜J˜J˜J˜Jš Ÿ œžœžœžœžœžœ˜DJ˜Jš Ÿ œžœ&žœžœžœ˜DJ˜JšŸœžœ?˜OJ˜JšŸœžœ7˜FJ˜Jš ™ J˜˜8J˜FJ˜—Jš™J˜Jšœ(Ÿœžœ˜LJ˜JšŸœžœ,˜8JšŸ œžœ,žœ žœ˜QJ˜šŸ œžœ/žœžœ˜JJšžœžœ˜J˜—JšŸœžœžœ!˜JJ˜šŸœžœžœ˜HJ˜8Jšœžœ-˜EJšžœ$˜+J˜—JšŸœžœ!˜9J˜Jš™J˜J˜J˜J˜J˜šŸœžœ,˜Hšžœ˜#Jšœžœ˜ J˜J˜J˜J˜)J˜——codešœΞŸœžœ˜ϋJ˜—JšŸœžœžœžœžœžœžœ˜:J˜JšŸœžœ˜J˜Jš™J˜JšŸœžœ˜$J˜J˜J˜J˜J˜Jš™J˜JšŸœžœ˜%J˜Jš™J˜JšŸœžœ˜$J˜JšŸœžœ˜%J˜JšŸœžœ˜(J˜JšŸœžœ˜%J˜JšŸœžœ˜&J˜JšŸœžœžœžœžœžœžœžœ˜@J˜JšŸœžœžœžœžœžœžœžœ˜AJ˜J˜—…—ξ?