mattercontrol/PrinterControls/PrinterConnections/ConnectionWizardPage.cs
2016-06-08 09:37:43 -07:00

56 lines
No EOL
1.4 KiB
C#

using MatterHackers.Agg;
using MatterHackers.Agg.UI;
using MatterHackers.Localizations;
using MatterHackers.MatterControl.DataStorage;
using MatterHackers.MatterControl.PrinterCommunication;
using MatterHackers.MatterControl.SlicerConfiguration;
using System;
namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
{
public class ConnectionWizardPage : WizardPage
{
private PrinterInfo activePrinter;
public ConnectionWizardPage() : base("Cancel")
{
cancelButton.Click += (s, e) => PrinterConnectionAndCommunication.Instance.HaltConnectionThread();
}
public PrinterInfo ActivePrinter
{
get
{
if (activePrinter == null)
{
var settings = ActiveSliceSettings.Instance;
activePrinter = new PrinterInfo
{
AutoConnect = settings.DoAutoConnect(),
BaudRate = settings.BaudRate(),
ComPort = settings.ComPort(),
DriverType = settings.DriverType(),
Id = settings.ID,
Name = settings.Name()
};
}
return activePrinter;
}
}
protected void SaveAndExit()
{
ActiveSliceSettings.Instance.RunInTransaction(settings =>
{
settings.SetAutoConnect(ActivePrinter.AutoConnect);
settings.SetBaudRate(ActivePrinter.BaudRate);
settings.SetComPort(ActivePrinter.ComPort);
settings.SetDriverType(ActivePrinter.DriverType);
settings.SetName(ActivePrinter.Name);
});
UiThread.RunOnIdle(WizardWindow.Close);
}
}
}