<> <> <> <> DIRECTORY Buttons, Labels, Rope, Rules, ViewerTools, VFonts, SVEditToolMenus, SVEditUser, SVEditUserB, SVInterfaceTypes; SVEditToolMenusImplB: 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; numberSize: CARDINAL = 80; numberSize3: CARDINAL = 160; BuildCameraSection1: PUBLIC PROC [editToolData: EditToolData] = { <> < Get! Add! Set!>> cameraNamePrompt, getButton, setButton, useCameraButton: Buttons.Button; < Get! Set! Use! >> cameraNamePrompt _ Buttons.Create[ info: [name: "Camera name:", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.CameraNamePrompt, clientData: editToolData ]; editToolData.cameraSection.name _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: cameraNamePrompt.wx + cameraNamePrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["The view from the west."], wh: entryHeight, data: "", scrollable: FALSE, border: FALSE]]; getButton _ Buttons.Create[ info: [name: "Get!", wx: editToolData.cameraSection.name.wx + editToolData.cameraSection.name.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.GetCamera, clientData: editToolData ]; setButton _ Buttons.Create[ info: [name: "Set!", wx: getButton.wx + getButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.SetCamera, clientData: editToolData ]; useCameraButton _ Buttons.Create[ info: [name: "Use!", wx: setButton.wx + setButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUserB.UseCamera, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; BuildCameraSection2: PUBLIC PROC [editToolData: EditToolData] = { <> <> < frame (two points): [-200,200], [200, -200]>> <<>> originPrompt, focusPointPrompt, slantPrompt: Buttons.Button; resolutionPrompt, focalLengthPrompt, projectionButton: Buttons.Button; framePrompt: Buttons.Button; clippingPlanePrompt, visibleAssemblyPrompt: Buttons.Button; <> originPrompt _ Buttons.Create[ info: [name: "origin:", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.CameraOriginPrompt, clientData: editToolData ]; editToolData.cameraSection.origin _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: originPrompt.wx + originPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["-1800, -188.8, -188.8>>>"], 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]]; projectionButton _ Buttons.Create[ info: [name: "projection:", wx: editToolData.cameraSection.focalLength.wx + editToolData.cameraSection.focalLength.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.ProjectionCycle, clientData: editToolData ]; editToolData.cameraSection.projection _ Labels.Create[ info: [name: "perspect", wx: projectionButton.wx + projectionButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, 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 BuildCameraSection2 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; }; END.