From f60d57f226fc0a80a68398b19bea2a743a4cd264 Mon Sep 17 00:00:00 2001 From: Lars Brubaker Date: Wed, 8 Jun 2016 09:25:20 -0700 Subject: [PATCH 1/2] Don't show connection settings in presets Don't show user override info on connection settings --- SlicerConfiguration/SliceSettingsOrganizer.cs | 2 + SlicerConfiguration/SliceSettingsWidget.cs | 106 ++++++++++-------- StaticData/SliceSettings/Properties.json | 29 +++-- 3 files changed, 79 insertions(+), 58 deletions(-) diff --git a/SlicerConfiguration/SliceSettingsOrganizer.cs b/SlicerConfiguration/SliceSettingsOrganizer.cs index 1908b08cb..dcae74b4a 100644 --- a/SlicerConfiguration/SliceSettingsOrganizer.cs +++ b/SlicerConfiguration/SliceSettingsOrganizer.cs @@ -59,6 +59,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration public string ExtraSettings { get; set; } + public bool CustomeSaveFunction { get; set; } + public List QuickMenuSettings = new List(); public List SetSettingsOnChange = new List(); diff --git a/SlicerConfiguration/SliceSettingsWidget.cs b/SlicerConfiguration/SliceSettingsWidget.cs index a83bf01e4..22d7ab378 100644 --- a/SlicerConfiguration/SliceSettingsWidget.cs +++ b/SlicerConfiguration/SliceSettingsWidget.cs @@ -372,31 +372,30 @@ namespace MatterHackers.MatterControl.SlicerConfiguration this.HAnchor = HAnchor.ParentLeftRight; - foreach (OrganizerSettingsData settingInfo in subGroup.SettingDataList) + foreach (OrganizerSettingsData settingData in subGroup.SettingDataList) { - bool settingShouldBeShown = CheckIfShouldBeShown(settingInfo); + bool settingShouldBeShown = CheckIfShouldBeShown(settingData); - if (ActiveSliceSettings.Instance.ActiveSliceEngine().MapContains(settingInfo.SlicerConfigName) + if (ActiveSliceSettings.Instance.ActiveSliceEngine().MapContains(settingData.SlicerConfigName) && settingShouldBeShown) { addedSettingToSubGroup = true; bool addControl; - GuiWidget controlsForThisSetting = CreateSettingInfoUIControls(settingInfo, copyIndex, out addControl); + GuiWidget controlsForThisSetting = CreateSettingInfoUIControls(settingData, copyIndex, out addControl); if (addControl) { topToBottomSettings.AddChild(controlsForThisSetting); + GuiWidget helpBox = AddInHelpText(topToBottomSettings, settingData); + if (!sliceSettingsDetailControl.ShowingHelp) + { + helpBox.Visible = false; + } + sliceSettingsDetailControl.ShowHelpChanged += (s, e) => + { + helpBox.Visible = sliceSettingsDetailControl.ShowingHelp; + }; + topToBottomSettings.AddChild(helpBox); } - - GuiWidget helpBox = AddInHelpText(topToBottomSettings, settingInfo); - if (!sliceSettingsDetailControl.ShowingHelp) - { - helpBox.Visible = false; - } - sliceSettingsDetailControl.ShowHelpChanged += (s, e) => - { - helpBox.Visible = sliceSettingsDetailControl.ShowingHelp; - }; - topToBottomSettings.AddChild(helpBox); } } @@ -469,14 +468,14 @@ namespace MatterHackers.MatterControl.SlicerConfiguration return leftSideGroupTabs; } - private bool CheckIfShouldBeShown(OrganizerSettingsData settingInfo) + private bool CheckIfShouldBeShown(OrganizerSettingsData settingData) { bool settingShouldBeShown = true; - if (settingInfo.ShowIfSet != null - && settingInfo.ShowIfSet != "") + if (settingData.ShowIfSet != null + && settingData.ShowIfSet != "") { string showValue = "0"; - string checkName = settingInfo.ShowIfSet; + string checkName = settingData.ShowIfSet; if (checkName.StartsWith("!")) { showValue = "1"; @@ -489,10 +488,18 @@ namespace MatterHackers.MatterControl.SlicerConfiguration } } + if (viewFilter == NamedSettingsLayers.Material || viewFilter == NamedSettingsLayers.Quality) + { + if (settingData.CustomeSaveFunction) + { + settingShouldBeShown = false; + } + } + return settingShouldBeShown; } - private GuiWidget AddInHelpText(FlowLayoutWidget topToBottomSettings, OrganizerSettingsData settingInfo) + private GuiWidget AddInHelpText(FlowLayoutWidget topToBottomSettings, OrganizerSettingsData settingData) { FlowLayoutWidget allText = new FlowLayoutWidget(FlowDirection.TopToBottom); allText.HAnchor = HAnchor.ParentLeftRight; @@ -503,7 +510,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration double helpPointSize = 10; - GuiWidget helpWidget = new WrappedTextWidget(settingInfo.HelpText, textRegionWidth, pointSize: helpPointSize, textColor: RGBA_Bytes.White); + GuiWidget helpWidget = new WrappedTextWidget(settingData.HelpText, textRegionWidth, pointSize: helpPointSize, textColor: RGBA_Bytes.White); helpWidget.Margin = new BorderDouble(5, 0, 0, 0); //helpWidget.HAnchor = HAnchor.ParentLeft; allText.AddChild(helpWidget); @@ -538,11 +545,11 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { if (!SliceSettingsOrganizer.Instance.Contains(UserLevel, keyValue.Key)) { - OrganizerSettingsData settingInfo = new OrganizerSettingsData(keyValue.Key, keyValue.Key, OrganizerSettingsData.DataEditTypes.STRING); - if (ActiveSliceSettings.Instance.ActiveSliceEngine().MapContains(settingInfo.SlicerConfigName)) + OrganizerSettingsData settingData = new OrganizerSettingsData(keyValue.Key, keyValue.Key, OrganizerSettingsData.DataEditTypes.STRING); + if (ActiveSliceSettings.Instance.ActiveSliceEngine().MapContains(settingData.SlicerConfigName)) { bool addControl; - GuiWidget controlsForThisSetting = CreateSettingInfoUIControls(settingInfo, 0, out addControl); + GuiWidget controlsForThisSetting = CreateSettingInfoUIControls(settingData, 0, out addControl); if (addControl) { topToBottomSettings.AddChild(controlsForThisSetting); @@ -1401,30 +1408,34 @@ namespace MatterHackers.MatterControl.SlicerConfiguration container.HAnchor = HAnchor.ParentLeftRight; container.VAnchor = VAnchor.FitToChildren; - var restoreButton = new Button(new ButtonViewStates(new ImageWidget(restoreNormal), new ImageWidget(restoreHover), new ImageWidget(restorePressed), new ImageWidget(restoreNormal))) + Button restoreButton = null; + if (!settingData.CustomeSaveFunction) { - Name = "Restore " + settingData.SlicerConfigName, - VAnchor = VAnchor.ParentCenter, - Margin = new BorderDouble(0, 0, 5, 0), - ToolTipText = "Restore Default".Localize() - }; + restoreButton = new Button(new ButtonViewStates(new ImageWidget(restoreNormal), new ImageWidget(restoreHover), new ImageWidget(restorePressed), new ImageWidget(restoreNormal))) + { + Name = "Restore " + settingData.SlicerConfigName, + VAnchor = VAnchor.ParentCenter, + Margin = new BorderDouble(0, 0, 5, 0), + ToolTipText = "Restore Default".Localize() + }; - restoreButton.Click += (sender, e) => - { + restoreButton.Click += (sender, e) => + { // Revert the user override if (persistenceLayer == null) - { - ActiveSliceSettings.Instance.ClearValue(settingData.SlicerConfigName); - } - else - { - ActiveSliceSettings.Instance.ClearValue(settingData.SlicerConfigName, persistenceLayer); - } + { + ActiveSliceSettings.Instance.ClearValue(settingData.SlicerConfigName); + } + else + { + ActiveSliceSettings.Instance.ClearValue(settingData.SlicerConfigName, persistenceLayer); + } - settingsRow.RefreshValue(layerCascade); - }; + settingsRow.RefreshValue(layerCascade); + }; - restoreArea.AddChild(restoreButton); + restoreArea.AddChild(restoreButton); + } container.AddChild(settingsRow); @@ -1436,7 +1447,10 @@ namespace MatterHackers.MatterControl.SlicerConfiguration switch (this.viewFilter) { case NamedSettingsLayers.All: - settingsRow.BackgroundColor = userSettingBackgroundColor; + if (!settingData.CustomeSaveFunction) + { + settingsRow.BackgroundColor = userSettingBackgroundColor; + } break; case NamedSettingsLayers.Material: settingsRow.BackgroundColor = materialSettingBackgroundColor; @@ -1446,7 +1460,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration break; } - restoreButton.Visible = true; + if(restoreButton != null) restoreButton.Visible = true; } else if (layerCascade == null) { @@ -1463,11 +1477,11 @@ namespace MatterHackers.MatterControl.SlicerConfiguration settingsRow.BackgroundColor = RGBA_Bytes.Transparent; } - restoreButton.Visible = false; + if (restoreButton != null) restoreButton.Visible = false; } else { - restoreButton.Visible = false; + if (restoreButton != null) restoreButton.Visible = false; settingsRow.BackgroundColor = RGBA_Bytes.Transparent; } }; diff --git a/StaticData/SliceSettings/Properties.json b/StaticData/SliceSettings/Properties.json index e63f78882..798af86af 100644 --- a/StaticData/SliceSettings/Properties.json +++ b/StaticData/SliceSettings/Properties.json @@ -1222,35 +1222,40 @@ "HelpText": "The serial port communication speed of the printers firmware.", "DataEditType": "INT", "ExtraSettings": "", - "QuickMenuSettings": [{"MenuName" : "115200", "Value": "115200"},{"MenuName" : "250000", "Value": "250000"}] + "QuickMenuSettings": [{"MenuName" : "115200", "Value": "115200"},{"MenuName" : "250000", "Value": "250000"}], + "CustomeSaveFunction": true }, { "SlicerConfigName": "MatterControl.DeletePrinter", "PresentationName": "", "HelpText": "Delete the currently selected printer profile.", "DataEditType": "DELETE_PRINTER", - "ExtraSettings": "" + "ExtraSettings": "", + "CustomeSaveFunction": true }, { "SlicerConfigName": "MatterControl.PrinterName", "PresentationName": "", "HelpText": "This is the name of your printer that will be displayed in the choose printer menu.", "DataEditType": "STRING", - "ExtraSettings": "" + "ExtraSettings": "", + "CustomeSaveFunction": true }, { "SlicerConfigName": "MatterControl.AutoConnect", "PresentationName": "Auto Connect", "HelpText": "If set, the printer will automatically attempt to connect when selected.", "DataEditType": "CHECK_BOX", - "ExtraSettings": "" + "ExtraSettings": "", + "CustomeSaveFunction": true }, { - "SlicerConfigName": "MatterControl.ComPort", - "PresentationName": "COM Port", - "HelpText": "The COM port to use while connecting to this printer.", + "CustomeSaveFunction": true, "DataEditType": "COM_PORT", - "ExtraSettings": "" + "ExtraSettings": "", + "HelpText": "The COM port to use while connecting to this printer.", + "PresentationName": "COM Port", + "SlicerConfigName": "MatterControl.ComPort" }, { "SlicerConfigName": "vibration_limit", @@ -1260,11 +1265,11 @@ "ExtraSettings": "Hz" }, { - "SlicerConfigName": "wipe", - "PresentationName": "Wipe Before Retract", - "HelpText": "The extruder will wipe the nozzle over the last up to 10 mm of tool path after retracting.", "DataEditType": "CHECK_BOX", - "ExtraSettings": "" + "ExtraSettings": "", + "HelpText": "The extruder will wipe the nozzle over the last up to 10 mm of tool path after retracting.", + "PresentationName": "Wipe Before Retract", + "SlicerConfigName": "wipe" }, { "SlicerConfigName": "wipe_shield_distance", From 5cc454ba77eff5bce7fe60598780804744be8dc5 Mon Sep 17 00:00:00 2001 From: Lars Brubaker Date: Wed, 8 Jun 2016 11:18:53 -0700 Subject: [PATCH 2/2] Renamed CustomeSaveFunction to ShowAsOveride --- SlicerConfiguration/SliceSettingsOrganizer.cs | 2 +- SlicerConfiguration/SliceSettingsWidget.cs | 6 +++--- StaticData/SliceSettings/Properties.json | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/SlicerConfiguration/SliceSettingsOrganizer.cs b/SlicerConfiguration/SliceSettingsOrganizer.cs index dcae74b4a..f52333353 100644 --- a/SlicerConfiguration/SliceSettingsOrganizer.cs +++ b/SlicerConfiguration/SliceSettingsOrganizer.cs @@ -59,7 +59,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration public string ExtraSettings { get; set; } - public bool CustomeSaveFunction { get; set; } + public bool ShowAsOverride { get; set; } = true; public List QuickMenuSettings = new List(); diff --git a/SlicerConfiguration/SliceSettingsWidget.cs b/SlicerConfiguration/SliceSettingsWidget.cs index 22d7ab378..f6a412064 100644 --- a/SlicerConfiguration/SliceSettingsWidget.cs +++ b/SlicerConfiguration/SliceSettingsWidget.cs @@ -490,7 +490,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration if (viewFilter == NamedSettingsLayers.Material || viewFilter == NamedSettingsLayers.Quality) { - if (settingData.CustomeSaveFunction) + if (!settingData.ShowAsOverride) { settingShouldBeShown = false; } @@ -1409,7 +1409,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration container.VAnchor = VAnchor.FitToChildren; Button restoreButton = null; - if (!settingData.CustomeSaveFunction) + if (settingData.ShowAsOverride) { restoreButton = new Button(new ButtonViewStates(new ImageWidget(restoreNormal), new ImageWidget(restoreHover), new ImageWidget(restorePressed), new ImageWidget(restoreNormal))) { @@ -1447,7 +1447,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration switch (this.viewFilter) { case NamedSettingsLayers.All: - if (!settingData.CustomeSaveFunction) + if (settingData.ShowAsOverride) { settingsRow.BackgroundColor = userSettingBackgroundColor; } diff --git a/StaticData/SliceSettings/Properties.json b/StaticData/SliceSettings/Properties.json index 798af86af..032ec5f24 100644 --- a/StaticData/SliceSettings/Properties.json +++ b/StaticData/SliceSettings/Properties.json @@ -1223,7 +1223,7 @@ "DataEditType": "INT", "ExtraSettings": "", "QuickMenuSettings": [{"MenuName" : "115200", "Value": "115200"},{"MenuName" : "250000", "Value": "250000"}], - "CustomeSaveFunction": true + "ShowAsOverride": false }, { "SlicerConfigName": "MatterControl.DeletePrinter", @@ -1231,7 +1231,7 @@ "HelpText": "Delete the currently selected printer profile.", "DataEditType": "DELETE_PRINTER", "ExtraSettings": "", - "CustomeSaveFunction": true + "ShowAsOverride": false }, { "SlicerConfigName": "MatterControl.PrinterName", @@ -1239,7 +1239,7 @@ "HelpText": "This is the name of your printer that will be displayed in the choose printer menu.", "DataEditType": "STRING", "ExtraSettings": "", - "CustomeSaveFunction": true + "ShowAsOverride": false }, { "SlicerConfigName": "MatterControl.AutoConnect", @@ -1247,10 +1247,10 @@ "HelpText": "If set, the printer will automatically attempt to connect when selected.", "DataEditType": "CHECK_BOX", "ExtraSettings": "", - "CustomeSaveFunction": true + "ShowAsOverride": false }, { - "CustomeSaveFunction": true, + "ShowAsOverride": false, "DataEditType": "COM_PORT", "ExtraSettings": "", "HelpText": "The COM port to use while connecting to this printer.",