<> <> <> <> <> DIRECTORY Buttons, Labels, Rope, ViewerTools, SVEditToolMenus, SVEditUser, SVEditUserB, SVInterfaceTypes, VFonts; SVEditToolMenusImplC: CEDAR PROGRAM IMPORTS Buttons, Labels, SVEditUser, 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; column2Quarter: CARDINAL = 190; column2Half: CARDINAL = 225; column3: CARDINAL = SVEditToolMenus.column3; nameSize: CARDINAL = 140; numberSize: CARDINAL = 80; numberSize3: CARDINAL = 160; BuildCurrentSceneSection: PUBLIC PROC [editToolData: EditToolData] = { <> < NEW VIEWER NEW OUTPUT>> <> scenePrompt, newViewer, newOutput: Buttons.Button; helpButton, restartButton, closeAll: Buttons.Button; editToolData.height _ editToolData.height + entryVSpace; -- space down from the top of the viewer < New Viewer New Output>> scenePrompt _ Buttons.Create[ info: [name: "Scene:", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.ScenePrompt, clientData: editToolData ]; editToolData.sceneSection.sceneName _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: scenePrompt.wx + scenePrompt.ww + entryHSpace, wy: editToolData.height, ww: nameSize, wh: entryHeight, data: "DefaultScene", scrollable: FALSE, border: FALSE]]; newViewer _ Buttons.Create[ info: [name: "New Viewer", wx: editToolData.sceneSection.sceneName.wx + editToolData.sceneSection.sceneName.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: TRUE], proc: SVEditUser.NewViewer, clientData: editToolData ]; newOutput _ Buttons.Create[ info: [name: "New Typescript", wx: newViewer.wx + newViewer.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: TRUE], proc: SVEditUser.NewOutput, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; <> <<>> helpButton _ Buttons.Create[ info: [name: "Help!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.Help, clientData: editToolData ]; restartButton _ Buttons.Create[ info: [name: "Restart!", wx: helpButton.wx + helpButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.Restart, clientData: editToolData ]; closeAll _ Buttons.Create[ info: [ name: "DestroyAll", wx: restartButton.wx + restartButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: TRUE], proc: SVEditUser.DestroyAllSolidviewsWindows, clientData: editToolData, guarded: TRUE, documentation: "Will Close Down Solidviews" ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; BuildTextInputSection: PUBLIC PROC [editToolData: EditToolData] = { currentAssemblyPrompt: Buttons.Button; text1Prompt: Buttons.Button; selectedTextLabel, selectedTextPlane, selectedTextSource, selectedTextTarget, selectedTextParent: Buttons.Button; <>> <>> <> <<>> < Parent: >> < TopTarget: >> <<>> <<>> < Source! Target! Parent!>> currentAssemblyPrompt _ Buttons.Create[ info: [name: "Skitter:", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.CurrentAssemblyPrompt, clientData: editToolData ]; editToolData.sceneSection.current _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: currentAssemblyPrompt.wx + currentAssemblyPrompt.ww + entryHSpace, wy: editToolData.height, ww: nameSize, wh: entryHeight, data: "", scrollable: FALSE, border: FALSE]]; <> <> <> <> <> <> <<],>> <> <> <<];>> <<>> <> <> <> <> <> <> <<],>> <> <> <<];>> <<>> <> <> <> <> <> <> <<],>> <> <> <<];>> <<>> editToolData.height _ editToolData.height + entryVSpace + entryHeight; < Source! Target! Parent!>> text1Prompt _ Buttons.Create[ info: [name: "Text1:", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.Text1PromptButton, clientData: editToolData ]; editToolData.sceneSection.text1 _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: text1Prompt.wx + text1Prompt.ww + entryHSpace, wy: editToolData.height, ww: nameSize, wh: entryHeight, data: "sceneAssembly", scrollable: FALSE, border: FALSE]]; <> <> <> <> <> <> <<],>> <> <> <<];>> <<>> <> <> <> <> <> <> <<],>> <> <> <<];>> <<>> <> <> <> <> <> <> <<],>> <> <> <<];>> editToolData.height _ editToolData.height + entryVSpace + entryHeight; <<>> <> <<>> selectedTextLabel _ Labels.Create[ info: [name: "Selected Text:", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE]]; selectedTextPlane _ Buttons.Create[ info: [ name: "Plane!", wx: selectedTextLabel.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: TRUE ], proc: SVEditUser.SelectedTextPlaneButton, clientData: editToolData ]; selectedTextSource _ Buttons.Create[ info: [ name: "Source!", wx: selectedTextLabel.wx + column2Half, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: TRUE ], proc: SVEditUser.SelectedTextSourceButton, clientData: editToolData ]; selectedTextTarget _ Buttons.Create[ info: [ name: "Target!", wx: selectedTextSource.wx + selectedTextSource.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: TRUE ], proc: SVEditUser.SelectedTextTargetButton, clientData: editToolData ]; selectedTextParent _ Buttons.Create[ info: [ name: "Parent!", wx: selectedTextTarget.wx + selectedTextTarget.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: TRUE ], proc: SVEditUser.SelectedTextParentButton, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; <<>> }; BuildDerivedTextSection: PUBLIC PROC [editToolData: EditToolData] = { newPrompt, parentPrompt: Buttons.Button; sourceLabel, targetLabel, planeLabel: Buttons.Button; < Parent: >> < Target: >> <>> <<>> newPrompt _ Buttons.Create[ info: [name: "New:", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.NewPrompt, clientData: editToolData ]; editToolData.sceneSection.new _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: newPrompt.wx + newPrompt.ww + entryHSpace, wy: editToolData.height, ww: nameSize, wh: entryHeight, data: "Charlie", scrollable: FALSE, border: FALSE]]; parentPrompt _ Buttons.Create[ info: [name: "Parent:", wx: newPrompt.wx + column2Quarter, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.ParentPrompt, clientData: editToolData ]; editToolData.sceneSection.parent _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: parentPrompt.wx + parentPrompt.ww + entryHSpace, wy: editToolData.height, ww: nameSize, wh: entryHeight, data: "sceneAssembly", scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; sourceLabel _ Labels.Create[ info: [name: "Source:", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE]]; editToolData.sceneSection.source _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: sourceLabel.wx + sourceLabel.ww + entryHSpace, wy: editToolData.height, ww: nameSize, wh: entryHeight, data: "", scrollable: FALSE, border: TRUE]]; ViewerTools.InhibitUserEdits[editToolData.sceneSection.source]; targetLabel _ Labels.Create[ info: [name: "Target:", wx: sourceLabel.wx + column2Quarter, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE]]; editToolData.sceneSection.target _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: targetLabel.wx + targetLabel.ww + entryHSpace, wy: editToolData.height, ww: nameSize, wh: entryHeight, data: "", scrollable: FALSE, border: TRUE]]; ViewerTools.InhibitUserEdits[editToolData.sceneSection.target]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; planeLabel _ Labels.Create[ info: [name: "Plane:", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE]]; editToolData.sceneSection.plane _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: planeLabel.wx + planeLabel.ww + entryHSpace, wy: editToolData.height, ww: nameSize, wh: entryHeight, data: "", scrollable: FALSE, border: TRUE]]; ViewerTools.InhibitUserEdits[editToolData.sceneSection.plane]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; END.