DIRECTORY Buttons, Labels, Rope, Rules, ViewerTools, VFonts, SVEditToolMenus, SVEditUser, SVEditUserB; SVEditToolMenusImplB: PROGRAM IMPORTS Buttons, Labels, SVEditUser, SVEditUserB, VFonts, ViewerTools EXPORTS SVEditToolMenus = BEGIN EditToolData: TYPE = SVEditUser.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; BuildRenameSection: PUBLIC PROC [editToolData: EditToolData] = { renameButton, newNamePrompt: Buttons.Button; renameButton _ Buttons.Create[ info: [name: "Rename!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.Rename, clientData: editToolData ]; newNamePrompt _ Buttons.Create[ info: [name: "new name:", wx: renameButton.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.NewNamePrompt, clientData: editToolData ]; editToolData.renameSection.newName _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: newNamePrompt.wx + newNamePrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["<<<<>>"], wh: entryHeight, data: "0,0,1800", scrollable: FALSE, border: FALSE]]; focusPointPrompt _ Buttons.Create[ info: [name: "focusPoint:", wx: editToolData.cameraSection.origin.wx + editToolData.cameraSection.origin.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.FocusPrompt, clientData: editToolData ]; editToolData.cameraSection.focusPoint _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: focusPointPrompt.wx + focusPointPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["188.8, 188.8, 188"], wh: entryHeight, data: "0, 0, 0", scrollable: FALSE, border: FALSE]]; slantPrompt _ Buttons.Create[ info: [name: "slant:", wx: editToolData.cameraSection.focusPoint.wx + editToolData.cameraSection.focusPoint.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.SlantPrompt, clientData: editToolData ]; editToolData.cameraSection.slant _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: slantPrompt.wx + slantPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["188.8>>>"], wh: entryHeight, data: "0", scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; resolutionPrompt _ Buttons.Create[ info: [name: "resolution:", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.ScanResolutionPrompt, clientData: editToolData ]; editToolData.cameraSection.resolution _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: resolutionPrompt.wx + resolutionPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["188.8>>>"], wh: entryHeight, data: "72", scrollable: FALSE, border: FALSE]]; focalLengthPrompt _ Buttons.Create[ info: [name: "focal length:", wx: editToolData.cameraSection.resolution.wx + editToolData.cameraSection.resolution.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.FocalLengthPrompt, clientData: editToolData ]; editToolData.cameraSection.focalLength _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: focalLengthPrompt.wx + focalLengthPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["1800 "], wh: entryHeight, data: "1800", scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; framePrompt _ Buttons.Create[ info: [name: "frame: ", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.FramePrompt, clientData: editToolData ]; editToolData.cameraSection.frame _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: framePrompt.wx + framePrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["[[302.5,105.6], [302.5,105.6] fullScreen: FALSE]>>>>>"], wh: entryHeight, data: "[[0,200],[200,0] fullScreen: TRUE]", scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; clippingPlanePrompt _ Buttons.Create[ info: [name: "Clipping Planes: ", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.ClippingPlanePrompt, clientData: editToolData ]; editToolData.cameraSection.clippingPlanes _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: clippingPlanePrompt.wx + clippingPlanePrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["[1,0,0,1], [2.5,3.2,5.6,7.8], [2.5,3.2,5.6,7.8]>>>"], wh: entryHeight, data: "[0,0,1,0]", scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; visibleAssemblyPrompt _ Buttons.Create[ info: [name: "Visible Assemblies: ", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.VisibleAssemblyPrompt, clientData: editToolData ]; editToolData.cameraSection.visibleAssemblies _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: visibleAssemblyPrompt.wx + visibleAssemblyPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["teapot, teacup, table, sceneAssembly, poodle>>>"], wh: entryHeight, data: "sceneAssembly", scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildCameraSection BuildCameraOrderSection: PUBLIC PROC [editToolData: EditToolData] = { orderPrompt, getOrder, setOrder: Buttons.Button; orderPrompt _ Buttons.Create[ info: [name: "camera order:", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.CameraOrderPrompt, clientData: editToolData ]; editToolData.cameraOrderSection.order _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: orderPrompt.wx + orderPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["Front, Top, Side, Bottom, Left, Right>>>"], wh: entryHeight, data: "Front, Top, Side", scrollable: FALSE, border: FALSE]]; getOrder _ Buttons.Create[ info: [name: "Get!", wx: editToolData.cameraOrderSection.order.wx + editToolData.cameraOrderSection.order.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.GetCameraOrder, clientData: editToolData ]; setOrder _ Buttons.Create[ info: [name: "Set!", wx: getOrder.wx + getOrder.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.SetCameraOrder, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; BuildShadowSection: PUBLIC PROC [editToolData: EditToolData] = { shadowPrompt, setShadows: Buttons.Button; shadowPrompt _ Buttons.Create[ info: [name: "Shadows:", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.ShadowsPrompt, clientData: editToolData ]; editToolData.shadowSection.shadowLabel _ Labels.Create[ info: [name: "FALSE", wx: shadowPrompt.wx + shadowPrompt.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE]]; editToolData.shadowSection.shadowValue _ FALSE; setShadows _ Buttons.Create[ info: [name: "Set!", wx: editToolData.shadowSection.shadowLabel.wx + editToolData.shadowSection.shadowLabel.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.SetShadows, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; END. (File: SVEditToolMenusImplB.mesa Last edited by Bier on August 18, 1983 5:40 pm Contents: Procedures which build sections of the EditTool (continued). Declare the standard distances between menu lines. This section implements a set of buttons, text windows, and options listers in this format: Rename!newName: This section implements a set of buttons, text windows, and options listers in this format: Move Assembly! This section implements a set of buttons, text windows, and options listers in this format: SetArtwork! GetArtwork! picName: isColorFile: material: resolution: tubeHeight: tubeRadius: SET COLOR R,G,B: material: resolution: 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! This section implements a set of buttons, text windows, and options listers in this format: AddLight! DeleteLight! EditLight! lightName: position: color: This section implements a set of buttons in this format: Camera name: Get! Add! Set! origin: 0,0,1800 focus point: 0,0,0 resolution: 72 focal length: 1800 style: frame (two points): [-200,200], [200, -200] Camera name: Get! Set! Use! origin: 0,0,1800 focus point: 0,0,0 slant: 0 resolution: 72 focal length: 1800 frame: [[-200,200], [200, -200] fullScreen: TRUE] This section implements a set of buttons in this format: camera order: Front, Top, Side Get! Set! camera order: Front, Top, Side This section implements a set of buttons in this format: Shadows: FALSE Set! Shadows: FALSE Set! ส1˜Iheadšœ™Jšœ.™.JšœF™FJ˜šฯk ˜ Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ ˜ Jšœ˜Jšœ˜Jšœ ˜ Jšœ ˜ —J˜šœ˜Jšœ>˜EJšœ˜—Jš˜˜Jšœœ˜-J˜Jšœ2™2J˜Jšœ œ˜4Jšœ œ˜4Jšœ œ˜4Jšœ œ˜,Jšœ œ˜,Jšœ œ˜,Jšœ œ˜,J˜šฯnœœœ!˜@Jšœ[™[Jšœ™J˜Jšœ,˜,J˜šœ˜JšœA˜AJšœ$œ˜+Jšœ˜Jšœ˜Jšœ˜—J˜šœ˜šœ˜Jšœ˜Jšœ)˜)Jšœ$œ˜+—Jšœ˜Jšœ˜Jšœ˜—J˜šœD˜DJšœ˜Jšœ6˜6Jšœ˜Jšœ0˜0Jšœ˜Jšœ˜Jšœ œ œ˜#—J˜JšœF˜FJ˜J˜Jšœ˜—J˜šžœœœ!˜>Jšœ[™[Jšœ™J˜šœ˜šœ˜Jšœ)˜)Jšœ$œ˜+—Jšœ˜Jšœ˜Jšœ˜—JšœF˜FJ˜Jšœ˜—J˜šžœœœ!˜AJšœ[™[Jšœ<™™>J˜JšœC˜CJšœ=˜=Jšœœ˜1Jšœœ˜1J˜šœ ˜ šœ˜JšœNœ˜U—Jšœ˜Jšœ˜Jšœ˜—J˜šœ#˜#šœ˜Jšœ‡œ˜Ž—Jšœ˜Jšœ˜Jšœ˜—J˜šœ!˜!šœ˜Jšœœ˜”—Jšœ˜Jšœ˜Jšœ˜—J˜JšœF˜FJ˜šœ!˜!šœ˜JšœNœ˜U—Jšœ!˜!Jšœ˜Jšœ˜—J˜šœ@˜@Jšœ˜Jšœ:˜:Jšœ˜Jšœ)˜)Jšœ˜Jšœ˜Jšœ œ œ˜#—J˜šœ ˜ šœ˜Jšœงœ˜ฎ—Jšœ%˜%Jšœ˜Jšœ˜—J˜šœD˜DJšœ˜Jšœ8˜8Jšœ˜Jšœ5˜5Jšœ˜Jšœ˜Jšœ œ œ˜#—J˜JšœF˜FJ˜šœ˜šœ˜JšœNœ˜U—Jšœ"˜"Jšœ˜Jšœ˜—J˜šœA˜AJšœ˜Jšœ2˜2Jšœ˜Jšœ@˜@Jšœ˜Jšœ˜Jšœ œ œ˜#—J˜J˜JšœF˜FJ˜Jšœ˜—J˜J˜šžœœœ!˜@Jšœ8™8Jšœ(™(Jšœ*™*Jšœ*™*JšœA™AJ˜JšœH˜HJšœ<˜˜>Jšœ˜Jšœ$˜$Jšœ˜Jšœ ˜ Jšœ œ œ˜#—J˜JšœF˜FJ˜JšŸ2™2šœ˜šœ˜JšœNœ˜U—Jšœ˜Jšœ˜Jšœ˜—J˜šœB˜BJšœ˜Jšœ2˜2Jšœ˜JšœP˜PJšœ˜Jšœ+˜+Jšœ œ œ˜$—JšœF˜FJ˜šœ%˜%šœ!˜!JšœNœ˜U—Jšœ%˜%Jšœ˜Jšœ˜—J˜šœK˜KJšœ˜JšœB˜BJšœ˜JšœM˜MJšœ˜Jšœ˜Jšœ œ œ˜#—J˜JšœF˜FJ˜šœ'˜'šœ$˜$JšœNœ˜U—Jšœ'˜'Jšœ˜Jšœ˜—J˜šœN˜NJšœ˜JšœF˜FJšœ˜JšœJ˜JJšœ˜Jšœ˜Jšœ œ œ˜#—J˜JšœF˜FJ˜Jšœ ˜ —šžœœœ!˜EJšœ8™8Jšœ/™/J˜šœ0˜0J˜—JšŸ ™ šœ˜šœ˜JšœNœ˜U—Jšœ#˜#Jšœ˜Jšœ˜—J˜šœG˜GJšœ˜Jšœ2˜2Jšœ˜JšœC˜CJšœ˜Jšœ˜Jšœ œ œ˜#—J˜šœ˜šœ˜Jšœตœ˜ผ—Jšœ!˜!Jšœ˜Jšœ˜—šœ˜šœ˜Jšœ{œ˜‚—Jšœ!˜!Jšœ˜Jšœ˜—JšœG˜GJ˜—šžœœœ!˜@Jšœ8™8Jšœ™J˜šœ)˜)J˜—JšŸ™šœ˜šœ˜JšœNœ˜U—Jšœ˜Jšœ˜Jšœ˜—J˜šœ7˜7šœ˜Jšœƒœ˜‹——Jšœ)œ˜0šœ˜šœ˜Jšœทœ˜พ—Jšœ˜Jšœ˜Jšœ˜—JšœG˜GJ˜J˜——J˜J˜J˜Jšœ˜J˜J˜J˜—…—Ws[