DIRECTORY Buttons, Containers, Rope, Rules, ViewerTools, VFonts, SVEditToolMenus, SVEditUser, SVEditUserB, SVInterfaceTypes; SVEditToolMenusImplA: PROGRAM IMPORTS Buttons, Containers, Rules, 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; BuildCompositeSection: PUBLIC PROC [editToolData: EditToolData] = { addComp: Buttons.Button; addComp _ Buttons.Create[ info: [name: "Add Composite!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddComposite, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; BuildHalfSpaceSection: PUBLIC PROC [editToolData: EditToolData] = { addHalfSpace, addSteiner, addExtra1, addExtra2, addExtra3, addExtra4: Buttons.Button; addHalfSpace _ Buttons.Create[ info: [name: "Add HalfSpace!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddHalfSpace, clientData: editToolData ]; addSteiner _ Buttons.Create[ info: [name: "Add Steiner!", wx: addHalfSpace.wx + addHalfSpace.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddSteiner, clientData: editToolData ]; addExtra1 _ Buttons.Create[ info: [name: "Add1!", wx: addSteiner.wx + addSteiner.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddExtra1, clientData: editToolData ]; addExtra2 _ Buttons.Create[ info: [name: "Add2!", wx: addExtra1.wx + addExtra1.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddExtra2, clientData: editToolData ]; addExtra3 _ Buttons.Create[ info: [name: "Add3!", wx: addExtra2.wx + addExtra2.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddExtra3, clientData: editToolData ]; addExtra4 _ Buttons.Create[ info: [name: "Add4!", wx: addExtra3.wx + addExtra3.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddExtra4, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildHalfSpaceSection BuildSphereSection: PUBLIC PROC [editToolData: EditToolData] = { addSphere, radiusPrompt: Buttons.Button; initialRadiusRope: Rope.ROPE _ "100"; addSphere _ Buttons.Create[ info: [name: "Add Sphere!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddSphere, clientData: editToolData ]; radiusPrompt _ Buttons.Create[ info: [name: "radius:", wx: addSphere.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.SphereRadiusPrompt, clientData: editToolData ]; editToolData.sphereSection.radius _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: radiusPrompt.wx + radiusPrompt.ww + entryHSpace, wy: editToolData.height, ww: numberSize, wh: entryHeight, data: initialRadiusRope,-- "100" scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildSphereSection BuildBlockSection: PUBLIC PROC [editToolData: EditToolData] = { addBlock, xyzPrompt: Buttons.Button; initialXYZRope: Rope.ROPE _ "360, 40, 160"; addBlock _ Buttons.Create[ info: [name: "Add Block!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddBlock, clientData: editToolData ]; xyzPrompt _ Buttons.Create[ info: [name: "x, y, z:", wx: addBlock.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.BlockXYZPrompt, clientData: editToolData ]; editToolData.blockSection.xyz _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: xyzPrompt.wx + xyzPrompt.ww + entryHSpace, wy: editToolData.height, ww: numberSize3, wh: entryHeight, data: initialXYZRope, scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildBlockSection BuildCylinderSection: PUBLIC PROC [editToolData: EditToolData] = { addCyl, radiusPrompt, heightPrompt: Buttons.Button; initialRadiusRope: Rope.ROPE _ "100"; initialHeightRope: Rope.ROPE _ "200"; addCyl _ Buttons.Create[ info: [name: "Add Cylinder!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddCyl, clientData: editToolData ]; radiusPrompt _ Buttons.Create[ info: [name: "radius:", wx: addCyl.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.CylinderRadiusPrompt, clientData: editToolData ]; editToolData.cylinderSection.radius _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: radiusPrompt.wx + radiusPrompt.ww + entryHSpace, wy: editToolData.height, ww: numberSize, wh: entryHeight, data: initialRadiusRope,-- "100" scrollable: FALSE, border: FALSE]]; heightPrompt _ Buttons.Create[ info: [name: "height:", wx: addCyl.wx + column3, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.CylinderHeightPrompt, clientData: editToolData ]; editToolData.cylinderSection.height _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: heightPrompt.wx + heightPrompt.ww + entryHSpace, wy: editToolData.height, ww: numberSize, wh: entryHeight, data: initialHeightRope,-- "100" scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildCylinderSection BuildConeSection: PUBLIC PROC [editToolData: EditToolData] = { addCone, radiusPrompt, heightPrompt: Buttons.Button; initialRadiusRope: Rope.ROPE _ "100"; initialHeightRope: Rope.ROPE _ "200"; addCone _ Buttons.Create[ info: [name: "Add Cone!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddCone, clientData: editToolData ]; radiusPrompt _ Buttons.Create[ info: [name: "radius:", wx: addCone.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.ConeRadiusPrompt, clientData: editToolData ]; editToolData.coneSection.radius _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: radiusPrompt.wx + radiusPrompt.ww + entryHSpace, wy: editToolData.height, ww: numberSize, wh: entryHeight, data: initialRadiusRope,-- "100" scrollable: FALSE, border: FALSE]]; heightPrompt _ Buttons.Create[ info: [name: "height:", wx: addCone.wx + column3, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.ConeHeightPrompt, clientData: editToolData ]; editToolData.coneSection.height _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: heightPrompt.wx + heightPrompt.ww + entryHSpace, wy: editToolData.height, ww: numberSize, wh: entryHeight, data: initialHeightRope,-- "100" scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildConeSection BuildTorusSection: PUBLIC PROC [editToolData: EditToolData] = { addTorus, bigRadiusPrompt, sectionPrompt: Buttons.Button; addTorus _ Buttons.Create[ info: [name: "Add Torus!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddTorus, clientData: editToolData ]; bigRadiusPrompt _ Buttons.Create[ info: [name: "radius:", wx: addTorus.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.BigRadiusPrompt, clientData: editToolData ]; editToolData.torusSection.bigRadius _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: bigRadiusPrompt.wx + bigRadiusPrompt.ww + entryHSpace, wy: editToolData.height, ww: numberSize, wh: entryHeight, data: "100", scrollable: FALSE, border: FALSE]]; sectionPrompt _ Buttons.Create[ info: [name: "section:", wx: addTorus.wx + column3, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.SectionRadiusPrompt, clientData: editToolData ]; editToolData.torusSection.sectionRadius _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: sectionPrompt.wx + sectionPrompt.ww + entryHSpace, wy: editToolData.height, ww: numberSize, wh: entryHeight, data: "50", scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildTorusSection BuildLinearSweepSection: PUBLIC PROC [editToolData: EditToolData] = { addLinear, depthPrompt: Buttons.Button; addLinear _ Buttons.Create[ info: [name: "Add Linear!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddLinear, clientData: editToolData ]; depthPrompt _ Buttons.Create[ info: [name: "depth:", wx: addLinear.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.LinDepthPrompt, clientData: editToolData ]; editToolData.linSection.depth _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: depthPrompt.wx + depthPrompt.ww + entryHSpace, wy: editToolData.height, ww: numberSize, wh: entryHeight, data: "100", scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildLinearSweepSection BuildRevoluteSweepSection: PUBLIC PROC [editToolData: EditToolData] = { addRevo: Buttons.Button; addRevo _ Buttons.Create[ info: [name: "Add Revolute!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddRevo, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildRevoluteSweepSection BuildCopySection: PUBLIC PROC [editToolData: EditToolData] = { copyButton, renameButton, newParentButton: Buttons.Button; copyButton _ Buttons.Create[ info: [name: "Copy!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.Copy, clientData: editToolData ]; renameButton _ Buttons.Create[ info: [ name: "Rename!", wx: copyButton.wx + copyButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE ], proc: SVEditUser.Rename, clientData: editToolData ]; newParentButton _ Buttons.Create[ info: [name: "NewParent!", wx: renameButton.wx + renameButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.NewParent, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildCopySection BuildListingSection: PUBLIC PROC [editToolData: EditToolData] = { scenesButton, assembliesButton, coordsysButton, lightsButton, moButton, viewersButton, camerasButton: Buttons.Button; scenesButton _ Buttons.Create[ info: [name: "ListScenes!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.ListScenes, clientData: editToolData ]; assembliesButton _ Buttons.Create[ info: [name: "ListAssemblies!", wx: scenesButton.wx + scenesButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.ListAssemblies, clientData: editToolData ]; coordsysButton _ Buttons.Create[ info: [name: "ListCoordSystems!", wx: assembliesButton.wx + assembliesButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.ListCoordSystems, clientData: editToolData ]; lightsButton _ Buttons.Create[ info: [name: "ListLights!", wx: coordsysButton.wx + coordsysButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.ListLights, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; moButton _ Buttons.Create[ info: [name: "ListMasterObjects!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.ListMasterObjects, clientData: editToolData ]; viewersButton _ Buttons.Create[ info: [name: "ListViews!", wx: moButton.wx + moButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.ListViewers, clientData: editToolData ]; camerasButton _ Buttons.Create[ info: [name: "ListCameras!", wx: viewersButton.wx + viewersButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.ListCameras, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildListingSection AddARule: PUBLIC PROC [editToolData: EditToolData] = { rule: Rules.Rule; rule _ Rules.Create[[ parent: editToolData.outer, wy: editToolData.height, ww: editToolData.outer.cw, wh: 2 ]]; Containers.ChildXBound[editToolData.outer, rule]; editToolData.height _ editToolData.height + rule.wh + entryVSpace; }; -- end of AddARule END. DFile: SVEditToolMenusImplA.mesa Last edited by Bier on January 10, 1985 10:15:40 pm PST 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: ADDCOMPOSITE! This section implements a set of buttons, text windows, and options listers in this format: AddHalfSpace! This section implements a set of buttons, text windows, and options listers in this format: ADDSPHERE RADIUS: This section implements a set of buttons, text windows, and options listers in this format: ADDBLOCK x, y, z: This section implements a set of buttons, text windows, and options listers in this format: ADDCYLINDER RADIUS: HEIGHT: This section implements a set of buttons, text windows, and options listers in this format: ADDCONE RADIUS: HEIGHT: This section implements a set of buttons, text windows, and options listers in this format: ADDTorusbig radius: section radius: This section implements a set of buttons, text windows, and options listers in this format: ADDLINEAR depth: This section implements a set of buttons, text windows, and options listers in this format: ADDREVOLUTE This section implements a set of buttons, text windows, and options listers in this format: COPY! Rename! NewParent! This section implements a set of buttons in this format: ListScenes! ListAssemblies! ListCS! ListLights! ListMOs! ListViews! Κ «– "cedar" style˜Iheadšœ™Iprocšœ7™7Jšœ Οmœ1™Lšœ[™[Lšœ)™)L˜Lšœ4˜4Lšœžœ ˜%Lšœžœ ˜%L˜šœ˜Lšœhžœ˜oLšœ˜Lšœ˜Lšœ˜L˜—šœ˜Lšœžœ˜ˆLšœ"˜"Lšœ˜Lšœ˜—L˜šœA˜ALšœ˜Lšœ4˜4Lšœ˜Lšœ˜Lšœ˜Lšœ ˜ Lšœ žœ žœ˜#—L˜šœ˜Lšœ˜Lšœ˜Lšœ)˜)Lšœ$žœ˜+Lšœ"˜"Lšœ˜Lšœ˜—L˜šœA˜ALšœ˜Lšœ4˜4Lšœ˜Lšœ˜Lšœ˜Lšœ ˜ Lšœ žœ žœ˜#—L˜LšœF˜FL˜Lšœ˜—šŸœž œ!˜?Lšœ[™[Lšœ2™2L˜Lšœ9˜9L˜šœ˜Lšœižœ˜pLšœ˜Lšœ˜Lšœ˜—L˜šœ!˜!Lšœžœ˜ˆLšœ!˜!Lšœ˜Lšœ˜—L˜šœE˜ELšœ˜Lšœ:˜:Lšœ˜Lšœ˜Lšœ˜Lšœ ˜ Lšœ žœ žœ˜#—L˜šœ˜Lšœ‚žœ˜‰Lšœ%˜%Lšœ˜Lšœ˜—L˜šœI˜ILšœ˜Lšœ6˜6Lšœ˜Lšœ˜Lšœ˜Lšœ ˜ Lšœ žœ žœ˜#—L˜LšœF˜FL˜Lšœ˜—šŸœžœžœ!˜ELšœ[™[Lšœ™L˜Lšœ'˜'L˜šœ˜LšœE˜ELšœ$žœ˜+Lšœ˜Lšœ˜Lšœ˜—L˜šœ˜Lšœžœ˜ˆLšœ ˜ Lšœ˜Lšœ˜—L˜šœ?˜?Lšœ˜Lšœ2˜2Lšœ˜Lšœ˜Lšœ˜Lšœ ˜ Lšœ žœ žœ˜#—L˜LšœF˜FL˜Lšœ$˜$—šŸœžœžœ!˜GLšœ[™[Lšœ ™ L˜Lšœ˜L˜šœ˜LšœG˜GLšœ$žœ˜+Lšœ˜Lšœ˜Lšœ˜—L˜LšœF˜FL˜Lšœ&˜&L˜—šŸœžœžœ!˜>Lšœ[™[Lšœ™L˜Lšœ:˜:L˜šœ˜Lšœdžœ˜kLšœ˜Lšœ˜Lšœ˜—L˜šœ˜šœ˜Jšœ˜Jšœ0˜0Jšœ˜Jšœ˜Jšœ$ž˜)Jšœ˜—Jšœ˜Jšœ˜Jšœ˜J˜—šœ!˜!šœ˜Jšœ4˜4Jšœ)˜)Jšœ$žœ˜+—Jšœ˜Jšœ˜Jšœ˜—LšœF˜FL˜Lšœ˜L˜—šŸœžœžœ!˜ALšœ8™8LšœF™FL˜Lšœu˜uL˜šœ˜Lšœjžœ˜qLšœ˜Lšœ˜Lšœ˜L˜—šœ"˜"Lšœ£žœ˜ͺLšœ!˜!Lšœ˜Lšœ˜—L˜šœ ˜ Lšœ­žœ˜΄Lšœ#˜#Lšœ˜Lšœ˜—L˜šœ˜Lšœ£žœ˜ͺLšœ˜Lšœ˜Lšœ˜—L˜L˜LšœG˜Gšœ˜Lšœqžœ˜xLšœ$˜$Lšœ˜Lšœ˜—šœ˜Lšœ–žœ˜Lšœ˜Lšœ˜Lšœ˜L˜—šœ˜Lšœ’žœ˜©Lšœ˜Lšœ˜Lšœ˜—LšœF˜FL˜Lšœ ˜ —L˜šŸœžœžœ!˜6Lšœ˜L˜šœ˜Lšœ˜Lšœ˜Lšœ˜Lšœ˜Lšœ˜—Lšœ1˜1LšœB˜BLšœ˜—L˜Lšžœ˜—…—5ϊIι