diff --git a/ApplicationView/PrinterModels.cs b/ApplicationView/PrinterModels.cs index 46e619f65..4500473e6 100644 --- a/ApplicationView/PrinterModels.cs +++ b/ApplicationView/PrinterModels.cs @@ -660,6 +660,42 @@ namespace MatterHackers.MatterControl } } } + + public double SceneTreeHeight + { + get + { + if (double.TryParse(UserSettings.Instance.get(UserSettingsKey.SceneTreeHeight), out double controlHeight)) + { + return Math.Max(controlHeight, 35); + } + + return 35; + } + set + { + var minimumValue = Math.Max(value, 35); + UserSettings.Instance.set(UserSettingsKey.SceneTreeHeight, minimumValue.ToString()); + } + } + + public double SelectedObjectEditorHeight + { + get + { + if (double.TryParse(UserSettings.Instance.get(UserSettingsKey.SelectedObjectEditorHeight), out double controlHeight)) + { + return Math.Max(controlHeight, 35); + } + + return 120; + } + set + { + var minimumValue = Math.Max(value, 35); + UserSettings.Instance.set(UserSettingsKey.SelectedObjectEditorHeight, minimumValue.ToString()); + } + } } public class PrinterViewState @@ -768,42 +804,6 @@ namespace MatterHackers.MatterControl UserSettings.Instance.set(UserSettingsKey.SelectedObjectPanelWidth, minimumValue.ToString()); } } - - public double SceneTreeHeight - { - get - { - if (double.TryParse(UserSettings.Instance.get(UserSettingsKey.SceneTreeHeight), out double controlHeight)) - { - return Math.Max(controlHeight, 35); - } - - return 35; - } - set - { - var minimumValue = Math.Max(value, 35); - UserSettings.Instance.set(UserSettingsKey.SceneTreeHeight, minimumValue.ToString()); - } - } - - public double SelectedObjectEditorHeight - { - get - { - if (double.TryParse(UserSettings.Instance.get(UserSettingsKey.SelectedObjectEditorHeight), out double controlHeight)) - { - return Math.Max(controlHeight, 35); - } - - return 120; - } - set - { - var minimumValue = Math.Max(value, 35); - UserSettings.Instance.set(UserSettingsKey.SelectedObjectEditorHeight, minimumValue.ToString()); - } - } } public class PrinterConfig diff --git a/DesignTools/Operations/Object3DExtensions.cs b/DesignTools/Operations/Object3DExtensions.cs index 2c5baaf33..47dcb0c5e 100644 --- a/DesignTools/Operations/Object3DExtensions.cs +++ b/DesignTools/Operations/Object3DExtensions.cs @@ -250,7 +250,7 @@ namespace MatterHackers.MatterControl.DesignTools.Operations return currentTransform; } - + public static Vector3 GetCenter(this IObject3D item) { return item.GetAxisAlignedBoundingBox(Matrix4X4.Identity).Center; diff --git a/PartPreviewWindow/SelectedObjectPanel.cs b/PartPreviewWindow/SelectedObjectPanel.cs index 3b420e9d2..27a3b21d1 100644 --- a/PartPreviewWindow/SelectedObjectPanel.cs +++ b/PartPreviewWindow/SelectedObjectPanel.cs @@ -48,9 +48,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow private IObject3D item = new Object3D(); private ThemeConfig theme; + private BedConfig sceneContext; private View3DWidget view3DWidget; - private InteractiveScene scene; - private PrinterConfig printer; private SectionWidget editorSection; private TextButton editButton; @@ -58,7 +57,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow private InlineTitleEdit inlineTitleEdit; private BottomResizeContainer editorColumn; - public SelectedObjectPanel(View3DWidget view3DWidget, InteractiveScene scene, ThemeConfig theme, PrinterConfig printer) + public SelectedObjectPanel(View3DWidget view3DWidget, BedConfig sceneContext, ThemeConfig theme) : base(FlowDirection.TopToBottom) { this.HAnchor = HAnchor.Stretch; @@ -66,8 +65,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow this.Padding = 0; this.view3DWidget = view3DWidget; this.theme = theme; - this.scene = scene; - this.printer = printer; + this.sceneContext = sceneContext; this.ContentPanel = new FlowLayoutWidget(FlowDirection.TopToBottom) { @@ -91,7 +89,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow { HAnchor = HAnchor.Stretch, VAnchor = VAnchor.Absolute, - Height = printer.ViewState.SelectedObjectEditorHeight + Height = sceneContext.ViewState.SelectedObjectEditorHeight }; var toolbar = new Toolbar(theme) @@ -102,6 +100,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow }; editorColumn.AddChild(toolbar); + var scene = sceneContext.Scene; + editButton = new TextButton("Edit".Localize(), theme) { BackgroundColor = theme.MinimalShade, @@ -252,11 +252,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow public void SetActiveItem(IObject3D selectedItem) { - if (!scene.HasSelection) - { - this.Parent.Visible = false; - return; - } var selectedItemType = selectedItem.GetType(); @@ -266,8 +261,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow this.item = selectedItem; - var viewMode = printer?.ViewState.ViewMode; - HashSet mappedEditors = ApplicationController.Instance.GetEditorsForType(selectedItemType); var activeEditors = new List<(IObject3DEditor, IObject3D, string)>(); @@ -358,7 +351,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow button.EnsureAvailablity(); button.Click += (s, e) => { - nodeOperation.Operation(selectedItem, scene).ConfigureAwait(false); + nodeOperation.Operation(selectedItem, sceneContext.Scene).ConfigureAwait(false); }; buttons.Add(button); @@ -410,7 +403,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow public override void OnClosed(ClosedEventArgs e) { - printer.ViewState.SelectedObjectEditorHeight = editorColumn.Height; + sceneContext.ViewState.SelectedObjectEditorHeight = editorColumn.Height; base.OnClosed(e); } } diff --git a/PartPreviewWindow/View3D/View3DWidget.cs b/PartPreviewWindow/View3D/View3DWidget.cs index 2bb6af5a3..3c73cef96 100644 --- a/PartPreviewWindow/View3D/View3DWidget.cs +++ b/PartPreviewWindow/View3D/View3DWidget.cs @@ -149,7 +149,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow TrackballTumbleWidget.TransformState = TrackBallTransformType.Rotation; - selectedObjectPanel = new SelectedObjectPanel(this, Scene, theme, printer) + selectedObjectPanel = new SelectedObjectPanel(this, sceneContext, theme) { VAnchor = VAnchor.Stretch, }; @@ -187,7 +187,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow { HAnchor = HAnchor.Stretch, VAnchor = VAnchor.Absolute, - Height = Printer.ViewState.SceneTreeHeight + Height = sceneContext.ViewState.SceneTreeHeight }; modelViewSidePanel.AddChild(treeSection); @@ -365,10 +365,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow public override void OnClosed(ClosedEventArgs e) { - if (Printer != null) - { - Printer.ViewState.SceneTreeHeight = treeSection.Height; - } + sceneContext.ViewState.SceneTreeHeight = treeSection.Height; viewControls3D.TransformStateChanged -= ViewControls3D_TransformStateChanged; Scene.SelectionChanged -= Scene_SelectionChanged;