From 895eea253c08dd70cad3b4feca4e214a0f42d8bb Mon Sep 17 00:00:00 2001 From: Lars Brubaker Date: Wed, 27 Apr 2016 18:57:51 -0700 Subject: [PATCH] Converted lots of get properties to methods in SettingsProfile --- ActionBar/PrintActionRow.cs | 2 +- ActionBar/TemperatureWidgetBed.cs | 2 +- ActionBar/TemperatureWidgetExtruder.cs | 2 +- BrailleBuilder/BrailleBuilderMainWindow.cs | 8 +- .../ApplicationSettingsView.cs | 2 +- .../CalibrationSettingsView.cs | 2 +- .../PrintLeveling/LevelWizard13PointRadial.cs | 4 +- .../PrintLeveling/LevelWizard3Point.cs | 2 +- .../PrintLeveling/LevelWizard7PointRadial.cs | 10 +- .../PrintLeveling/LevelWizardBase.cs | 8 +- .../PrintLeveling/PrintLevelPages.cs | 6 +- .../PrintLeveling/PrintLevelingData.cs | 2 +- History/PrintHistoryData.cs | 2 +- .../BaseClasses/PartPreview3DWidget.cs | 12 +- PartPreviewWindow/PartPreviewContent.cs | 14 +- PartPreviewWindow/View3D/View3DAutoArange.cs | 2 +- PartPreviewWindow/View3D/View3DWidget.cs | 10 +- PartPreviewWindow/ViewGcodeBasic.cs | 18 +- PartPreviewWindow/ViewGcodeWidget.cs | 4 +- .../Io/PauseHandlingStream.cs | 6 +- .../Io/ResumePrintingStream.cs | 12 +- .../PrinterConnectionAndCommunication.cs | 12 +- .../ControlWidgets/PowerControls.cs | 2 +- .../ControlWidgets/TemperatureControls.cs | 2 +- PrinterControls/EditLevelingSettingsWindow.cs | 2 +- PrinterControls/ManualPrinterControls.cs | 2 +- PrinterControls/TemperatureIndicator.cs | 4 +- PrinterControls/XYZJogControls.cs | 2 +- Queue/QueueDataWidget.cs | 2 +- .../Settings/SettingsProfile.cs | 368 +++++++----------- SlicerConfiguration/SettingsControlBar.cs | 2 +- .../SettingsControlSelectors.cs | 6 +- .../SlicePresetDetailWidget.cs | 12 +- SlicerConfiguration/SliceSettingsWidget.cs | 26 +- .../SlicerMapping/EngineMappingCura.cs | 8 +- .../SlicerMapping/EngineMappingMatterSlice.cs | 8 +- .../SlicerMapping/MappingClasses.cs | 34 +- SlicerConfiguration/SlicingQueue.cs | 14 +- StaticData/Translations/Master.txt | 21 + TextCreator/TextCreatorMainWindow.cs | 8 +- 40 files changed, 306 insertions(+), 359 deletions(-) diff --git a/ActionBar/PrintActionRow.cs b/ActionBar/PrintActionRow.cs index cdf79f162..217e21e52 100644 --- a/ActionBar/PrintActionRow.cs +++ b/ActionBar/PrintActionRow.cs @@ -286,7 +286,7 @@ namespace MatterHackers.MatterControl.ActionBar case PrinterConnectionAndCommunication.CommunicationStates.Connected: PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData; - if (levelingData != null && ActiveSliceSettings.Instance.LevelingRequiredToPrint + if (levelingData != null && ActiveSliceSettings.Instance.LevelingRequiredToPrint() && !levelingData.HasBeenRun()) { this.activePrintButtons.Add(configureButton); diff --git a/ActionBar/TemperatureWidgetBed.cs b/ActionBar/TemperatureWidgetBed.cs index 2557a4985..3f38fb3c4 100644 --- a/ActionBar/TemperatureWidgetBed.cs +++ b/ActionBar/TemperatureWidgetBed.cs @@ -86,7 +86,7 @@ namespace MatterHackers.MatterControl.ActionBar protected override void SetTargetTemperature() { - double targetTemp = ActiveSliceSettings.Instance.BedTemperature; + double targetTemp = ActiveSliceSettings.Instance.BedTemperature(); if (targetTemp != 0) { double goalTemp = (int)(targetTemp + .5); diff --git a/ActionBar/TemperatureWidgetExtruder.cs b/ActionBar/TemperatureWidgetExtruder.cs index c18e7b4f6..586a25a10 100644 --- a/ActionBar/TemperatureWidgetExtruder.cs +++ b/ActionBar/TemperatureWidgetExtruder.cs @@ -90,7 +90,7 @@ namespace MatterHackers.MatterControl.ActionBar protected override void SetTargetTemperature() { double targetTemp; - if (double.TryParse(ActiveSliceSettings.Instance.GetActiveValue("temperature"), out targetTemp)) + if (double.TryParse(ActiveSliceSettings.Instance.ActiveValue("temperature"), out targetTemp)) { double goalTemp = (int)(targetTemp + .5); if (PrinterConnectionAndCommunication.Instance.PrinterIsPrinting diff --git a/BrailleBuilder/BrailleBuilderMainWindow.cs b/BrailleBuilder/BrailleBuilderMainWindow.cs index cd2e61061..b03ccfa59 100644 --- a/BrailleBuilder/BrailleBuilderMainWindow.cs +++ b/BrailleBuilder/BrailleBuilderMainWindow.cs @@ -44,12 +44,12 @@ namespace MatterHackers.MatterControl.Plugins.BrailleBuilder BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor; - double buildHeight = ActiveSliceSettings.Instance.BuildHeight; + double buildHeight = ActiveSliceSettings.Instance.BuildHeight(); part3DView = new View3DBrailleBuilder( - new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight), - ActiveSliceSettings.Instance.BedCenter, - ActiveSliceSettings.Instance.BedShape); + new Vector3(ActiveSliceSettings.Instance.BedSize(), buildHeight), + ActiveSliceSettings.Instance.BedCenter(), + ActiveSliceSettings.Instance.BedShape()); #if __ANDROID__ this.AddChild(new SoftKeyboardContentOffset(part3DView)); diff --git a/ConfigurationPage/ApplicationSettings/ApplicationSettingsView.cs b/ConfigurationPage/ApplicationSettings/ApplicationSettingsView.cs index 964f51568..ab5697e78 100644 --- a/ConfigurationPage/ApplicationSettings/ApplicationSettingsView.cs +++ b/ConfigurationPage/ApplicationSettings/ApplicationSettingsView.cs @@ -402,7 +402,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage var settings = ActiveSliceSettings.Instance; // Reset active slicer to MatterSlice when multi-extruder is detected and MatterSlice is not already set - if (settings?.ExtruderCount > 1 && settings.ActiveSliceEngineType != SlicingEngineTypes.MatterSlice) + if (settings?.ExtruderCount() > 1 && settings.ActiveSliceEngineType != SlicingEngineTypes.MatterSlice) { settings.ActiveSliceEngineType = SlicingEngineTypes.MatterSlice; ApplicationController.Instance.ReloadAll(null, null); diff --git a/ConfigurationPage/CalibrationSettings/CalibrationSettingsView.cs b/ConfigurationPage/CalibrationSettings/CalibrationSettingsView.cs index 5b167364d..1f7db9bfc 100644 --- a/ConfigurationPage/CalibrationSettings/CalibrationSettingsView.cs +++ b/ConfigurationPage/CalibrationSettings/CalibrationSettingsView.cs @@ -118,7 +118,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage buttonRow.AddChild(runPrintLevelingButton); // only show the switch if leveling can be turned off (it can't if it is required). - if (!ActiveSliceSettings.Instance.LevelingRequiredToPrint) + if (!ActiveSliceSettings.Instance.LevelingRequiredToPrint()) { buttonRow.AddChild(printLevelingSwitch); } diff --git a/ConfigurationPage/PrintLeveling/LevelWizard13PointRadial.cs b/ConfigurationPage/PrintLeveling/LevelWizard13PointRadial.cs index d1b3a7a1a..474575a58 100644 --- a/ConfigurationPage/PrintLeveling/LevelWizard13PointRadial.cs +++ b/ConfigurationPage/PrintLeveling/LevelWizard13PointRadial.cs @@ -58,7 +58,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling && lineBeingSent.Length > 2 && lineBeingSent[2] == ' ') { - return GetLevelingFunctions(numberOfRadialSamples, settings.PrintLevelingData, ActiveSliceSettings.Instance.BedCenter) + return GetLevelingFunctions(numberOfRadialSamples, settings.PrintLevelingData, ActiveSliceSettings.Instance.BedCenter()) .DoApplyLeveling(lineBeingSent, currentDestination, movementMode); } @@ -68,7 +68,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling public override Vector2 GetPrintLevelPositionToSample(int index, double radius) { PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData; - return GetLevelingFunctions(numberOfRadialSamples, levelingData, ActiveSliceSettings.Instance.BedCenter) + return GetLevelingFunctions(numberOfRadialSamples, levelingData, ActiveSliceSettings.Instance.BedCenter()) .GetPrintLevelPositionToSample(index, radius); } diff --git a/ConfigurationPage/PrintLeveling/LevelWizard3Point.cs b/ConfigurationPage/PrintLeveling/LevelWizard3Point.cs index 494f3e0de..c453a83d5 100644 --- a/ConfigurationPage/PrintLeveling/LevelWizard3Point.cs +++ b/ConfigurationPage/PrintLeveling/LevelWizard3Point.cs @@ -51,7 +51,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling public LevelWizard3Point(LevelWizardBase.RuningState runningState) : base(500, 370, 9) { - bool allowLessThanZero = ActiveSliceSettings.Instance.GetActiveValue("z_can_be_negative") == "1"; + bool allowLessThanZero = ActiveSliceSettings.Instance.ActiveValue("z_can_be_negative") == "1"; string printLevelWizardTitle = LocalizedString.Get("MatterControl"); string printLevelWizardTitleFull = LocalizedString.Get("Print Leveling Wizard"); Title = string.Format("{0} - {1}", printLevelWizardTitle, printLevelWizardTitleFull); diff --git a/ConfigurationPage/PrintLeveling/LevelWizard7PointRadial.cs b/ConfigurationPage/PrintLeveling/LevelWizard7PointRadial.cs index a87051bf7..4e1cf1f45 100644 --- a/ConfigurationPage/PrintLeveling/LevelWizard7PointRadial.cs +++ b/ConfigurationPage/PrintLeveling/LevelWizard7PointRadial.cs @@ -77,7 +77,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling public Vector2 GetPrintLevelPositionToSample(int index, double radius) { - Vector2 bedCenter = ActiveSliceSettings.Instance.BedCenter; + Vector2 bedCenter = ActiveSliceSettings.Instance.BedCenter(); if (index < NumberOfRadialSamples) { Vector2 position = new Vector2(radius, 0); @@ -182,7 +182,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling { pageOneInstructionsTextThree = pageOneInstructionsTextThree.FormatWith(numberOfRadialSamples+1); - bool allowLessThanZero = ActiveSliceSettings.Instance.GetActiveValue("z_can_be_negative") == "1"; + bool allowLessThanZero = ActiveSliceSettings.Instance.ActiveValue("z_can_be_negative") == "1"; string printLevelWizardTitle = "MatterControl"; string printLevelWizardTitleFull = "Print Leveling Wizard".Localize(); Title = string.Format("{0} - {1}", printLevelWizardTitle, printLevelWizardTitleFull); @@ -212,7 +212,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling string medPrecisionLabel = "Medium Precision".Localize(); string highPrecisionLabel = "High Precision".Localize(); - double bedRadius = Math.Min(ActiveSliceSettings.Instance.BedSize.x, ActiveSliceSettings.Instance.BedSize.y) / 2; + double bedRadius = Math.Min(ActiveSliceSettings.Instance.BedSize().x, ActiveSliceSettings.Instance.BedSize().y) / 2; double startProbeHeight = 5; for (int i = 0; i < numberOfRadialSamples + 1; i++) @@ -267,7 +267,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling && lineBeingSent[2] == ' ') { PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData; - return GetLevelingFunctions(numberOfRadialSamples, levelingData, ActiveSliceSettings.Instance.BedCenter) + return GetLevelingFunctions(numberOfRadialSamples, levelingData, ActiveSliceSettings.Instance.BedCenter()) .DoApplyLeveling(lineBeingSent, currentDestination, movementMode); } @@ -277,7 +277,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling public override Vector2 GetPrintLevelPositionToSample(int index, double radius) { PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData; - return GetLevelingFunctions(numberOfRadialSamples, levelingData, ActiveSliceSettings.Instance.BedCenter) + return GetLevelingFunctions(numberOfRadialSamples, levelingData, ActiveSliceSettings.Instance.BedCenter()) .GetPrintLevelPositionToSample(index, radius); } diff --git a/ConfigurationPage/PrintLeveling/LevelWizardBase.cs b/ConfigurationPage/PrintLeveling/LevelWizardBase.cs index b19e18313..a77ea2c51 100644 --- a/ConfigurationPage/PrintLeveling/LevelWizardBase.cs +++ b/ConfigurationPage/PrintLeveling/LevelWizardBase.cs @@ -79,10 +79,10 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling public static Vector2 GetPrintLevelPositionToSample(int index) { - Vector2 bedSize = ActiveSliceSettings.Instance.BedSize; - Vector2 printCenter = ActiveSliceSettings.Instance.PrintCenter; + Vector2 bedSize = ActiveSliceSettings.Instance.BedSize(); + Vector2 printCenter = ActiveSliceSettings.Instance.PrintCenter(); - switch (ActiveSliceSettings.Instance.BedShape) + switch (ActiveSliceSettings.Instance.BedShape()) { case MeshVisualizer.MeshViewerWidget.BedShape.Circular: Vector2 firstPosition = new Vector2(printCenter.x, printCenter.y + (bedSize.y / 2) * .5); @@ -126,7 +126,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling { LevelWizardBase.RuningState runningState = LevelWizardBase.RuningState.UserRequestedCalibration; - if (ActiveSliceSettings.Instance.LevelingRequiredToPrint) + if (ActiveSliceSettings.Instance.LevelingRequiredToPrint()) { // run in the first run state runningState = LevelWizardBase.RuningState.InitialStartupCalibration; diff --git a/ConfigurationPage/PrintLeveling/PrintLevelPages.cs b/ConfigurationPage/PrintLeveling/PrintLevelPages.cs index dbd24d314..03521f2f8 100644 --- a/ConfigurationPage/PrintLeveling/PrintLevelPages.cs +++ b/ConfigurationPage/PrintLeveling/PrintLevelPages.cs @@ -63,7 +63,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling public override void PageIsBecomingActive() { - Vector3 paperWidth = new Vector3(0, 0, ActiveSliceSettings.Instance.ProbePaperWidth); + Vector3 paperWidth = new Vector3(0, 0, ActiveSliceSettings.Instance.ProbePaperWidth()); PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData; levelingData.SampledPosition0 = probePositions[0].position - paperWidth; @@ -93,7 +93,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling { PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData; levelingData.SampledPositions.Clear(); - Vector3 paperWidth = new Vector3(0, 0, ActiveSliceSettings.Instance.ProbePaperWidth); + Vector3 paperWidth = new Vector3(0, 0, ActiveSliceSettings.Instance.ProbePaperWidth()); for (int i = 0; i < probePositions.Length; i++) { levelingData.SampledPositions.Add(probePositions[i].position - paperWidth); @@ -193,7 +193,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling // auto back probe Vector3 probeOffset2 = probePositions[4].position; - Vector3 paperWidth = new Vector3(0, 0, ActiveSliceSettings.Instance.ProbePaperWidth); + Vector3 paperWidth = new Vector3(0, 0, ActiveSliceSettings.Instance.ProbePaperWidth()); PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData; levelingData.SampledPosition0 = userBedSample0 - paperWidth; diff --git a/ConfigurationPage/PrintLeveling/PrintLevelingData.cs b/ConfigurationPage/PrintLeveling/PrintLevelingData.cs index 1af915a4f..a4c8ee211 100644 --- a/ConfigurationPage/PrintLeveling/PrintLevelingData.cs +++ b/ConfigurationPage/PrintLeveling/PrintLevelingData.cs @@ -29,7 +29,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling { get { - switch (ActiveSliceSettings.Instance.GetActiveValue("print_leveling_solution")) + switch (ActiveSliceSettings.Instance.ActiveValue("print_leveling_solution")) { case "2 Point Plane": return LevelingSystem.Probe2Points; diff --git a/History/PrintHistoryData.cs b/History/PrintHistoryData.cs index 91c3c7085..c56b2208d 100644 --- a/History/PrintHistoryData.cs +++ b/History/PrintHistoryData.cs @@ -56,7 +56,7 @@ namespace MatterHackers.MatterControl.PrintHistory && !string.IsNullOrEmpty(lastPrint.PrintingGCodeFileName) // PrintingGCodeFileName is set && File.Exists(lastPrint.PrintingGCodeFileName) // PrintingGCodeFileName is still on disk && lastPrint.PercentDone > 0 // we are actually part way into the print - && ActiveSliceSettings.Instance.GetActiveValue("has_hardware_leveling") == "0") + && ActiveSliceSettings.Instance.ActiveValue("has_hardware_leveling") == "0") { lastPrintTask = lastPrint; StyledMessageBox.ShowMessageBox(ResumeFailedPrintProcessDialogResponse, resumeFailedPrintMessage, resumeFailedPrintTitle, StyledMessageBox.MessageType.YES_NO, resumePrint, cancelResume); diff --git a/PartPreviewWindow/BaseClasses/PartPreview3DWidget.cs b/PartPreviewWindow/BaseClasses/PartPreview3DWidget.cs index 148d0ab5d..fa3acfd68 100644 --- a/PartPreviewWindow/BaseClasses/PartPreview3DWidget.cs +++ b/PartPreviewWindow/BaseClasses/PartPreview3DWidget.cs @@ -90,16 +90,16 @@ namespace MatterHackers.MatterControl.PartPreviewWindow private void RecreateBed() { - double buildHeight = ActiveSliceSettings.Instance.BuildHeight; + double buildHeight = ActiveSliceSettings.Instance.BuildHeight(); - UiThread.RunOnIdle(() => + UiThread.RunOnIdle((Action)(() => { meshViewerWidget.CreatePrintBed( - new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight), - ActiveSliceSettings.Instance.BedCenter, - ActiveSliceSettings.Instance.BedShape); + new Vector3(ActiveSliceSettings.Instance.BedSize(), buildHeight), + ActiveSliceSettings.Instance.BedCenter(), + ActiveSliceSettings.Instance.BedShape()); PutOemImageOnBed(); - }); + })); } public override void OnDraw(Graphics2D graphics2D) diff --git a/PartPreviewWindow/PartPreviewContent.cs b/PartPreviewWindow/PartPreviewContent.cs index c168392a1..3e9df876d 100644 --- a/PartPreviewWindow/PartPreviewContent.cs +++ b/PartPreviewWindow/PartPreviewContent.cs @@ -95,13 +95,13 @@ namespace MatterHackers.MatterControl.PartPreviewWindow selectedTabColor = ActiveTheme.Instance.SecondaryAccentColor; } - double buildHeight = ActiveSliceSettings.Instance.BuildHeight; + double buildHeight = ActiveSliceSettings.Instance.BuildHeight(); // put in the 3D view partPreviewView = new View3DWidget(printItem, - new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight), - ActiveSliceSettings.Instance.BedCenter, - ActiveSliceSettings.Instance.BedShape, + new Vector3(ActiveSliceSettings.Instance.BedSize(), buildHeight), + ActiveSliceSettings.Instance.BedCenter(), + ActiveSliceSettings.Instance.BedShape(), windowMode, autoRotate3DView, openMode); @@ -116,9 +116,9 @@ namespace MatterHackers.MatterControl.PartPreviewWindow } viewGcodeBasic = new ViewGcodeBasic(printItem, - new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight), - ActiveSliceSettings.Instance.BedCenter, - ActiveSliceSettings.Instance.BedShape, gcodeWindowMode); + new Vector3(ActiveSliceSettings.Instance.BedSize(), buildHeight), + ActiveSliceSettings.Instance.BedCenter(), + ActiveSliceSettings.Instance.BedShape(), gcodeWindowMode); if (windowMode == View3DWidget.WindowMode.StandAlone) { diff --git a/PartPreviewWindow/View3D/View3DAutoArange.cs b/PartPreviewWindow/View3D/View3DAutoArange.cs index c2335d2af..61a3f75c5 100644 --- a/PartPreviewWindow/View3D/View3DAutoArange.cs +++ b/PartPreviewWindow/View3D/View3DAutoArange.cs @@ -101,7 +101,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow // offset them to the center of the bed for (int i = 0; i < asyncMeshGroups.Count; i++) { - asyncMeshGroupTransforms[i] *= Matrix4X4.CreateTranslation(new Vector3(ActiveSliceSettings.Instance.BedCenter, 0)); + asyncMeshGroupTransforms[i] *= Matrix4X4.CreateTranslation(new Vector3(ActiveSliceSettings.Instance.BedCenter(), 0)); } PartHasBeenChanged(); diff --git a/PartPreviewWindow/View3D/View3DWidget.cs b/PartPreviewWindow/View3D/View3DWidget.cs index e83918f8a..1b29299f4 100644 --- a/PartPreviewWindow/View3D/View3DWidget.cs +++ b/PartPreviewWindow/View3D/View3DWidget.cs @@ -1059,7 +1059,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow private void AddMaterialControls(FlowLayoutWidget buttonPanel) { extruderButtons.Clear(); - for (int extruderIndex = 0; extruderIndex < ActiveSliceSettings.Instance.ExtruderCount; extruderIndex++) + for (int extruderIndex = 0; extruderIndex < ActiveSliceSettings.Instance.ExtruderCount(); extruderIndex++) { FlowLayoutWidget colorSelectionContainer = new FlowLayoutWidget(FlowDirection.LeftToRight); colorSelectionContainer.HAnchor = HAnchor.ParentLeftRight; @@ -1319,7 +1319,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow && ActiveSliceSettings.Instance.CenterOnBed()) { doCentering = MeshViewerWidget.CenterPartAfterLoad.DO; - bedCenter = ActiveSliceSettings.Instance.BedCenter; + bedCenter = ActiveSliceSettings.Instance.BedCenter(); } meshViewerWidget.LoadMesh(printItemWrapper.FileLocation, doCentering, bedCenter); @@ -1456,7 +1456,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow } // put in the material options - int numberOfExtruders = ActiveSliceSettings.Instance.ExtruderCount; + int numberOfExtruders = ActiveSliceSettings.Instance.ExtruderCount(); expandMaterialOptions = ExpandMenuOptionFactory.GenerateCheckBoxButton("Materials".Localize().ToUpper(), "icon_arrow_right_no_border_32x32.png", "icon_arrow_down_no_border_32x32.png"); expandMaterialOptions.Margin = new BorderDouble(bottom: 2); @@ -2106,8 +2106,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow { AxisAlignedBoundingBox allBounds = MeshViewerWidget.GetAxisAlignedBoundingBox(MeshGroups); bool onBed = allBounds.minXYZ.z > -.001 && allBounds.minXYZ.z < .001; // really close to the bed - RectangleDouble bedRect = new RectangleDouble(0, 0, ActiveSliceSettings.Instance.BedSize.x, ActiveSliceSettings.Instance.BedSize.y); - bedRect.Offset(ActiveSliceSettings.Instance.BedCenter - ActiveSliceSettings.Instance.BedSize / 2); + RectangleDouble bedRect = new RectangleDouble(0, 0, ActiveSliceSettings.Instance.BedSize().x, ActiveSliceSettings.Instance.BedSize().y); + bedRect.Offset(ActiveSliceSettings.Instance.BedCenter() - ActiveSliceSettings.Instance.BedSize() / 2); bool inBounds = bedRect.Contains(new Vector2(allBounds.minXYZ)) && bedRect.Contains(new Vector2(allBounds.maxXYZ)); diff --git a/PartPreviewWindow/ViewGcodeBasic.cs b/PartPreviewWindow/ViewGcodeBasic.cs index 2eb0cff87..1eb427a41 100644 --- a/PartPreviewWindow/ViewGcodeBasic.cs +++ b/PartPreviewWindow/ViewGcodeBasic.cs @@ -124,11 +124,11 @@ namespace MatterHackers.MatterControl.PartPreviewWindow || stringEvent.Data == "bed_shape" || stringEvent.Data == "center_part_on_bed") { - viewerVolume = new Vector3(ActiveSliceSettings.Instance.BedSize, ActiveSliceSettings.Instance.BuildHeight); - bedShape = ActiveSliceSettings.Instance.BedShape; - bedCenter = ActiveSliceSettings.Instance.BedCenter; + viewerVolume = new Vector3(ActiveSliceSettings.Instance.BedSize(), ActiveSliceSettings.Instance.BuildHeight()); + bedShape = ActiveSliceSettings.Instance.BedShape(); + bedCenter = ActiveSliceSettings.Instance.BedCenter(); - double buildHeight = ActiveSliceSettings.Instance.BuildHeight; + double buildHeight = ActiveSliceSettings.Instance.BuildHeight(); UiThread.RunOnIdle(() => { @@ -357,7 +357,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow GetRenderType(), gcodeViewWidget.FeatureToStartOnRatio0To1, gcodeViewWidget.FeatureToEndOnRatio0To1, - new Vector2[] { ActiveSliceSettings.Instance.GetOffset(0), ActiveSliceSettings.Instance.GetOffset(1) }); + new Vector2[] { ActiveSliceSettings.Instance.ExtruderOffset(0), ActiveSliceSettings.Instance.ExtruderOffset(1) }); gcodeViewWidget.gCodeRenderer.Render3D(renderInfo); } @@ -472,7 +472,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow // show the filament used modelInfoContainer.AddChild(new TextWidget(filamentLengthLabelFull, textColor: ActiveTheme.Instance.PrimaryTextColor, pointSize: 9)); { - double filamentUsed = gcodeViewWidget.LoadedGCode.GetFilamentUsedMm(ActiveSliceSettings.Instance.FilamentDiameter); + double filamentUsed = gcodeViewWidget.LoadedGCode.GetFilamentUsedMm(ActiveSliceSettings.Instance.FilamentDiameter()); GuiWidget estimatedPrintTime = new TextWidget(string.Format("{0:0.0} mm", filamentUsed), pointSize: 14, textColor: ActiveTheme.Instance.PrimaryTextColor); //estimatedPrintTime.HAnchor = Agg.UI.HAnchor.ParentLeft; @@ -484,7 +484,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow string filamentVolumeLabelFull = string.Format("{0}:", filamentVolumeLabel); modelInfoContainer.AddChild(new TextWidget(filamentVolumeLabelFull, textColor: ActiveTheme.Instance.PrimaryTextColor, pointSize: 9)); { - double filamentMm3 = gcodeViewWidget.LoadedGCode.GetFilamentCubicMm(ActiveSliceSettings.Instance.FilamentDiameter); + double filamentMm3 = gcodeViewWidget.LoadedGCode.GetFilamentCubicMm(ActiveSliceSettings.Instance.FilamentDiameter()); GuiWidget estimatedPrintTime = new TextWidget(string.Format("{0:0.00} cm3", filamentMm3 / 1000), pointSize: 14, textColor: ActiveTheme.Instance.PrimaryTextColor); //estimatedPrintTime.HAnchor = Agg.UI.HAnchor.ParentLeft; @@ -507,7 +507,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow density = 1.24; } - double filamentWeightGrams = gcodeViewWidget.LoadedGCode.GetFilamentWeightGrams(ActiveSliceSettings.Instance.FilamentDiameter, density); + double filamentWeightGrams = gcodeViewWidget.LoadedGCode.GetFilamentWeightGrams(ActiveSliceSettings.Instance.FilamentDiameter(), density); GuiWidget estimatedPrintTime = new TextWidget(string.Format("{0:0.00} g", filamentWeightGrams), pointSize: 14, textColor: ActiveTheme.Instance.PrimaryTextColor); //estimatedPrintTime.HAnchor = Agg.UI.HAnchor.ParentLeft; @@ -644,7 +644,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow } // put in a simulate extrusion checkbox - if (ActiveSliceSettings.Instance.ExtruderCount > 1) + if (ActiveSliceSettings.Instance.ExtruderCount() > 1) { CheckBox hideExtruderOffsets = new CheckBox("Hide Offsets", textColor: ActiveTheme.Instance.PrimaryTextColor); hideExtruderOffsets.Checked = gcodeViewWidget.HideExtruderOffsets; diff --git a/PartPreviewWindow/ViewGcodeWidget.cs b/PartPreviewWindow/ViewGcodeWidget.cs index 828d631c2..fa211c07d 100644 --- a/PartPreviewWindow/ViewGcodeWidget.cs +++ b/PartPreviewWindow/ViewGcodeWidget.cs @@ -301,7 +301,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow { try { - gCodeRenderer.GCodeFileToDraw?.GetFilamentUsedMm(ActiveSliceSettings.Instance.FilamentDiameter); + gCodeRenderer.GCodeFileToDraw?.GetFilamentUsedMm(ActiveSliceSettings.Instance.FilamentDiameter()); } catch (Exception e) { @@ -350,7 +350,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow GCodeRenderInfo renderInfo = new GCodeRenderInfo(activeLayerIndex, activeLayerIndex, transform, layerScale, CreateRenderInfo(), FeatureToStartOnRatio0To1, FeatureToEndOnRatio0To1, - new Vector2[] { ActiveSliceSettings.Instance.GetOffset(0), ActiveSliceSettings.Instance.GetOffset(1) }); + new Vector2[] { ActiveSliceSettings.Instance.ExtruderOffset(0), ActiveSliceSettings.Instance.ExtruderOffset(1) }); //using (new PerformanceTimer("GCode Timer", "Render")) { diff --git a/PrinterCommunication/Io/PauseHandlingStream.cs b/PrinterCommunication/Io/PauseHandlingStream.cs index b1c0d7cd3..17ae29dd1 100644 --- a/PrinterCommunication/Io/PauseHandlingStream.cs +++ b/PrinterCommunication/Io/PauseHandlingStream.cs @@ -90,7 +90,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io { int layerNumber; - if (int.TryParse(layer, out layerNumber) && ActiveSliceSettings.Instance.LayerToPauseOn.Contains(layerNumber)) + if (int.TryParse(layer, out layerNumber) && ActiveSliceSettings.Instance.LayerToPauseOn().Contains(layerNumber)) { return true; } @@ -100,7 +100,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io public void DoPause() { // Add the pause_gcode to the loadedGCode.GCodeCommandQueue - string pauseGCode = ActiveSliceSettings.Instance.GetActiveValue("pause_gcode"); + string pauseGCode = ActiveSliceSettings.Instance.ActiveValue("pause_gcode"); // put in the gcode for pausing (if any) InjectPauseGCode(pauseGCode); @@ -118,7 +118,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io InjectPauseGCode("G0 X{0:0.000} Y{1:0.000} Z{2:0.000} F{3}".FormatWith(ensureAllAxis.x, ensureAllAxis.y, ensureAllAxis.z, moveLocationAtEndOfPauseCode.feedRate + 1)); InjectPauseGCode("G0 X{0:0.000} Y{1:0.000} Z{2:0.000} F{3}".FormatWith(positionBeforeActualPause.x, positionBeforeActualPause.y, positionBeforeActualPause.z, moveLocationAtEndOfPauseCode.feedRate)); - string resumeGCode = ActiveSliceSettings.Instance.GetActiveValue("resume_gcode"); + string resumeGCode = ActiveSliceSettings.Instance.ActiveValue("resume_gcode"); InjectPauseGCode(resumeGCode); } diff --git a/PrinterCommunication/Io/ResumePrintingStream.cs b/PrinterCommunication/Io/ResumePrintingStream.cs index a403be201..6184cc9a6 100644 --- a/PrinterCommunication/Io/ResumePrintingStream.cs +++ b/PrinterCommunication/Io/ResumePrintingStream.cs @@ -83,7 +83,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io queuedCommands.Add("G90; use absolute coordinates"); queuedCommands.Add("G92 E0; reset the expected extruder position"); queuedCommands.Add("M82; use absolute distance for extrusion"); - queuedCommands.Add("M109 S{0}".FormatWith(ActiveSliceSettings.Instance.GetExtruderTemperature(1))); + queuedCommands.Add("M109 S{0}".FormatWith(ActiveSliceSettings.Instance.ExtruderTemperature(1))); resumeState = ResumeState.Raising; return ""; @@ -99,7 +99,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io // if top homing, home the extruder case ResumeState.Homing: - if (ActiveSliceSettings.Instance.GetActiveValue("z_homes_to_max") == "1") + if (ActiveSliceSettings.Instance.ActiveValue("z_homes_to_max") == "1") { queuedCommands.Add("G28"); } @@ -110,7 +110,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io // home y queuedCommands.Add("G28 Y0"); // move to the place we can home z from - Vector2 resumePositionXy = ActiveSliceSettings.Instance.GetActiveVector2("resume_position_before_z_home"); + Vector2 resumePositionXy = ActiveSliceSettings.Instance.ActiveVector2("resume_position_before_z_home"); queuedCommands.Add("G1 X{0:0.000}Y{1:0.000}F{2}".FormatWith(resumePositionXy.x, resumePositionXy.y, MovementControls.XSpeed)); // home z queuedCommands.Add("G28 Z0"); @@ -162,10 +162,10 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io // let's prime the extruder, move to a good position over the part, then start printing queuedCommands.Add("G1 E5"); queuedCommands.Add("G1 E4"); - if (ActiveSliceSettings.Instance.GetActiveValue("z_homes_to_max") == "0") // we are homed to the bed + if (ActiveSliceSettings.Instance.ActiveValue("z_homes_to_max") == "0") // we are homed to the bed { // move to the height we can resume printing from - Vector2 resumePositionXy = ActiveSliceSettings.Instance.GetActiveVector2("resume_position_before_z_home"); + Vector2 resumePositionXy = ActiveSliceSettings.Instance.ActiveVector2("resume_position_before_z_home"); queuedCommands.Add(CreateMovementLine(new PrinterMove(new VectorMath.Vector3(resumePositionXy.x, resumePositionXy.y, lastDestination.position.z + 5), 0, MovementControls.ZSpeed))); // move just above the actual print position queuedCommands.Add(CreateMovementLine(new PrinterMove(lastDestination.position + new VectorMath.Vector3(0, 0, 5), 0, MovementControls.XSpeed))); @@ -198,7 +198,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io double feedRate; - string firstLayerSpeed = ActiveSliceSettings.Instance.GetActiveValue("resume_first_layer_speed"); + string firstLayerSpeed = ActiveSliceSettings.Instance.ActiveValue("resume_first_layer_speed"); if (!double.TryParse(firstLayerSpeed, out feedRate)) { feedRate = 10; diff --git a/PrinterCommunication/PrinterConnectionAndCommunication.cs b/PrinterCommunication/PrinterConnectionAndCommunication.cs index 90eed30ac..e606807bf 100644 --- a/PrinterCommunication/PrinterConnectionAndCommunication.cs +++ b/PrinterCommunication/PrinterConnectionAndCommunication.cs @@ -1317,7 +1317,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication bool oneOrMoreValuesReset = false; foreach (var kvp in ActiveSliceSettings.Instance.BaseLayer) { - string currentValue = ActiveSliceSettings.Instance.GetActiveValue(kvp.Key); + string currentValue = ActiveSliceSettings.Instance.ActiveValue(kvp.Key); bool valueIsClear = currentValue == "0" | currentValue == ""; OrganizerSettingsData data = SliceSettingsOrganizer.Instance.GetSettingsData(kvp.Key); @@ -1339,7 +1339,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication try { // If leveling is required or is currently on - if (ActiveSliceSettings.Instance.LevelingRequiredToPrint + if (ActiveSliceSettings.Instance.LevelingRequiredToPrint() || ActiveSliceSettings.Instance.DoPrintLeveling) { PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData; @@ -1630,14 +1630,14 @@ namespace MatterHackers.MatterControl.PrinterCommunication { CommunicationState = CommunicationStates.Connected; // now send any command that initialize this printer - string connectGCode = ActiveSliceSettings.Instance.GetActiveValue("connect_gcode"); + string connectGCode = ActiveSliceSettings.Instance.ActiveValue("connect_gcode"); SendLineToPrinterNow(connectGCode); // and call back anyone who would like to know we connected UiThread.RunOnIdle(() => ConnectionSucceeded.CallEvents(this, null)); // run the print leveling wizard if we need to for this printer - if (ActiveSliceSettings.Instance.LevelingRequiredToPrint + if (ActiveSliceSettings.Instance.LevelingRequiredToPrint() || ActiveSliceSettings.Instance.DoPrintLeveling) { PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData; @@ -2137,7 +2137,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication { // get rid of all the gcode we have left to print ClearQueuedGCode(); - string cancelGCode = ActiveSliceSettings.Instance.GetActiveValue("cancel_gcode"); + string cancelGCode = ActiveSliceSettings.Instance.ActiveValue("cancel_gcode"); if (cancelGCode.Trim() != "") { // add any gcode we want to print while canceling @@ -2792,7 +2792,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication private void TurnOffBedAndExtruders() { - for (int i = 0; i < ActiveSliceSettings.Instance.ExtruderCount; i++) + for (int i = 0; i < ActiveSliceSettings.Instance.ExtruderCount(); i++) { SetTargetExtruderTemperature(i, 0); } diff --git a/PrinterControls/ControlWidgets/PowerControls.cs b/PrinterControls/ControlWidgets/PowerControls.cs index 224525868..fb1661060 100644 --- a/PrinterControls/ControlWidgets/PowerControls.cs +++ b/PrinterControls/ControlWidgets/PowerControls.cs @@ -55,7 +55,7 @@ namespace MatterHackers.MatterControl.PrinterControls private void UpdateControlVisibility(object sender, EventArgs args) { - this.Visible = ActiveSliceSettings.Instance.HasPowerControl; + this.Visible = ActiveSliceSettings.Instance.HasPowerControl(); this.SetEnableLevel(PrinterConnectionAndCommunication.Instance.PrinterIsConnected ? EnableLevel.Enabled : EnableLevel.Disabled); } diff --git a/PrinterControls/ControlWidgets/TemperatureControls.cs b/PrinterControls/ControlWidgets/TemperatureControls.cs index c62c00bd0..cc1236177 100644 --- a/PrinterControls/ControlWidgets/TemperatureControls.cs +++ b/PrinterControls/ControlWidgets/TemperatureControls.cs @@ -24,7 +24,7 @@ namespace MatterHackers.MatterControl.PrinterControls temperatureGroupBox.AddChild(mainContainer); RGBA_Bytes separatorLineColor = new RGBA_Bytes(ActiveTheme.Instance.PrimaryTextColor, 100); - int numberOfHeatedExtruders = ActiveSliceSettings.Instance.ExtruderCount; + int numberOfHeatedExtruders = ActiveSliceSettings.Instance.ExtruderCount(); if (numberOfHeatedExtruders > 1) { for (int i = 0; i < numberOfHeatedExtruders; i++) diff --git a/PrinterControls/EditLevelingSettingsWindow.cs b/PrinterControls/EditLevelingSettingsWindow.cs index 04e38d8c7..61b997c90 100644 --- a/PrinterControls/EditLevelingSettingsWindow.cs +++ b/PrinterControls/EditLevelingSettingsWindow.cs @@ -132,7 +132,7 @@ namespace MatterHackers.MatterControl int linkCompatibleRow = row; int linkCompatibleAxis = axis; double minValue = double.MinValue; - if (axis == 2 && ActiveSliceSettings.Instance.GetActiveValue("z_can_be_negative") == "0") + if (axis == 2 && ActiveSliceSettings.Instance.ActiveValue("z_can_be_negative") == "0") { minValue = 0; } diff --git a/PrinterControls/ManualPrinterControls.cs b/PrinterControls/ManualPrinterControls.cs index 7333e8bfd..c1e0436b1 100644 --- a/PrinterControls/ManualPrinterControls.cs +++ b/PrinterControls/ManualPrinterControls.cs @@ -94,7 +94,7 @@ namespace MatterHackers.MatterControl AddHandlers(); SetVisibleControls(); - if (!pluginsQueuedToAdd && ActiveSliceSettings.Instance.ShowFirmwareUpdater) + if (!pluginsQueuedToAdd && ActiveSliceSettings.Instance.ShowFirmwareUpdater()) { UiThread.RunOnIdle(AddPlugins); pluginsQueuedToAdd = true; diff --git a/PrinterControls/TemperatureIndicator.cs b/PrinterControls/TemperatureIndicator.cs index b203d6bca..5be1bcf09 100644 --- a/PrinterControls/TemperatureIndicator.cs +++ b/PrinterControls/TemperatureIndicator.cs @@ -493,7 +493,7 @@ namespace MatterHackers.MatterControl protected override double GetPreheatTemperature() { - string tempValue = ActiveSliceSettings.Instance.GetExtruderTemperature(extruderIndex0Based); + string tempValue = ActiveSliceSettings.Instance.ExtruderTemperature(extruderIndex0Based); if (string.IsNullOrEmpty(tempValue)) { return 0.0; @@ -601,7 +601,7 @@ namespace MatterHackers.MatterControl protected override double GetPreheatTemperature() { - return ActiveSliceSettings.Instance.BedTemperature; + return ActiveSliceSettings.Instance.BedTemperature(); } protected override double GetActualTemperature() diff --git a/PrinterControls/XYZJogControls.cs b/PrinterControls/XYZJogControls.cs index 69cb41261..2cc078826 100644 --- a/PrinterControls/XYZJogControls.cs +++ b/PrinterControls/XYZJogControls.cs @@ -409,7 +409,7 @@ namespace MatterHackers.MatterControl private FlowLayoutWidget CreateEButtons(double buttonSeparationDistance) { - int extruderCount = ActiveSliceSettings.Instance.ExtruderCount; + int extruderCount = ActiveSliceSettings.Instance.ExtruderCount(); FlowLayoutWidget eButtons = new FlowLayoutWidget(FlowDirection.TopToBottom); { diff --git a/Queue/QueueDataWidget.cs b/Queue/QueueDataWidget.cs index 303810a1f..2a1e163b5 100644 --- a/Queue/QueueDataWidget.cs +++ b/Queue/QueueDataWidget.cs @@ -195,7 +195,7 @@ namespace MatterHackers.MatterControl.PrintQueue if (ActiveSliceSettings.Instance != null) { activeFilamentDiameter = 3; - if (ActiveSliceSettings.Instance.FilamentDiameter < 2) + if (ActiveSliceSettings.Instance.FilamentDiameter() < 2) { activeFilamentDiameter = 1.75; } diff --git a/SlicerConfiguration/Settings/SettingsProfile.cs b/SlicerConfiguration/Settings/SettingsProfile.cs index 1091953e4..5cf0b6937 100644 --- a/SlicerConfiguration/Settings/SettingsProfile.cs +++ b/SlicerConfiguration/Settings/SettingsProfile.cs @@ -155,7 +155,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration } } - public string GetExtruderTemperature(int extruderIndex) + public string ExtruderTemperature(int extruderIndex) { if (extruderIndex >= layeredProfile.MaterialSettingsKeys.Count) { @@ -170,12 +170,12 @@ namespace MatterHackers.MatterControl.SlicerConfiguration return result; } - internal SettingsLayer GetMaterialLayer(string key) + internal SettingsLayer MaterialLayer(string key) { return layeredProfile.GetMaterialLayer(key); } - internal SettingsLayer GetQualityLayer(string key) + internal SettingsLayer QualityLayer(string key) { return layeredProfile.GetQualityLayer(key); } @@ -187,190 +187,148 @@ namespace MatterHackers.MatterControl.SlicerConfiguration public bool HasFan() { - return GetActiveValue("has_fan") == "1"; + return ActiveValue("has_fan") == "1"; } public bool CenterOnBed() { - return GetActiveValue("center_part_on_bed") == "1"; + return ActiveValue("center_part_on_bed") == "1"; } public bool ShowResetConnection() { - return GetActiveValue("show_reset_connection") == "1"; + return ActiveValue("show_reset_connection") == "1"; } public bool HasHardwareLeveling() { - return GetActiveValue("has_hardware_leveling") == "1"; + return ActiveValue("has_hardware_leveling") == "1"; } public bool HasSdCardReader() { - return GetActiveValue("has_sd_card_reader") == "1"; + return ActiveValue("has_sd_card_reader") == "1"; } - public double BedTemperature + public double BedTemperature() { - get + double targetTemp = 0; + if (HasHeatedBed()) { - double targetTemp = 0; - if (HasHeatedBed()) - { - double.TryParse(GetActiveValue("bed_temperature"), out targetTemp); - } - return targetTemp; + double.TryParse(ActiveValue("bed_temperature"), out targetTemp); } + return targetTemp; } /// /// Control the PS_ON pin via M80/81 if enabled in firmware and printer settings, allowing the printer board to toggle off the ATX power supply /// - public bool HasPowerControl + public bool HasPowerControl() { - get - { - return GetActiveValue("has_power_control") == "1"; - } + return ActiveValue("has_power_control") == "1"; } public bool HasHeatedBed() { - return GetActiveValue("has_heated_bed") == "1"; + return ActiveValue("has_heated_bed") == "1"; } - public bool SupportEnabled + public bool SupportEnabled() { - get - { - return GetActiveValue("support_material") == "1"; - } + return ActiveValue("support_material") == "1"; } - public bool ShowFirmwareUpdater + public bool ShowFirmwareUpdater() { - get - { - return GetActiveValue("include_firmware_updater") == "Simple Arduino"; - } + return ActiveValue("include_firmware_updater") == "Simple Arduino"; } - public int SupportExtruder + public int SupportExtruder() { - get - { - return int.Parse(GetActiveValue("support_material_extruder")); - } + return int.Parse(ActiveValue("support_material_extruder")); } - public int[] LayerToPauseOn + public int[] LayerToPauseOn() { - get - { - string[] userValues = GetActiveValue("layer_to_pause").Split(';'); + string[] userValues = ActiveValue("layer_to_pause").Split(';'); - int temp; - return userValues.Where(v => int.TryParse(v, out temp)).Select(v => - { + int temp; + return userValues.Where(v => int.TryParse(v, out temp)).Select(v => + { //Convert from 0 based index to 1 based index int val = int.Parse(v); // Special case for user entered zero that pushes 0 to 1, otherwise val = val - 1 for 1 based index return val == 0 ? 1 : val - 1; - }).ToArray(); - } + }).ToArray(); } - public double ProbePaperWidth + public double ProbePaperWidth() { - get - { - return double.Parse(GetActiveValue("manual_probe_paper_width")); - } + return double.Parse(ActiveValue("manual_probe_paper_width")); } - public bool RaftEnabled + public bool RaftEnabled() { - get - { - return GetActiveValue("create_raft") == "1"; - } + return ActiveValue("create_raft") == "1"; } - public int RaftExtruder + public int RaftExtruder() { - get - { - return int.Parse(GetActiveValue("raft_extruder")); - } + return int.Parse(ActiveValue("raft_extruder")); } - public double MaxFanSpeed + public double MaxFanSpeed() { - get - { - return ParseDouble(GetActiveValue("max_fan_speed")); - } + return ParseDouble(ActiveValue("max_fan_speed")); } - public double FillDensity + public double FillDensity() { - get + string fillDensityValueString = ActiveValue("fill_density"); + if (fillDensityValueString.Contains("%")) { - string fillDensityValueString = GetActiveValue("fill_density"); - if (fillDensityValueString.Contains("%")) - { - string onlyNumber = fillDensityValueString.Replace("%", ""); - double ratio = ParseDouble(onlyNumber) / 100; - return ratio; - } - else - { - return ParseDouble(GetActiveValue("fill_density")); - } + string onlyNumber = fillDensityValueString.Replace("%", ""); + double ratio = ParseDouble(onlyNumber) / 100; + return ratio; + } + else + { + return ParseDouble(ActiveValue("fill_density")); } } - public double MinFanSpeed + public double MinFanSpeed() { - get - { - return ParseDouble(GetActiveValue("min_fan_speed")); - } + return ParseDouble(ActiveValue("min_fan_speed")); } - public double FirstLayerHeight + public double FirstLayerHeight() { - get + string firstLayerValueString = ActiveValue("first_layer_height"); + if (firstLayerValueString.Contains("%")) { - string firstLayerValueString = GetActiveValue("first_layer_height"); - if (firstLayerValueString.Contains("%")) - { - string onlyNumber = firstLayerValueString.Replace("%", ""); - double ratio = ParseDouble(onlyNumber) / 100; - return LayerHeight * ratio; - } - double firstLayerValue; - firstLayerValue = ParseDouble(firstLayerValueString); - - return firstLayerValue; + string onlyNumber = firstLayerValueString.Replace("%", ""); + double ratio = ParseDouble(onlyNumber) / 100; + return LayerHeight() * ratio; } + double firstLayerValue; + firstLayerValue = ParseDouble(firstLayerValueString); + + return firstLayerValue; } - internal string GetMaterialPresetKey(int extruderIndex) + internal string MaterialPresetKey(int extruderIndex) { return layeredProfile.GetMaterialPresetKey(extruderIndex); } - public double FirstLayerExtrusionWidth + public double FirstLayerExtrusionWidth() { - get - { AsPercentOfReferenceOrDirect mapper = new AsPercentOfReferenceOrDirect("first_layer_extrusion_width", "notused", "nozzle_diameter"); double firstLayerValue = ParseDouble(mapper.Value); return firstLayerValue; - } } private static double ParseDouble(string firstLayerValueString) @@ -383,101 +341,75 @@ namespace MatterHackers.MatterControl.SlicerConfiguration return firstLayerValue; } - public double LayerHeight + public double LayerHeight() { - get { return ParseDouble(GetActiveValue("layer_height")); } + return ParseDouble(ActiveValue("layer_height")); } - public Vector2 GetBedSize() + public Vector2 BedSize() { - return BedSize; + return ActiveVector2("bed_size"); } - public Vector2 BedSize + public MeshVisualizer.MeshViewerWidget.BedShape BedShape() { - get + switch (ActiveValue("bed_shape")) { - return GetActiveVector2("bed_size"); - } - } + case "rectangular": + return MeshVisualizer.MeshViewerWidget.BedShape.Rectangular; - public MeshVisualizer.MeshViewerWidget.BedShape BedShape - { - get - { - switch (GetActiveValue("bed_shape")) - { - case "rectangular": - return MeshVisualizer.MeshViewerWidget.BedShape.Rectangular; + case "circular": + return MeshVisualizer.MeshViewerWidget.BedShape.Circular; - case "circular": - return MeshVisualizer.MeshViewerWidget.BedShape.Circular; - - default: + default: #if DEBUG - throw new NotImplementedException(string.Format("'{0}' is not a known bed_shape.", GetActiveValue("bed_shape"))); + throw new NotImplementedException(string.Format("'{0}' is not a known bed_shape.", ActiveValue("bed_shape"))); #else return MeshVisualizer.MeshViewerWidget.BedShape.Rectangular; #endif - } } } - public Vector2 BedCenter + public Vector2 BedCenter() { - get + return ActiveVector2("print_center"); + } + + public double BuildHeight() + { + return ParseDouble(ActiveValue("build_height")); + } + + public Vector2 PrintCenter() + { + return ActiveVector2("print_center"); + } + + public int ExtruderCount() + { + if (ExtrudersShareTemperature()) { - return GetActiveVector2("print_center"); + return 1; } - } - public double BuildHeight - { - get + int extruderCount; + string extruderCountString = ActiveValue("extruder_count"); + if (!int.TryParse(extruderCountString, out extruderCount)) { - return ParseDouble(GetActiveValue("build_height")); + return 1; } + + return extruderCount; } - public Vector2 PrintCenter + public bool ExtrudersShareTemperature() { - get - { - return GetActiveVector2("print_center"); - } + return (int.Parse(ActiveValue("extruders_share_temperature")) == 1); } - public int ExtruderCount + public Vector2 ExtruderOffset(int extruderIndex) { - get - { - if (ExtrudersShareTemperature) - { - return 1; - } - - int extruderCount; - string extruderCountString = GetActiveValue("extruder_count"); - if (!int.TryParse(extruderCountString, out extruderCount)) - { - return 1; - } - - return extruderCount; - } - } - - public bool ExtrudersShareTemperature - { - get - { - return (int.Parse(GetActiveValue("extruders_share_temperature")) == 1); - } - } - - public Vector2 GetOffset(int extruderIndex) - { - string currentOffsets = GetActiveValue("extruder_offset"); + string currentOffsets = ActiveValue("extruder_offset"); string[] offsets = currentOffsets.Split(','); int count = 0; foreach (string offset in offsets) @@ -493,22 +425,19 @@ namespace MatterHackers.MatterControl.SlicerConfiguration return Vector2.Zero; } - public double NozzleDiameter + public double NozzleDiameter() { - get { return ParseDouble(GetActiveValue("nozzle_diameter")); } + return ParseDouble(ActiveValue("nozzle_diameter")); } - public double FilamentDiameter + public double FilamentDiameter() { - get { return ParseDouble(GetActiveValue("filament_diameter")); } + return ParseDouble(ActiveValue("filament_diameter")); } - public bool LevelingRequiredToPrint + public bool LevelingRequiredToPrint() { - get - { - return GetActiveValue("print_leveling_required_to_print") == "1"; - } + return ActiveValue("print_leveling_required_to_print") == "1"; } private PrintLevelingData printLevelingData = null; @@ -526,7 +455,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration printLevelingData.SampledPosition0, printLevelingData.SampledPosition1, printLevelingData.SampledPosition2, - ActiveSliceSettings.Instance.PrintCenter); + ActiveSliceSettings.Instance.PrintCenter()); } return printLevelingData; @@ -564,7 +493,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration levelingData.SampledPosition0, levelingData.SampledPosition1, levelingData.SampledPosition2, - ActiveSliceSettings.Instance.PrintCenter); + ActiveSliceSettings.Instance.PrintCenter()); } } } @@ -590,31 +519,28 @@ namespace MatterHackers.MatterControl.SlicerConfiguration } } - public SliceEngineMapping ActiveSliceEngine + public SliceEngineMapping ActiveSliceEngine() { - get + switch (ActiveSliceEngineType) { - switch (ActiveSliceEngineType) - { - case SlicingEngineTypes.CuraEngine: - return EngineMappingCura.Instance; + case SlicingEngineTypes.CuraEngine: + return EngineMappingCura.Instance; - case SlicingEngineTypes.MatterSlice: - return EngineMappingsMatterSlice.Instance; + case SlicingEngineTypes.MatterSlice: + return EngineMappingsMatterSlice.Instance; - case SlicingEngineTypes.Slic3r: - return Slic3rEngineMappings.Instance; + case SlicingEngineTypes.Slic3r: + return Slic3rEngineMappings.Instance; - default: - return null; - } + default: + return null; } } /// ///Returns the first matching value discovered while enumerating the settings layers /// - public string GetActiveValue(string sliceSetting) + public string ActiveValue(string sliceSetting) { return layeredProfile.GetValue(sliceSetting); } @@ -667,9 +593,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration } } - public Vector2 GetActiveVector2(string sliceSetting) + public Vector2 ActiveVector2(string sliceSetting) { - string[] twoValues = GetActiveValue(sliceSetting).Split(','); + string[] twoValues = ActiveValue(sliceSetting).Split(','); if (twoValues.Length != 2) { throw new Exception(string.Format("Not parsing {0} as a Vector2", sliceSetting)); @@ -703,7 +629,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration foreach (var kvp in this.BaseLayer) { - string activeValue = GetActiveValue(kvp.Key); + string activeValue = ActiveValue(kvp.Key); bigStringForHashCode.Append(kvp.Key); bigStringForHashCode.Append(activeValue); } @@ -719,7 +645,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { foreach (var kvp in this.BaseLayer) { - string activeValue = GetActiveValue(kvp.Key); + string activeValue = ActiveValue(kvp.Key); if (replaceMacroValues) { activeValue = GCodeProcessing.ReplaceMacroValues(activeValue); @@ -734,18 +660,18 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { try { - if (LayerHeight > NozzleDiameter) + if (LayerHeight() > NozzleDiameter()) { string error = "'Layer Height' must be less than or equal to the 'Nozzle Diameter'.".Localize(); - string details = string.Format("Layer Height = {0}\nNozzle Diameter = {1}".Localize(), LayerHeight, NozzleDiameter); + string details = string.Format("Layer Height = {0}\nNozzle Diameter = {1}".Localize(), LayerHeight(), NozzleDiameter()); string location = "Location: 'Settings & Controls' -> 'Settings' -> 'General' -> 'Layers/Surface'".Localize(); StyledMessageBox.ShowMessageBox(null, string.Format("{0}\n\n{1}\n\n{2}", error, details, location), "Slice Error".Localize()); return false; } - else if (FirstLayerHeight > NozzleDiameter) + else if (FirstLayerHeight() > NozzleDiameter()) { string error = "'First Layer Height' must be less than or equal to the 'Nozzle Diameter'.".Localize(); - string details = string.Format("First Layer Height = {0}\nNozzle Diameter = {1}".Localize(), FirstLayerHeight, NozzleDiameter); + string details = string.Format("First Layer Height = {0}\nNozzle Diameter = {1}".Localize(), FirstLayerHeight(), NozzleDiameter()); string location = "Location: 'Settings & Controls' -> 'Settings' -> 'General' -> 'Layers/Surface'".Localize(); StyledMessageBox.ShowMessageBox(null, string.Format("{0}\n\n{1}\n\n{2}", error, details, location), "Slice Error".Localize()); return false; @@ -754,7 +680,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration // If we have print leveling turned on then make sure we don't have any leveling commands in the start gcode. if (PrinterConnectionAndCommunication.Instance.ActivePrinter.DoPrintLeveling) { - string[] startGCode = GetActiveValue("start_gcode").Replace("\\n", "\n").Split('\n'); + string[] startGCode = ActiveValue("start_gcode").Replace("\\n", "\n").Split('\n'); foreach (string startGCodeLine in startGCode) { if (startGCodeLine.StartsWith("G29")) @@ -777,65 +703,65 @@ namespace MatterHackers.MatterControl.SlicerConfiguration } } - if (FirstLayerExtrusionWidth > NozzleDiameter * 4) + if (FirstLayerExtrusionWidth() > NozzleDiameter() * 4) { string error = "'First Layer Extrusion Width' must be less than or equal to the 'Nozzle Diameter' * 4.".Localize(); - string details = string.Format("First Layer Extrusion Width = {0}\nNozzle Diameter = {1}".Localize(), GetActiveValue("first_layer_extrusion_width"), NozzleDiameter); + string details = string.Format("First Layer Extrusion Width = {0}\nNozzle Diameter = {1}".Localize(), ActiveValue("first_layer_extrusion_width"), NozzleDiameter()); string location = "Location: 'Settings & Controls' -> 'Settings' -> 'Filament' -> 'Extrusion' -> 'First Layer'".Localize(); StyledMessageBox.ShowMessageBox(null, string.Format("{0}\n\n{1}\n\n{2}", error, details, location), "Slice Error".Localize()); return false; } - if (FirstLayerExtrusionWidth <= 0) + if (FirstLayerExtrusionWidth() <= 0) { string error = "'First Layer Extrusion Width' must be greater than 0.".Localize(); - string details = string.Format("First Layer Extrusion Width = {0}".Localize(), GetActiveValue("first_layer_extrusion_width")); + string details = string.Format("First Layer Extrusion Width = {0}".Localize(), ActiveValue("first_layer_extrusion_width")); string location = "Location: 'Settings & Controls' -> 'Settings' -> 'Filament' -> 'Extrusion' -> 'First Layer'".Localize(); StyledMessageBox.ShowMessageBox(null, string.Format("{0}\n\n{1}\n\n{2}", error, details, location), "Slice Error".Localize()); return false; } - if (MinFanSpeed > 100) + if (MinFanSpeed() > 100) { string error = "The Minimum Fan Speed can only go as high as 100%.".Localize(); - string details = string.Format("It is currently set to {0}.".Localize(), MinFanSpeed); + string details = string.Format("It is currently set to {0}.".Localize(), MinFanSpeed()); string location = "Location: 'Settings & Controls' -> 'Settings' -> 'Filament' -> 'Cooling'".Localize(); StyledMessageBox.ShowMessageBox(null, string.Format("{0}\n\n{1}\n\n{2}", error, details, location), "Slice Error".Localize()); return false; } - if (MaxFanSpeed > 100) + if (MaxFanSpeed() > 100) { string error = "The Maximum Fan Speed can only go as high as 100%.".Localize(); - string details = string.Format("It is currently set to {0}.".Localize(), MaxFanSpeed); + string details = string.Format("It is currently set to {0}.".Localize(), MaxFanSpeed()); string location = "Location: 'Settings & Controls' -> 'Settings' -> 'Filament' -> 'Cooling'".Localize(); StyledMessageBox.ShowMessageBox(null, string.Format("{0}\n\n{1}\n\n{2}", error, details, location), "Slice Error".Localize()); return false; } - if (ExtruderCount < 1) + if (ExtruderCount() < 1) { string error = "The Extruder Count must be at least 1.".Localize(); - string details = string.Format("It is currently set to {0}.".Localize(), ExtruderCount); + string details = string.Format("It is currently set to {0}.".Localize(), ExtruderCount()); string location = "Location: 'Settings & Controls' -> 'Settings' -> 'Printer' -> 'Features'".Localize(); StyledMessageBox.ShowMessageBox(null, string.Format("{0}\n\n{1}\n\n{2}", error, details, location), "Slice Error".Localize()); return false; } - if (FillDensity < 0 || FillDensity > 1) + if (FillDensity() < 0 || FillDensity() > 1) { string error = "The Fill Density must be between 0 and 1.".Localize(); - string details = string.Format("It is currently set to {0}.".Localize(), FillDensity); + string details = string.Format("It is currently set to {0}.".Localize(), FillDensity()); string location = "Location: 'Settings & Controls' -> 'Settings' -> 'General' -> 'Infill'".Localize(); StyledMessageBox.ShowMessageBox(null, string.Format("{0}\n\n{1}\n\n{2}", error, details, location), "Slice Error".Localize()); return false; } - if (FillDensity == 1 - && GetActiveValue("infill_type") != "LINES") + if (FillDensity() == 1 + && ActiveValue("infill_type") != "LINES") { string error = "Solid Infill works best when set to LINES.".Localize(); - string details = string.Format("It is currently set to {0}.".Localize(), GetActiveValue("infill_type")); + string details = string.Format("It is currently set to {0}.".Localize(), ActiveValue("infill_type")); string location = "Location: 'Settings & Controls' -> 'Settings' -> 'General' -> 'Infill Type'".Localize(); StyledMessageBox.ShowMessageBox(null, string.Format("{0}\n\n{1}\n\n{2}", error, details, location), "Slice Error".Localize()); return true; @@ -873,7 +799,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration private bool ValidateGoodSpeedSettingGreaterThan0(string speedSetting, string speedLocation) { - string actualSpeedValueString = GetActiveValue(speedSetting); + string actualSpeedValueString = ActiveValue(speedSetting); string speedValueString = actualSpeedValueString; if (speedValueString.EndsWith("%")) { @@ -887,7 +813,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration } if (!valueWasNumber - || (ActiveSliceSettings.Instance.ActiveSliceEngine.MapContains(speedSetting) + || (ActiveSliceSettings.Instance.ActiveSliceEngine().MapContains(speedSetting) && speedToCheck <= 0)) { OrganizerSettingsData data = SliceSettingsOrganizer.Instance.GetSettingsData(speedSetting); @@ -1034,7 +960,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration var drivers = new List(); //Determine what if any drivers are needed - string infFileNames = GetActiveValue("windows_driver"); + string infFileNames = ActiveValue("windows_driver"); if (!string.IsNullOrEmpty(infFileNames)) { string[] fileNames = infFileNames.Split(','); @@ -1098,7 +1024,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration macroDict["Offset 1.2"] = "M565 Z1.2;\nM500"; macroDict["Z Offset"] = "G1 Z10;\nG28;\nG29;\nG1 Z10;\nG1 X5 Y5 F4000;\nM117;"; - string defaultMacros = GetActiveValue("default_macros"); + string defaultMacros = ActiveValue("default_macros"); var printerCustomCommands = new List(); if (!string.IsNullOrEmpty(defaultMacros)) { diff --git a/SlicerConfiguration/SettingsControlBar.cs b/SlicerConfiguration/SettingsControlBar.cs index aa1888eef..79037d8a3 100644 --- a/SlicerConfiguration/SettingsControlBar.cs +++ b/SlicerConfiguration/SettingsControlBar.cs @@ -41,7 +41,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { this.HAnchor = HAnchor.ParentLeftRight; - int numberOfHeatedExtruders = ActiveSliceSettings.Instance.ExtruderCount; + int numberOfHeatedExtruders = ActiveSliceSettings.Instance.ExtruderCount(); this.AddChild(new PresetSelectorWidget("Quality".Localize(), RGBA_Bytes.Yellow, "quality", 0)); this.AddChild(new GuiWidget(8, 0)); diff --git a/SlicerConfiguration/SettingsControlSelectors.cs b/SlicerConfiguration/SettingsControlSelectors.cs index 26605f875..f4ad373c5 100644 --- a/SlicerConfiguration/SettingsControlSelectors.cs +++ b/SlicerConfiguration/SettingsControlSelectors.cs @@ -163,7 +163,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration MenuItem item = (MenuItem)sender; if (filterTag == "material") { - if (activeSettings.GetMaterialPresetKey(extruderIndex) != item.Text) + if (activeSettings.MaterialPresetKey(extruderIndex) != item.Text) { activeSettings.SetMaterialPreset(extruderIndex, item.Text); } @@ -283,7 +283,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration if (filterTag == "material") { - settingsKey = ActiveSliceSettings.Instance.GetMaterialPresetKey(extruderIndex); + settingsKey = ActiveSliceSettings.Instance.MaterialPresetKey(extruderIndex); } else { @@ -317,7 +317,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration foreach (SliceEngineInfo engineMenuItem in SlicingQueue.AvailableSliceEngines) { bool engineAllowed = true; - if (ActiveSliceSettings.Instance.ExtruderCount > 1 && engineMenuItem.Name != "MatterSlice") + if (ActiveSliceSettings.Instance.ExtruderCount() > 1 && engineMenuItem.Name != "MatterSlice") { engineAllowed = false; } diff --git a/SlicerConfiguration/SlicePresetsWindow/SlicePresetDetailWidget.cs b/SlicerConfiguration/SlicePresetsWindow/SlicePresetDetailWidget.cs index 12272f6cf..726baec2b 100644 --- a/SlicerConfiguration/SlicePresetsWindow/SlicePresetDetailWidget.cs +++ b/SlicerConfiguration/SlicePresetsWindow/SlicePresetDetailWidget.cs @@ -164,11 +164,11 @@ namespace MatterHackers.MatterControl.SlicerConfiguration switch (layerFilter) { case NamedSettingsLayers.Material: - layerFilters.Add(settings.GetMaterialLayer(layerKey)); + layerFilters.Add(settings.MaterialLayer(layerKey)); break; case NamedSettingsLayers.Quality: - layerFilters.Add(settings.GetQualityLayer(layerKey)); + layerFilters.Add(settings.QualityLayer(layerKey)); break; } } @@ -311,7 +311,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { itemName = "{0} ({1})".FormatWith(itemName, setting.ExtraSettings.Replace("\\n", " ")); } - if (ActiveSliceSettings.Instance.ActiveSliceEngine.MapContains(setting.SlicerConfigName)) + if (ActiveSliceSettings.Instance.ActiveSliceEngine().MapContains(setting.SlicerConfigName)) { MenuItem settingMenuItem = settingDropDownList.AddItem(itemName, itemValue); settingMenuItem.Selected += new EventHandler(OnItemSelected); @@ -361,7 +361,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration OrganizerSettingsData settingData = SliceSettingsOrganizer.Instance.GetSettingsData(item.Key); // Don't add row if there is no entry - if (settingData != null && ActiveSliceSettings.Instance.ActiveSliceEngine.MapContains(settingData.SlicerConfigName)) + if (settingData != null && ActiveSliceSettings.Instance.ActiveSliceEngine().MapContains(settingData.SlicerConfigName)) { FlowLayoutWidget row = GetSettingsRow(settingData, item.Value.Value); row.Padding = new BorderDouble(3, 3, 3, 6); @@ -396,7 +396,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { SliceSetting sliceSetting = new SliceSetting(); sliceSetting.Name = addRowSettingData.SlicerConfigName; - sliceSetting.Value = ActiveSliceSettings.Instance.GetActiveValue(addRowSettingData.SlicerConfigName); //populate with current + sliceSetting.Value = ActiveSliceSettings.Instance.ActiveValue(addRowSettingData.SlicerConfigName); //populate with current sliceSetting.SettingsCollectionId = this.windowController.ActivePresetLayer.settingsCollectionData.Id; this.windowController.ActivePresetLayer.settingsDictionary[addRowSettingData.SlicerConfigName] = sliceSetting; @@ -505,7 +505,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration //Get the current value as a default value if (sliceSettingValue == null) { - sliceSettingValue = ActiveSliceSettings.Instance.GetActiveValue(settingData.SlicerConfigName); + sliceSettingValue = ActiveSliceSettings.Instance.ActiveValue(settingData.SlicerConfigName); } //Get the presentation name from the SettingNameLookup diff --git a/SlicerConfiguration/SliceSettingsWidget.cs b/SlicerConfiguration/SliceSettingsWidget.cs index d76896bd4..77fa0a8a9 100644 --- a/SlicerConfiguration/SliceSettingsWidget.cs +++ b/SlicerConfiguration/SliceSettingsWidget.cs @@ -352,7 +352,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration if (subGroup.Name == "Extruder X") { - numberOfCopies = ActiveSliceSettings.Instance.ExtruderCount; + numberOfCopies = ActiveSliceSettings.Instance.ExtruderCount(); } for (int copyIndex = 0; copyIndex < numberOfCopies; copyIndex++) @@ -370,7 +370,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { bool settingShouldBeShown = CheckIfShouldBeShown(settingInfo); - if (ActiveSliceSettings.Instance.ActiveSliceEngine.MapContains(settingInfo.SlicerConfigName) + if (ActiveSliceSettings.Instance.ActiveSliceEngine().MapContains(settingInfo.SlicerConfigName) && settingShouldBeShown) { addedSettingToSubGroup = true; @@ -472,7 +472,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration showValue = "1"; checkName = checkName.Substring(1); } - string sliceSettingValue = ActiveSliceSettings.Instance.GetActiveValue(checkName); + string sliceSettingValue = ActiveSliceSettings.Instance.ActiveValue(checkName); if (sliceSettingValue == showValue) { settingShouldBeShown = false; @@ -526,7 +526,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration if (!SliceSettingsOrganizer.Instance.Contains(UserLevel, kvp.Key)) { OrganizerSettingsData settingInfo = new OrganizerSettingsData(kvp.Key, kvp.Key, OrganizerSettingsData.DataEditTypes.STRING); - if (ActiveSliceSettings.Instance.ActiveSliceEngine.MapContains(settingInfo.SlicerConfigName)) + if (ActiveSliceSettings.Instance.ActiveSliceEngine().MapContains(settingInfo.SlicerConfigName)) { GuiWidget controlsForThisSetting = CreateSettingInfoUIControls(settingInfo, minSettingNameWidth, 0); topToBottomSettings.AddChild(controlsForThisSetting); @@ -591,7 +591,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration public void RefreshValue() { - string latestValue = ActiveSliceSettings.Instance.GetActiveValue(this.SettingsKey); + string latestValue = ActiveSliceSettings.Instance.ActiveValue(this.SettingsKey); //if(latestValue != SettingsValue) { ValueChanged?.Invoke(latestValue); @@ -612,7 +612,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration GuiWidget container = new GuiWidget(); this.HAnchor = HAnchor.ParentLeftRight; - string sliceSettingValue = ActiveSliceSettings.Instance.GetActiveValue(settingData.SlicerConfigName); + string sliceSettingValue = ActiveSliceSettings.Instance.ActiveValue(settingData.SlicerConfigName); var settingsRow = new SettingsRow() { @@ -731,10 +731,10 @@ namespace MatterHackers.MatterControl.SlicerConfiguration if (ChangesMultipleOtherSettings) { bool allTheSame = true; - string setting = ActiveSliceSettings.Instance.GetActiveValue(settingData.SetSettingsOnChange[0]); + string setting = ActiveSliceSettings.Instance.ActiveValue(settingData.SetSettingsOnChange[0]); for (int i = 1; i < settingData.SetSettingsOnChange.Count; i++) { - string nextSetting = ActiveSliceSettings.Instance.GetActiveValue(settingData.SetSettingsOnChange[i]); + string nextSetting = ActiveSliceSettings.Instance.ActiveValue(settingData.SetSettingsOnChange[i]); if (setting != nextSetting) { allTheSame = false; @@ -1161,7 +1161,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration case OrganizerSettingsData.DataEditTypes.OFFSET2: { - Vector2 offset = ActiveSliceSettings.Instance.GetOffset(extruderIndex); + Vector2 offset = ActiveSliceSettings.Instance.ExtruderOffset(extruderIndex); var xEditWidget = new MHNumberEdit(offset.x, allowDecimals: true, allowNegatives: true, pixelWidth: vectorXYEditWidth, tabIndex: tabIndexForItem++) { @@ -1201,7 +1201,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration settingsRow.ValueChanged = (text) => { - Vector2 offset2 = ActiveSliceSettings.Instance.GetOffset(extruderIndex); + Vector2 offset2 = ActiveSliceSettings.Instance.ExtruderOffset(extruderIndex); xEditWidget.ActuallNumberEdit.Value = offset2.x; yEditWidget.ActuallNumberEdit.Value = offset2.y; }; @@ -1334,7 +1334,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration private GuiWidget CreateQuickMenu(OrganizerSettingsData settingData, GuiWidget content, InternalTextEditWidget internalTextWidget) { - string sliceSettingValue = ActiveSliceSettings.Instance.GetActiveValue(settingData.SlicerConfigName); + string sliceSettingValue = ActiveSliceSettings.Instance.ActiveValue(settingData.SlicerConfigName); FlowLayoutWidget totalContent = new FlowLayoutWidget(); StyledDropDownList selectableOptions = new StyledDropDownList("Custom", maxHeight: 200); @@ -1372,7 +1372,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration foreach (QuickMenuNameValue nameValue in settingData.QuickMenuSettings) { string localName = nameValue.MenuName; - string newSliceSettingValue = ActiveSliceSettings.Instance.GetActiveValue(settingData.SlicerConfigName); + string newSliceSettingValue = ActiveSliceSettings.Instance.ActiveValue(settingData.SlicerConfigName); if (newSliceSettingValue == nameValue.Value) { selectableOptions.SelectedLabel = localName; @@ -1392,7 +1392,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration private void SaveCommaSeparatedIndexSetting(int extruderIndexLocal, string slicerConfigName, string newSingleValue) { - string[] settings = ActiveSliceSettings.Instance.GetActiveValue(slicerConfigName).Split(','); + string[] settings = ActiveSliceSettings.Instance.ActiveValue(slicerConfigName).Split(','); if (settings.Length > extruderIndexLocal) { settings[extruderIndexLocal] = newSingleValue; diff --git a/SlicerConfiguration/SlicerMapping/EngineMappingCura.cs b/SlicerConfiguration/SlicerMapping/EngineMappingCura.cs index b55d53dce..0cfe182c0 100644 --- a/SlicerConfiguration/SlicerMapping/EngineMappingCura.cs +++ b/SlicerConfiguration/SlicerMapping/EngineMappingCura.cs @@ -229,7 +229,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { get { - Vector2 PrinteCenter = ActiveSliceSettings.Instance.PrintCenter; + Vector2 PrinteCenter = ActiveSliceSettings.Instance.PrintCenter(); return (PrinteCenter.x * 1000).ToString(); } } @@ -246,7 +246,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { get { - Vector2 PrinteCenter = ActiveSliceSettings.Instance.PrintCenter; + Vector2 PrinteCenter = ActiveSliceSettings.Instance.PrintCenter(); return (PrinteCenter.y * 1000).ToString(); } } @@ -288,8 +288,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { double lengthToExtrudeMm = ParseDouble(base.Value); // we need to convert mm of filament to mm of extrusion path - double amountOfFilamentCubicMms = ActiveSliceSettings.Instance.FilamentDiameter * MathHelper.Tau * lengthToExtrudeMm; - double extrusionSquareSize = ActiveSliceSettings.Instance.FirstLayerHeight * ActiveSliceSettings.Instance.NozzleDiameter; + double amountOfFilamentCubicMms = ActiveSliceSettings.Instance.FilamentDiameter() * MathHelper.Tau * lengthToExtrudeMm; + double extrusionSquareSize = ActiveSliceSettings.Instance.FirstLayerHeight() * ActiveSliceSettings.Instance.NozzleDiameter(); double lineLength = amountOfFilamentCubicMms / extrusionSquareSize; return (lineLength * 1000).ToString(); diff --git a/SlicerConfiguration/SlicerMapping/EngineMappingMatterSlice.cs b/SlicerConfiguration/SlicerMapping/EngineMappingMatterSlice.cs index 7ede794f7..68dd568ac 100644 --- a/SlicerConfiguration/SlicerMapping/EngineMappingMatterSlice.cs +++ b/SlicerConfiguration/SlicerMapping/EngineMappingMatterSlice.cs @@ -224,7 +224,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { get { - double nozzleDiameter = ActiveSliceSettings.Instance.NozzleDiameter; + double nozzleDiameter = ActiveSliceSettings.Instance.NozzleDiameter(); string extrusionWidth = base.Value; @@ -309,7 +309,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { get { - Vector2 PrinteCenter = ActiveSliceSettings.Instance.PrintCenter; + Vector2 PrinteCenter = ActiveSliceSettings.Instance.PrintCenter(); return "[{0},{1}]".FormatWith(PrinteCenter.x, PrinteCenter.y); } @@ -329,8 +329,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { double lengthToExtrudeMm = ParseDouble(base.Value); // we need to convert mm of filament to mm of extrusion path - double amountOfFilamentCubicMms = ActiveSliceSettings.Instance.FilamentDiameter * MathHelper.Tau * lengthToExtrudeMm; - double extrusionSquareSize = ActiveSliceSettings.Instance.FirstLayerHeight * ActiveSliceSettings.Instance.NozzleDiameter; + double amountOfFilamentCubicMms = ActiveSliceSettings.Instance.FilamentDiameter() * MathHelper.Tau * lengthToExtrudeMm; + double extrusionSquareSize = ActiveSliceSettings.Instance.FirstLayerHeight() * ActiveSliceSettings.Instance.NozzleDiameter(); double lineLength = amountOfFilamentCubicMms / extrusionSquareSize; return lineLength.ToString(); diff --git a/SlicerConfiguration/SlicerMapping/MappingClasses.cs b/SlicerConfiguration/SlicerMapping/MappingClasses.cs index c207f15ee..eae138edc 100644 --- a/SlicerConfiguration/SlicerMapping/MappingClasses.cs +++ b/SlicerConfiguration/SlicerMapping/MappingClasses.cs @@ -41,12 +41,12 @@ namespace MatterHackers.MatterControl.SlicerConfiguration // do the replacement with {} (curly brackets) { string thingToReplace = "{" + "{0}".FormatWith(keyValue.Key) + "}"; - gcodeWithMacros = gcodeWithMacros.Replace(thingToReplace, ActiveSliceSettings.Instance.GetActiveValue(keyValue.Value)); + gcodeWithMacros = gcodeWithMacros.Replace(thingToReplace, ActiveSliceSettings.Instance.ActiveValue(keyValue.Value)); } // do the replacement with [] (square brackets) Slic3r uses only square brackets { string thingToReplace = "[" + "{0}".FormatWith(keyValue.Key) + "]"; - gcodeWithMacros = gcodeWithMacros.Replace(thingToReplace, ActiveSliceSettings.Instance.GetActiveValue(keyValue.Value)); + gcodeWithMacros = gcodeWithMacros.Replace(thingToReplace, ActiveSliceSettings.Instance.ActiveValue(keyValue.Value)); } } @@ -76,14 +76,14 @@ namespace MatterHackers.MatterControl.SlicerConfiguration public double ParseDoubleFromRawValue(string canonicalSettingsName, double valueOnError = 0) { - return ParseDouble(ActiveSliceSettings.Instance.GetActiveValue(canonicalSettingsName), valueOnError); + return ParseDouble(ActiveSliceSettings.Instance.ActiveValue(canonicalSettingsName), valueOnError); } public string ExportedName { get; } public string CanonicalSettingsName { get; } - public virtual string Value => ActiveSliceSettings.Instance.GetActiveValue(CanonicalSettingsName); + public virtual string Value => ActiveSliceSettings.Instance.ActiveValue(CanonicalSettingsName); } public class MapFirstValue : MappedSetting @@ -161,21 +161,21 @@ namespace MatterHackers.MatterControl.SlicerConfiguration public List PreStartGCode(List extrudersUsed) { - string startGCode = ActiveSliceSettings.Instance.GetActiveValue("start_gcode"); + string startGCode = ActiveSliceSettings.Instance.ActiveValue("start_gcode"); string[] preStartGCodeLines = startGCode.Split(new string[] { "\\n" }, StringSplitOptions.RemoveEmptyEntries); List preStartGCode = new List(); preStartGCode.Add("; automatic settings before start_gcode"); AddDefaultIfNotPresent(preStartGCode, "G21", preStartGCodeLines, "set units to millimeters"); AddDefaultIfNotPresent(preStartGCode, "M107", preStartGCodeLines, "fan off"); - double bed_temperature = ActiveSliceSettings.Instance.BedTemperature; + double bed_temperature = ActiveSliceSettings.Instance.BedTemperature(); if (bed_temperature > 0) { string setBedTempString = string.Format("M190 S{0}", bed_temperature); AddDefaultIfNotPresent(preStartGCode, setBedTempString, preStartGCodeLines, "wait for bed temperature to be reached"); } - int numberOfHeatedExtruders = ActiveSliceSettings.Instance.ExtruderCount; + int numberOfHeatedExtruders = ActiveSliceSettings.Instance.ExtruderCount(); // Start heating all the extruder that we are going to use. for (int extruderIndex0Based = 0; extruderIndex0Based < numberOfHeatedExtruders; extruderIndex0Based++) @@ -183,7 +183,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration if (extrudersUsed.Count > extruderIndex0Based && extrudersUsed[extruderIndex0Based]) { - string materialTemperature = ActiveSliceSettings.Instance.GetExtruderTemperature(extruderIndex0Based); + string materialTemperature = ActiveSliceSettings.Instance.ExtruderTemperature(extruderIndex0Based); if (!string.IsNullOrEmpty(materialTemperature) && materialTemperature != "0") { string setTempString = "M104 T{0} S{1}".FormatWith(extruderIndex0Based, materialTemperature); @@ -193,14 +193,14 @@ namespace MatterHackers.MatterControl.SlicerConfiguration } // If we need to wait for the heaters to heat up before homing then set them to M109 (heat and wait). - if (ActiveSliceSettings.Instance.GetActiveValue("heat_extruder_before_homing") == "1") + if (ActiveSliceSettings.Instance.ActiveValue("heat_extruder_before_homing") == "1") { for (int extruderIndex0Based = 0; extruderIndex0Based < numberOfHeatedExtruders; extruderIndex0Based++) { if (extrudersUsed.Count > extruderIndex0Based && extrudersUsed[extruderIndex0Based]) { - string materialTemperature = ActiveSliceSettings.Instance.GetExtruderTemperature(extruderIndex0Based); + string materialTemperature = ActiveSliceSettings.Instance.ExtruderTemperature(extruderIndex0Based); if (!string.IsNullOrEmpty(materialTemperature) && materialTemperature != "0") { string setTempString = "M109 T{0} S{1}".FormatWith(extruderIndex0Based, materialTemperature); @@ -232,23 +232,23 @@ namespace MatterHackers.MatterControl.SlicerConfiguration public List PostStartGCode(List extrudersUsed) { - string startGCode = ActiveSliceSettings.Instance.GetActiveValue("start_gcode"); + string startGCode = ActiveSliceSettings.Instance.ActiveValue("start_gcode"); string[] postStartGCodeLines = startGCode.Split(new string[] { "\\n" }, StringSplitOptions.RemoveEmptyEntries); List postStartGCode = new List(); postStartGCode.Add("; automatic settings after start_gcode"); - int numberOfHeatedExtruders = ActiveSliceSettings.Instance.ExtruderCount; + int numberOfHeatedExtruders = ActiveSliceSettings.Instance.ExtruderCount(); // don't set the extruders to heating if we already waited for them to reach temp - if (ActiveSliceSettings.Instance.GetActiveValue("heat_extruder_before_homing") != "1") + if (ActiveSliceSettings.Instance.ActiveValue("heat_extruder_before_homing") != "1") { for (int extruderIndex0Based = 0; extruderIndex0Based < numberOfHeatedExtruders; extruderIndex0Based++) { if (extrudersUsed.Count > extruderIndex0Based && extrudersUsed[extruderIndex0Based]) { - string materialTemperature = ActiveSliceSettings.Instance.GetExtruderTemperature(extruderIndex0Based); + string materialTemperature = ActiveSliceSettings.Instance.ExtruderTemperature(extruderIndex0Based); if (!string.IsNullOrEmpty(materialTemperature) && materialTemperature != "0") { string setTempString = "M109 T{0} S{1}".FormatWith(extruderIndex0Based, materialTemperature); @@ -350,7 +350,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration if (base.Value.Contains("mm")) { string withoutMm = base.Value.Replace("mm", ""); - string distanceString = ActiveSliceSettings.Instance.GetActiveValue(keyToUseAsDenominatorForCount); + string distanceString = ActiveSliceSettings.Instance.ActiveValue(keyToUseAsDenominatorForCount); double denominator = ParseDouble(distanceString, 1); int layers = (int)(ParseDouble(withoutMm) / denominator + .5); return layers.ToString(); @@ -382,7 +382,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { string withoutPercent = base.Value.Replace("%", ""); double ratio = ParseDouble(withoutPercent) / 100.0; - string originalReferenceString = ActiveSliceSettings.Instance.GetActiveValue(originalReference); + string originalReferenceString = ActiveSliceSettings.Instance.ActiveValue(originalReference); double valueToModify = ParseDouble(originalReferenceString); finalValue = valueToModify * ratio; } @@ -393,7 +393,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration if (finalValue == 0) { - finalValue = ParseDouble(ActiveSliceSettings.Instance.GetActiveValue(originalReference)); + finalValue = ParseDouble(ActiveSliceSettings.Instance.ActiveValue(originalReference)); } finalValue *= scale; diff --git a/SlicerConfiguration/SlicingQueue.cs b/SlicerConfiguration/SlicingQueue.cs index 3c5838ea0..e22aca131 100644 --- a/SlicerConfiguration/SlicingQueue.cs +++ b/SlicerConfiguration/SlicingQueue.cs @@ -168,28 +168,28 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { extrudersUsed.Clear(); - int extruderCount = ActiveSliceSettings.Instance.ExtruderCount; + int extruderCount = ActiveSliceSettings.Instance.ExtruderCount(); for (int extruderIndex = 0; extruderIndex < extruderCount; extruderIndex++) { extrudersUsed.Add(false); } // If we have support enabled and are using an extruder other than 0 for it - if (ActiveSliceSettings.Instance.SupportEnabled) + if (ActiveSliceSettings.Instance.SupportEnabled()) { - if (ActiveSliceSettings.Instance.SupportExtruder != 0) + if (ActiveSliceSettings.Instance.SupportExtruder() != 0) { - int supportExtruder = Math.Max(0, Math.Min(ActiveSliceSettings.Instance.ExtruderCount - 1, ActiveSliceSettings.Instance.SupportExtruder - 1)); + int supportExtruder = Math.Max(0, Math.Min(ActiveSliceSettings.Instance.ExtruderCount() - 1, ActiveSliceSettings.Instance.SupportExtruder() - 1)); extrudersUsed[supportExtruder] = true; } } // If we have raft enabled and are using an extruder other than 0 for it - if (ActiveSliceSettings.Instance.RaftEnabled) + if (ActiveSliceSettings.Instance.RaftEnabled()) { - if (ActiveSliceSettings.Instance.RaftExtruder != 0) + if (ActiveSliceSettings.Instance.RaftExtruder() != 0) { - int raftExtruder = Math.Max(0, Math.Min(ActiveSliceSettings.Instance.ExtruderCount - 1, ActiveSliceSettings.Instance.RaftExtruder - 1)); + int raftExtruder = Math.Max(0, Math.Min(ActiveSliceSettings.Instance.ExtruderCount() - 1, ActiveSliceSettings.Instance.RaftExtruder() - 1)); extrudersUsed[raftExtruder] = true; } } diff --git a/StaticData/Translations/Master.txt b/StaticData/Translations/Master.txt index 009f95961..48ae50243 100644 --- a/StaticData/Translations/Master.txt +++ b/StaticData/Translations/Master.txt @@ -4747,3 +4747,24 @@ Translated:Add a new Settings Preset English:Import an existing Settings Preset Translated:Import an existing Settings Preset +English:The serial port communication speed of the printers firmware. +Translated:The serial port communication speed of the printers firmware. + +English:Home Z Max +Translated:Home Z Max + +English:Resume Layer Speed +Translated:Resume Layer Speed + +English:XY Resume Position +Translated:XY Resume Position + +English:Resume Print +Translated:Resume Print + +English:It appears your last print failed to complete.\n\nWould your like to attempt to resume from the last know position? +Translated:It appears your last print failed to complete.\n\nWould your like to attempt to resume from the last know position? + +English:Resume Last Print +Translated:Resume Last Print + diff --git a/TextCreator/TextCreatorMainWindow.cs b/TextCreator/TextCreatorMainWindow.cs index 472a9e058..653940299 100644 --- a/TextCreator/TextCreatorMainWindow.cs +++ b/TextCreator/TextCreatorMainWindow.cs @@ -44,12 +44,12 @@ namespace MatterHackers.MatterControl.Plugins.TextCreator BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor; - double buildHeight = ActiveSliceSettings.Instance.BuildHeight; + double buildHeight = ActiveSliceSettings.Instance.BuildHeight(); part3DView = new View3DTextCreator( - new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight), - ActiveSliceSettings.Instance.BedCenter, - ActiveSliceSettings.Instance.BedShape); + new Vector3(ActiveSliceSettings.Instance.BedSize(), buildHeight), + ActiveSliceSettings.Instance.BedCenter(), + ActiveSliceSettings.Instance.BedShape()); #if __ANDROID__ this.AddChild(new SoftKeyboardContentOffset(part3DView));