DIRECTORY TerminalIO USING [WriteRope, WriteLn], CD USING [Design, Object, Instance, InstanceList, Rect, lambda, highLightError], CDSequencer USING [Command, ImplementCommand], CDOps USING [InstList, DelayedRedraw, ReOrderInstance], CDCommandOps USING [WriteInfo], CDBasics USING [Extend], CDMenus USING [CreateEntry], CDViewer USING [ShowAndScale, ViewersOf, ViewerList], CDInstances USING [InstRectI]; CDShowErrorCommands: CEDAR PROGRAM IMPORTS TerminalIO, CDMenus, CDSequencer, CDOps, CDCommandOps, CDBasics, CDViewer, CDInstances = BEGIN ShowErrorComm: PROCEDURE [comm: CDSequencer.Command] = BEGIN applList: CD.InstanceList = CDOps.InstList[comm.design]; foundSome: BOOL _ FALSE; TerminalIO.WriteRope[ "Show error "]; FOR a: CD.InstanceList _ applList, a.rest WHILE a#NIL DO IF a.first.ob.layer=CD.highLightError THEN { inst: CD.Instance = a.first; foundSome _ TRUE; IF ~inst.selected THEN { eRect: CD.Rect = CDInstances.InstRectI[inst]; inst.selected _ TRUE; CDOps.DelayedRedraw[comm.design, eRect, FALSE]; CDCommandOps.WriteInfo[inst]; TerminalIO.WriteLn[]; FOR vl: CDViewer.ViewerList _ CDViewer.ViewersOf[comm], vl.rest WHILE vl#NIL DO CDViewer.ShowAndScale[viewer: vl.first, rect: CDBasics.Extend[eRect, 30*CD.lambda] ]; ENDLOOP; CDOps.ReOrderInstance[comm.design, inst]; EXIT } }; REPEAT FINISHED => IF foundSome THEN TerminalIO.WriteRope["All errors in this cell are already selected\n"] ELSE TerminalIO.WriteRope[ "No errors in this cell\n"] ENDLOOP; END; CDMenus.CreateEntry[menu: $SpecialMenu, entry: "select next error", key: $ShowErrors]; CDSequencer.ImplementCommand[$ShowErrors, ShowErrorComm,, doQueue]; END. CDShowErrorCommands.mesa Copyright (C) 1984, 1985 by Xerox Corporation. All rights reserved. Written by Shand, July 25, 1984 7:13:44 pm PDT Last Edited by: Jacobi, February 16, 1985 5:34:35 pm PST Last Edited by: Jacobi, June 11, 1985 10:21:21 am PDT Κ ˜™JšœD™DJ™.J™8J™5—J˜šΟk ˜ Jšœ œ˜&JšœœH˜PJšœ œ˜.Jšœœ,˜7Jšœ œ ˜Jšœ œ ˜Jšœœ˜Jšœ œ'˜5Jšœ œ ˜—J˜šΟbœœ˜"JšœZ˜a—Jš˜J˜šΟn œ œ˜7Jš˜Jšœ œ,˜8Jšœ œœ˜Jšœ%˜%š œœ!œœ˜8šœœœ˜,Jšœœ˜Jšœ œ˜šœœ˜Jšœœ$˜-Jšœœ˜Jšœ(œ˜/Jšœ˜Jšœ˜šœ>œœ˜PJšœHœ ˜UJšœ˜—Jšœ)˜)Jš˜J˜—J˜—šœœ˜Jšœ œG˜XJšœ2˜6—Jšœ˜—Jšœ˜—J™IcodešœV˜VJšœC˜CJšœ˜J˜—…—f w