diff --git a/ActionBar/PrintStatusRow.cs b/ActionBar/PrintStatusRow.cs index 37abf5d84..9b1ea9d30 100644 --- a/ActionBar/PrintStatusRow.cs +++ b/ActionBar/PrintStatusRow.cs @@ -178,7 +178,7 @@ namespace MatterHackers.MatterControl.ActionBar temperatureWidgets.AddChild(extruderTemperatureWidget); bedTemperatureWidget = new TemperatureWidgetBed(); - if (ActiveSliceSettings.Instance.GetValue("has_heated_bed")) + if (ActiveSliceSettings.Instance.GetValue(SettingsKey.has_heated_bed)) { temperatureWidgets.AddChild(bedTemperatureWidget); } @@ -802,7 +802,7 @@ namespace MatterHackers.MatterControl.ActionBar { if (ActiveSliceSettings.Instance != null) { - if (ActiveSliceSettings.Instance.GetValue("has_heated_bed")) + if (ActiveSliceSettings.Instance.GetValue(SettingsKey.has_heated_bed)) { bedTemperatureWidget.Visible = true; } diff --git a/BrailleBuilder/BrailleBuilderMainWindow.cs b/BrailleBuilder/BrailleBuilderMainWindow.cs index 7c54b806c..1e530279e 100644 --- a/BrailleBuilder/BrailleBuilderMainWindow.cs +++ b/BrailleBuilder/BrailleBuilderMainWindow.cs @@ -45,11 +45,11 @@ namespace MatterHackers.MatterControl.Plugins.BrailleBuilder BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor; - double buildHeight = ActiveSliceSettings.Instance.GetValue("build_height"); + double buildHeight = ActiveSliceSettings.Instance.GetValue(SettingsKey.build_height); part3DView = new View3DBrailleBuilder( new Vector3(ActiveSliceSettings.Instance.GetValue(SettingsKey.bed_size), buildHeight), - ActiveSliceSettings.Instance.GetValue("print_center"), + ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center), ActiveSliceSettings.Instance.GetValue(SettingsKey.bed_shape)); #if __ANDROID__ diff --git a/ConfigurationPage/PrintLeveling/LevelWizard13PointRadial.cs b/ConfigurationPage/PrintLeveling/LevelWizard13PointRadial.cs index d80710e1d..e984bea86 100644 --- a/ConfigurationPage/PrintLeveling/LevelWizard13PointRadial.cs +++ b/ConfigurationPage/PrintLeveling/LevelWizard13PointRadial.cs @@ -57,7 +57,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling && lineBeingSent.Length > 2 && lineBeingSent[2] == ' ') { - return GetLevelingFunctions(numberOfRadialSamples, settings.GetPrintLevelingData(), ActiveSliceSettings.Instance.GetValue("print_center")) + return GetLevelingFunctions(numberOfRadialSamples, settings.GetPrintLevelingData(), ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center)) .DoApplyLeveling(lineBeingSent, currentDestination, movementMode); } @@ -67,7 +67,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling public override Vector2 GetPrintLevelPositionToSample(int index, double radius) { PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData(); - return GetLevelingFunctions(numberOfRadialSamples, levelingData, ActiveSliceSettings.Instance.GetValue("print_center")) + return GetLevelingFunctions(numberOfRadialSamples, levelingData, ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center)) .GetPrintLevelPositionToSample(index, radius); } diff --git a/ConfigurationPage/PrintLeveling/LevelWizard7PointRadial.cs b/ConfigurationPage/PrintLeveling/LevelWizard7PointRadial.cs index 1cffea9d7..ff529340f 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.GetValue("print_center"); + Vector2 bedCenter = ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center); if (index < NumberOfRadialSamples) { Vector2 position = new Vector2(radius, 0); @@ -267,7 +267,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling && lineBeingSent[2] == ' ') { PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData(); - return GetLevelingFunctions(numberOfRadialSamples, levelingData, ActiveSliceSettings.Instance.GetValue("print_center")) + return GetLevelingFunctions(numberOfRadialSamples, levelingData, ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center)) .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.GetPrintLevelingData(); - return GetLevelingFunctions(numberOfRadialSamples, levelingData, ActiveSliceSettings.Instance.GetValue("print_center")) + return GetLevelingFunctions(numberOfRadialSamples, levelingData, ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center)) .GetPrintLevelPositionToSample(index, radius); } diff --git a/ConfigurationPage/PrintLeveling/LevelWizardBase.cs b/ConfigurationPage/PrintLeveling/LevelWizardBase.cs index f04472c39..40d4a66c7 100644 --- a/ConfigurationPage/PrintLeveling/LevelWizardBase.cs +++ b/ConfigurationPage/PrintLeveling/LevelWizardBase.cs @@ -81,7 +81,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling public static Vector2 GetPrintLevelPositionToSample(int index) { Vector2 bedSize = ActiveSliceSettings.Instance.GetValue(SettingsKey.bed_size); - Vector2 printCenter = ActiveSliceSettings.Instance.GetValue("print_center"); + Vector2 printCenter = ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center); switch (ActiveSliceSettings.Instance.GetValue(SettingsKey.bed_shape)) { diff --git a/PartPreviewWindow/BaseClasses/PartPreview3DWidget.cs b/PartPreviewWindow/BaseClasses/PartPreview3DWidget.cs index bb7c4bff4..edb9681f5 100644 --- a/PartPreviewWindow/BaseClasses/PartPreview3DWidget.cs +++ b/PartPreviewWindow/BaseClasses/PartPreview3DWidget.cs @@ -77,11 +77,11 @@ namespace MatterHackers.MatterControl.PartPreviewWindow StringEventArgs stringEvent = e as StringEventArgs; if (stringEvent != null) { - if (stringEvent.Data == "bed_size" - || stringEvent.Data == "print_center" - || stringEvent.Data == "build_height" - || stringEvent.Data == "bed_shape" - || stringEvent.Data == "center_part_on_bed") + if (stringEvent.Data == SettingsKey.bed_size + || stringEvent.Data == SettingsKey.print_center + || stringEvent.Data == SettingsKey.build_height + || stringEvent.Data == SettingsKey.bed_shape + || stringEvent.Data == SettingsKey.center_part_on_bed) { needToRecretaeBed = true; } @@ -90,13 +90,13 @@ namespace MatterHackers.MatterControl.PartPreviewWindow private void RecreateBed() { - double buildHeight = ActiveSliceSettings.Instance.GetValue("build_height"); + double buildHeight = ActiveSliceSettings.Instance.GetValue(SettingsKey.build_height); UiThread.RunOnIdle((Action)(() => { meshViewerWidget.CreatePrintBed( - new Vector3(ActiveSliceSettings.Instance.GetValue("bed_size"), buildHeight), - ActiveSliceSettings.Instance.GetValue("print_center"), + new Vector3(ActiveSliceSettings.Instance.GetValue(SettingsKey.bed_size), buildHeight), + ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center), ActiveSliceSettings.Instance.GetValue(SettingsKey.bed_shape)); PutOemImageOnBed(); })); diff --git a/PartPreviewWindow/PartPreviewContent.cs b/PartPreviewWindow/PartPreviewContent.cs index a4d969c14..3b4275cb7 100644 --- a/PartPreviewWindow/PartPreviewContent.cs +++ b/PartPreviewWindow/PartPreviewContent.cs @@ -96,12 +96,12 @@ namespace MatterHackers.MatterControl.PartPreviewWindow selectedTabColor = ActiveTheme.Instance.SecondaryAccentColor; } - double buildHeight = ActiveSliceSettings.Instance.GetValue("build_height"); + double buildHeight = ActiveSliceSettings.Instance.GetValue(SettingsKey.build_height); // put in the 3D view partPreviewView = new View3DWidget(printItem, new Vector3(ActiveSliceSettings.Instance.GetValue(SettingsKey.bed_size), buildHeight), - ActiveSliceSettings.Instance.GetValue("print_center"), + ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center), ActiveSliceSettings.Instance.GetValue(SettingsKey.bed_shape), windowMode, autoRotate3DView, @@ -118,7 +118,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow viewGcodeBasic = new ViewGcodeBasic(printItem, new Vector3(ActiveSliceSettings.Instance.GetValue(SettingsKey.bed_size), buildHeight), - ActiveSliceSettings.Instance.GetValue("print_center"), + ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center), ActiveSliceSettings.Instance.GetValue(SettingsKey.bed_shape), gcodeWindowMode); if (windowMode == View3DWidget.WindowMode.StandAlone) diff --git a/PartPreviewWindow/View3D/View3DAutoArange.cs b/PartPreviewWindow/View3D/View3DAutoArange.cs index 289ffa0a1..a97dbd454 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.GetValue("print_center"), 0)); + asyncMeshGroupTransforms[i] *= Matrix4X4.CreateTranslation(new Vector3(ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center), 0)); } PartHasBeenChanged(); diff --git a/PartPreviewWindow/View3D/View3DWidget.cs b/PartPreviewWindow/View3D/View3DWidget.cs index 1b5c2740a..af34eead6 100644 --- a/PartPreviewWindow/View3D/View3DWidget.cs +++ b/PartPreviewWindow/View3D/View3DWidget.cs @@ -1321,10 +1321,10 @@ namespace MatterHackers.MatterControl.PartPreviewWindow Vector2 bedCenter = new Vector2(); MeshViewerWidget.CenterPartAfterLoad doCentering = MeshViewerWidget.CenterPartAfterLoad.DONT; - if (ActiveSliceSettings.Instance?.GetValue("center_part_on_bed") == true) + if (ActiveSliceSettings.Instance?.GetValue(SettingsKey.center_part_on_bed) == true) { doCentering = MeshViewerWidget.CenterPartAfterLoad.DO; - bedCenter = ActiveSliceSettings.Instance.GetValue("print_center"); + bedCenter = ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center); } meshViewerWidget.LoadMesh(printItemWrapper.FileLocation, doCentering, bedCenter); @@ -2106,12 +2106,12 @@ namespace MatterHackers.MatterControl.PartPreviewWindow private bool PartsAreInPrintVolume() { - if (ActiveSliceSettings.Instance?.GetValue("center_part_on_bed") == true) + if (ActiveSliceSettings.Instance?.GetValue(SettingsKey.center_part_on_bed) == true) { 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.GetValue(SettingsKey.bed_size).x, ActiveSliceSettings.Instance.GetValue(SettingsKey.bed_size).y); - bedRect.Offset(ActiveSliceSettings.Instance.GetValue("print_center") - ActiveSliceSettings.Instance.GetValue(SettingsKey.bed_size) / 2); + bedRect.Offset(ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center) - ActiveSliceSettings.Instance.GetValue(SettingsKey.bed_size) / 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 73caf6045..1364b3c47 100644 --- a/PartPreviewWindow/ViewGcodeBasic.cs +++ b/PartPreviewWindow/ViewGcodeBasic.cs @@ -120,17 +120,17 @@ namespace MatterHackers.MatterControl.PartPreviewWindow StringEventArgs stringEvent = e as StringEventArgs; if (stringEvent != null) { - if (stringEvent.Data == "bed_size" - || stringEvent.Data == "print_center" - || stringEvent.Data == "build_height" - || stringEvent.Data == "bed_shape" - || stringEvent.Data == "center_part_on_bed") + if (stringEvent.Data == SettingsKey.bed_size + || stringEvent.Data == SettingsKey.print_center + || stringEvent.Data == SettingsKey.build_height + || stringEvent.Data == SettingsKey.bed_shape + || stringEvent.Data == SettingsKey.center_part_on_bed) { - viewerVolume = new Vector3(ActiveSliceSettings.Instance.GetValue(SettingsKey.bed_size), ActiveSliceSettings.Instance.GetValue("build_height")); + viewerVolume = new Vector3(ActiveSliceSettings.Instance.GetValue(SettingsKey.bed_size), ActiveSliceSettings.Instance.GetValue(SettingsKey.build_height)); bedShape = ActiveSliceSettings.Instance.GetValue(SettingsKey.bed_shape); - bedCenter = ActiveSliceSettings.Instance.GetValue("print_center"); + bedCenter = ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center); - double buildHeight = ActiveSliceSettings.Instance.GetValue("build_height"); + double buildHeight = ActiveSliceSettings.Instance.GetValue(SettingsKey.build_height); UiThread.RunOnIdle(() => { diff --git a/PrinterControls/ControlWidgets/TemperatureControls.cs b/PrinterControls/ControlWidgets/TemperatureControls.cs index bda4a1c04..27d6879ae 100644 --- a/PrinterControls/ControlWidgets/TemperatureControls.cs +++ b/PrinterControls/ControlWidgets/TemperatureControls.cs @@ -48,7 +48,7 @@ namespace MatterHackers.MatterControl.PrinterControls BedTemperatureControlWidget = new DisableableWidget(); BedTemperatureControlWidget.AddChild(new BedTemperatureControlWidget()); - if (ActiveSliceSettings.Instance.GetValue("has_heated_bed")) + if (ActiveSliceSettings.Instance.GetValue(SettingsKey.has_heated_bed)) { mainContainer.AddChild(BedTemperatureControlWidget); } diff --git a/SetupWizard/ImportSettingsPage.cs b/SetupWizard/ImportSettingsPage.cs index d332022ad..58e580834 100644 --- a/SetupWizard/ImportSettingsPage.cs +++ b/SetupWizard/ImportSettingsPage.cs @@ -390,7 +390,7 @@ namespace MatterHackers.MatterControl var settingsToImport = PrinterSettingsLayer.LoadFromIni(settingsFilePath); string layerHeight; - bool isSlic3r = importType == ".slice" || settingsToImport.TryGetValue("layer_height", out layerHeight); + bool isSlic3r = importType == ".slice" || settingsToImport.TryGetValue(SettingsKey.layer_height, out layerHeight); if (isSlic3r) { var newLayer = new PrinterSettingsLayer(); @@ -457,7 +457,7 @@ namespace MatterHackers.MatterControl var settingsToImport = PrinterSettingsLayer.LoadFromIni(settingsFilePath); string layerHeight; - bool isSlic3r = settingsToImport.TryGetValue("layer_height", out layerHeight); + bool isSlic3r = settingsToImport.TryGetValue(SettingsKey.layer_height, out layerHeight); if (isSlic3r) { var activeSettings = ActiveSliceSettings.Instance; diff --git a/SlicerConfiguration/Settings/SettingsProfile.cs b/SlicerConfiguration/Settings/SettingsProfile.cs index 8c505d7a1..c7e32972e 100644 --- a/SlicerConfiguration/Settings/SettingsProfile.cs +++ b/SlicerConfiguration/Settings/SettingsProfile.cs @@ -55,15 +55,20 @@ namespace MatterHackers.MatterControl.SlicerConfiguration public const string bed_shape = nameof(bed_shape); public const string bed_size = nameof(bed_size); public const string bed_temperature = nameof(bed_temperature); - public const string has_heated_bed = nameof(has_heated_bed); - public const string resume_position_before_z_home = nameof(resume_position_before_z_home); - public const string z_homes_to_max = nameof(z_homes_to_max); - public const string nozzle_diameter = nameof(nozzle_diameter); - public const string printer_name = nameof(printer_name); - public const string min_fan_speed = nameof(min_fan_speed); + public const string build_height = nameof(build_height); + public const string center_part_on_bed = nameof(center_part_on_bed); public const string extruder_count = nameof(extruder_count); public const string extruders_share_temperature = nameof(extruders_share_temperature); public const string fill_density = nameof(fill_density); + public const string first_layer_height = nameof(first_layer_height); + public const string has_heated_bed = nameof(has_heated_bed); + public const string layer_height = nameof(layer_height); + public const string min_fan_speed = nameof(min_fan_speed); + public const string nozzle_diameter = nameof(nozzle_diameter); + public const string print_center = nameof(print_center); + public const string printer_name = nameof(printer_name); + public const string resume_position_before_z_home = nameof(resume_position_before_z_home); + public const string z_homes_to_max = nameof(z_homes_to_max); }; public class SettingsProfile @@ -322,7 +327,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration printLevelingData.SampledPosition0, printLevelingData.SampledPosition1, printLevelingData.SampledPosition2, - ActiveSliceSettings.Instance.GetValue("print_center")); + ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center)); } return printLevelingData; @@ -354,7 +359,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration levelingData.SampledPosition0, levelingData.SampledPosition1, levelingData.SampledPosition2, - ActiveSliceSettings.Instance.GetValue("print_center")); + ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center)); } } @@ -438,20 +443,20 @@ namespace MatterHackers.MatterControl.SlicerConfiguration string onlyNumber = settingsStringh.Replace("%", ""); double ratio = ParseDouble(onlyNumber) / 100; - if (settingsKey == "first_layer_height") + if (settingsKey == SettingsKey.first_layer_height) { - return (T)(object)(GetValue("layer_height") * ratio); + return (T)(object)(GetValue(SettingsKey.layer_height) * ratio); } else if (settingsKey == "first_layer_extrusion_width") { - return (T)(object)(GetValue("layer_height") * ratio); + return (T)(object)(GetValue(SettingsKey.layer_height) * ratio); } return (T)(object)(ratio); } if (settingsKey == SettingsKey.bed_temperature - && !this.GetValue("has_heated_bed")) + && !this.GetValue(SettingsKey.has_heated_bed)) { return (T)Convert.ChangeType(0, typeof(double)); } @@ -472,7 +477,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration default: #if DEBUG - throw new NotImplementedException(string.Format("'{0}' is not a known bed_shape.", GetValue("bed_shape"))); + throw new NotImplementedException(string.Format("'{0}' is not a known bed_shape.", GetValue(SettingsKey.bed_shape))); #else return (T)(object)BedShape.Rectangular; #endif @@ -574,18 +579,18 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { try { - if (GetValue("layer_height") > GetValue(SettingsKey.nozzle_diameter)) + if (GetValue(SettingsKey.layer_height) > GetValue(SettingsKey.nozzle_diameter)) { 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(), GetValue("layer_height"), GetValue(SettingsKey.nozzle_diameter)); + string details = string.Format("Layer Height = {0}\nNozzle Diameter = {1}".Localize(), GetValue(SettingsKey.layer_height), GetValue(SettingsKey.nozzle_diameter)); 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 (GetValue("first_layer_height") > GetValue(SettingsKey.nozzle_diameter)) + else if (GetValue(SettingsKey.first_layer_height) > GetValue(SettingsKey.nozzle_diameter)) { 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(), GetValue("first_layer_height"), GetValue(SettingsKey.nozzle_diameter)); + string details = string.Format("First Layer Height = {0}\nNozzle Diameter = {1}".Localize(), GetValue(SettingsKey.first_layer_height), GetValue(SettingsKey.nozzle_diameter)); 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; diff --git a/SlicerConfiguration/SliceSettingsOrganizer.cs b/SlicerConfiguration/SliceSettingsOrganizer.cs index a312c1953..1ef08c59f 100644 --- a/SlicerConfiguration/SliceSettingsOrganizer.cs +++ b/SlicerConfiguration/SliceSettingsOrganizer.cs @@ -71,6 +71,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration public string DefaultValue { get; set; } + public bool ReloadUiWhenChanged { get; set; } + static public SliceSettingData NewOrganizerSettingData(string slicerConfigName, string presentationName, SliceSettingData.DataEditTypes dataEditType, string extraSettings = "", string helpText = "") { return new SliceSettingData(slicerConfigName, presentationName, dataEditType, extraSettings, helpText); diff --git a/SlicerConfiguration/SliceSettingsWidget.cs b/SlicerConfiguration/SliceSettingsWidget.cs index 1244000d2..ef0b79ad3 100644 --- a/SlicerConfiguration/SliceSettingsWidget.cs +++ b/SlicerConfiguration/SliceSettingsWidget.cs @@ -68,20 +68,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration public class SliceSettingsWidget : GuiWidget { - private static List settingToReloadUiWhenChanged = new List() - { - "extruder_count", - "extruders_share_temperature", - "has_fan", - "has_heated_bed", - "has_sd_card_reader", - "center_part_on_bed", - "has_hardware_leveling", - "include_firmware_updater", - "print_leveling_required_to_print", - "show_reset_connection", - }; - private TextImageButtonFactory buttonFactory = new TextImageButtonFactory(); private SliceSettingsDetailControl sliceSettingsDetailControl; @@ -595,7 +581,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { SettingChanged.CallEvents(null, new StringEventArgs(settingData.SlicerConfigName)); - if (settingToReloadUiWhenChanged.Contains(settingData.SlicerConfigName)) + if (settingData.ReloadUiWhenChanged) { ApplicationController.Instance.ReloadAll(null, null); } diff --git a/SlicerConfiguration/SlicerMapping/EngineMapingBase.cs b/SlicerConfiguration/SlicerMapping/EngineMapingBase.cs index 027950531..fea701315 100644 --- a/SlicerConfiguration/SlicerMapping/EngineMapingBase.cs +++ b/SlicerConfiguration/SlicerMapping/EngineMapingBase.cs @@ -42,10 +42,10 @@ namespace MatterHackers.MatterControl.SlicerConfiguration /// protected HashSet applicationLevelSettings = new HashSet() { - "bed_shape", - "bed_size", - "bed_temperature", - "build_height", + SettingsKey.bed_shape, + SettingsKey.bed_size, + SettingsKey.bed_temperature, + SettingsKey.build_height, "cancel_gcode", "connect_gcode", "has_fan", diff --git a/SlicerConfiguration/SlicerMapping/EngineMappingCura.cs b/SlicerConfiguration/SlicerMapping/EngineMappingCura.cs index e2053c21b..a049c2b9a 100644 --- a/SlicerConfiguration/SlicerMapping/EngineMappingCura.cs +++ b/SlicerConfiguration/SlicerMapping/EngineMappingCura.cs @@ -47,15 +47,15 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { curaSettings = new MappedSetting[] { - new ScaledSingleNumber("layer_height", "layerThickness", 1000), - new AsPercentOfReferenceOrDirect("first_layer_height", "initialLayerThickness", "layer_height", 1000), + new ScaledSingleNumber(SettingsKey.layer_height, "layerThickness", 1000), + new AsPercentOfReferenceOrDirect(SettingsKey.first_layer_height, "initialLayerThickness", SettingsKey.layer_height, 1000), new ScaledSingleNumber("filament_diameter", "filamentDiameter", 1000), //filamentFlow //layer0extrusionWidth - new ScaledSingleNumber("nozzle_diameter", "extrusionWidth", 1000), - new AsCountOrDistance("perimeters", "insetCount", "nozzle_diameter"), - new AsCountOrDistance("bottom_solid_layers", "downSkinCount", "layer_height"), - new AsCountOrDistance("top_solid_layers", "upSkinCount", "layer_height"), + new ScaledSingleNumber(SettingsKey.nozzle_diameter, "extrusionWidth", 1000), + new AsCountOrDistance("perimeters", "insetCount", SettingsKey.nozzle_diameter), + new AsCountOrDistance("bottom_solid_layers", "downSkinCount", SettingsKey.layer_height), + new AsCountOrDistance("top_solid_layers", "upSkinCount", SettingsKey.layer_height), new ScaledSingleNumber("skirt_distance", "skirtDistance", 1000), new MappedSetting("skirts", "skirtLineCount"), new SkirtLengthMapping("min_skirt_length", "skirtMinLength"), @@ -84,8 +84,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration new ScaledSingleNumber("retract_lift", "retractionZHop", 1000), new MappedSetting("spiral_vase", "spiralizeMode"), - new PrintCenterX("print_center", "posx"), - new PrintCenterY("print_center", "posy"), + new PrintCenterX(SettingsKey.print_center, "posx"), + new PrintCenterY(SettingsKey.print_center, "posy"), // needs testing, not working new ScaledSingleNumber("support_material_spacing", "supportLineDistance", 1000), @@ -206,7 +206,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration double infillRatio0To1 = ParseDouble(base.Value); // 400 = solid (extruder width) - double nozzle_diameter = ParseDoubleFromRawValue("nozzle_diameter"); + double nozzle_diameter = ParseDoubleFromRawValue(SettingsKey.nozzle_diameter); double linespacing = 1000; if (infillRatio0To1 > .01) { @@ -230,7 +230,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { get { - Vector2 PrinteCenter = ActiveSliceSettings.Instance.GetValue("print_center"); + Vector2 PrinteCenter = ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center); return (PrinteCenter.x * 1000).ToString(); } } @@ -247,7 +247,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { get { - Vector2 PrinteCenter = ActiveSliceSettings.Instance.GetValue("print_center"); + Vector2 PrinteCenter = ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center); return (PrinteCenter.y * 1000).ToString(); } } @@ -290,7 +290,7 @@ 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.GetValue("filament_diameter") * MathHelper.Tau * lengthToExtrudeMm; - double extrusionSquareSize = ActiveSliceSettings.Instance.GetValue("first_layer_height") * ActiveSliceSettings.Instance.GetValue("nozzle_diameter"); + double extrusionSquareSize = ActiveSliceSettings.Instance.GetValue(SettingsKey.first_layer_height) * ActiveSliceSettings.Instance.GetValue(SettingsKey.nozzle_diameter); double lineLength = amountOfFilamentCubicMms / extrusionSquareSize; return (lineLength * 1000).ToString(); diff --git a/SlicerConfiguration/SlicerMapping/EngineMappingMatterSlice.cs b/SlicerConfiguration/SlicerMapping/EngineMappingMatterSlice.cs index 187507aa2..18c0a1c0d 100644 --- a/SlicerConfiguration/SlicerMapping/EngineMappingMatterSlice.cs +++ b/SlicerConfiguration/SlicerMapping/EngineMappingMatterSlice.cs @@ -52,19 +52,19 @@ namespace MatterHackers.MatterControl.SlicerConfiguration new MappedToBoolString("avoid_crossing_perimeters", "avoidCrossingPerimeters"), new MappedToBoolString("external_perimeters_first", "outsidePerimetersFirst"), new MappedSetting("bottom_clip_amount", "bottomClipAmount"), - new MappedToBoolString("center_part_on_bed", "centerObjectInXy"), + new MappedToBoolString(SettingsKey.center_part_on_bed, "centerObjectInXy"), new MappedToBoolString("spiral_vase", "continuousSpiralOuterPerimeter"), new GCodeForSlicer("end_gcode", "endCode"), new MappedSetting("z_offset", "zOffset"), new ExtruderOffsets("extruder_offset", "extruderOffsets"), - new MappedSetting("nozzle_diameter", "extrusionWidth"), + new MappedSetting(SettingsKey.nozzle_diameter, "extrusionWidth"), new MappedSetting("max_fan_speed", "fanSpeedMaxPercent"), new MappedSetting("min_fan_speed", "fanSpeedMinPercent"), new MappedSetting("filament_diameter", "filamentDiameter"), new MappedSetting("extrusion_multiplier", "extrusionMultiplier"), - new AsPercentOfReferenceOrDirect("first_layer_extrusion_width", "firstLayerExtrusionWidth", "nozzle_diameter"), + new AsPercentOfReferenceOrDirect("first_layer_extrusion_width", "firstLayerExtrusionWidth", SettingsKey.nozzle_diameter), new AsPercentOfReferenceOrDirect("first_layer_speed", "firstLayerSpeed", "infill_speed"), - new AsPercentOfReferenceOrDirect("first_layer_height", "firstLayerThickness", "layer_height"), + new AsPercentOfReferenceOrDirect(SettingsKey.first_layer_height, "firstLayerThickness", SettingsKey.layer_height), new MappedSetting("disable_fan_first_layers", "firstLayerToAllowFan"), new MappedToBoolString("support_material_create_internal_support", "generateInternalSupport"), new MappedToBoolString("support_material_create_perimeter", "generateSupportPerimeter"), @@ -83,21 +83,21 @@ namespace MatterHackers.MatterControl.SlicerConfiguration new MappedSetting("fill_angle", "infillStartingAngle"), new MappedToBoolString("wipe", "wipeAfterRetraction"), new MappedSetting("perimeter_speed", "insidePerimetersSpeed"), - new MappedSetting("layer_height", "layerThickness"), + new MappedSetting(SettingsKey.layer_height, "layerThickness"), new MappedSetting("min_extrusion_before_retract", "minimumExtrusionBeforeRetraction"), new MappedSetting("min_print_speed", "minimumPrintingSpeed"), new MappedSetting("slowdown_below_layer_time", "minimumLayerTimeSeconds"), new MapFirstValue("retract_restart_extra", "unretractExtraExtrusion"), new MapFirstValue("retract_before_travel", "minimumTravelToCauseRetraction"), - new AsCountOrDistance("bottom_solid_layers", "numberOfBottomLayers", "layer_height"), + new AsCountOrDistance("bottom_solid_layers", "numberOfBottomLayers", SettingsKey.layer_height), new MappedSetting("skirts", "numberOfSkirtLoops"), new MappedSetting("brims", "numberOfBrimLoops"), - new AsCountOrDistance("top_solid_layers", "numberOfTopLayers", "layer_height"), + new AsCountOrDistance("top_solid_layers", "numberOfTopLayers", SettingsKey.layer_height), new AsPercentOfReferenceOrDirect("top_solid_infill_speed", "topInfillSpeed", "infill_speed"), new AsPercentOfReferenceOrDirect("external_perimeter_speed", "outsidePerimeterSpeed", "perimeter_speed"), - new AsPercentOfReferenceOrDirect("external_perimeter_extrusion_width", "outsidePerimeterExtrusionWidth", "nozzle_diameter"), - new AsCountOrDistance("perimeters", "numberOfPerimeters", "nozzle_diameter"), - new MapPositionToPlaceObjectCenter("print_center", "positionToPlaceObjectCenter"), + new AsPercentOfReferenceOrDirect("external_perimeter_extrusion_width", "outsidePerimeterExtrusionWidth", SettingsKey.nozzle_diameter), + new AsCountOrDistance("perimeters", "numberOfPerimeters", SettingsKey.nozzle_diameter), + new MapPositionToPlaceObjectCenter(SettingsKey.print_center, "positionToPlaceObjectCenter"), // TODO: The raft currently does not handle brim correctly. So it needs to be fixed before it is enabled. new MappedToBoolString("create_raft", "enableRaft"), new MappedSetting("raft_extra_distance_around_part", "raftExtraDistanceAroundPart"), @@ -122,7 +122,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration new MappedSetting("support_material_speed", "supportMaterialSpeed"), new MappedSetting("support_type", "supportType"), new MappedSetting("support_material_xy_distance", "supportXYDistanceFromObject"), - new AsCountOrDistance("support_material_interface_layers", "supportInterfaceLayers", "layer_height"), + new AsCountOrDistance("support_material_interface_layers", "supportInterfaceLayers", SettingsKey.layer_height), new MappedSetting("travel_speed", "travelSpeed"), new MappedSetting("wipe_shield_distance", "wipeShieldDistanceFromObject"), new MappedSetting("wipe_tower_size", "wipeTowerSize"), @@ -225,7 +225,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { get { - double nozzleDiameter = ActiveSliceSettings.Instance.GetValue("nozzle_diameter"); + double nozzleDiameter = ActiveSliceSettings.Instance.GetValue(SettingsKey.nozzle_diameter); string extrusionWidth = base.Value; @@ -277,7 +277,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { double infillRatio0To1 = ParseDouble(base.Value); // 400 = solid (extruder width) - double nozzle_diameter = ParseDoubleFromRawValue("nozzle_diameter"); + double nozzle_diameter = ParseDoubleFromRawValue(SettingsKey.nozzle_diameter); double linespacing = 1000; if (infillRatio0To1 > .01) { @@ -310,7 +310,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { get { - Vector2 PrinteCenter = ActiveSliceSettings.Instance.GetValue("print_center"); + Vector2 PrinteCenter = ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center); return "[{0},{1}]".FormatWith(PrinteCenter.x, PrinteCenter.y); } @@ -331,7 +331,7 @@ 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.GetValue("filament_diameter") * MathHelper.Tau * lengthToExtrudeMm; - double extrusionSquareSize = ActiveSliceSettings.Instance.GetValue("first_layer_height") * ActiveSliceSettings.Instance.GetValue("nozzle_diameter"); + double extrusionSquareSize = ActiveSliceSettings.Instance.GetValue(SettingsKey.first_layer_height) * ActiveSliceSettings.Instance.GetValue(SettingsKey.nozzle_diameter); double lineLength = amountOfFilamentCubicMms / extrusionSquareSize; return lineLength.ToString(); diff --git a/SlicerConfiguration/SlicerMapping/EngineMappingSlic3r.cs b/SlicerConfiguration/SlicerMapping/EngineMappingSlic3r.cs index bb393e8d5..7c655bb91 100644 --- a/SlicerConfiguration/SlicerMapping/EngineMappingSlic3r.cs +++ b/SlicerConfiguration/SlicerMapping/EngineMappingSlic3r.cs @@ -47,7 +47,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration hiddenSettings.Add("min_extrusion_before_retract"); hiddenSettings.Add("support_material_xy_distance"); hiddenSettings.Add("support_material_z_distance"); - hiddenSettings.Add("center_part_on_bed"); + hiddenSettings.Add(SettingsKey.center_part_on_bed); hiddenSettings.Add("infill_overlap_perimeter"); hiddenSettings.Add("support_type"); hiddenSettings.Add("infill_type"); diff --git a/SlicerConfiguration/SlicerMapping/MappingClasses.cs b/SlicerConfiguration/SlicerMapping/MappingClasses.cs index 9eacc0731..e6c1518d7 100644 --- a/SlicerConfiguration/SlicerMapping/MappingClasses.cs +++ b/SlicerConfiguration/SlicerMapping/MappingClasses.cs @@ -12,8 +12,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration // Have a mapping so that MatterSlice while always use a setting that can be set. (the user cannot set first_layer_bedTemperature in MatterSlice) {"first_layer_temperature", "temperature"}, {"temperature","temperature"}, - {"first_layer_bed_temperature","bed_temperature"}, - {"bed_temperature","bed_temperature"}, + {"first_layer_bed_temperature",SettingsKey.bed_temperature}, + {SettingsKey.bed_temperature,SettingsKey.bed_temperature}, {"bed_remove_part_temperature","bed_remove_part_temperature"}, {"extruder_wipe_temperature","extruder_wipe_temperature"}, {"z_offset","z_offset"}, diff --git a/StaticData/SliceSettings/Properties.json b/StaticData/SliceSettings/Properties.json index 483083d3e..d52ccad03 100644 --- a/StaticData/SliceSettings/Properties.json +++ b/StaticData/SliceSettings/Properties.json @@ -192,7 +192,8 @@ "ShowAsOverride": true, "ShowIfSet": null, "ResetAtEndOfPrint": false, - "DefaultValue": "1" + "DefaultValue": "1", + "ReloadUiWhenChanged": true }, { "QuickMenuSettings": [], @@ -426,7 +427,8 @@ "ShowAsOverride": true, "ShowIfSet": null, "ResetAtEndOfPrint": false, - "DefaultValue": "1" + "DefaultValue": "1", + "ReloadUiWhenChanged": true }, { "QuickMenuSettings": [], @@ -452,7 +454,8 @@ "ShowAsOverride": true, "ShowIfSet": null, "ResetAtEndOfPrint": false, - "DefaultValue": "0" + "DefaultValue": "0", + "ReloadUiWhenChanged": true }, { "QuickMenuSettings": [], @@ -803,7 +806,8 @@ "ShowAsOverride": true, "ShowIfSet": null, "ResetAtEndOfPrint": false, - "DefaultValue": "1" + "DefaultValue": "1", + "ReloadUiWhenChanged": true }, { "QuickMenuSettings": [], @@ -816,7 +820,8 @@ "ShowAsOverride": true, "ShowIfSet": null, "ResetAtEndOfPrint": false, - "DefaultValue": "0" + "DefaultValue": "0", + "ReloadUiWhenChanged": true }, { "QuickMenuSettings": [], @@ -829,7 +834,8 @@ "ShowAsOverride": true, "ShowIfSet": null, "ResetAtEndOfPrint": false, - "DefaultValue": "1" + "DefaultValue": "1", + "ReloadUiWhenChanged": true }, { "QuickMenuSettings": [], @@ -842,7 +848,8 @@ "ShowAsOverride": true, "ShowIfSet": null, "ResetAtEndOfPrint": false, - "DefaultValue": "None" + "DefaultValue": "None", + "ReloadUiWhenChanged": true }, { "QuickMenuSettings": [], @@ -868,7 +875,8 @@ "ShowAsOverride": true, "ShowIfSet": null, "ResetAtEndOfPrint": false, - "DefaultValue": "0" + "DefaultValue": "0", + "ReloadUiWhenChanged": true }, { "QuickMenuSettings": [], @@ -881,7 +889,8 @@ "ShowAsOverride": true, "ShowIfSet": null, "ResetAtEndOfPrint": false, - "DefaultValue": "0" + "DefaultValue": "0", + "ReloadUiWhenChanged": true }, { "QuickMenuSettings": [], @@ -1024,7 +1033,8 @@ "ShowAsOverride": true, "ShowIfSet": "!has_hardware_leveling", "ResetAtEndOfPrint": false, - "DefaultValue": "0" + "DefaultValue": "0", + "ReloadUiWhenChanged": true }, { "QuickMenuSettings": [], diff --git a/Tests/MatterControl.Tests/MatterControl/ConfigIniTests.cs b/Tests/MatterControl.Tests/MatterControl/ConfigIniTests.cs index 023d7a0af..8567e4255 100644 --- a/Tests/MatterControl.Tests/MatterControl/ConfigIniTests.cs +++ b/Tests/MatterControl.Tests/MatterControl/ConfigIniTests.cs @@ -63,7 +63,7 @@ namespace MatterControl.Tests.MatterControl return; } - string bedSize = settings.LayerCascade.GetValue("bed_size"); + string bedSize = settings.LayerCascade.GetValue(SettingsKey.bed_size); // Must exist in all configs Assert.IsNotNullOrEmpty(bedSize, "[bed_size] must exist: " + settings.RelativeFilePath); @@ -86,7 +86,7 @@ namespace MatterControl.Tests.MatterControl return; } - string printCenter = settings.LayerCascade.GetValue("print_center"); + string printCenter = settings.LayerCascade.GetValue(SettingsKey.print_center); // Must exist in all configs Assert.IsNotNullOrEmpty(printCenter, "[print_center] must exist: " + settings.RelativeFilePath); @@ -246,8 +246,8 @@ namespace MatterControl.Tests.MatterControl return; } - float nozzleDiameter = float.Parse(settings.LayerCascade.GetValue("nozzle_diameter")); - float layerHeight = float.Parse(settings.LayerCascade.GetValue("layer_height")); + float nozzleDiameter = float.Parse(settings.LayerCascade.GetValue(SettingsKey.nozzle_diameter)); + float layerHeight = float.Parse(settings.LayerCascade.GetValue(SettingsKey.layer_height)); float firstLayerExtrusionWidth; @@ -262,7 +262,7 @@ namespace MatterControl.Tests.MatterControl firstLayerExtrusionWidth = nozzleDiameter; } - string firstLayerHeightString = settings.LayerCascade.GetValue("first_layer_height"); + string firstLayerHeightString = settings.LayerCascade.GetValue(SettingsKey.first_layer_height); if (!string.IsNullOrEmpty(firstLayerHeightString)) { float firstLayerHeight = ValueOrPercentageOf(firstLayerHeightString, layerHeight); @@ -292,8 +292,8 @@ namespace MatterControl.Tests.MatterControl return; } - float nozzleDiameter = float.Parse(settings.LayerCascade.GetValue("nozzle_diameter")); - float layerHeight = float.Parse(settings.LayerCascade.GetValue("layer_height")); + float nozzleDiameter = float.Parse(settings.LayerCascade.GetValue(SettingsKey.nozzle_diameter)); + float layerHeight = float.Parse(settings.LayerCascade.GetValue(SettingsKey.layer_height)); double minimumLayerHeight = nozzleDiameter * 0.85; @@ -313,7 +313,7 @@ namespace MatterControl.Tests.MatterControl { ValidateOnAllPrinters((printer, settings) => { - float nozzleDiameter = float.Parse(settings.LayerCascade.GetValue("nozzle_diameter")); + float nozzleDiameter = float.Parse(settings.LayerCascade.GetValue(SettingsKey.nozzle_diameter)); string firstLayerExtrusionWidthString = settings.LayerCascade.GetValue("first_layer_extrusion_width"); if (!string.IsNullOrEmpty(firstLayerExtrusionWidthString)) diff --git a/Tests/MatterControl.Tests/MatterControl/PrinterConfigurationTests.cs b/Tests/MatterControl.Tests/MatterControl/PrinterConfigurationTests.cs index 9fc05ffc1..951446e14 100644 --- a/Tests/MatterControl.Tests/MatterControl/PrinterConfigurationTests.cs +++ b/Tests/MatterControl.Tests/MatterControl/PrinterConfigurationTests.cs @@ -139,7 +139,7 @@ namespace MatterControl.Tests.MatterControl public bool firstLayerHeightLessThanNozzleDiameter(Dictionary currentFile) { - string firstLayerHeight = currentFile["first_layer_height"]; + string firstLayerHeight = currentFile[SettingsKey.first_layer_height]; float convertedFirstLayerHeightValue; if (firstLayerHeight.Contains("%")) @@ -152,7 +152,7 @@ namespace MatterControl.Tests.MatterControl convertedFirstLayerHeightValue = float.Parse(firstLayerHeight); } - string nozzleDiameter = currentFile["nozzle_diameter"]; + string nozzleDiameter = currentFile[SettingsKey.nozzle_diameter]; float convertedNozzleDiameterValue = float.Parse(nozzleDiameter); return convertedFirstLayerHeightValue <= convertedNozzleDiameterValue; @@ -163,7 +163,7 @@ namespace MatterControl.Tests.MatterControl string firstLayerExtrusionWidth = currentFile["first_layer_extrusion_width"]; float convertedFirstLayerExtrusionWidth; - string nozzleDiameter = currentFile["nozzle_diameter"]; + string nozzleDiameter = currentFile[SettingsKey.nozzle_diameter]; float acceptableValue = float.Parse(nozzleDiameter) * 4; if (firstLayerExtrusionWidth.Contains("%")) @@ -199,10 +199,10 @@ namespace MatterControl.Tests.MatterControl public bool layerHeightLessThanNozzleDiameter(Dictionary currentFile) { - string layerHeight = currentFile["layer_height"]; + string layerHeight = currentFile[SettingsKey.layer_height]; float convertedLayerHeight = float.Parse(layerHeight); - string nozzleDiameter = currentFile["nozzle_diameter"]; + string nozzleDiameter = currentFile[SettingsKey.nozzle_diameter]; float convertedNozzleDiameterValue = float.Parse(nozzleDiameter); return convertedLayerHeight <= convertedNozzleDiameterValue; @@ -211,7 +211,7 @@ namespace MatterControl.Tests.MatterControl public bool bedSizeXYSeparatedByComma(Dictionary currentFile) { - string settingValue = currentFile["bed_size"]; + string settingValue = currentFile[SettingsKey.bed_size]; string[] settingValueToTest = settingValue.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); return settingValueToTest.Length == 2; @@ -219,7 +219,7 @@ namespace MatterControl.Tests.MatterControl public bool printCenterFormatSeparatedByComma(Dictionary currentFile) { - string settingValue = currentFile["print_center"]; + string settingValue = currentFile[SettingsKey.print_center]; string[] settingValueToTest = settingValue.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); return settingValueToTest.Length == 2; diff --git a/TextCreator/TextCreatorMainWindow.cs b/TextCreator/TextCreatorMainWindow.cs index 7bf73d717..767c7769d 100644 --- a/TextCreator/TextCreatorMainWindow.cs +++ b/TextCreator/TextCreatorMainWindow.cs @@ -45,11 +45,11 @@ namespace MatterHackers.MatterControl.Plugins.TextCreator BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor; - double buildHeight = ActiveSliceSettings.Instance.GetValue("build_height"); + double buildHeight = ActiveSliceSettings.Instance.GetValue(SettingsKey.build_height); part3DView = new View3DTextCreator( new Vector3(ActiveSliceSettings.Instance.GetValue(SettingsKey.bed_size), buildHeight), - ActiveSliceSettings.Instance.GetValue("print_center"), + ActiveSliceSettings.Instance.GetValue(SettingsKey.print_center), ActiveSliceSettings.Instance.GetValue(SettingsKey.bed_shape)); #if __ANDROID__