DIRECTORY AMBridge, AMTypes, Buttons, Menus, Labels, Rope, ViewerClasses, ViewRec; ViewRecInsides: CEDAR DEFINITIONS = BEGIN NotAnAggregate: ERROR; ROPE: TYPE = Rope.ROPE; TypedVariable: TYPE = AMTypes.TypedVariable; Type: TYPE = AMTypes.Type; Viewer: TYPE = ViewerClasses.Viewer; Int: TYPE = ViewRec.Int; RecordViewer: TYPE = ViewRec.RecordViewer; EltHandle: TYPE = ViewRec.EltHandle; OtherStuffProc: TYPE = ViewRec.OtherStuffProc; CreateOptions: TYPE = ViewRec.CreateOptions; Recognizer: TYPE = ViewRec.Recognizer; Reductions: TYPE = ViewRec.Reductions; Handler: TYPE = ViewRec.Handler; SimpleHandler: TYPE = ViewRec.SimpleHandler; ComplexHandler: TYPE = ViewRec.ComplexHandler; Updater: TYPE = ViewRec.Updater; AddPlace: TYPE = ViewRec.AddPlace; ButtonClick: TYPE = ViewRec.ButtonClick; Id: TYPE = ViewRec.Id; RList: TYPE = LIST OF Recognizer; DataList: TYPE = LIST OF Data; Data: TYPE = REF DataRec; DataRec: TYPE = RECORD [ v: Viewer _ NIL, asRV: RecordViewer _ NIL, rvParent: Data _ NIL, edParent: EltData _ NIL, eltsContainer, argContainer, feedBack, label, rule1, rule2: Viewer _ NIL, otherStuff: LIST OF Viewer _ NIL, loneLabel: BOOLEAN _ FALSE, toButt: ButtonClick _ [], argPlace: INTEGER _ 0, curProc: ProcData _ NIL, runCount: INTEGER _ 0, runningProcs: LIST OF ProcData _ NIL, first, last: EltData _ NIL, exclusiveProcs: BOOLEAN _ FALSE, holdOff, highlightSelectedProc: BOOLEAN _ FALSE, relayoutable, mayInitiateRelayout: BOOLEAN _ FALSE, hSep, vSep, nvSep, hPad, targetWidth, outerScrollDiffX, eltsScrollDiffX, prepsDiffX, argretScrollDiffX, maxEltsHeight, maxArgretHeight, minFeedBackWidth, feedBackHeight: INTEGER _ 0]; EltData: TYPE = REF EltDataRec; EltDataRec: TYPE = RECORD [ name: ROPE, parent: Data, prev, next: EltData _ NIL, update: UpdateProc _ NIL, destroyed: BOOLEAN _ FALSE, opened: BOOLEAN _ FALSE, variable: BOOLEAN _ TRUE, sampleable: BOOLEAN _ TRUE, --can disable automatic sampling container: Viewer, --the one in main body ToRope: ToRopeProc _ NIL, --only non-NIL for Simple AssignRope: AssignRopeProc _ NIL, --only non-NIL for Simple var: TypedVariable, --unless a Proc old: TypedVariable, --unless a Proc or NOT sampleable typeDoc: ROPE _ NIL, notifyRequests: NotifyList _ NIL, details: SELECT et: EltType FROM Proc => [ argret, rule, doitButton: Viewer, argRV, retRV: Data, hasDom, hasRet: BOOLEAN, domainInst, retInst: TypedVariable, proc: TypedVariable, stateLabel: Labels.Label _ NIL, gregState: GregState _ Other, running, argsShown: BOOLEAN _ FALSE, runningProcess: PROCESS, userAbort: CARDINAL _ 0], Simple => [ nameButton: Buttons.Button, valueText: Viewer, handler: SimpleHandler, handlerData: REF ANY, wideAsTV: TypedVariable, targType: Type, askW: INTEGER], Complex => [ handlerData, clientData: REF ANY, handler: ComplexHandler], ENDCASE ]; EltType: TYPE = {Proc, Simple, Complex}; GregState: TYPE = {Dispatched, DispatchedAndEdited, Returned, Aborted, Other}; ToRopeProc: TYPE = PROC [ed: EltData] RETURNS [asRope: ROPE]; AssignRopeProc: TYPE = PROC [ed: EltData, asRope: ROPE] RETURNS [success: BOOLEAN]; ProcData: TYPE = REF EltDataRec[Proc]; SimpleData: TYPE = REF EltDataRec[Simple]; ComplexData: TYPE = REF EltDataRec[Complex]; UpdateProc: TYPE = PROC [ed: EltData, always: BOOLEAN]; BindingList: TYPE = ViewRec.BindingList; Binding: TYPE = ViewRec.Binding; NotifyList: TYPE = ViewRec.NotifyList; NameStyles: TYPE = RECORD [quiescent, opened, invariant, running, beingShown: ATOM]; nowhere: INTEGER = 1000; nameStyles: NameStyles; roots: DataList; befores: ARRAY Reductions OF RList; afterAlls: RList; classRecers: ARRAY AMTypes.Class OF RList; ecHandlerProp, gtHandlerProp: ATOM; ProcButtonProc, InnerProcButtonProc, NVButtonProc: Menus.ClickProc; ProcUpdate, UpdateNV, UpdateComplex: UpdateProc; SimpleToRope: ToRopeProc; SimpleAssignRope: AssignRopeProc; DestroyEltViewer: ViewerClasses.DestroyProc; OKProc: PROC [pt: Type, argSpecs, retSpecs: BindingList, createOptions: CreateOptions] RETURNS [ok, hasDom, hasRange: BOOLEAN]; Recognize: PROC [t: Type, specials: RList, onlyRecognize: BOOLEAN, specs: BindingList, createOptions: CreateOptions] RETURNS [recognized: BOOLEAN, handler, handlerData: REF ANY]; MemberStuff: PROC [tt, et: Type] RETURNS [biggest, listr: ROPE]; SelectBindings: PROC [bl: BindingList, name: ROPE, pos: INT] RETURNS [sublist, altSublist: BindingList, val: TypedVariable, found, visible, editable, dontAssign: BOOLEAN, notifies: NotifyList, recers: RList]; BindingListAppend: PROC [a, b: BindingList] RETURNS [c: BindingList]; ShowState: PROC [ed: EltData, paint: BOOLEAN _ TRUE]; SetRope: PROC [sd: SimpleData, to: ROPE, paint: BOOLEAN _ TRUE]; RVToData: PROC [RecordViewer] RETURNS [Data]; SampleData: PROC [d: Data]; END. ¦FILE: [Indigo]Top>ViewRec.DF=>ViewRecInsides.Mesa last edited by Spreitzer December 12, 1983 4:59 pm Last Edited by: Maxwell, November 16, 1982 3:29 pm ΚH˜Jšœ8™8Jšœ2™2Jšœ2™2J˜codešΟk ˜ KšœH˜HK˜—KšΠbxœœ œ˜#K˜Kš˜K˜Kšœœ˜K˜Kšœœœ˜Kšœœ˜,Kšœœ˜Kšœœ˜$K˜Kšœœ˜Kšœœ˜*Kšœ œ˜$Kšœœ˜.Kšœœ˜,Kšœ œ˜&Kšœ œ˜&Kšœ œ˜ Kšœœ˜,Kšœœ˜.Kšœ œ˜ Kšœ œ˜"Kšœ œ˜(Kšœœ˜K˜Kšœœœœ ˜!K˜K˜Kšœ œœœ˜Kšœœœ ˜šœ œœ˜Kšœ œ˜Kšœœ˜Kšœœ˜Kšœœ˜KšœEœ˜IKšœ œœ œ˜!Kšœ œœ˜K˜Kšœ œ˜Kšœœ˜Kšœ œ˜Kšœœœ œ˜%Kšœœ˜Kšœœœ˜ Kšœ œœ˜0Kšœ#œœ˜3Kšœͺœ˜·K˜—Kšœ œœ ˜šœ œœ˜Kšœœ˜ K˜ Kšœœ˜Kšœœ˜Kšœ œœ˜Kšœœœ˜Kšœ œœ˜Kšœ œœΟc ˜