DIRECTORY Buttons, Containers, Labels, Rope, Rules, ViewerTools, VFonts, SVEditToolMenus, SVEditUser, SVEditUserB, SVInterfaceTypes; SVEditToolMenusImplD: PROGRAM IMPORTS Buttons, Labels, SVEditUser, SVEditUserB, VFonts, ViewerTools EXPORTS SVEditToolMenus = BEGIN EditToolData: TYPE = SVInterfaceTypes.EditToolData; entryHeight: CARDINAL = SVEditToolMenus.entryHeight; entryVSpace: CARDINAL = SVEditToolMenus.entryVSpace; entryHSpace: CARDINAL = SVEditToolMenus.entryHSpace; column0: CARDINAL = SVEditToolMenus.column0; column1: CARDINAL = SVEditToolMenus.column1; column2: CARDINAL = SVEditToolMenus.column2; column3: CARDINAL = SVEditToolMenus.column3; nameSize: CARDINAL = 130; numberSize: CARDINAL = 80; numberSize3: CARDINAL = 160; BuildArtworkSection: PUBLIC PROC [editToolData: EditToolData] = { getArtworkButton, picNamePrompt, isColorButton: Buttons.Button; materialButton, resolutionButton: Buttons.Button; getArtworkButton _ Buttons.Create[ info: [name: "GetArtwork!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.GetArtwork, clientData: editToolData ]; picNamePrompt _ Buttons.Create[ info: [name: "picName:", wx: getArtworkButton.wx + getArtworkButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.ArtworkNamePrompt, clientData: editToolData ]; editToolData.artworkSection.picName _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: picNamePrompt.wx + picNamePrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["TinasEyes.ais >>>>>"], wh: entryHeight, data: "TinaEyes.ais", scrollable: FALSE, border: FALSE]]; isColorButton _ Buttons.Create[ info: [name: "isColorFile:", wx: editToolData.artworkSection.picName.wx + editToolData.artworkSection.picName.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.IsColor, clientData: editToolData ]; editToolData.artworkSection.isColor _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: isColorButton.wx + isColorButton.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["FALSE "], wh: entryHeight, data: "FALSE", scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; materialButton _ Buttons.Create[ info: [name: "material:", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.MaterialCycle, clientData: editToolData ]; editToolData.artworkSection.material _ Labels.Create[ info: [name: "plastic", wx: materialButton.wx + materialButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE]]; editToolData.artworkSection.materialValue _ 1; resolutionButton _ Buttons.Create[ info: [name: "resolution:", wx: editToolData.artworkSection.material.wx + editToolData.artworkSection.material.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.ResolutionPrompt, clientData: editToolData ]; editToolData.artworkSection.resolution _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: resolutionButton.wx + resolutionButton.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["188.88 "], wh: entryHeight, data: "72", scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; Build3DArtworkSection: PUBLIC PROC [editToolData: EditToolData] = { set3DButton: Buttons.Button; set3DButton _ Buttons.Create[ info: [name: "Set3DArtwork!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.Set3DArtwork, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; BuildColorArtworkSection: PUBLIC PROC [editToolData: EditToolData] = { setColorButton, rgbPrompt: Buttons.Button; setColorButton _ Buttons.Create[ info: [name: "SetColorArtwork!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.SetColorArtwork, clientData: editToolData ]; rgbPrompt _ Buttons.Create[ info: [name: "r, g, b:", wx: setColorButton.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.RGBPrompt, clientData: editToolData ]; editToolData.artworkSection.rgb _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: rgbPrompt.wx + rgbPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["9.10000e-1, 9.10000e-1, 9.10000e-1 "], wh: entryHeight, data: "0.75, 0.75, 0.75", scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; BuildTubeArtworkSection: PUBLIC PROC [editToolData: EditToolData] = { setTubeArtworkButton, tubeHeightPrompt, tubeRadiusPrompt: Buttons.Button; initialHeightRope: Rope.ROPE _ "100"; initialRadiusRope: Rope.ROPE _ "50"; setTubeArtworkButton _ Buttons.Create[ info: [name: "SetTubeArtwork!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.SetTubeArtwork, clientData: editToolData ]; tubeHeightPrompt _ Buttons.Create[ info: [name: "tubeH:", wx: setTubeArtworkButton.wx + setTubeArtworkButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.TubeHeightPrompt, clientData: editToolData ]; editToolData.artworkSection.tubeHeight _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: tubeHeightPrompt.wx + tubeHeightPrompt.ww + entryHSpace, wy: editToolData.height, ww: numberSize, wh: entryHeight, data: initialHeightRope, scrollable: FALSE, border: FALSE]]; tubeRadiusPrompt _ Buttons.Create[ info: [name: "tubeR:", wx: editToolData.artworkSection.tubeHeight.wx + editToolData.artworkSection.tubeHeight.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.TubeRadiusPrompt, clientData: editToolData ]; editToolData.artworkSection.tubeRadius _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: tubeRadiusPrompt.wx + tubeRadiusPrompt.ww + entryHSpace, wy: editToolData.height, ww: numberSize, wh: entryHeight, data: initialRadiusRope, scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; BuildBoxArtworkSection: PUBLIC PROC [editToolData: EditToolData] = { setBoxArtworkButton, xyzPrompt, oMapCycle: Buttons.Button; initialXYZRope: Rope.ROPE _ "100, 100, 100"; setBoxArtworkButton _ Buttons.Create[ info: [name: "SetBoxArtwork!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.SetBoxArtwork, clientData: editToolData ]; xyzPrompt _ Buttons.Create[ info: [name: "X,Y,Z:", wx: setBoxArtworkButton.wx + setBoxArtworkButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.BoxXYZPrompt, clientData: editToolData ]; editToolData.artworkSection.boxXYZ _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: xyzPrompt.wx + xyzPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["188.88, 188.88 188.88 "], wh: entryHeight, data: initialXYZRope, scrollable: FALSE, border: FALSE]]; oMapCycle _ Buttons.Create[ info: [name: "OMap:", wx: editToolData.artworkSection.boxXYZ.wx + editToolData.artworkSection.boxXYZ.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.BoxOCycle, clientData: editToolData ]; editToolData.artworkSection.oMapLabel _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: oMapCycle.wx + oMapCycle.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["Orthogonal "], wh: entryHeight, data: "Orthogonal", scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildBoxArtworkSecition BuildArtworkTransformSection: PUBLIC PROC [editToolData: EditToolData] = { rotateButton, degreesPrompt, normButton: Buttons.Button; rotateButton _ Buttons.Create[ info: [name: "Rotate!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.RotateArtwork, clientData: editToolData ]; degreesPrompt _ Buttons.Create[ info: [name: "degrees:", wx: rotateButton.wx + rotateButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.ArtworkDegreesPrompt, clientData: editToolData ]; editToolData.artworkTransformSection.degrees _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: degreesPrompt.wx + degreesPrompt.ww + entryHSpace, wy: editToolData.height, ww: numberSize, wh: entryHeight, data: "45", scrollable: FALSE, border: FALSE]]; normButton _ Buttons.Create[ info: [name: "Normalize!", wx: editToolData.artworkTransformSection.degrees.wx + editToolData.artworkTransformSection.degrees.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.NormalizeArtwork, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildArtworkTransformSection BuildAssemblyOpsSection: PUBLIC PROC [editToolData: EditToolData] = { firstButton, drawCSButton, deleteButton, editButton: Buttons.Button; setOpButton, selectOpButton: Buttons.Button; firstButton _ Buttons.Create[ info: [name: "First!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.First, clientData: editToolData ]; drawCSButton _ Buttons.Create[ info: [name: "DrawCS!", wx: firstButton.wx + firstButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.DrawCS, clientData: editToolData ]; deleteButton _ Buttons.Create[ info: [name: "Delete!", wx: firstButton.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.DeleteButton, clientData: editToolData ]; editButton _ Buttons.Create[ info: [name: "Edit!", wx: firstButton.wx + column3, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.Edit, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; setOpButton_ Buttons.Create[ info: [name: "Set Pointset Op!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.SetOp, clientData: editToolData ]; selectOpButton _ Buttons.Create[ info: [name: "Op:", wx: setOpButton.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.SelectOp, clientData: editToolData ]; editToolData.sceneSection.opLabel _ Labels.Create[ info: [name: "union", wx: selectOpButton.wx + selectOpButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, ww: VFonts.StringWidth["intersection>>>"], parent: editToolData.outer, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildAssemblyOpsSection boldFont: VFonts.Font _ VFonts.EstablishFont[family: "Helvetica", size: 10, bold: TRUE, italic: FALSE, defaultOnFailure: TRUE]; END. bFile: SVEditToolMenusImplD.mesa Last edited by Bier on August 1, 1985 5:28:03 pm PDT Copyright c 1984 by Xerox Corporation. All rights reserved. Contents: Procedures which build sections of the EditTool declare the standard distances between menu lines. This section implements a set of buttons, text windows, and options listers in this format: SetArtwork! GetArtwork! picName: isColorFile: material: resolution: tubeHeight: tubeRadius: material: resolution: SET COLOR R,G,B: SET COLOR R,G,B: This section implements a set of buttons, text windows, and options listers in this format: SetTubeArtwork! tube height: tube radius: This section implements a set of buttons, text windows, and options listers in this format: SetTubeArtwork! tube height: tube radius: This section implements a set of buttons, text windows, and options listers in this format: Rotate! degrees: Normalize! FIRST! DrawCS! DELETE! EDIT! SET PointSetOp SET PointSetOp Op: Κ η˜Iheadšœ™Iprocšœ4™4Jšœ Οmœ1™˜ELšžœ˜—Lšž˜˜Lšœžœ!˜3L˜Lšœ2™2Lšœ žœ˜4Lšœ žœ˜4Lšœ žœ˜4Lšœ žœ˜,Lšœ žœ˜,Lšœ žœ˜,Lšœ žœ˜,Lšœ žœ˜Lšœ žœ˜Lšœ žœ˜—J˜šΟnœžœžœ!˜AJšœ[™[Jšœ<™