More settings moved to GetValue

extruder_count
bed_temperature
This commit is contained in:
Lars Brubaker 2016-06-16 10:31:18 -07:00
parent 2ee52deea6
commit 773f6ddc9b
14 changed files with 28 additions and 37 deletions

View file

@ -86,7 +86,7 @@ namespace MatterHackers.MatterControl.ActionBar
protected override void SetTargetTemperature()
{
double targetTemp = ActiveSliceSettings.Instance.BedTemperature();
double targetTemp = ActiveSliceSettings.Instance.GetValue<double>(SettingsKey.bed_temperature);
if (targetTemp != 0)
{
double goalTemp = (int)(targetTemp + .5);

View file

@ -402,7 +402,7 @@ 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?.GetValue<int>(SettingsKey.extruder_count) > 1 && settings.ActiveSliceEngineType() != SlicingEngineTypes.MatterSlice)
{
settings.ActiveSliceEngineType(SlicingEngineTypes.MatterSlice);
ApplicationController.Instance.ReloadAll(null, null);

View file

@ -1064,7 +1064,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
private void AddMaterialControls(FlowLayoutWidget buttonPanel)
{
extruderButtons.Clear();
for (int extruderIndex = 0; extruderIndex < ActiveSliceSettings.Instance.ExtruderCount(); extruderIndex++)
for (int extruderIndex = 0; extruderIndex < ActiveSliceSettings.Instance.GetValue<int>(SettingsKey.extruder_count); extruderIndex++)
{
FlowLayoutWidget colorSelectionContainer = new FlowLayoutWidget(FlowDirection.LeftToRight);
colorSelectionContainer.HAnchor = HAnchor.ParentLeftRight;
@ -1461,7 +1461,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
}
// put in the material options
int numberOfExtruders = ActiveSliceSettings.Instance.ExtruderCount();
int numberOfExtruders = ActiveSliceSettings.Instance.GetValue<int>(SettingsKey.extruder_count);
expandMaterialOptions = ExpandMenuOptionFactory.GenerateCheckBoxButton("Materials".Localize().ToUpper(), StaticData.Instance.LoadIcon("icon_arrow_right_no_border_32x32.png", 32, 32).InvertLightness());
expandMaterialOptions.Margin = new BorderDouble(bottom: 2);

View file

@ -646,7 +646,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
}
// put in a simulate extrusion checkbox
if (ActiveSliceSettings.Instance.ExtruderCount() > 1)
if (ActiveSliceSettings.Instance.GetValue<int>(SettingsKey.extruder_count) > 1)
{
CheckBox hideExtruderOffsets = new CheckBox("Hide Offsets", textColor: ActiveTheme.Instance.PrimaryTextColor);
hideExtruderOffsets.Checked = gcodeViewWidget.HideExtruderOffsets;

View file

@ -2800,7 +2800,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication
private void TurnOffBedAndExtruders()
{
for (int i = 0; i < ActiveSliceSettings.Instance.ExtruderCount(); i++)
for (int i = 0; i < ActiveSliceSettings.Instance.GetValue<int>(SettingsKey.extruder_count); i++)
{
SetTargetExtruderTemperature(i, 0);
}

View file

@ -24,7 +24,7 @@ namespace MatterHackers.MatterControl.PrinterControls
temperatureGroupBox.AddChild(mainContainer);
RGBA_Bytes separatorLineColor = new RGBA_Bytes(ActiveTheme.Instance.PrimaryTextColor, 100);
int numberOfHeatedExtruders = ActiveSliceSettings.Instance.ExtruderCount();
int numberOfHeatedExtruders = ActiveSliceSettings.Instance.GetValue<int>(SettingsKey.extruder_count);
if (numberOfHeatedExtruders > 1)
{
for (int i = 0; i < numberOfHeatedExtruders; i++)

View file

@ -601,7 +601,7 @@ namespace MatterHackers.MatterControl
protected override double GetPreheatTemperature()
{
return ActiveSliceSettings.Instance.BedTemperature();
return ActiveSliceSettings.Instance.GetValue<int>(SettingsKey.extruder_count);
}
protected override double GetActualTemperature()

View file

@ -412,7 +412,7 @@ namespace MatterHackers.MatterControl
private FlowLayoutWidget CreateEButtons(double buttonSeparationDistance)
{
int extruderCount = ActiveSliceSettings.Instance.ExtruderCount();
int extruderCount = ActiveSliceSettings.Instance.GetValue<int>(SettingsKey.extruder_count);
FlowLayoutWidget eButtons = new FlowLayoutWidget(FlowDirection.TopToBottom);
{

View file

@ -59,6 +59,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
z_homes_to_max,
nozzle_diameter,
min_fan_speed,
extruder_count,
extruders_share_temperature,
};
public class SettingsProfile
@ -291,23 +293,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
return firstLayerValue;
}
public int ExtruderCount()
{
if (this.GetValue<bool>("extruders_share_temperature"))
{
return 1;
}
int extruderCount;
string extruderCountString = GetValue("extruder_count");
if (!int.TryParse(extruderCountString, out extruderCount))
{
return 1;
}
return extruderCount;
}
public Vector2 ExtruderOffset(int extruderIndex)
{
string currentOffsets = GetValue("extruder_offset");
@ -429,6 +414,12 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
else if (typeof(T) == typeof(int))
{
if (settingsKey == SettingsKey.extruder_count.ToString()
&& this.GetValue<bool>(SettingsKey.extruders_share_temperature))
{
return (T)(object)1;
}
int result;
int.TryParse(this.GetValue(settingsKey), out result);
return (T)(object)(result);
@ -696,10 +687,10 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
return false;
}
if (ExtruderCount() < 1)
if (GetValue<int>(SettingsKey.extruder_count) < 1)
{
string error = "The Extruder Count must be at least 1.".Localize();
string details = string.Format("It is currently set to {0}.".Localize(), ExtruderCount());
string details = string.Format("It is currently set to {0}.".Localize(), GetValue<int>(SettingsKey.extruder_count));
string location = "Location: 'Settings & Controls' -> 'Settings' -> 'Printer' -> 'Features'".Localize();
StyledMessageBox.ShowMessageBox(null, string.Format("{0}\n\n{1}\n\n{2}", error, details, location), "Slice Error".Localize());
return false;

View file

@ -41,7 +41,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
this.HAnchor = HAnchor.ParentLeftRight;
int numberOfHeatedExtruders = ActiveSliceSettings.Instance.ExtruderCount();
int numberOfHeatedExtruders = ActiveSliceSettings.Instance.GetValue<int>(SettingsKey.extruder_count);
this.AddChild(new PresetSelectorWidget("Quality".Localize(), RGBA_Bytes.Yellow, NamedSettingsLayers.Quality, 0));
this.AddChild(new GuiWidget(8, 0));

View file

@ -288,7 +288,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
foreach (SliceEngineInfo engineMenuItem in SlicingQueue.AvailableSliceEngines)
{
bool engineAllowed = true;
if (ActiveSliceSettings.Instance.ExtruderCount() > 1 && engineMenuItem.Name != "MatterSlice")
if (ActiveSliceSettings.Instance.GetValue<int>(SettingsKey.extruder_count) > 1 && engineMenuItem.Name != "MatterSlice")
{
engineAllowed = false;
}

View file

@ -356,7 +356,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
if (subGroup.Name == "Extruder X")
{
numberOfCopies = ActiveSliceSettings.Instance.ExtruderCount();
numberOfCopies = ActiveSliceSettings.Instance.GetValue<int>(SettingsKey.extruder_count);
}
for (int copyIndex = 0; copyIndex < numberOfCopies; copyIndex++)

View file

@ -168,14 +168,14 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
preStartGCode.Add("; automatic settings before start_gcode");
AddDefaultIfNotPresent(preStartGCode, "G21", preStartGCodeLines, "set units to millimeters");
AddDefaultIfNotPresent(preStartGCode, "M107", preStartGCodeLines, "fan off");
double bed_temperature = ActiveSliceSettings.Instance.BedTemperature();
double bed_temperature = ActiveSliceSettings.Instance.GetValue<double>(SettingsKey.bed_temperature);
if (bed_temperature > 0)
{
string setBedTempString = string.Format("M190 S{0}", bed_temperature);
AddDefaultIfNotPresent(preStartGCode, setBedTempString, preStartGCodeLines, "wait for bed temperature to be reached");
}
int numberOfHeatedExtruders = ActiveSliceSettings.Instance.ExtruderCount();
int numberOfHeatedExtruders = ActiveSliceSettings.Instance.GetValue<int>(SettingsKey.extruder_count);
// Start heating all the extruder that we are going to use.
for (int extruderIndex0Based = 0; extruderIndex0Based < numberOfHeatedExtruders; extruderIndex0Based++)
@ -238,7 +238,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
List<string> postStartGCode = new List<string>();
postStartGCode.Add("; automatic settings after start_gcode");
int numberOfHeatedExtruders = ActiveSliceSettings.Instance.ExtruderCount();
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")

View file

@ -168,7 +168,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
extrudersUsed.Clear();
int extruderCount = ActiveSliceSettings.Instance.ExtruderCount();
int extruderCount = ActiveSliceSettings.Instance.GetValue<int>(SettingsKey.extruder_count);
for (int extruderIndex = 0; extruderIndex < extruderCount; extruderIndex++)
{
extrudersUsed.Add(false);
@ -179,7 +179,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
if (ActiveSliceSettings.Instance.GetValue<int>("support_material_extruder") != 0)
{
int supportExtruder = Math.Max(0, Math.Min(ActiveSliceSettings.Instance.ExtruderCount() - 1, ActiveSliceSettings.Instance.GetValue<int>("support_material_extruder") - 1));
int supportExtruder = Math.Max(0, Math.Min(ActiveSliceSettings.Instance.GetValue<int>(SettingsKey.extruder_count) - 1, ActiveSliceSettings.Instance.GetValue<int>("support_material_extruder") - 1));
extrudersUsed[supportExtruder] = true;
}
}
@ -189,7 +189,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
if (ActiveSliceSettings.Instance.GetValue<int>("raft_extruder") != 0)
{
int raftExtruder = Math.Max(0, Math.Min(ActiveSliceSettings.Instance.ExtruderCount() - 1, ActiveSliceSettings.Instance.GetValue<int>("raft_extruder") - 1));
int raftExtruder = Math.Max(0, Math.Min(ActiveSliceSettings.Instance.GetValue<int>(SettingsKey.extruder_count) - 1, ActiveSliceSettings.Instance.GetValue<int>("raft_extruder") - 1));
extrudersUsed[raftExtruder] = true;
}
}