Got the check and uncheck of reload ui settings to work
Wrote a test Added heat_extruder_before_homing
This commit is contained in:
parent
d18c8cfcb3
commit
98c114f79b
8 changed files with 40 additions and 25 deletions
|
|
@ -73,6 +73,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
public const string has_heated_bed = nameof(has_heated_bed);
|
||||
public const string has_power_control = nameof(has_power_control);
|
||||
public const string has_sd_card_reader = nameof(has_sd_card_reader);
|
||||
public const string heat_extruder_before_homing = nameof(heat_extruder_before_homing);
|
||||
public const string layer_height = nameof(layer_height);
|
||||
public const string layer_name = nameof(layer_name);
|
||||
public const string layer_to_pause = nameof(layer_to_pause);
|
||||
|
|
|
|||
|
|
@ -619,7 +619,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
|
||||
if (settingData.ReloadUiWhenChanged)
|
||||
{
|
||||
ApplicationController.Instance.ReloadAll(null, null);
|
||||
UiThread.RunOnIdle(() => ApplicationController.Instance.ReloadAll(null, null));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -667,14 +667,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
public void RefreshValue(IEnumerable<PrinterSettingsLayer> layerFilters)
|
||||
{
|
||||
string latestValue = GetActiveValue(this.SettingsKey, layerFilters);
|
||||
//if(latestValue != SettingsValue)
|
||||
{
|
||||
ValueChanged?.Invoke(latestValue);
|
||||
}
|
||||
|
||||
UpdateStyle?.Invoke();
|
||||
|
||||
SettingsValue = latestValue;
|
||||
UpdateStyle?.Invoke();
|
||||
ValueChanged?.Invoke(latestValue);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1330,7 +1325,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
Checked = sliceSettingValue == "1"
|
||||
};
|
||||
|
||||
checkBoxWidget.CheckedStateChanged += (sender, e) =>
|
||||
checkBoxWidget.Click += (sender, e) =>
|
||||
{
|
||||
bool isChecked = ((CheckBox)sender).Checked;
|
||||
ActiveSliceSettings.Instance.SetValue(settingData.SlicerConfigName, isChecked ? "1" : "0", persistenceLayer);
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
// TODO: merge the items below into the list above after some validation - setting that weren't previously mapped to Cura but probably should be.
|
||||
SettingsKey.bed_remove_part_temperature,
|
||||
"extruder_wipe_temperature",
|
||||
"heat_extruder_before_homing",
|
||||
SettingsKey.heat_extruder_before_homing,
|
||||
"include_firmware_updater",
|
||||
"layer_to_pause",
|
||||
SettingsKey.show_reset_connection,
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
hiddenSettings.Add("extruder_clearance_height");
|
||||
hiddenSettings.Add("extruder_clearance_radius");
|
||||
hiddenSettings.Add("wipe_shield_distance");
|
||||
hiddenSettings.Add("heat_extruder_before_homing");
|
||||
hiddenSettings.Add(SettingsKey.heat_extruder_before_homing);
|
||||
hiddenSettings.Add("extruders_share_temperature");
|
||||
hiddenSettings.Add("print_leveling_method");
|
||||
hiddenSettings.Add("solid_shell");
|
||||
|
|
|
|||
|
|
@ -222,7 +222,7 @@ 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.GetValue("heat_extruder_before_homing") == "1")
|
||||
if (ActiveSliceSettings.Instance.GetValue(SettingsKey.heat_extruder_before_homing) == "1")
|
||||
{
|
||||
for (int extruderIndex0Based = 0; extruderIndex0Based < numberOfHeatedExtruders; extruderIndex0Based++)
|
||||
{
|
||||
|
|
@ -270,7 +270,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
int numberOfHeatedExtruders = ActiveSliceSettings.Instance.GetValue<int>(SettingsKey.extruder_count);
|
||||
|
||||
// don't set the extruders to heating if we already waited for them to reach temp
|
||||
if (ActiveSliceSettings.Instance.GetValue("heat_extruder_before_homing") != "1")
|
||||
if (ActiveSliceSettings.Instance.GetValue(SettingsKey.heat_extruder_before_homing) != "1")
|
||||
{
|
||||
for (int extruderIndex0Based = 0; extruderIndex0Based < numberOfHeatedExtruders; extruderIndex0Based++)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 2445a6a09603fa6889751e715ba2ace32683d857
|
||||
Subproject commit 989e5d4801375983993fce0fb5610860029b5fa1
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit a992a032b25c1fa6bf407e644602b120f3e45342
|
||||
Subproject commit a3188328235701a2db67559923d28cdfaf3ff616
|
||||
|
|
@ -70,30 +70,49 @@ namespace MatterHackers.MatterControl.Tests.Automation
|
|||
|
||||
//Navigate to Local Library
|
||||
resultsHarness.AddTestResult(testRunner.ClickByName("SettingsAndControls", 1));
|
||||
testRunner.Wait(.5);
|
||||
resultsHarness.AddTestResult(testRunner.ClickByName("User Level Dropdown", 1));
|
||||
resultsHarness.AddTestResult(testRunner.ClickByName("Advanced Menu Item", 1));
|
||||
resultsHarness.AddTestResult(testRunner.ClickByName("Skirt and Raft Tab", 1));
|
||||
testRunner.Wait(.5);
|
||||
|
||||
resultsHarness.AddTestResult(testRunner.ClickByName("Printer Tab", 1));
|
||||
resultsHarness.AddTestResult(testRunner.ClickByName("Features Tab", 1));
|
||||
resultsHarness.AddTestResult(testRunner.ClickByName("Has Fan Checkbox", 1));
|
||||
|
||||
// Assert that the checkbox is currently unchecked, and there is no user override
|
||||
bool hasFan = ActiveSliceSettings.Instance.GetValue<bool>(SettingsKey.has_fan);
|
||||
// Click the checkbox
|
||||
// Assert the checkbox is checked and the user override is set
|
||||
// Click the cancel user override button
|
||||
// Assert the checkbox is unchecked and there is no user override
|
||||
CheckAndUncheckSetting(resultsHarness, testRunner, SettingsKey.heat_extruder_before_homing, "Heat Before Homing Checkbox", false);
|
||||
|
||||
CheckAndUncheckSetting(resultsHarness, testRunner, SettingsKey.has_fan, "Has Fan Checkbox", true);
|
||||
|
||||
MatterControlUtilities.CloseMatterControl(testRunner);
|
||||
}
|
||||
};
|
||||
|
||||
AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun, overrideWidth: 1224, overrideHeight: 800);
|
||||
AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun, overrideWidth: 1224, overrideHeight: 900);
|
||||
|
||||
Assert.IsTrue(testHarness.AllTestsPassed);
|
||||
Assert.IsTrue(testHarness.TestCount == 7); // make sure we ran all our tests
|
||||
Assert.IsTrue(testHarness.TestCount == 27); // make sure we ran all our tests
|
||||
}
|
||||
|
||||
private static void CheckAndUncheckSetting(AutomationTesterHarness resultsHarness, AutomationRunner testRunner, string settingToChange, string checkBoxName, bool expected)
|
||||
{
|
||||
// Assert that the checkbox is currently unchecked, and there is no user override
|
||||
resultsHarness.AddTestResult(ActiveSliceSettings.Instance.GetValue<bool>(settingToChange) == expected);
|
||||
resultsHarness.AddTestResult(ActiveSliceSettings.Instance.UserLayer.ContainsKey(settingToChange) == false);
|
||||
|
||||
// Click the checkbox
|
||||
resultsHarness.AddTestResult(testRunner.ClickByName(checkBoxName, 1));
|
||||
testRunner.Wait(2);
|
||||
|
||||
// Assert the checkbox is checked and the user override is set
|
||||
resultsHarness.AddTestResult(ActiveSliceSettings.Instance.GetValue<bool>(settingToChange) != expected);
|
||||
resultsHarness.AddTestResult(ActiveSliceSettings.Instance.UserLayer.ContainsKey(settingToChange) == true);
|
||||
|
||||
// Click the cancel user override button
|
||||
resultsHarness.AddTestResult(testRunner.ClickByName("Restore " + settingToChange, 1));
|
||||
testRunner.Wait(2);
|
||||
|
||||
// Assert the checkbox is unchecked and there is no user override
|
||||
resultsHarness.AddTestResult(ActiveSliceSettings.Instance.GetValue<bool>(settingToChange) == expected);
|
||||
resultsHarness.AddTestResult(ActiveSliceSettings.Instance.UserLayer.ContainsKey(settingToChange) == false);
|
||||
}
|
||||
|
||||
//Stress Test check & uncheck 1000x
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue