Convert static SettingChanged event to instance based
issue: MatterHackers/MCCentral#4551
This commit is contained in:
parent
b38abfaad4
commit
6405dad7ac
23 changed files with 111 additions and 87 deletions
|
|
@ -148,7 +148,7 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
this.Closed += (s, e) => runningInterval.Continue = false;
|
||||
|
||||
var settingsRow = temperatureRow.DescendantsAndSelf<SliceSettingsRow>().FirstOrDefault();
|
||||
PrinterSettings.SettingChanged.RegisterEvent((s, e) =>
|
||||
void SettingChanged(object s, EventArgs e)
|
||||
{
|
||||
if (e is StringEventArgs stringEvent)
|
||||
{
|
||||
|
|
@ -178,8 +178,10 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
|
||||
settingsRow.UpdateStyle();
|
||||
}
|
||||
};
|
||||
}, ref unregisterEvents);
|
||||
}
|
||||
}
|
||||
printer.Settings.SettingChanged += SettingChanged;
|
||||
printer.Disposed -= SettingChanged;
|
||||
|
||||
container.AddChild(graph);
|
||||
|
||||
|
|
|
|||
|
|
@ -294,7 +294,8 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
valueField.Name = "Temperature Input";
|
||||
|
||||
var settingsRow = temperatureRow.DescendantsAndSelf<SliceSettingsRow>().FirstOrDefault();
|
||||
PrinterSettings.SettingChanged.RegisterEvent((s, e) =>
|
||||
|
||||
void SettingChanged(object s, EventArgs e)
|
||||
{
|
||||
if (e is StringEventArgs stringEvent)
|
||||
{
|
||||
|
|
@ -325,8 +326,10 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
|
||||
settingsRow.UpdateStyle();
|
||||
}
|
||||
};
|
||||
}, ref unregisterEvents);
|
||||
}
|
||||
}
|
||||
printer.Settings.SettingChanged += SettingChanged;
|
||||
printer.Disposed -= SettingChanged;
|
||||
|
||||
container.AddChild(graph);
|
||||
|
||||
|
|
|
|||
|
|
@ -1244,17 +1244,6 @@ namespace MatterHackers.MatterControl
|
|||
isVisible: (sceneItem) => sceneItem.Children.Any((i) => i is IPathObject),
|
||||
iconCollector: (theme) => AggContext.StaticData.LoadIcon("noun_55060.png", theme.InvertIcons));
|
||||
|
||||
|
||||
PrinterSettings.SettingChanged.RegisterEvent((s, e) =>
|
||||
{
|
||||
if (e is StringEventArgs stringArg
|
||||
&& SettingsOrganizer.SettingsData.TryGetValue(stringArg.Data, out SliceSettingData settingsData)
|
||||
&& settingsData.ReloadUiWhenChanged)
|
||||
{
|
||||
UiThread.RunOnIdle(ReloadAll);
|
||||
}
|
||||
}, ref unregisterEvents);
|
||||
|
||||
this.InitializeLibrary();
|
||||
|
||||
HashSet<IObject3DEditor> mappedEditors;
|
||||
|
|
|
|||
|
|
@ -906,8 +906,8 @@ namespace MatterHackers.MatterControl
|
|||
this.Settings = settings;
|
||||
this.Settings.printer = this;
|
||||
|
||||
// TODO: ActiveSliceSettings is not our Settings! Move SettingsChanged to instance rather than static
|
||||
PrinterSettings.SettingChanged.RegisterEvent(Printer_SettingChanged, ref unregisterEvents);
|
||||
this.Settings.SettingChanged += Printer_SettingChanged;
|
||||
this.Disposed -= Printer_SettingChanged;
|
||||
|
||||
void PrintFinished(object s, EventArgs e)
|
||||
{
|
||||
|
|
@ -1055,6 +1055,22 @@ namespace MatterHackers.MatterControl
|
|||
}
|
||||
this.Connection.CommunicationStateChanged += CommunicationStateChanged;
|
||||
this.Disposed += (s, e) => this.Connection.CommunicationStateChanged -= CommunicationStateChanged;
|
||||
|
||||
|
||||
void Printer_SettingChanged(object s, EventArgs e)
|
||||
{
|
||||
if (e is StringEventArgs stringArg
|
||||
&& SettingsOrganizer.SettingsData.TryGetValue(stringArg.Data, out SliceSettingData settingsData)
|
||||
&& settingsData.ReloadUiWhenChanged)
|
||||
{
|
||||
UiThread.RunOnIdle(ApplicationController.Instance.ReloadAll);
|
||||
}
|
||||
|
||||
// clean up profile manager InventoryTreeView
|
||||
ProfileManager.SettingsChanged(s, e);
|
||||
}
|
||||
this.Settings.SettingChanged += Printer_SettingChanged;
|
||||
this.Disposed += (s, e) => this.Settings.SettingChanged -= Printer_SettingChanged;
|
||||
}
|
||||
|
||||
public PrinterViewState ViewState { get; }
|
||||
|
|
|
|||
|
|
@ -149,6 +149,7 @@ namespace MatterHackers.MatterControl.PrintLibrary
|
|||
|
||||
rootColumn.AddChild(materialsNode);
|
||||
|
||||
// need to be hooked up to every existing PrinterConfig and every new PrinterConfig
|
||||
PrinterSettings.SettingChanged.RegisterEvent((s, e) =>
|
||||
{
|
||||
string settingsName = (e as StringEventArgs)?.Data;
|
||||
|
|
@ -157,11 +158,7 @@ namespace MatterHackers.MatterControl.PrintLibrary
|
|||
InventoryTreeView.CreatePrinterProfilesTree(printersNode, theme);
|
||||
this.Invalidate();
|
||||
}
|
||||
}, ref unregisterEvents);
|
||||
|
||||
PrinterSettings.SettingChanged.RegisterEvent((s, e) =>
|
||||
{
|
||||
string settingsName = (e as StringEventArgs)?.Data;
|
||||
if (settingsName == SettingsKey.printer_name)
|
||||
{
|
||||
InventoryTreeView.CreatePrinterProfilesTree(printersNode, theme);
|
||||
|
|
|
|||
|
|
@ -77,7 +77,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
|
||||
// make sure we have good settings
|
||||
|
||||
PrinterSettings.SettingChanged.RegisterEvent(Printer_SettingChanged, ref unregisterEvents);
|
||||
printer.Settings.SettingChanged += Printer_SettingChanged;
|
||||
this.Closed -= Printer_SettingChanged;
|
||||
Printer_SettingChanged(this, null);
|
||||
|
||||
this.gridSizeMm = printer.Settings.GetValue<Vector2>(SettingsKey.bed_size);
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
var firstSection = this.Children<SectionWidget>().First();
|
||||
firstSection.BorderColor = Color.Transparent; // Disable top border on first item to produce a more flat, dark top edge
|
||||
|
||||
PrinterSettings.SettingChanged.RegisterEvent((s, e) =>
|
||||
void Printer_SettingChanged(object s, EventArgs e)
|
||||
{
|
||||
if (e is StringEventArgs stringEvent)
|
||||
{
|
||||
|
|
@ -105,7 +105,9 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
printer.Bed.GCodeRenderer?.Clear3DGCode();
|
||||
}
|
||||
}
|
||||
}, ref unregisterEvents);
|
||||
}
|
||||
printer.Settings.SettingChanged += Printer_SettingChanged;
|
||||
this.Closed -= Printer_SettingChanged;
|
||||
|
||||
printer.Bed.LoadedGCodeChanged += Bed_LoadedGCodeChanged;
|
||||
printer.Bed.RendererOptions.PropertyChanged += RendererOptions_PropertyChanged;
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
private EventHandler unregisterEvents;
|
||||
private ThemeConfig theme;
|
||||
|
||||
public GCodeDetailsView(GCodeFile gCodeMemoryFile, PrinterConfig printerConfig, ThemeConfig theme)
|
||||
public GCodeDetailsView(GCodeFile gCodeMemoryFile, PrinterConfig printer, ThemeConfig theme)
|
||||
: base(FlowDirection.TopToBottom)
|
||||
{
|
||||
this.theme = theme;
|
||||
|
|
@ -52,19 +52,19 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
AddSetting("Print Time".Localize(), gCodeMemoryFile.EstimatedPrintTime());
|
||||
|
||||
// show the filament used
|
||||
AddSetting("Filament Length".Localize(), gCodeMemoryFile.FilamentUsed(printerConfig));
|
||||
AddSetting("Filament Length".Localize(), gCodeMemoryFile.FilamentUsed(printer));
|
||||
|
||||
AddSetting("Filament Volume".Localize(), gCodeMemoryFile.FilamentVolume(printerConfig));
|
||||
AddSetting("Filament Volume".Localize(), gCodeMemoryFile.FilamentVolume(printer));
|
||||
|
||||
// Cost info is only displayed when available - conditionalCostPanel is invisible when cost <= 0
|
||||
TextWidget costTextWidget = AddSetting("Estimated Cost".Localize(), gCodeMemoryFile.EstimatedCost(printerConfig));
|
||||
TextWidget costTextWidget = AddSetting("Estimated Cost".Localize(), gCodeMemoryFile.EstimatedCost(printer));
|
||||
|
||||
TextWidget massTextWidget = AddSetting("Estimated Mass".Localize(), gCodeMemoryFile.EstimatedMass(printerConfig));
|
||||
TextWidget massTextWidget = AddSetting("Estimated Mass".Localize(), gCodeMemoryFile.EstimatedMass(printer));
|
||||
|
||||
var conditionalCostContainer = costTextWidget.Parent;
|
||||
conditionalCostContainer.Visible = gCodeMemoryFile.TotalCost(printerConfig) > 0;
|
||||
conditionalCostContainer.Visible = gCodeMemoryFile.TotalCost(printer) > 0;
|
||||
|
||||
PrinterSettings.SettingChanged.RegisterEvent((s, e) =>
|
||||
void Printer_SettingChanged(object s, EventArgs e)
|
||||
{
|
||||
if (e is StringEventArgs stringEvent)
|
||||
{
|
||||
|
|
@ -72,16 +72,18 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
|| stringEvent.Data == SettingsKey.filament_diameter
|
||||
|| stringEvent.Data == SettingsKey.filament_density)
|
||||
{
|
||||
massTextWidget.Text = gCodeMemoryFile.EstimatedMass(printerConfig);
|
||||
conditionalCostContainer.Visible = gCodeMemoryFile.TotalCost(printerConfig) > 0;
|
||||
massTextWidget.Text = gCodeMemoryFile.EstimatedMass(printer);
|
||||
conditionalCostContainer.Visible = gCodeMemoryFile.TotalCost(printer) > 0;
|
||||
|
||||
if (gCodeMemoryFile.TotalCost(printerConfig) > 0)
|
||||
if (gCodeMemoryFile.TotalCost(printer) > 0)
|
||||
{
|
||||
costTextWidget.Text = gCodeMemoryFile.EstimatedCost(printerConfig);
|
||||
costTextWidget.Text = gCodeMemoryFile.EstimatedCost(printer);
|
||||
}
|
||||
}
|
||||
}
|
||||
}, ref unregisterEvents);
|
||||
}
|
||||
printer.Settings.SettingChanged += Printer_SettingChanged;
|
||||
this.Closed -= Printer_SettingChanged;
|
||||
}
|
||||
|
||||
TextWidget AddSetting(string title, string value)
|
||||
|
|
|
|||
|
|
@ -392,7 +392,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
SetLinkButtonsVisibility(s, new StringEventArgs("Unknown"));
|
||||
}, ref unregisterEvents);
|
||||
|
||||
PrinterSettings.SettingChanged.RegisterEvent((s, e) =>
|
||||
void Printer_SettingChanged(object s, EventArgs e)
|
||||
{
|
||||
var activePrinter = ApplicationController.Instance.ActivePrinter;
|
||||
|
||||
|
|
@ -402,7 +402,9 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
{
|
||||
printerTab.Text = activePrinter.Settings.GetValue(SettingsKey.printer_name);
|
||||
}
|
||||
}, ref unregisterEvents);
|
||||
}
|
||||
printer.Settings.SettingChanged += Printer_SettingChanged;
|
||||
this.Closed -= Printer_SettingChanged;
|
||||
|
||||
ApplicationController.Instance.OpenPrintersChanged += OpenPrinters_Changed;
|
||||
|
||||
|
|
@ -572,14 +574,16 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
ApplicationController.Instance.ClosePrinter(printer);
|
||||
};
|
||||
|
||||
PrinterSettings.SettingChanged.RegisterEvent((s, e) =>
|
||||
void Printer_SettingChanged(object s, EventArgs e)
|
||||
{
|
||||
string settingsName = (e as StringEventArgs)?.Data;
|
||||
if (settingsName != null && settingsName == SettingsKey.printer_name)
|
||||
{
|
||||
printerTab.Title = printer.Settings.GetValue(SettingsKey.printer_name);
|
||||
}
|
||||
}, ref unregisterEvents);
|
||||
}
|
||||
printer.Settings.SettingChanged += Printer_SettingChanged;
|
||||
this.Closed -= Printer_SettingChanged;
|
||||
|
||||
// Add printer into fixed position
|
||||
if (tabControl.AllTabs.Any())
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
printer.Connection.CommunicationStateChanged += CommunicationStateChanged;
|
||||
this.Closed += (s, e) => printer.Connection.CommunicationStateChanged -= CommunicationStateChanged;
|
||||
|
||||
PrinterSettings.SettingChanged.RegisterEvent((s, e) =>
|
||||
void Printer_SettingChanged(object s, EventArgs e)
|
||||
{
|
||||
if (e is StringEventArgs stringEvent
|
||||
&& (stringEvent.Data == SettingsKey.z_probe_z_offset
|
||||
|
|
@ -99,7 +99,9 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
{
|
||||
SetButtonStates();
|
||||
}
|
||||
}, ref unregisterEvents);
|
||||
}
|
||||
printer.Settings.SettingChanged += Printer_SettingChanged;
|
||||
this.Closed -= Printer_SettingChanged;
|
||||
|
||||
SetButtonStates();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -183,7 +183,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
Padding = theme.TextButtonPadding.Clone(right: 5)
|
||||
});
|
||||
|
||||
PrinterSettings.SettingChanged.RegisterEvent((s, e) =>
|
||||
void Printer_SettingChanged(object s, EventArgs e)
|
||||
{
|
||||
if (e is StringEventArgs stringEvent)
|
||||
{
|
||||
|
|
@ -200,8 +200,10 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
ref unregisterEvents);
|
||||
}
|
||||
|
||||
printer.Settings.SettingChanged += Printer_SettingChanged;
|
||||
this.Closed -= Printer_SettingChanged;
|
||||
}
|
||||
|
||||
public override void OnClosed(EventArgs e)
|
||||
|
|
|
|||
|
|
@ -45,13 +45,15 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io
|
|||
public BabyStepsStream(PrinterConfig printer, GCodeStream internalStream, double startingMaxLength = 1)
|
||||
: base(printer, internalStream)
|
||||
{
|
||||
PrinterSettings.SettingChanged.RegisterEvent((s, e) =>
|
||||
void Printer_SettingChanged(object s, EventArgs e)
|
||||
{
|
||||
if ((e as StringEventArgs)?.Data == SettingsKey.baby_step_z_offset)
|
||||
{
|
||||
OffsetChanged();
|
||||
}
|
||||
}, ref unregisterEvents);
|
||||
}
|
||||
printer.Settings.SettingChanged += Printer_SettingChanged;
|
||||
printer.Disposed -= Printer_SettingChanged;
|
||||
|
||||
maxLengthStream = new MaxLengthStream(printer, internalStream, startingMaxLength);
|
||||
offsetStream = new OffsetStream(maxLengthStream, printer, new Vector3(0, 0, printer.Settings.GetValue<double>(SettingsKey.baby_step_z_offset)));
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ namespace MatterHackers.MatterControl.PrinterControls
|
|||
settingsRow.AddChild(extrusionValue);
|
||||
}
|
||||
|
||||
PrinterSettings.SettingChanged.RegisterEvent((s, e) =>
|
||||
void Printer_SettingChanged(object s, EventArgs e)
|
||||
{
|
||||
var eventArgs = e as StringEventArgs;
|
||||
if (eventArgs?.Data == SettingsKey.extrusion_ratio)
|
||||
|
|
@ -193,7 +193,10 @@ namespace MatterHackers.MatterControl.PrinterControls
|
|||
feedRateRatioSlider.Value = feedrateRatio;
|
||||
feedRateValue.ActuallNumberEdit.Value = Math.Round(feedrateRatio, 2);
|
||||
}
|
||||
}, ref unregisterEvents);
|
||||
}
|
||||
printer.Settings.SettingChanged += Printer_SettingChanged;
|
||||
this.Closed -= Printer_SettingChanged;
|
||||
|
||||
}
|
||||
|
||||
public static SectionWidget CreateSection(PrinterConfig printer, ThemeConfig theme)
|
||||
|
|
|
|||
|
|
@ -263,13 +263,16 @@ namespace MatterHackers.MatterControl.PrinterControls
|
|||
this.HAnchor = HAnchor.Fit;
|
||||
this.VAnchor = VAnchor.Fit | VAnchor.Center;
|
||||
|
||||
PrinterSettings.SettingChanged.RegisterEvent((s, e) =>
|
||||
void Printer_SettingChanged(object s, EventArgs e)
|
||||
{
|
||||
if ((e as StringEventArgs)?.Data == SettingsKey.baby_step_z_offset)
|
||||
{
|
||||
OffsetStreamChanged(null, null);
|
||||
}
|
||||
}, ref unregisterEvents);
|
||||
}
|
||||
printerSettings.SettingChanged += Printer_SettingChanged;
|
||||
this.Closed -= Printer_SettingChanged;
|
||||
|
||||
|
||||
zOffsetStreamContainer = new FlowLayoutWidget(FlowDirection.LeftToRight)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -208,7 +208,8 @@ namespace MatterHackers.MatterControl
|
|||
|
||||
this.PerformLayout();
|
||||
|
||||
PrinterSettings.SettingChanged.RegisterEvent(Printer_SettingChanged, ref unregisterEvents);
|
||||
printer.Settings.SettingChanged += Printer_SettingChanged;
|
||||
this.Closed -= Printer_SettingChanged;
|
||||
}
|
||||
|
||||
internal void SetEnabledLevels(bool enableBabysteppingMode, bool enableEControls)
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
this.AddChild(pullDownContainer);
|
||||
|
||||
printer.Settings.MaterialPresetChanged += ActiveSliceSettings_MaterialPresetChanged;
|
||||
PrinterSettings.SettingChanged.RegisterEvent((s, e) =>
|
||||
void Printer_SettingChanged(object s, EventArgs e)
|
||||
{
|
||||
if (e is StringEventArgs stringEvent
|
||||
&& (stringEvent.Data == SettingsKey.default_material_presets
|
||||
|
|
@ -92,7 +92,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
{
|
||||
RebuildDropDownList();
|
||||
}
|
||||
}, ref unregisterEvents);
|
||||
}
|
||||
printer.Settings.SettingChanged += Printer_SettingChanged;
|
||||
this.Closed -= Printer_SettingChanged;
|
||||
}
|
||||
|
||||
public FlowLayoutWidget GetPulldownContainer()
|
||||
|
|
@ -365,7 +367,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
{
|
||||
if (settingBeforeChange[keyName] != printer.Settings.GetValue(keyName))
|
||||
{
|
||||
PrinterSettings.OnSettingChanged(printer.Settings, keyName);
|
||||
printer.Settings.OnSettingChanged(keyName);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
public static int LatestVersion { get; } = 201606271;
|
||||
|
||||
// TODO: Change to instance based, revise listeners and register to expect specific printer settings
|
||||
public static RootedObjectEventHandler SettingChanged = new RootedObjectEventHandler();
|
||||
public EventHandler SettingChanged;
|
||||
|
||||
public event EventHandler MaterialPresetChanged;
|
||||
|
||||
|
|
@ -70,9 +70,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
MaterialPresetChanged?.Invoke(null, null);
|
||||
}
|
||||
|
||||
public static void OnSettingChanged(PrinterSettings settings, string slicerConfigName)
|
||||
public void OnSettingChanged(string slicerConfigName)
|
||||
{
|
||||
SettingChanged.CallEvents(settings, new StringEventArgs(slicerConfigName));
|
||||
SettingChanged?.Invoke(this, new StringEventArgs(slicerConfigName));
|
||||
}
|
||||
|
||||
public event EventHandler PrintLevelingEnabledChanged;
|
||||
|
|
@ -1423,7 +1423,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
persistenceLayer[settingsKey] = settingsValue;
|
||||
Save();
|
||||
|
||||
PrinterSettings.OnSettingChanged(this, settingsKey);
|
||||
this.OnSettingChanged(settingsKey);
|
||||
}
|
||||
|
||||
public string ToJson()
|
||||
|
|
@ -1466,7 +1466,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
|
||||
Save();
|
||||
|
||||
PrinterSettings.OnSettingChanged(this, settingsKey);
|
||||
this.OnSettingChanged(settingsKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,8 +49,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
|
||||
public static ProfileManager Instance { get; private set; }
|
||||
|
||||
private static EventHandler unregisterEvents;
|
||||
|
||||
public const string ProfileExtension = ".printer";
|
||||
public const string ConfigFileExtension = ".slice";
|
||||
public const string ProfileDocExtension = ".profiles";
|
||||
|
|
@ -59,7 +57,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
|
||||
static ProfileManager()
|
||||
{
|
||||
PrinterSettings.SettingChanged.RegisterEvent(SettingsChanged, ref unregisterEvents);
|
||||
ReloadActiveUser();
|
||||
}
|
||||
|
||||
|
|
@ -189,7 +186,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
return loadedInstance;
|
||||
}
|
||||
|
||||
internal static void SettingsChanged(object sender, EventArgs e)
|
||||
public static void SettingsChanged(object sender, EventArgs e)
|
||||
{
|
||||
var printer = (sender as PrinterSettings)?.printer;
|
||||
|
||||
|
|
|
|||
|
|
@ -319,7 +319,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
}
|
||||
};
|
||||
|
||||
PrinterSettings.SettingChanged.RegisterEvent((s, e) =>
|
||||
void Printer_SettingChanged(object s, EventArgs e)
|
||||
{
|
||||
if (e is StringEventArgs stringEvent)
|
||||
{
|
||||
|
|
@ -336,8 +336,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
ref unregisterEvents);
|
||||
}
|
||||
printer.Settings.SettingChanged += Printer_SettingChanged;
|
||||
this.Closed -= Printer_SettingChanged;
|
||||
}
|
||||
|
||||
this.PerformLayout();
|
||||
|
|
|
|||
|
|
@ -93,9 +93,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
uiField.Content.VAnchor = VAnchor.Center;
|
||||
totalContent.AddChild(uiField.Content);
|
||||
|
||||
EventHandler localUnregisterEvents = null;
|
||||
|
||||
PrinterSettings.SettingChanged.RegisterEvent((sender, e) =>
|
||||
void Printer_SettingChanged(object s, EventArgs e)
|
||||
{
|
||||
if (e is StringEventArgs stringArgs
|
||||
&& stringArgs.Data == settingData.SlicerConfigName)
|
||||
|
|
@ -119,12 +117,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
selectableOptions.SelectedLabel = "Custom";
|
||||
}
|
||||
}
|
||||
}, ref localUnregisterEvents);
|
||||
|
||||
totalContent.Closed += (s, e) =>
|
||||
{
|
||||
localUnregisterEvents?.Invoke(s, null);
|
||||
};
|
||||
}
|
||||
printer.Settings.SettingChanged += Printer_SettingChanged;
|
||||
printer.Disposed -= Printer_SettingChanged;
|
||||
|
||||
this.Content = totalContent;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ namespace MatterHackers.MatterControl.Tests.Automation
|
|||
|
||||
testRunner.AddAndSelectPrinter("Airwolf 3D", "HD");
|
||||
|
||||
Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count, "One printer should exist after add");
|
||||
Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count(), "One printer should exist after add");
|
||||
|
||||
testRunner.SwitchToPrinterSettings();
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ namespace MatterHackers.MatterControl.Tests.Automation
|
|||
|
||||
using (var emulator = testRunner.LaunchAndConnectToPrinterEmulator())
|
||||
{
|
||||
Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count, "One printer should be defined after add");
|
||||
Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count(), "One printer should be defined after add");
|
||||
|
||||
testRunner.SelectSliceSettingsField("Printer", "end_gcode");
|
||||
|
||||
|
|
@ -90,7 +90,7 @@ namespace MatterHackers.MatterControl.Tests.Automation
|
|||
|
||||
using (var emulator = testRunner.LaunchAndConnectToPrinterEmulator("Pulse", "A-134"))
|
||||
{
|
||||
Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count, "One printer should be defined after add");
|
||||
Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count(), "One printer should be defined after add");
|
||||
|
||||
testRunner.ClickByName("Finish Setup Button");
|
||||
|
||||
|
|
@ -285,7 +285,7 @@ namespace MatterHackers.MatterControl.Tests.Automation
|
|||
{
|
||||
using (var emulator = testRunner.LaunchAndConnectToPrinterEmulator())
|
||||
{
|
||||
Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count, "One printer should be defined after add");
|
||||
Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count(), "One printer should be defined after add");
|
||||
|
||||
testRunner.OpenPrintPopupMenu();
|
||||
testRunner.ClickByName("Layer(s) To Pause Field");
|
||||
|
|
@ -326,7 +326,7 @@ namespace MatterHackers.MatterControl.Tests.Automation
|
|||
{
|
||||
using (var emulator = testRunner.LaunchAndConnectToPrinterEmulator())
|
||||
{
|
||||
Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count, "One printer should exist after add");
|
||||
Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count(), "One printer should exist after add");
|
||||
|
||||
var printer = ApplicationController.Instance.ActivePrinters.First();
|
||||
printer.Settings.SetValue(SettingsKey.recover_is_enabled, "1");
|
||||
|
|
@ -404,7 +404,7 @@ namespace MatterHackers.MatterControl.Tests.Automation
|
|||
|
||||
using (var emulator = testRunner.LaunchAndConnectToPrinterEmulator())
|
||||
{
|
||||
Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count, "One printer should be defined after add");
|
||||
Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count(), "One printer should be defined after add");
|
||||
|
||||
testRunner.AddItemToBedplate();
|
||||
|
||||
|
|
@ -502,7 +502,7 @@ namespace MatterHackers.MatterControl.Tests.Automation
|
|||
// Then validate that they are picked up
|
||||
using (var emulator = testRunner.LaunchAndConnectToPrinterEmulator())
|
||||
{
|
||||
Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count, "One printer should be defined after add");
|
||||
Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count(), "One printer should be defined after add");
|
||||
|
||||
testRunner.AddItemToBedplate();
|
||||
|
||||
|
|
@ -627,7 +627,7 @@ namespace MatterHackers.MatterControl.Tests.Automation
|
|||
{
|
||||
var resetEvent = new AutoResetEvent(false);
|
||||
|
||||
Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count, "One printer should exist after add");
|
||||
Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count(), "One printer should exist after add");
|
||||
|
||||
testRunner.AddItemToBedplate();
|
||||
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ namespace MatterHackers.MatterControl.Tests.Automation
|
|||
{
|
||||
using (var emulator = testRunner.LaunchAndConnectToPrinterEmulator())
|
||||
{
|
||||
Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count, "One printer should exist after add");
|
||||
Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count(), "One printer should exist after add");
|
||||
|
||||
var printer = ApplicationController.Instance.ActivePrinters.First();
|
||||
printer.Settings.SetValue(SettingsKey.cancel_gcode, "G28 ; Cancel GCode");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue