DIRECTORY Atom, IO, Log, Nice, -- PrettyPrinTV, PrinTV, -- Rope, RPCPkt, PrincOpsUtils, VBag, ViewRec, ViewerClasses; NiceImpl: CEDAR PROGRAM IMPORTS Atom, IO, Log, PrincOpsUtils, -- PrinTV, PrettyPrinTV,-- VBag, ViewRec EXPORTS Nice SHARES VBag = { BeNiceDo: PROC[r: REF, d: INT, how: ATOM_$System, howD: REF_NIL] = TRUSTED { out: IO.STREAM _ Log.FindWhere[how, howD]; out.Put[IO.refAny[r]]; }; ViewDo: PROC[r: REF, name: Rope.ROPE] = TRUSTED { IF ~PrincOpsUtils.IsBound[VBag.Start] THEN RETURN; IF recTable=NIL THEN recTable_VBag.Create["Program Management Variables"]; []_VBag.Start[recTable, r, name]; }; ViewOne: PUBLIC PROC[r: REF, name: Rope.ROPE_NIL, iconic: BOOL_FALSE] = { IF ~PrincOpsUtils.IsBound[ViewRec.ViewRef] THEN RETURN; []_ViewRec.ViewRef[agg: r, viewerInit: [name: name, iconic: iconic]]; }; Ref: PUBLIC UNSAFE PROC[whatever: LONG CARDINAL] RETURNS [REF] = UNCHECKED {RETURN[LOOPHOLE[whatever]]}; recTable: ViewerClasses.Viewer_NIL; Atom.PutProp[$Interfaces, $BeNice, NEW[Nice.BeNiceProc_BeNiceDo]]; Atom.PutProp[$Interfaces, $View, NEW[Nice.ViewProc_ViewDo]]; TRUSTED { IF PrincOpsUtils.IsBound[ViewRec.SetBehavior] THEN ViewRec.SetBehavior[newBehavior: [delayParms: [min: 1000]]]; -- Reduce sampling load }; }. vNiceImpl.mesa Last Edited by: Swinehart, June 15, 1984 0:40:21 am PDT << This is what is meant to happen! Wait for PrettyPrint to reappear >> put: PrinTV.PutClosure _ PrettyPrinTV.StreamToPrettyPutClosure[out, 60]; PrinTV.Print[ tv: AMBridge.TVForReferent[r], put: put, depth: d, maxLength: 32, verbose: FALSE]; PrettyPrinTV.Flush[put]; Procedure for debugging only Κχ˜J™ J™7Icode˜šΟk ˜ Kšœœ Οcœ;˜k—K˜š œ œœœžœ˜gKšœ˜ Kšœ ˜K˜šΟnœœœœœœœœ˜LKšœœœ˜*Kšœœ ˜K™K™HKšœH™Hšœ ™ KšœKœ™R—Kšœ™Kšœ˜—K˜š Ÿœœœ œœ˜1Jšœ$œœ˜2Jšœ œœ5˜JJšœ!˜!Kšœ˜K˜—šŸœœœœ œœ œœ˜IJšœ)œœ˜7J˜EJ˜K˜—K˜—šœ™J˜JšŸœœ œœœœ œœœ ˜iJ˜K˜—Jšœœ˜#K˜Kšœ#œ˜CKšœ!œ˜=J˜šœ˜ šœ,œ>ž˜‡J˜——K˜J˜—…—δQ