From 840f2f9cc972c3ff4c7c26ae58ea92267c1b5ffa Mon Sep 17 00:00:00 2001 From: John Lewin Date: Thu, 6 Jul 2017 14:41:32 -0700 Subject: [PATCH] Move sliders and overflow menu to parent control --- PartPreviewWindow/PrinterTabPage.cs | 295 ++++++++++++++++++++++- PartPreviewWindow/View3D/View3DWidget.cs | 20 +- PartPreviewWindow/ViewGcodeBasic.cs | 233 +----------------- 3 files changed, 286 insertions(+), 262 deletions(-) diff --git a/PartPreviewWindow/PrinterTabPage.cs b/PartPreviewWindow/PrinterTabPage.cs index 507f09970..892b5b6fc 100644 --- a/PartPreviewWindow/PrinterTabPage.cs +++ b/PartPreviewWindow/PrinterTabPage.cs @@ -37,6 +37,7 @@ using MatterHackers.MeshVisualizer; using MatterHackers.VectorMath; using System; using MatterHackers.MatterControl.PrinterControls; +using MatterHackers.MatterControl.PrinterCommunication; namespace MatterHackers.MatterControl.PartPreviewWindow { @@ -47,8 +48,18 @@ namespace MatterHackers.MatterControl.PartPreviewWindow private PrintItemWrapper printItem; private ViewControls3D viewControls3D; + private DoubleSolidSlider layerRenderRatioSlider; + private SolidSlider selectLayerSlider; + + private PrinterConfig printer; + private View3DConfig gcodeOptions; + private GuiWidget view3DContainer; + public PrinterTabPage(PrinterSettings activeSettings, PrintItemWrapper printItem) { + printer = ApplicationController.Instance.Printer; + gcodeOptions = printer.BedPlate.RendererOptions; + this.BackgroundColor = ApplicationController.Instance.Theme.TabBodyBackground; this.Padding = new BorderDouble(top: 3); @@ -70,7 +81,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow { if (gcodeViewer.Visible) { - return gcodeViewer.ShowOverflowMenu(); + return this.ShowGCodeOverflowMenu(); } else { @@ -78,6 +89,41 @@ namespace MatterHackers.MatterControl.PartPreviewWindow } }; + int sliderWidth = (UserSettings.Instance.IsTouchScreen) ? 20 : 10; + + selectLayerSlider = new SolidSlider(new Vector2(), sliderWidth, 0, 1, Orientation.Vertical); + selectLayerSlider.ValueChanged += (s, e) => + { + // TODO: Why would these need to be updated here as well as in the horizontal slider? + printer.BedPlate.RenderInfo.FeatureToStartOnRatio0To1 = layerRenderRatioSlider.FirstValue; + printer.BedPlate.RenderInfo.FeatureToEndOnRatio0To1 = layerRenderRatioSlider.SecondValue; + + printer.BedPlate.ActiveLayerIndex = (int)(selectLayerSlider.Value + .5); + + this.Invalidate(); + }; + + layerRenderRatioSlider = new DoubleSolidSlider(new Vector2(), sliderWidth); + layerRenderRatioSlider.FirstValue = 0; + layerRenderRatioSlider.FirstValueChanged += (s, e) => + { + printer.BedPlate.RenderInfo.FeatureToStartOnRatio0To1 = layerRenderRatioSlider.FirstValue; + printer.BedPlate.RenderInfo.FeatureToEndOnRatio0To1 = layerRenderRatioSlider.SecondValue; + + this.Invalidate(); + }; + layerRenderRatioSlider.SecondValue = 1; + layerRenderRatioSlider.SecondValueChanged += (s, e) => + { + printer.BedPlate.RenderInfo.FeatureToStartOnRatio0To1 = layerRenderRatioSlider.FirstValue; + printer.BedPlate.RenderInfo.FeatureToEndOnRatio0To1 = layerRenderRatioSlider.SecondValue; + + + this.Invalidate(); + }; + + SetSliderSizes(); + // The 3D model view modelViewer = new View3DWidget(printItem, new Vector3(activeSettings.GetValue(SettingsKey.bed_size), buildHeight), @@ -103,11 +149,11 @@ namespace MatterHackers.MatterControl.PartPreviewWindow leftToRight.AnchorAll(); topToBottom.AddChild(leftToRight); - var container = new GuiWidget(); - container.AnchorAll(); - container.AddChild(modelViewer); + view3DContainer = new GuiWidget(); + view3DContainer.AnchorAll(); + view3DContainer.AddChild(modelViewer); - leftToRight.AddChild(container); + leftToRight.AddChild(view3DContainer); // The slice layers view gcodeViewer = new ViewGcodeBasic( @@ -121,7 +167,11 @@ namespace MatterHackers.MatterControl.PartPreviewWindow gcodeViewer.AnchorAll(); this.gcodeViewer.Visible = false; - container.AddChild(gcodeViewer); + view3DContainer.AddChild(gcodeViewer); + view3DContainer.AddChild(layerRenderRatioSlider); + view3DContainer.AddChild(selectLayerSlider); + + printer.BedPlate.ActiveLayerChanged += ActiveLayer_Changed; AddSettingsTabBar(leftToRight, modelViewer); @@ -140,6 +190,10 @@ namespace MatterHackers.MatterControl.PartPreviewWindow modelViewer.meshViewerWidget.World.TranslationMatrix = ApplicationController.Instance.PartPreviewState.TranslationMatrix; } + printer.BedPlate.LoadedGCodeChanged += BedPlate_LoadedGCodeChanged; + + this.ShowSliceLayers = false; + this.printItem = printItem; this.AddChild(viewControls3D); @@ -147,6 +201,11 @@ namespace MatterHackers.MatterControl.PartPreviewWindow this.AnchorAll(); } + private void BedPlate_LoadedGCodeChanged(object sender, EventArgs e) + { + selectLayerSlider.Maximum = printer.BedPlate.LoadedGCode.LayerCount - 1; + } + private void AddSettingsTabBar(GuiWidget parent, GuiWidget widgetTodockTo) { var sideBar = new DockingTabControl(widgetTodockTo, DockSide.Right) @@ -177,14 +236,37 @@ namespace MatterHackers.MatterControl.PartPreviewWindow public void SwitchToLayerView() { - gcodeViewer.Visible = true; - modelViewer.ShowSliceLayers = true; + this.ShowSliceLayers = true; } public void ToggleView() { - gcodeViewer.Visible = !gcodeViewer.Visible; - modelViewer.ShowSliceLayers = gcodeViewer.Visible; + this.ShowSliceLayers = !gcodeViewer.Visible; + } + + private bool showSliceLayers; + public bool ShowSliceLayers + { + get => showSliceLayers; + set + { + showSliceLayers = value; + gcodeViewer.Visible = value; + + modelViewer.meshViewerWidget.IsActive = !value; + + if (showSliceLayers) + { + modelViewer.Scene.ClearSelection(); + } + + var slidersVisible = printer.BedPlate.RenderInfo != null && value; + + selectLayerSlider.Visible = slidersVisible; + layerRenderRatioSlider.Visible = slidersVisible; + + modelViewer.selectedObjectPanel.Visible = !showSliceLayers; + } } private async void LoadActivePrintItem() @@ -199,14 +281,205 @@ namespace MatterHackers.MatterControl.PartPreviewWindow base.OnLoad(args); } + public override void OnDraw(Graphics2D graphics2D) + { + bool printerIsRunningPrint = PrinterConnection.Instance.PrinterIsPaused || PrinterConnection.Instance.PrinterIsPrinting; + if (gcodeOptions.SyncToPrint + && printerIsRunningPrint + && gcodeViewer.Visible) + { + SetAnimationPosition(); + this.Invalidate(); + } + + base.OnDraw(graphics2D); + } + + public override void OnBoundsChanged(EventArgs e) + { + SetSliderSizes(); + base.OnBoundsChanged(e); + } + public override void OnClosed(ClosedEventArgs e) { + // Store active transforms on close var visibleWidget = modelViewer.meshViewerWidget; - ApplicationController.Instance.PartPreviewState.RotationMatrix = visibleWidget.World.RotationMatrix; ApplicationController.Instance.PartPreviewState.TranslationMatrix = visibleWidget.World.TranslationMatrix; + printer.BedPlate.ActiveLayerChanged -= ActiveLayer_Changed; + printer.BedPlate.LoadedGCodeChanged -= BedPlate_LoadedGCodeChanged; + base.OnClosed(e); } + + internal GuiWidget ShowGCodeOverflowMenu() + { + var textColor = RGBA_Bytes.Black; + + var popupContainer = new FlowLayoutWidget(FlowDirection.TopToBottom) + { + HAnchor = HAnchor.ParentLeftRight, + Padding = 12, + BackgroundColor = RGBA_Bytes.White + }; + + // put in a show grid check box + CheckBox showGrid = new CheckBox("Print Bed".Localize(), textColor: textColor); + showGrid.Checked = gcodeOptions.RenderGrid; + showGrid.CheckedStateChanged += (sender, e) => + { + // TODO: How (if at all) do we disable bed rendering on GCode2D? + gcodeOptions.RenderGrid = showGrid.Checked; + }; + popupContainer.AddChild(showGrid); + + // put in a show moves checkbox + var showMoves = new CheckBox("Moves".Localize(), textColor: textColor); + showMoves.Checked = gcodeOptions.RenderMoves; + showMoves.CheckedStateChanged += (sender, e) => + { + gcodeOptions.RenderMoves = showMoves.Checked; + }; + popupContainer.AddChild(showMoves); + + // put in a show Retractions checkbox + CheckBox showRetractions = new CheckBox("Retractions".Localize(), textColor: textColor); + showRetractions.Checked = gcodeOptions.RenderRetractions; + showRetractions.CheckedStateChanged += (sender, e) => + { + gcodeOptions.RenderRetractions = showRetractions.Checked; + }; + popupContainer.AddChild(showRetractions); + + // Speeds checkbox + var showSpeeds = new CheckBox("Speeds".Localize(), textColor: textColor); + showSpeeds.Checked = gcodeOptions.RenderSpeeds; + showSpeeds.CheckedStateChanged += (sender, e) => + { + //gradientWidget.Visible = showSpeeds.Checked; + gcodeOptions.RenderSpeeds = showSpeeds.Checked; + }; + + popupContainer.AddChild(showSpeeds); + + // Extrusion checkbox + var simulateExtrusion = new CheckBox("Extrusion".Localize(), textColor: textColor); + simulateExtrusion.Checked = gcodeOptions.SimulateExtrusion; + simulateExtrusion.CheckedStateChanged += (sender, e) => + { + gcodeOptions.SimulateExtrusion = simulateExtrusion.Checked; + }; + popupContainer.AddChild(simulateExtrusion); + + // Transparent checkbox + var transparentExtrusion = new CheckBox("Transparent".Localize(), textColor: textColor) + { + Checked = gcodeOptions.TransparentExtrusion, + Margin = new BorderDouble(5, 0, 0, 0), + HAnchor = HAnchor.ParentLeft, + }; + transparentExtrusion.CheckedStateChanged += (sender, e) => + { + gcodeOptions.TransparentExtrusion = transparentExtrusion.Checked; + }; + popupContainer.AddChild(transparentExtrusion); + + // Extrusion checkbox + if (ActiveSliceSettings.Instance.GetValue(SettingsKey.extruder_count) > 1) + { + CheckBox hideExtruderOffsets = new CheckBox("Hide Offsets", textColor: textColor); + hideExtruderOffsets.Checked = gcodeOptions.HideExtruderOffsets; + hideExtruderOffsets.CheckedStateChanged += (sender, e) => + { + gcodeOptions.HideExtruderOffsets = hideExtruderOffsets.Checked; + }; + popupContainer.AddChild(hideExtruderOffsets); + } + + // Sync To Print checkbox + { + var syncToPrint = new CheckBox("Sync To Print".Localize(), textColor: textColor); + syncToPrint.Checked = (UserSettings.Instance.get("LayerViewSyncToPrint") == "True"); + syncToPrint.Name = "Sync To Print Checkbox"; + syncToPrint.CheckedStateChanged += (s, e) => + { + gcodeOptions.SyncToPrint = syncToPrint.Checked; + SetSyncToPrintVisibility(); + }; + popupContainer.AddChild(syncToPrint); + } + + return popupContainer; + } + + private void SetSyncToPrintVisibility() + { + bool printerIsRunningPrint = PrinterConnection.Instance.PrinterIsPaused || PrinterConnection.Instance.PrinterIsPrinting; + + if (gcodeOptions.SyncToPrint && printerIsRunningPrint) + { + SetAnimationPosition(); + //navigationWidget.Visible = false; + //setLayerWidget.Visible = false; + layerRenderRatioSlider.Visible = false; + selectLayerSlider.Visible = false; + } + else + { + if (layerRenderRatioSlider != null) + { + layerRenderRatioSlider.FirstValue = 0; + layerRenderRatioSlider.SecondValue = 1; + } + + //navigationWidget.Visible = true; + //setLayerWidget.Visible = true; + + layerRenderRatioSlider.Visible = true; + selectLayerSlider.Visible = true; + } + } + + private void SetSliderSizes() + { + if (selectLayerSlider == null || view3DContainer == null) + { + return; + } + + selectLayerSlider.OriginRelativeParent = new Vector2(view3DContainer.Width - 20, 78); + selectLayerSlider.TotalWidthInPixels = view3DContainer.Height - 38; + + layerRenderRatioSlider.OriginRelativeParent = new Vector2(11, 65); + layerRenderRatioSlider.TotalWidthInPixels = view3DContainer.Width - 45; + } + private void SetAnimationPosition() + { + int currentLayer = PrinterConnection.Instance.CurrentlyPrintingLayer; + if (currentLayer <= 0) + { + selectLayerSlider.Value = 0; + layerRenderRatioSlider.SecondValue = 0; + layerRenderRatioSlider.FirstValue = 0; + } + else + { + selectLayerSlider.Value = currentLayer - 1; + layerRenderRatioSlider.SecondValue = PrinterConnection.Instance.RatioIntoCurrentLayer; + layerRenderRatioSlider.FirstValue = 0; + } + } + + private void ActiveLayer_Changed(object sender, EventArgs e) + { + if (selectLayerSlider != null + && printer.BedPlate.ActiveLayerIndex != (int)(selectLayerSlider.Value + .5)) + { + selectLayerSlider.Value = printer.BedPlate.ActiveLayerIndex; + } + } + } } diff --git a/PartPreviewWindow/View3D/View3DWidget.cs b/PartPreviewWindow/View3D/View3DWidget.cs index 9320956ca..99d8d5a2f 100644 --- a/PartPreviewWindow/View3D/View3DWidget.cs +++ b/PartPreviewWindow/View3D/View3DWidget.cs @@ -2012,7 +2012,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow public static Regex fileNameNumberMatch = new Regex("\\(\\d+\\)", RegexOptions.Compiled); - private GuiWidget selectedObjectPanel; + internal GuiWidget selectedObjectPanel; private FlowLayoutWidget editorPanel; private async Task SaveChanges(SaveAsWindow.SaveAsReturnInfo returnInfo = null) @@ -2282,24 +2282,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow Invalidate(); } - private bool showSliceLayers; - public bool ShowSliceLayers - { - get => showSliceLayers; - set - { - showSliceLayers = value; - meshViewerWidget.IsActive = !value; - - if (showSliceLayers) - { - Scene.ClearSelection(); - } - - selectedObjectPanel.Visible = !showSliceLayers; - } - } - // Before printing persist any changes to disk internal async Task PersistPlateIfNeeded() { diff --git a/PartPreviewWindow/ViewGcodeBasic.cs b/PartPreviewWindow/ViewGcodeBasic.cs index e52b39a6c..fda64b8b7 100644 --- a/PartPreviewWindow/ViewGcodeBasic.cs +++ b/PartPreviewWindow/ViewGcodeBasic.cs @@ -49,11 +49,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow public enum WindowMode { Embeded, StandAlone }; - public SolidSlider selectLayerSlider; - private SetLayerWidget setLayerWidget; private LayerNavigationWidget navigationWidget; - public DoubleSolidSlider layerRenderRatioSlider; private TextWidget gcodeProcessingStateInfoText; private GCode2DWidget gcode2DWidget; @@ -131,7 +128,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow }, ref unregisterEvents); bedPlate = ApplicationController.Instance.Printer.BedPlate; - bedPlate.ActiveLayerChanged += ActiveLayer_Changed; // TODO: Why do we clear GCode on AdvancedControlsPanelReloading - assume some slice settings should invalidate. If so, code should be more specific and bound to slice settings changed ApplicationController.Instance.AdvancedControlsPanelReloading.RegisterEvent((s, e) => printer.BedPlate.GCodeRenderer?.Clear3DGCode(), ref unregisterEvents); @@ -184,15 +180,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow } } - private void ActiveLayer_Changed(object sender, EventArgs e) - { - if (selectLayerSlider != null - && bedPlate.ActiveLayerIndex != (int)(selectLayerSlider.Value + .5)) - { - selectLayerSlider.Value = bedPlate.ActiveLayerIndex; - } - } - private GCodeFile loadedGCode => printer.BedPlate.LoadedGCode; internal void CreateAndAddChildren() @@ -341,42 +328,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow navigationWidget.Margin = new BorderDouble(0, 0, 20, 0); layerSelectionButtonsPanel.AddChild(navigationWidget); - selectLayerSlider = new SolidSlider(new Vector2(), sliderWidth, 0, loadedGCode.LayerCount - 1, Orientation.Vertical); - selectLayerSlider.ValueChanged += (s, e) => - { - // TODO: Why would these need to be updated here as well as in assigned in the hslider below? - printer.BedPlate.RenderInfo.FeatureToStartOnRatio0To1 = layerRenderRatioSlider.FirstValue; - printer.BedPlate.RenderInfo.FeatureToEndOnRatio0To1 = layerRenderRatioSlider.SecondValue; - - printer.BedPlate.ActiveLayerIndex = (int)(selectLayerSlider.Value + .5); - - this.Invalidate(); - }; - - AddChild(selectLayerSlider); - - layerRenderRatioSlider = new DoubleSolidSlider(new Vector2(), sliderWidth); - layerRenderRatioSlider.FirstValue = 0; - layerRenderRatioSlider.FirstValueChanged += (s, e) => - { - printer.BedPlate.RenderInfo.FeatureToStartOnRatio0To1 = layerRenderRatioSlider.FirstValue; - printer.BedPlate.RenderInfo.FeatureToEndOnRatio0To1 = layerRenderRatioSlider.SecondValue; - - this.Invalidate(); - }; - layerRenderRatioSlider.SecondValue = 1; - layerRenderRatioSlider.SecondValueChanged += (s, e) => - { - printer.BedPlate.RenderInfo.FeatureToStartOnRatio0To1 = layerRenderRatioSlider.FirstValue; - printer.BedPlate.RenderInfo.FeatureToEndOnRatio0To1 = layerRenderRatioSlider.SecondValue; - - - this.Invalidate(); - }; - AddChild(layerRenderRatioSlider); - - SetSliderSizes(); - GCodeRenderer.ExtrusionColor = ActiveTheme.Instance.PrimaryAccentColor; this.gcodeDetails = new GCodeDetails(this.loadedGCode); @@ -391,7 +342,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow Width = 150 }); - UiThread.RunOnIdle(SetSyncToPrintVisibility); + //UiThread.RunOnIdle(SetSyncToPrintVisibility); // Switch to the most recent view mode, defaulting to Layers3D SwitchViewModes(); @@ -442,156 +393,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow printer.BedPlate.Render3DLayerFeatures(); } - private void SetAnimationPosition() - { - int currentLayer = PrinterConnection.Instance.CurrentlyPrintingLayer; - if (currentLayer <= 0) - { - selectLayerSlider.Value = 0; - layerRenderRatioSlider.SecondValue = 0; - layerRenderRatioSlider.FirstValue = 0; - } - else - { - selectLayerSlider.Value = currentLayer - 1; - layerRenderRatioSlider.SecondValue = PrinterConnection.Instance.RatioIntoCurrentLayer; - layerRenderRatioSlider.FirstValue = 0; - } - } - private GCodeDetails gcodeDetails; - internal GuiWidget ShowOverflowMenu() - { - var textColor = RGBA_Bytes.Black; - - var popupContainer = new FlowLayoutWidget(FlowDirection.TopToBottom) - { - HAnchor = HAnchor.ParentLeftRight, - Padding = 12, - BackgroundColor = RGBA_Bytes.White - }; - - // put in a show grid check box - CheckBox showGrid = new CheckBox("Print Bed".Localize(), textColor: textColor); - showGrid.Checked = options.RenderGrid; - showGrid.CheckedStateChanged += (sender, e) => - { - // TODO: How (if at all) do we disable bed rendering on GCode2D? - options.RenderGrid = showGrid.Checked; - }; - popupContainer.AddChild(showGrid); - - // put in a show moves checkbox - var showMoves = new CheckBox("Moves".Localize(), textColor: textColor); - showMoves.Checked = options.RenderMoves; - showMoves.CheckedStateChanged += (sender, e) => - { - options.RenderMoves = showMoves.Checked; - }; - popupContainer.AddChild(showMoves); - - // put in a show Retractions checkbox - CheckBox showRetractions = new CheckBox("Retractions".Localize(), textColor: textColor); - showRetractions.Checked = options.RenderRetractions; - showRetractions.CheckedStateChanged += (sender, e) => - { - options.RenderRetractions = showRetractions.Checked; - }; - popupContainer.AddChild(showRetractions); - - - // Speeds checkbox - var showSpeeds = new CheckBox("Speeds".Localize(), textColor: textColor); - showSpeeds.Checked = options.RenderSpeeds; - showSpeeds.CheckedStateChanged += (sender, e) => - { - gradientWidget.Visible = showSpeeds.Checked; - options.RenderSpeeds = showSpeeds.Checked; - }; - - popupContainer.AddChild(showSpeeds); - - // Extrusion checkbox - var simulateExtrusion = new CheckBox("Extrusion".Localize(), textColor: textColor); - simulateExtrusion.Checked = options.SimulateExtrusion; - simulateExtrusion.CheckedStateChanged += (sender, e) => - { - options.SimulateExtrusion = simulateExtrusion.Checked; - }; - popupContainer.AddChild(simulateExtrusion); - - // Transparent checkbox - var transparentExtrusion = new CheckBox("Transparent".Localize(), textColor: textColor) - { - Checked = options.TransparentExtrusion, - Margin = new BorderDouble(5, 0, 0, 0), - HAnchor = HAnchor.ParentLeft, - }; - transparentExtrusion.CheckedStateChanged += (sender, e) => - { - options.TransparentExtrusion = transparentExtrusion.Checked; - }; - popupContainer.AddChild(transparentExtrusion); - - // Extrusion checkbox - if (ActiveSliceSettings.Instance.GetValue(SettingsKey.extruder_count) > 1) - { - CheckBox hideExtruderOffsets = new CheckBox("Hide Offsets", textColor: textColor); - hideExtruderOffsets.Checked = options.HideExtruderOffsets; - hideExtruderOffsets.CheckedStateChanged += (sender, e) => - { - options.HideExtruderOffsets = hideExtruderOffsets.Checked; - }; - popupContainer.AddChild(hideExtruderOffsets); - } - - // Sync To Print checkbox - if (windowMode == WindowMode.Embeded) - { - var syncToPrint = new CheckBox("Sync To Print".Localize(), textColor: textColor); - syncToPrint.Checked = (UserSettings.Instance.get("LayerViewSyncToPrint") == "True"); - syncToPrint.Name = "Sync To Print Checkbox"; - syncToPrint.CheckedStateChanged += (s, e) => - { - options.SyncToPrint = syncToPrint.Checked; - SetSyncToPrintVisibility(); - }; - popupContainer.AddChild(syncToPrint); - } - - return popupContainer; - } - - private void SetSyncToPrintVisibility() - { - if (windowMode == WindowMode.Embeded) - { - bool printerIsRunningPrint = PrinterConnection.Instance.PrinterIsPaused || PrinterConnection.Instance.PrinterIsPrinting; - - if (options.SyncToPrint && printerIsRunningPrint) - { - SetAnimationPosition(); - //navigationWidget.Visible = false; - //setLayerWidget.Visible = false; - layerRenderRatioSlider.Visible = false; - selectLayerSlider.Visible = false; - } - else - { - if (layerRenderRatioSlider != null) - { - layerRenderRatioSlider.FirstValue = 0; - layerRenderRatioSlider.SecondValue = 1; - } - navigationWidget.Visible = true; - setLayerWidget.Visible = true; - layerRenderRatioSlider.Visible = true; - selectLayerSlider.Visible = true; - } - } - } - private void SwitchViewModes() { bool inLayers3DMode = activeViewMode == PartViewMode.Layers3D; @@ -622,18 +425,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow } } - public override void OnDraw(Graphics2D graphics2D) - { - bool printerIsRunningPrint = PrinterConnection.Instance.PrinterIsPaused || PrinterConnection.Instance.PrinterIsPrinting; - if (options.SyncToPrint - && printerIsRunningPrint) - { - SetAnimationPosition(); - } - - base.OnDraw(graphics2D); - } - private void SetProcessingMessage(string message) { if (gcodeProcessingStateInfoText == null) @@ -665,32 +456,10 @@ namespace MatterHackers.MatterControl.PartPreviewWindow gcodeProcessingStateInfoText.Text = message; } - public override void OnBoundsChanged(EventArgs e) - { - SetSliderSizes(); - base.OnBoundsChanged(e); - } - - private void SetSliderSizes() - { - if (selectLayerSlider == null) - { - return; - } - - selectLayerSlider.OriginRelativeParent = new Vector2(gcodeDisplayWidget.Width - 20, 78); - selectLayerSlider.TotalWidthInPixels = gcodeDisplayWidget.Height - 38; - - layerRenderRatioSlider.OriginRelativeParent = new Vector2(11, 65); - layerRenderRatioSlider.TotalWidthInPixels = gcodeDisplayWidget.Width - 45; - } - public override void OnClosed(ClosedEventArgs e) { unregisterEvents?.Invoke(this, null); - bedPlate.ActiveLayerChanged -= ActiveLayer_Changed; - // Find and unhook the parent system window KeyDown event if (parentSystemWindow != null) {