Merge pull request #697 from jlewin/master

Clean up kvp use, add ComPort setting, hookup Add Printer
This commit is contained in:
Lars Brubaker 2016-04-29 15:47:31 -07:00
commit 49958fd300
9 changed files with 35 additions and 23 deletions

View file

@ -29,7 +29,9 @@ either expressed or implied, of the FreeBSD Project.
using MatterHackers.Agg.ImageProcessing;
using MatterHackers.Agg.PlatformAbstract;
using MatterHackers.Agg.UI;
using MatterHackers.Localizations;
using MatterHackers.MatterControl.PrinterControls.PrinterConnections;
using MatterHackers.MatterControl.SlicerConfiguration;
namespace MatterHackers.MatterControl
@ -62,7 +64,7 @@ namespace MatterHackers.MatterControl
}
else if(this.SelectedValue == "new")
{
int a = 0;
UiThread.RunOnIdle(ConnectionWizard.Show);
}
};
}

View file

@ -1315,16 +1315,16 @@ namespace MatterHackers.MatterControl.PrinterCommunication
// TODO: Shouldn't this logic be in the UI layer where the controls are owned and hooked in via PrintFinished?
bool oneOrMoreValuesReset = false;
foreach (var kvp in ActiveSliceSettings.Instance.BaseLayer)
foreach (var keyValue in ActiveSliceSettings.Instance.BaseLayer)
{
string currentValue = ActiveSliceSettings.Instance.ActiveValue(kvp.Key);
string currentValue = ActiveSliceSettings.Instance.ActiveValue(keyValue.Key);
bool valueIsClear = currentValue == "0" | currentValue == "";
OrganizerSettingsData data = SliceSettingsOrganizer.Instance.GetSettingsData(kvp.Key);
OrganizerSettingsData data = SliceSettingsOrganizer.Instance.GetSettingsData(keyValue.Key);
if (data?.ResetAtEndOfPrint == true && !valueIsClear)
{
oneOrMoreValuesReset = true;
ActiveSliceSettings.Instance.ClearValue(kvp.Key);
ActiveSliceSettings.Instance.ClearValue(keyValue.Key);
}
}

View file

@ -622,10 +622,10 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
var bigStringForHashCode = new StringBuilder();
foreach (var kvp in this.BaseLayer)
foreach (var keyValue in this.BaseLayer)
{
string activeValue = ActiveValue(kvp.Key);
bigStringForHashCode.Append(kvp.Key);
string activeValue = ActiveValue(keyValue.Key);
bigStringForHashCode.Append(keyValue.Key);
bigStringForHashCode.Append(activeValue);
}
@ -638,14 +638,14 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
using (var outstream = new StreamWriter(fileName))
{
foreach (var kvp in this.BaseLayer)
foreach (var keyValue in this.BaseLayer)
{
string activeValue = ActiveValue(kvp.Key);
string activeValue = ActiveValue(keyValue.Key);
if (replaceMacroValues)
{
activeValue = GCodeProcessing.ReplaceMacroValues(activeValue);
}
outstream.Write(string.Format("{0} = {1}\n", kvp.Key, activeValue));
outstream.Write(string.Format("{0} = {1}\n", keyValue.Key, activeValue));
activeValue = GCodeProcessing.ReplaceMacroValues(activeValue);
}
}
@ -1028,9 +1028,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
public SettingsLayer(Dictionary<string, string> settingsDictionary)
{
foreach(var kvp in settingsDictionary)
foreach(var keyValue in settingsDictionary)
{
this[kvp.Key] = kvp.Value;
this[keyValue.Key] = keyValue.Value;
}
}

View file

@ -304,31 +304,31 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
if (line.Length > 0)
{
string sanitizedLine = line.Replace('"', ' ').Trim();
switch (CountLeadingSpaces(line))
{
case 0:
string userLevelText = line.Replace('"', ' ').Trim();
userLevelToAddTo = new OrganizerUserLevel(userLevelText);
UserLevels.Add(userLevelText, userLevelToAddTo);
userLevelToAddTo = new OrganizerUserLevel(sanitizedLine);
UserLevels.Add(sanitizedLine, userLevelToAddTo);
break;
case 2:
categoryToAddTo = new OrganizerCategory(line.Replace('"', ' ').Trim());
categoryToAddTo = new OrganizerCategory(sanitizedLine);
userLevelToAddTo.CategoriesList.Add(categoryToAddTo);
break;
case 4:
groupToAddTo = new OrganizerGroup(line.Replace('"', ' ').Trim());
groupToAddTo = new OrganizerGroup(sanitizedLine);
categoryToAddTo.GroupsList.Add(groupToAddTo);
break;
case 6:
subGroupToAddTo = new OrganizerSubGroup(line.Replace('"', ' ').Trim());
subGroupToAddTo = new OrganizerSubGroup(sanitizedLine);
groupToAddTo.SubGroupsList.Add(subGroupToAddTo);
break;
case 8:
OrganizerSettingsData data = GetSettingsData(line.Replace('"', ' ').Trim());
OrganizerSettingsData data = GetSettingsData(sanitizedLine);
if (data != null)
{
subGroupToAddTo.SettingDataList.Add(data);

View file

@ -521,11 +521,11 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
FlowLayoutWidget topToBottomSettings = new FlowLayoutWidget(FlowDirection.TopToBottom);
topToBottomSettings.HAnchor = Agg.UI.HAnchor.Max_FitToChildren_ParentWidth;
foreach (var kvp in ActiveSliceSettings.Instance.BaseLayer)
foreach (var keyValue in ActiveSliceSettings.Instance.BaseLayer)
{
if (!SliceSettingsOrganizer.Instance.Contains(UserLevel, kvp.Key))
if (!SliceSettingsOrganizer.Instance.Contains(UserLevel, keyValue.Key))
{
OrganizerSettingsData settingInfo = new OrganizerSettingsData(kvp.Key, kvp.Key, OrganizerSettingsData.DataEditTypes.STRING);
OrganizerSettingsData settingInfo = new OrganizerSettingsData(keyValue.Key, keyValue.Key, OrganizerSettingsData.DataEditTypes.STRING);
if (ActiveSliceSettings.Instance.ActiveSliceEngine().MapContains(settingInfo.SlicerConfigName))
{
GuiWidget controlsForThisSetting = CreateSettingInfoUIControls(settingInfo, rightContentWidth, 0);

View file

@ -54,6 +54,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
"has_power_control",
"has_sd_card_reader",
"MatterControl.BaudRate",
"MatterControl.ComPort",
"manual_probe_paper_width",
"pause_gcode",
"print_leveling_method",

View file

@ -75,6 +75,7 @@ layer_gcode = ; LAYER:[layer_num]
layer_height = 0.4
layer_to_pause =
MatterControl.BaudRate = 250000
MatterControl.ComPort =
max_fan_speed = 100
min_extrusion_before_retract = .1
min_fan_speed = 35

View file

@ -275,6 +275,7 @@ Advanced
z_homes_to_max
Firmware
MatterControl.BaudRate
MatterControl.ComPort
z_can_be_negative
gcode_flavor
use_relative_e_distances

View file

@ -1223,6 +1223,13 @@
"DataEditType": "INT",
"ExtraSettings": ""
},
{
"SlicerConfigName": "MatterControl.ComPort",
"PresentationName": "ComPort",
"HelpText": "",
"DataEditType": "STRING",
"ExtraSettings": ""
},
{
"SlicerConfigName": "vibration_limit",
"PresentationName": "Vibration Limit",