Settings profile using methods rather than properties

This commit is contained in:
Lars Brubaker 2016-04-28 09:41:27 -07:00
parent a5ebd1af09
commit 834aba4f38
33 changed files with 205 additions and 228 deletions

View file

@ -285,7 +285,7 @@ namespace MatterHackers.MatterControl.ActionBar
break;
case PrinterConnectionAndCommunication.CommunicationStates.Connected:
PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData;
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
if (levelingData != null && ActiveSliceSettings.Instance.LevelingRequiredToPrint()
&& !levelingData.HasBeenRun())
{

View file

@ -238,16 +238,16 @@ namespace MatterHackers.MatterControl.ActionBar
autoLevelButton.Cursor = Cursors.Hand;
autoLevelButton.Margin = new Agg.BorderDouble(top: 3);
autoLevelButton.ToolTipText = "Print leveling is enabled.".Localize();
autoLevelButton.Visible = ActiveSliceSettings.Instance.DoPrintLeveling;
autoLevelButton.Visible = ActiveSliceSettings.Instance.DoPrintLeveling();
ActiveSliceSettings.ActivePrinterChanged.RegisterEvent((sender, e) =>
{
autoLevelButton.Visible = ActiveSliceSettings.Instance.DoPrintLeveling;
autoLevelButton.Visible = ActiveSliceSettings.Instance.DoPrintLeveling();
}, ref unregisterEvents);
ActiveSliceSettings.Instance.DoPrintLevelingChanged.RegisterEvent((sender, e) =>
{
autoLevelButton.Visible = ActiveSliceSettings.Instance.DoPrintLeveling;
autoLevelButton.Visible = ActiveSliceSettings.Instance.DoPrintLeveling();
}, ref unregisterEvents);
return autoLevelButton;

View file

@ -402,9 +402,9 @@ namespace MatterHackers.MatterControl.ConfigurationPage
var settings = ActiveSliceSettings.Instance;
// Reset active slicer to MatterSlice when multi-extruder is detected and MatterSlice is not already set
if (settings?.ExtruderCount() > 1 && settings.ActiveSliceEngineType != SlicingEngineTypes.MatterSlice)
if (settings?.ExtruderCount() > 1 && settings.ActiveSliceEngineType() != SlicingEngineTypes.MatterSlice)
{
settings.ActiveSliceEngineType = SlicingEngineTypes.MatterSlice;
settings.ActiveSliceEngineType(SlicingEngineTypes.MatterSlice);
ApplicationController.Instance.ReloadAll(null, null);
}

View file

@ -92,12 +92,12 @@ namespace MatterHackers.MatterControl.ConfigurationPage
ImageWidget levelingIcon = new ImageWidget(levelingImage);
levelingIcon.Margin = new BorderDouble(right: 6);
CheckBox printLevelingSwitch = ImageButtonFactory.CreateToggleSwitch(ActiveSliceSettings.Instance.DoPrintLeveling);
CheckBox printLevelingSwitch = ImageButtonFactory.CreateToggleSwitch(ActiveSliceSettings.Instance.DoPrintLeveling());
printLevelingSwitch.VAnchor = VAnchor.ParentCenter;
printLevelingSwitch.Margin = new BorderDouble(left: 16);
printLevelingSwitch.CheckedStateChanged += (sender, e) =>
{
ActiveSliceSettings.Instance.DoPrintLeveling = printLevelingSwitch.Checked;
ActiveSliceSettings.Instance.DoPrintLeveling(printLevelingSwitch.Checked);
};
printLevelingStatusLabel = new TextWidget("");
@ -108,7 +108,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage
ActiveSliceSettings.Instance.DoPrintLevelingChanged.RegisterEvent((sender, e) =>
{
SetPrintLevelButtonVisiblity();
printLevelingSwitch.Checked = ActiveSliceSettings.Instance.DoPrintLeveling;
printLevelingSwitch.Checked = ActiveSliceSettings.Instance.DoPrintLeveling();
}, ref unregisterEvents);
buttonRow.AddChild(levelingIcon);
@ -284,7 +284,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage
private void SetPrintLevelButtonVisiblity()
{
if (ActiveSliceSettings.Instance.DoPrintLeveling)
if (ActiveSliceSettings.Instance.DoPrintLeveling())
{
printLevelingStatusLabel.Text = "Software Print Leveling (enabled)".Localize();
}

View file

@ -64,7 +64,7 @@ namespace MatterHackers.MatterControl
{
Vector3 feedRate = new Vector3(3000, 3000, 315);
string savedSettings = ActiveSliceSettings.Instance.ManualMovementSpeeds;
string savedSettings = ActiveSliceSettings.Instance.ManualMovementSpeeds();
if (savedSettings != null && savedSettings != "")
{
feedRate.x = double.Parse(savedSettings.Split(',')[1]);

View file

@ -53,12 +53,12 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
{
var settings = ActiveSliceSettings.Instance;
if (settings?.DoPrintLeveling == true
if (settings?.DoPrintLeveling() == true
&& (lineBeingSent.StartsWith("G0 ") || lineBeingSent.StartsWith("G1 "))
&& lineBeingSent.Length > 2
&& lineBeingSent[2] == ' ')
{
return GetLevelingFunctions(numberOfRadialSamples, settings.PrintLevelingData, ActiveSliceSettings.Instance.BedCenter())
return GetLevelingFunctions(numberOfRadialSamples, settings.GetPrintLevelingData(), ActiveSliceSettings.Instance.BedCenter())
.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.PrintLevelingData;
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
return GetLevelingFunctions(numberOfRadialSamples, levelingData, ActiveSliceSettings.Instance.BedCenter())
.GetPrintLevelPositionToSample(index, radius);
}

View file

@ -117,7 +117,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
public static string ApplyLeveling(string lineBeingSent, Vector3 currentDestination, PrinterMachineInstruction.MovementTypes movementMode)
{
var settings = ActiveSliceSettings.Instance;
if (settings?.DoPrintLeveling == true
if (settings?.DoPrintLeveling() == true
&& (lineBeingSent.StartsWith("G0 ") || lineBeingSent.StartsWith("G1 ")))
{
lineBeingSent = PrintLevelingPlane.Instance.ApplyLeveling(currentDestination, movementMode, lineBeingSent);
@ -154,7 +154,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
}
if (PrinterConnectionAndCommunication.Instance.CommunicationState == PrinterConnectionAndCommunication.CommunicationStates.Printing)
{
ActiveSliceSettings.Instance.DoPrintLeveling = false;
ActiveSliceSettings.Instance.DoPrintLeveling(false);
}
probeIndex = 0;
@ -249,15 +249,15 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
private static void SetEquations()
{
PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData;
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
// position 0 does not change as it is the distance from the switch trigger to the extruder tip.
//levelingData.sampledPosition0 = levelingData.sampledPosition0;
levelingData.SampledPosition1 = levelingData.SampledPosition0 + probeRead1;
levelingData.SampledPosition2 = levelingData.SampledPosition0 + probeRead2;
ActiveSliceSettings.Instance.PrintLevelingData = levelingData;
ActiveSliceSettings.Instance.DoPrintLeveling = true;
ActiveSliceSettings.Instance.SetPrintLevelingData(levelingData);
ActiveSliceSettings.Instance.DoPrintLeveling(true);
}
}
}

View file

@ -102,7 +102,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
public static string ApplyLeveling(string lineBeingSent, Vector3 currentDestination, PrinterMachineInstruction.MovementTypes movementMode)
{
var settings = ActiveSliceSettings.Instance;
if (settings?.DoPrintLeveling == true
if (settings?.DoPrintLeveling() == true
&& (lineBeingSent.StartsWith("G0 ") || lineBeingSent.StartsWith("G1 ")))
{
lineBeingSent = PrintLevelingPlane.Instance.ApplyLeveling(currentDestination, movementMode, lineBeingSent);

View file

@ -261,12 +261,12 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
public static string ApplyLeveling(string lineBeingSent, Vector3 currentDestination, PrinterMachineInstruction.MovementTypes movementMode)
{
var settings = ActiveSliceSettings.Instance;
if (settings?.DoPrintLeveling == true
if (settings?.DoPrintLeveling() == true
&& (lineBeingSent.StartsWith("G0 ") || lineBeingSent.StartsWith("G1 "))
&& lineBeingSent.Length > 2
&& lineBeingSent[2] == ' ')
{
PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData;
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
return GetLevelingFunctions(numberOfRadialSamples, levelingData, ActiveSliceSettings.Instance.BedCenter())
.DoApplyLeveling(lineBeingSent, currentDestination, movementMode);
}
@ -276,7 +276,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
public override Vector2 GetPrintLevelPositionToSample(int index, double radius)
{
PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData;
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
return GetLevelingFunctions(numberOfRadialSamples, levelingData, ActiveSliceSettings.Instance.BedCenter())
.GetPrintLevelPositionToSample(index, radius);
}

View file

@ -153,7 +153,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
private static LevelWizardBase CreateAndShowWizard(LevelWizardBase.RuningState runningState)
{
PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData;
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
LevelWizardBase printLevelWizardWindow;
switch (levelingData.CurrentPrinterLevelingSystem)

View file

@ -46,7 +46,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
public override void PageIsBecomingActive()
{
ActiveSliceSettings.Instance.DoPrintLeveling = false;
ActiveSliceSettings.Instance.DoPrintLeveling (false);
base.PageIsBecomingActive();
}
}
@ -65,15 +65,15 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
{
Vector3 paperWidth = new Vector3(0, 0, ActiveSliceSettings.Instance.ProbePaperWidth());
PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData;
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
levelingData.SampledPosition0 = probePositions[0].position - paperWidth;
levelingData.SampledPosition1 = probePositions[1].position - paperWidth;
levelingData.SampledPosition2 = probePositions[2].position - paperWidth;
// Invoke setter forcing persistence of leveling data
ActiveSliceSettings.Instance.PrintLevelingData = levelingData;
ActiveSliceSettings.Instance.SetPrintLevelingData(levelingData);
ActiveSliceSettings.Instance.DoPrintLeveling = true;
ActiveSliceSettings.Instance.DoPrintLeveling ( true);
base.PageIsBecomingActive();
}
@ -91,7 +91,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
public override void PageIsBecomingActive()
{
PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData;
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
levelingData.SampledPositions.Clear();
Vector3 paperWidth = new Vector3(0, 0, ActiveSliceSettings.Instance.ProbePaperWidth());
for (int i = 0; i < probePositions.Length; i++)
@ -100,9 +100,9 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
}
// Invoke setter forcing persistence of leveling data
ActiveSliceSettings.Instance.PrintLevelingData = levelingData;
ActiveSliceSettings.Instance.SetPrintLevelingData(levelingData);
ActiveSliceSettings.Instance.DoPrintLeveling = true;
ActiveSliceSettings.Instance.DoPrintLeveling ( true);
base.PageIsBecomingActive();
}
}
@ -195,7 +195,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
Vector3 paperWidth = new Vector3(0, 0, ActiveSliceSettings.Instance.ProbePaperWidth());
PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData;
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
levelingData.SampledPosition0 = userBedSample0 - paperWidth;
levelingData.SampledPosition1 = userBedSample1 - paperWidth;
levelingData.SampledPosition2 = probeOffset2 - probeOffset0 + userBedSample0 - paperWidth;
@ -204,9 +204,9 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
levelingData.ProbeOffset1 = probeOffset1 - paperWidth;
// Invoke setter forcing persistence of leveling data
ActiveSliceSettings.Instance.PrintLevelingData = levelingData;
ActiveSliceSettings.Instance.SetPrintLevelingData(levelingData);
ActiveSliceSettings.Instance.DoPrintLeveling = true;
ActiveSliceSettings.Instance.DoPrintLeveling ( true);
base.PageIsBecomingActive();
}
}
@ -276,7 +276,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
public override void PageIsBecomingActive()
{
// always make sure we don't have print leveling turned on
ActiveSliceSettings.Instance.DoPrintLeveling = false;
ActiveSliceSettings.Instance.DoPrintLeveling ( false);
base.PageIsBecomingActive();
}

View file

@ -251,7 +251,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage
private void SetPrintLevelButtonVisiblity()
{
if (ActiveSliceSettings.Instance.DoPrintLeveling)
if (ActiveSliceSettings.Instance.DoPrintLeveling())
{
printLevelingStatusLabel.Text = "Software Print Leveling (enabled)".Localize();
}

View file

@ -191,7 +191,7 @@ namespace MatterHackers.MatterControl
middleRowContainer.AddChild(new VerticalSpacer());
// If print leveling is enabled then add in a check box 'Apply Leveling During Export' and default checked.
if (showExportGCodeButton && ActiveSliceSettings.Instance.DoPrintLeveling)
if (showExportGCodeButton && ActiveSliceSettings.Instance.DoPrintLeveling())
{
applyLeveling = new CheckBox(LocalizedString.Get(applyLevelingDuringExportString), ActiveTheme.Instance.PrimaryTextColor, 10);
applyLeveling.Checked = true;
@ -308,12 +308,12 @@ namespace MatterHackers.MatterControl
{
try
{
if (ActiveSliceSettings.Instance.DoPrintLeveling)
if (ActiveSliceSettings.Instance.DoPrintLeveling())
{
GCodeFileLoaded unleveledGCode = new GCodeFileLoaded(source);
if (applyLeveling.Checked)
{
PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData;
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
if (levelingData != null)
{
for (int lineIndex = 0; lineIndex < unleveledGCode.LineCount; lineIndex++)

View file

@ -52,7 +52,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io
string lineFromChild = base.ReadLine();
if (lineFromChild != null
&& PrinterConnectionAndCommunication.Instance.ActivePrinter.DoPrintLeveling)
&& PrinterConnectionAndCommunication.Instance.ActivePrinter.DoPrintLeveling())
{
if (LineIsMovement(lineFromChild))
{
@ -91,7 +91,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io
private string RunPrintLevelingTranslations(string lineBeingSent, PrinterMove currentDestination)
{
PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData;
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
if (levelingData != null)
{
switch (levelingData.CurrentPrinterLevelingSystem)

View file

@ -396,9 +396,9 @@ namespace MatterHackers.MatterControl.PrinterCommunication
{
try
{
if (ActiveSliceSettings.Instance.BaudRate != null)
if (ActiveSliceSettings.Instance.BaudRate() != null)
{
baudRate = Convert.ToInt32(ActiveSliceSettings.Instance.BaudRate);
baudRate = Convert.ToInt32(ActiveSliceSettings.Instance.BaudRate());
}
}
catch
@ -513,9 +513,9 @@ namespace MatterHackers.MatterControl.PrinterCommunication
}
}
public string ComPort => ActiveSliceSettings.Instance?.ComPort;
public string ComPort => ActiveSliceSettings.Instance?.ComPort();
public string DriverType => ActiveSliceSettings.Instance?.DriverType;
public string DriverType => ActiveSliceSettings.Instance?.DriverType();
public bool AtxPowerEnabled
{
@ -1340,9 +1340,9 @@ namespace MatterHackers.MatterControl.PrinterCommunication
{
// If leveling is required or is currently on
if (ActiveSliceSettings.Instance.LevelingRequiredToPrint()
|| ActiveSliceSettings.Instance.DoPrintLeveling)
|| ActiveSliceSettings.Instance.DoPrintLeveling())
{
PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData;
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
if(levelingData?.HasBeenRun() != true)
{
LevelWizardBase.ShowPrintLevelWizard();
@ -1638,9 +1638,9 @@ namespace MatterHackers.MatterControl.PrinterCommunication
// run the print leveling wizard if we need to for this printer
if (ActiveSliceSettings.Instance.LevelingRequiredToPrint()
|| ActiveSliceSettings.Instance.DoPrintLeveling)
|| ActiveSliceSettings.Instance.DoPrintLeveling())
{
PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData;
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
if (levelingData?.HasBeenRun() != true)
{
UiThread.RunOnIdle(LevelWizardBase.ShowPrintLevelWizard);
@ -2486,7 +2486,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication
// TODO: Fix printerItemID int requirement
activePrintTask = new PrintTask();
activePrintTask.PrintStart = DateTime.Now;
activePrintTask.PrinterId = this.ActivePrinter.Id.GetHashCode();
activePrintTask.PrinterId = this.ActivePrinter.Id().GetHashCode();
activePrintTask.PrintName = ActivePrintItem.PrintItem.Name;
activePrintTask.PrintItemId = ActivePrintItem.PrintItem.Id;
activePrintTask.PrintingGCodeFileName = ActivePrintItem.GetGCodePathAndFileName();

View file

@ -166,12 +166,12 @@ namespace MatterHackers.MatterControl.PrinterControls
internal static IEnumerable<CustomCommands> GetMacros()
{
if (!string.IsNullOrEmpty(ActiveSliceSettings.Instance?.Id))
if (!string.IsNullOrEmpty(ActiveSliceSettings.Instance?.Id()))
{
// TODO: Hook macros into new settings system
//Retrieve a list of macros from the database
string query = string.Format("SELECT * FROM CustomCommands WHERE PrinterId = {0};", ActiveSliceSettings.Instance.Id);
string query = string.Format("SELECT * FROM CustomCommands WHERE PrinterId = {0};", ActiveSliceSettings.Instance.Id());
return Datastore.Instance.dbSQLite.Query<CustomCommands>(query);
}

View file

@ -172,7 +172,7 @@ namespace MatterHackers.MatterControl.PrinterControls
string presets = "x,3000,y,3000,z,315,e0,150"; // stored x,value,y,value,z,value,e1,value,e2,value,e3,value,...
if (PrinterConnectionAndCommunication.Instance != null && ActiveSliceSettings.Instance != null)
{
string savedSettings = ActiveSliceSettings.Instance.ManualMovementSpeeds;
string savedSettings = ActiveSliceSettings.Instance.ManualMovementSpeeds();
if (savedSettings != null && savedSettings != "")
{
presets = savedSettings;
@ -187,7 +187,7 @@ namespace MatterHackers.MatterControl.PrinterControls
StringEventArgs stringEvent = e as StringEventArgs;
if (stringEvent != null && stringEvent.Data != null)
{
ActiveSliceSettings.Instance.ManualMovementSpeeds = stringEvent.Data;
ActiveSliceSettings.Instance.SetManualMovementSpeeds(stringEvent.Data);
ApplicationController.Instance.ReloadAdvancedControlsPanel();
}
}

View file

@ -88,7 +88,7 @@ namespace MatterHackers.MatterControl
textImageButtonFactory.FixedHeight = 30 * TextWidget.GlobalPointSizeScaleRatio;
// put in the movement edit controls
PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData;
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
if (EditSamplePositionList(levelingData))
{
for (int i = 0; i < levelingData.SampledPositions.Count; i++)
@ -201,7 +201,7 @@ namespace MatterHackers.MatterControl
private void DoSave_Click()
{
PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData;
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
if (EditSamplePositionList(levelingData))
{
@ -217,7 +217,7 @@ namespace MatterHackers.MatterControl
levelingData.SampledPosition2 = positions[2];
}
ActiveSliceSettings.Instance.PrintLevelingData = levelingData;
ActiveSliceSettings.Instance.SetPrintLevelingData(levelingData);
Close();
}

View file

@ -217,7 +217,7 @@ namespace MatterHackers.MatterControl
{
// TODO: Review bindings to int printerID
int printerID;
int.TryParse(ActiveSliceSettings.Instance.Id, out printerID);
int.TryParse(ActiveSliceSettings.Instance.Id(), out printerID);
windowController.ActiveMacro = new CustomCommands();
windowController.ActiveMacro.PrinterId = printerID;

View file

@ -260,12 +260,12 @@ namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
var settings = ActiveSliceSettings.Instance;
activePrinter = new PrinterInfo
{
AutoConnectFlag = settings.AutoConnectFlag,
BaudRate = settings.BaudRate,
ComPort = settings.ComPort,
DriverType = settings.DriverType,
Id = settings.Id,
Name = settings.Name
AutoConnectFlag = settings.DoAutoConnect(),
BaudRate = settings.BaudRate(),
ComPort = settings.ComPort(),
DriverType = settings.DriverType(),
Id = settings.Id(),
Name = settings.Name()
};
}

View file

@ -68,13 +68,13 @@ namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
{
ActiveSliceSettings.Instance.RunInTransaction(settings =>
{
settings.AutoConnectFlag = ActivePrinter.AutoConnectFlag;
settings.BaudRate = ActivePrinter.BaudRate;
settings.ComPort = ActivePrinter.ComPort;
settings.SlicingEngine = ActivePrinter.CurrentSlicingEngine;
settings.DriverType = ActivePrinter.DriverType;
settings.Id = ActivePrinter.Id;
settings.Name = ActivePrinter.Name;
settings.SetAutoConnect(ActivePrinter.AutoConnectFlag);
settings.SetBaudRate(ActivePrinter.BaudRate);
settings.SetComPort(ActivePrinter.ComPort);
settings.SetSlicingEngine(ActivePrinter.CurrentSlicingEngine);
settings.SetDriverType(ActivePrinter.DriverType);
settings.SetId(ActivePrinter.Id);
settings.SetName(ActivePrinter.Name);
});
UiThread.RunOnIdle(connectionWizard.Close);

View file

@ -138,7 +138,7 @@ namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
printerComPortError.Text = "Attempting to connect".Localize() + "...";
printerComPortError.TextColor = ActiveTheme.Instance.PrimaryTextColor;
ActiveSliceSettings.Instance.ComPort = GetSelectedSerialPort();
ActiveSliceSettings.Instance.SetComPort(GetSelectedSerialPort());
PrinterConnectionAndCommunication.Instance.ConnectToActivePrinter();
connectButton.Visible = false;

View file

@ -132,7 +132,7 @@ namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
printerErrorMessage.TextColor = ActiveTheme.Instance.PrimaryTextColor;
printerErrorMessage.Text = "Attempting to connect".Localize() + "...";
ActiveSliceSettings.Instance.ComPort = candidatePort;
ActiveSliceSettings.Instance.SetComPort(candidatePort);
PrinterConnectionAndCommunication.Instance.ConnectToActivePrinter();
connectButton.Visible = false;
}

View file

@ -181,7 +181,7 @@ namespace MatterHackers.MatterControl.PrintQueue
}
}
PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData;
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
// now copy all the gcode to the path given
for (int i = 0; i < savedGCodeFileNames.Count; i++)
@ -191,7 +191,7 @@ namespace MatterHackers.MatterControl.PrintQueue
string outputFileName = Path.ChangeExtension(originalFileName, ".gcode");
string outputPathAndName = Path.Combine(exportPath, outputFileName);
if (ActiveSliceSettings.Instance.DoPrintLeveling)
if (ActiveSliceSettings.Instance.DoPrintLeveling())
{
GCodeFileLoaded unleveledGCode = new GCodeFileLoaded(savedGcodeFileName);

View file

@ -268,7 +268,7 @@ namespace MatterHackers.MatterControl.PrintQueue
return FileLocation;
}
string engineString = ((int)ActiveSliceSettings.Instance.ActiveSliceEngineType).ToString();
string engineString = ((int)ActiveSliceSettings.Instance.ActiveSliceEngineType()).ToString();
string gcodeFileName = this.FileHashCode.ToString() + "_" + engineString + "_" + ActiveSliceSettings.Instance.GetHashCode().ToString();
string gcodePathAndFileName = Path.Combine(ApplicationDataStorage.Instance.GCodeOutputPath, gcodeFileName + ".gcode");
@ -300,7 +300,7 @@ namespace MatterHackers.MatterControl.PrintQueue
}
// check if there is a known line at the end of the file (this will let us know if slicer finished building the file).
switch (ActiveSliceSettings.Instance.ActiveSliceEngineType)
switch (ActiveSliceSettings.Instance.ActiveSliceEngineType())
{
case SlicingEngineTypes.CuraEngine:
case SlicingEngineTypes.MatterSlice:

View file

@ -28,7 +28,7 @@ namespace MatterHackers.MatterControl
{
// TODO: Review int printerID
int printerID;
int.TryParse(ActiveSliceSettings.Instance.Id, out printerID);
int.TryParse(ActiveSliceSettings.Instance.Id(), out printerID);
//Lazy load the data (rather than hook to printer change event)
if (printerID != ActiveSettingsPrinterId)
@ -75,7 +75,7 @@ namespace MatterHackers.MatterControl
{
// TODO: Review int printerID
int printerID;
int.TryParse(ActiveSliceSettings.Instance.Id, out printerID);
int.TryParse(ActiveSliceSettings.Instance.Id(), out printerID);
setting = new PrinterSetting();
setting.Name = key;
@ -100,7 +100,7 @@ namespace MatterHackers.MatterControl
}
// TODO: Review int printerID
int printerID;
int.TryParse(ActiveSliceSettings.Instance.Id, out printerID);
int.TryParse(ActiveSliceSettings.Instance.Id(), out printerID);
ActiveSettingsPrinterId = printerID;
}
@ -109,7 +109,7 @@ namespace MatterHackers.MatterControl
private IEnumerable<PrinterSetting> GetPrinterSettings()
{
//Retrieve a list of settings from the Datastore
string query = string.Format("SELECT * FROM PrinterSetting WHERE PrinterId = {0};", ActiveSliceSettings.Instance.Id);
string query = string.Format("SELECT * FROM PrinterSetting WHERE PrinterId = {0};", ActiveSliceSettings.Instance.Id());
return Datastore.Instance.dbSQLite.Query<PrinterSetting>(query);
}
}

View file

@ -441,70 +441,64 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
private PrintLevelingData printLevelingData = null;
public PrintLevelingData PrintLevelingData
public PrintLevelingData GetPrintLevelingData()
{
get
if (printLevelingData == null)
{
if (printLevelingData == null)
{
printLevelingData = PrintLevelingData.Create(
ActiveSliceSettings.Instance,
layeredProfile.GetValue("MatterControl.PrintLevelingData"),
layeredProfile.GetValue("MatterControl.PrintLevelingProbePositions"));
printLevelingData = PrintLevelingData.Create(
ActiveSliceSettings.Instance,
layeredProfile.GetValue("MatterControl.PrintLevelingData"),
layeredProfile.GetValue("MatterControl.PrintLevelingProbePositions"));
PrintLevelingPlane.Instance.SetPrintLevelingEquation(
printLevelingData.SampledPosition0,
printLevelingData.SampledPosition1,
printLevelingData.SampledPosition2,
ActiveSliceSettings.Instance.PrintCenter());
}
PrintLevelingPlane.Instance.SetPrintLevelingEquation(
printLevelingData.SampledPosition0,
printLevelingData.SampledPosition1,
printLevelingData.SampledPosition2,
ActiveSliceSettings.Instance.PrintCenter());
}
return printLevelingData;
}
set
{
printLevelingData = value;
layeredProfile.SetActiveValue("MatterControl.PrintLevelingData", JsonConvert.SerializeObject(PrintLevelingData));
}
return printLevelingData;
}
public bool DoPrintLeveling
public void SetPrintLevelingData(PrintLevelingData data)
{
get
printLevelingData = data;
layeredProfile.SetActiveValue("MatterControl.PrintLevelingData", JsonConvert.SerializeObject(data));
}
public bool DoPrintLeveling()
{
return layeredProfile.GetValue("MatterControl.PrintLevelingEnabled") == "true";
}
public void DoPrintLeveling(bool doLevling)
{
// Early exit if already set
if (doLevling == this.DoPrintLeveling())
{
return layeredProfile.GetValue("MatterControl.PrintLevelingEnabled") == "true";
return;
}
set
layeredProfile.SetActiveValue("MatterControl.PrintLevelingEnabled", doLevling ? "true" : "false");
DoPrintLevelingChanged.CallEvents(this, null);
if (doLevling)
{
// Early exit if already set
if(value == this.DoPrintLeveling)
{
return;
}
layeredProfile.SetActiveValue("MatterControl.PrintLevelingEnabled", value ? "true" : "false");
DoPrintLevelingChanged.CallEvents(this, null);
if (value)
{
PrintLevelingData levelingData = ActiveSliceSettings.Instance.PrintLevelingData;
PrintLevelingPlane.Instance.SetPrintLevelingEquation(
levelingData.SampledPosition0,
levelingData.SampledPosition1,
levelingData.SampledPosition2,
ActiveSliceSettings.Instance.PrintCenter());
}
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
PrintLevelingPlane.Instance.SetPrintLevelingEquation(
levelingData.SampledPosition0,
levelingData.SampledPosition1,
levelingData.SampledPosition2,
ActiveSliceSettings.Instance.PrintCenter());
}
}
private static readonly SlicingEngineTypes defaultEngineType = SlicingEngineTypes.MatterSlice;
public SlicingEngineTypes ActiveSliceEngineType
public SlicingEngineTypes ActiveSliceEngineType()
{
get
{
string engineType = layeredProfile.GetValue("MatterControl.SlicingEngine");
if (string.IsNullOrEmpty(engineType))
{
@ -513,16 +507,16 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
var engine = (SlicingEngineTypes)Enum.Parse(typeof(SlicingEngineTypes), engineType);
return engine;
}
set
{
SetActiveValue("MatterControl.SlicingEngine", value.ToString());
}
}
public void ActiveSliceEngineType(SlicingEngineTypes type)
{
SetActiveValue("MatterControl.SlicingEngine", type.ToString());
}
public SliceEngineMapping ActiveSliceEngine()
{
switch (ActiveSliceEngineType)
switch (ActiveSliceEngineType())
{
case SlicingEngineTypes.CuraEngine:
return EngineMappingCura.Instance;
@ -679,7 +673,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
// If we have print leveling turned on then make sure we don't have any leveling commands in the start gcode.
if (PrinterConnectionAndCommunication.Instance.ActivePrinter.DoPrintLeveling)
if (PrinterConnectionAndCommunication.Instance.ActivePrinter.DoPrintLeveling())
{
string[] startGCode = ActiveValue("start_gcode").Replace("\\n", "\n").Split('\n');
foreach (string startGCodeLine in startGCode)
@ -829,75 +823,65 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
return true;
}
public bool AutoConnectFlag
public bool DoAutoConnect()
{
get
{
return layeredProfile.GetValue("MatterControl.AutoConnectFlag") == "true";
}
set
{
layeredProfile.SetActiveValue("MatterControl.AutoConnectFlag", value ? "true" : "false");
}
return layeredProfile.GetValue("MatterControl.AutoConnectFlag") == "true";
}
public string BaudRate
public void SetAutoConnect(bool flag)
{
get
{
return layeredProfile.GetValue("MatterControl.BaudRate");
}
set
{
layeredProfile.SetActiveValue("MatterControl.BaudRate", value);
}
layeredProfile.SetActiveValue("MatterControl.AutoConnectFlag", flag ? "true" : "false");
}
public string ComPort
public string BaudRate()
{
get
{
return layeredProfile.GetValue("MatterControl.ComPort");
}
set
{
layeredProfile.SetActiveValue("MatterControl.ComPort", value);
}
return layeredProfile.GetValue("MatterControl.BaudRate");
}
public string SlicingEngine
public void SetBaudRate(string data)
{
get
{
return layeredProfile.GetValue("MatterControl.SlicingEngine");
}
set
{
layeredProfile.SetActiveValue("MatterControl.SlicingEngine", value);
}
layeredProfile.SetActiveValue("MatterControl.BaudRate", data);
}
public string DriverType
public string ComPort()
{
get
{
return layeredProfile.GetValue("MatterControl.DriverType");
}
set
{
layeredProfile.SetActiveValue("MatterControl.DriverType", value);
}
return layeredProfile.GetValue("MatterControl.ComPort");
}
public string DeviceToken
public void SetComPort(string port)
{
get
{
return layeredProfile.GetValue("MatterControl.DeviceToken");
}
set
{
layeredProfile.SetActiveValue("MatterControl.DeviceToken", value);
}
layeredProfile.SetActiveValue("MatterControl.ComPort", port);
}
public string SlicingEngine()
{
return layeredProfile.GetValue("MatterControl.SlicingEngine");
}
public void SetSlicingEngine(string engine)
{
layeredProfile.SetActiveValue("MatterControl.SlicingEngine", engine);
}
public string DriverType()
{
return layeredProfile.GetValue("MatterControl.DriverType");
}
public void SetDriverType(string driver)
{
layeredProfile.SetActiveValue("MatterControl.DriverType", driver);
}
public string DeviceToken()
{
return layeredProfile.GetValue("MatterControl.DeviceToken");
}
public void SetDeviceToken(string token)
{
layeredProfile.SetActiveValue("MatterControl.DeviceToken", token);
}
public string DeviceType => layeredProfile.GetValue("MatterControl.DeviceType");
@ -905,44 +889,37 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
public string Make => layeredProfile.GetValue("MatterControl.Make");
// Rename to PrinterName
public string Name
public string Name()
{
get
{
return layeredProfile.GetValue("MatterControl.PrinterName");
}
set
{
layeredProfile.SetActiveValue("MatterControl.PrinterName", value);
}
return layeredProfile.GetValue("MatterControl.PrinterName");
}
public string Id
public void SetName(string name)
{
get
{
return layeredProfile.GetValue("MatterControl.PrinterID");
}
set
{
layeredProfile.SetActiveValue("MatterControl.PrinterID", value);
}
layeredProfile.SetActiveValue("MatterControl.PrinterName", name);
}
public string Id()
{
return layeredProfile.GetValue("MatterControl.PrinterID");
}
public void SetId(string id)
{
layeredProfile.SetActiveValue("MatterControl.PrinterID", id);
}
public string Model => layeredProfile.GetValue("MatterControl.Model");
public string ManualMovementSpeeds
public string ManualMovementSpeeds()
{
get
{
return layeredProfile.GetValue("MatterControl.ManualMovementSpeeds");
}
set
{
layeredProfile.SetActiveValue("MatterControl.ManualMovementSpeeds", value);
}
return layeredProfile.GetValue("MatterControl.ManualMovementSpeeds");
}
public void SetManualMovementSpeeds(string speed)
{
layeredProfile.SetActiveValue("MatterControl.ManualMovementSpeeds", speed);
}
private List<string> printerDrivers = null;

View file

@ -328,15 +328,15 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
SlicingEngineTypes itemEngineType = engineMenuItem.GetSliceEngineType();
item.Selected += (sender, e) =>
{
if (ActiveSliceSettings.Instance.ActiveSliceEngineType != itemEngineType)
if (ActiveSliceSettings.Instance.ActiveSliceEngineType() != itemEngineType)
{
ActiveSliceSettings.Instance.ActiveSliceEngineType = itemEngineType;
ActiveSliceSettings.Instance.ActiveSliceEngineType(itemEngineType);
ApplicationController.Instance.ReloadAdvancedControlsPanel();
}
};
//Set item as selected if it matches the active slice engine
if (engineMenuItem.GetSliceEngineType() == ActiveSliceSettings.Instance.ActiveSliceEngineType)
if (engineMenuItem.GetSliceEngineType() == ActiveSliceSettings.Instance.ActiveSliceEngineType())
{
SelectedLabel = engineMenuItem.Name;
}

View file

@ -886,7 +886,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
// TODO: Review bindings to int printerID
int printerID;
int.TryParse(ActiveSliceSettings.Instance.Id, out printerID);
int.TryParse(ActiveSliceSettings.Instance.Id(), out printerID);
collection.Name = string.Format("{0} ({1})", windowController.filterLabel, noExistingPresets.ToString());
collection.Tag = windowController.filterTag;

View file

@ -176,7 +176,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
// TODO: Review bindings to int printerID
int printerID;
int.TryParse(ActiveSliceSettings.Instance.Id, out printerID);
int.TryParse(ActiveSliceSettings.Instance.Id(), out printerID);
//Create collection to hold preset settings
settingsCollection = new SliceSettingsCollection();
@ -218,7 +218,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
if (ActiveSliceSettings.Instance != null)
{
//Retrieve a list of collections matching from the Datastore
string query = string.Format("SELECT * FROM SliceSettingsCollection WHERE Tag = '{0}' AND PrinterId = {1} ORDER BY Name;", windowController.filterTag, ActiveSliceSettings.Instance.Id);
string query = string.Format("SELECT * FROM SliceSettingsCollection WHERE Tag = '{0}' AND PrinterId = {1} ORDER BY Name;", windowController.filterTag, ActiveSliceSettings.Instance.Id());
return Datastore.Instance.dbSQLite.Query<SliceSettingsCollection>(query);
}

View file

@ -179,7 +179,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
categoryTabs.TabBar.AddChild(new HorizontalSpacer());
categoryTabs.TabBar.AddChild(sliceSettingsDetailControl);
if (sliceSettingsDetailControl.SelectedValue == "Advanced" && ActiveSliceSettings.Instance.ActiveSliceEngineType == SlicingEngineTypes.Slic3r)
if (sliceSettingsDetailControl.SelectedValue == "Advanced" && ActiveSliceSettings.Instance.ActiveSliceEngineType() == SlicingEngineTypes.Slic3r)
{
TabPage extraSettingsPage = new TabPage("Other");
SimpleTextTabWidget extraSettingsTextTabWidget = new SimpleTextTabWidget(extraSettingsPage, "Other Tab", 16,

View file

@ -150,7 +150,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
private static string getSlicerFullPath()
{
SliceEngineInfo info = getSliceEngineInfoByType(ActiveSliceSettings.Instance.ActiveSliceEngineType);
SliceEngineInfo info = getSliceEngineInfoByType(ActiveSliceSettings.Instance.ActiveSliceEngineType());
if (info != null)
{
return info.GetEnginePath();
@ -337,7 +337,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
PrintItemWrapper itemToSlice = listOfSlicingItems[0];
bool doMergeInSlicer = false;
string mergeRules = "";
doMergeInSlicer = ActiveSliceSettings.Instance.ActiveSliceEngineType == SlicingEngineTypes.MatterSlice;
doMergeInSlicer = ActiveSliceSettings.Instance.ActiveSliceEngineType() == SlicingEngineTypes.MatterSlice;
string[] stlFileLocations = GetStlFileLocations(itemToSlice.FileLocation, doMergeInSlicer, ref mergeRules);
string fileToSlice = stlFileLocations[0];
// check that the STL file is currently on disk
@ -355,7 +355,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
string commandArgs = "";
switch (ActiveSliceSettings.Instance.ActiveSliceEngineType)
switch (ActiveSliceSettings.Instance.ActiveSliceEngineType())
{
case SlicingEngineTypes.Slic3r:
commandArgs = "--load \"" + currentConfigurationFileAndPath + "\" --output \"" + gcodePathAndFileName + "\" \"" + fileToSlice + "\"";
@ -393,7 +393,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
if (OsInformation.OperatingSystem == OSType.Android ||
((OsInformation.OperatingSystem == OSType.Mac || runInProcess)
&& ActiveSliceSettings.Instance.ActiveSliceEngineType == SlicingEngineTypes.MatterSlice))
&& ActiveSliceSettings.Instance.ActiveSliceEngineType() == SlicingEngineTypes.MatterSlice))
{
itemCurrentlySlicing = itemToSlice;
MatterHackers.MatterSlice.LogOutput.GetLogWrites += SendProgressToItem;

@ -1 +1 @@
Subproject commit 798aad7d8f2d9817979383bad80b2fbc368ae234
Subproject commit ae5b92d8af9f5f0861960edaaee68e5ea561ffca