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] = { scenePrompt, newViewer, newOutput: Buttons.Button; helpButton, restartButton, closeAll: Buttons.Button; editToolData.height _ editToolData.height + entryVSpace; -- space down from the top of the viewer 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; 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; 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; 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. คFile: SVEditToolMenusImplC.mesa Last edited by Bier on August 18, 1985 0:19:55 am PDT Copyright c 1984 by Xerox Corporation. All rights reserved. Created August 9, 1984 10:47:05 pm PDT 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: Scene: NEW VIEWER NEW OUTPUT Help! ColorMap! BWMap! ReStart! DestroyAll! Scene: New Viewer New Output Restart! DestroyAll! SkitterAssembly: Text1: Selected Text Plane! Source! Target! Parent! New: Parent: TopSource: TopTarget: SkitterAssembly: Source! Target! Parent! skitterSource _ Buttons.Create[ info: [ name: "Source!", wx: currentAssemblyPrompt.wx + column2Half, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE ], proc: SVEditUser.SkitterSourceButton, clientData: editToolData ]; skitterTarget _ Buttons.Create[ info: [ name: "Target!", wx: skitterSource.wx + skitterSource.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE ], proc: SVEditUser.SkitterTargetButton, clientData: editToolData ]; skitterParent _ Buttons.Create[ info: [ name: "Parent!", wx: skitterTarget.wx + skitterTarget.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE ], proc: SVEditUser.SkitterParentButton, clientData: editToolData ]; Text1: Source! Target! Parent! text1Source _ Buttons.Create[ info: [ name: "Source!", wx: text1Prompt.wx + column2Half, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE ], proc: SVEditUser.Text1SourceButton, clientData: editToolData ]; text1Target _ Buttons.Create[ info: [ name: "Target!", wx: text1Source.wx + text1Source.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE ], proc: SVEditUser.Text1TargetButton, clientData: editToolData ]; text1Parent _ Buttons.Create[ info: [ name: "Parent!", wx: text1Target.wx + text1Target.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE ], proc: SVEditUser.Text1ParentButton, clientData: editToolData ]; Selected Text Plane! Source! Target! Parent! New: Parent: Source: Target: Plane: ส ุ˜Iheadšœ™Iprocšœ5™5Jšœ ฯmœ1™L˜LšœF˜FL˜L˜L˜—L˜L˜Lšžœ˜L˜J˜—…— ฎ5*