DIRECTORY CD USING [Design, Technology, Number, Layer], CDSequencer USING [CommandProc, QueueMethod], Rope USING [ROPE], ViewerClasses USING [Viewer]; CDPanel: CEDAR DEFINITIONS = BEGIN CreatePanel: PROC [design: CD.Design] RETURNS [ViewerClasses.Viewer]; RedisplayLabels: PROC [design: CD.Design]; DefineNewLine: PROC [tech: CD.Technology_NIL]; DefineLayerEntry: PROC [tech: CD.Technology_NIL, lev: CD.Layer, text: Rope.ROPE, min, default: CD.Number _ 1]; DefineIntEntry: PROC [tech: CD.Technology _ NIL, cdValueKey: REF, text: Rope.ROPE _ NIL, min: INT _ FIRST[INT], max: INT _ LAST[INT], default: INT _ 1, lambda: INT _ 0]; DefineButton: PROC [tech: CD.Technology _ NIL, name: Rope.ROPE _ NIL, proc: CDSequencer.CommandProc _ NIL, command: ATOM _ NIL, queue: CDSequencer.QueueMethod _ useDefault, topLine: BOOL _ FALSE,border: BOOL _ FALSE,data: REF _ NIL, cdValueKey: REF _ NIL]; DefineLabel: PROC [tech: CD.Technology _ NIL, name: Rope.ROPE, border: BOOL _ FALSE, cdValueKey: REF _ NIL]; END. ήCDPanel.mesa (part of ChipNDale) Copyright c 1983, 1986 by Xerox Corporation. All rights reserved. by Christian Jacobi, August 8, 1983 5:20 pm last edited by Christian Jacobi, March 11, 1986 3:22:39 pm PST Control panels for the display and modification of values by the interactive user. Implementor: Don't use define procedures from forked process! (order gets fooled) --only one panel-viewer per design is created --panel may or may not be updated if definitions occur after first creation --only layers of technology tech may be used --cdValueKey must have been correctly registered with CDValue! CDPanel does NOT itself. --(needed to allow hooking entries onto already used keys) --Restriction: displayed value does not follow changes of CDValue.StoreInt --lambda=0: use lambda of technology --button is always forked --data is hanged on comm.data --cdValueKey # NIL: overwrites name field by using CDValue --if cdValueKey # NIL: overwrites name field by using CDValue Κ8˜codešœ#™#Kšœ Οmœ7™BKšœ,™,Kšœ>™>—K˜šΟk ˜ Kšžœžœ%˜-Kšœ žœ˜-Kšœžœžœ˜Kšœžœ ˜—K˜KšΠlnœžœž œ˜Kšž˜K˜šœT™TKšœQ™Q—K˜šΟn œžœ žœ žœ˜EKšœ-™-KšœK™KK˜—Kš œžœ žœ ˜*K˜š  œžœžœ žœ˜.K˜—š œžœžœ žœžœžœžœ ˜nKšœ,™,K˜—š œžœžœžœžœ žœžœžœžœžœžœžœžœ žœžœ˜©KšœX™XKšœ:™:KšœJ™JKšœ$™$K˜—š   œžœžœ žœ ž œ"žœ žœžœ8žœžœ žœžœžœžœ žœžœ˜€Kšœ™Kšœ™Kšœ;™;K˜—š  œžœžœ žœ žœ žœžœžœžœ˜lKšœ=™=—K˜Kšžœ˜K˜K˜K˜—…—ψ