Configtool: take advantage of the now recognized values.
This is for now to restore disabled values as well, not only active ones. More uses are thinkable.
This commit is contained in:
parent
3795c7a36f
commit
6b5156d459
|
|
@ -104,10 +104,17 @@ class AccelerationPage(wx.Panel, Page):
|
||||||
|
|
||||||
self.checkBoxes['LOOKAHEAD'].Enable(False)
|
self.checkBoxes['LOOKAHEAD'].Enable(False)
|
||||||
self.textControls['ACCELERATION'].Enable(False)
|
self.textControls['ACCELERATION'].Enable(False)
|
||||||
for tag in ['ACCELERATION_REPRAP', 'ACCELERATION_RAMPING',
|
for tag in self.accTypeKeys:
|
||||||
'ACCELERATION_TEMPORAL']:
|
|
||||||
if tag in cfgValues.keys() and cfgValues[tag]:
|
if tag in cfgValues.keys() and cfgValues[tag]:
|
||||||
self.radioButtons[tag].SetValue(True)
|
self.radioButtons[tag].SetValue(True)
|
||||||
if tag == 'ACCELERATION_RAMPING':
|
if tag == 'ACCELERATION_RAMPING':
|
||||||
self.checkBoxes['LOOKAHEAD'].Enable(True)
|
self.checkBoxes['LOOKAHEAD'].Enable(True)
|
||||||
self.textControls['ACCELERATION'].Enable(True)
|
self.textControls['ACCELERATION'].Enable(True)
|
||||||
|
|
||||||
|
def getValues(self):
|
||||||
|
result = Page.getValues(self)
|
||||||
|
|
||||||
|
for tag in self.accTypeKeys:
|
||||||
|
result[tag] = self.radioButtons[tag].GetValue()
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
|
||||||
|
|
@ -649,23 +649,37 @@ class BoardPanel(wx.Panel):
|
||||||
candCPUClocksWritten = True
|
candCPUClocksWritten = True
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
m = reDefine.match(ln)
|
||||||
|
if m:
|
||||||
|
t = m.groups()
|
||||||
|
if len(t) == 2 and t[0] in values.keys():
|
||||||
|
v = values[t[0]]
|
||||||
|
self.cfgValues[t[0]] = v
|
||||||
|
if v[1] == False:
|
||||||
|
fp.write("//")
|
||||||
|
fp.write(defineValueFormat % (t[0], v[0]))
|
||||||
|
else:
|
||||||
|
print "Value key " + t[0] + " not found in GUI."
|
||||||
|
|
||||||
|
continue
|
||||||
|
|
||||||
m = reDefBoolBL.match(ln)
|
m = reDefBoolBL.match(ln)
|
||||||
if m:
|
if m:
|
||||||
t = m.groups()
|
t = m.groups()
|
||||||
if len(t) == 1:
|
if len(t) == 1 and t[0] in values.keys():
|
||||||
if t[0] in values.keys():
|
v = values[t[0]]
|
||||||
v = values[t[0]]
|
self.cfgValues[t[0]] = v
|
||||||
self.cfgValues[t[0]] = v
|
if v == "" or v == False:
|
||||||
if v == "" or v == False:
|
fp.write("//")
|
||||||
fp.write("//" + ln)
|
fp.write(defineBoolFormat % t[0])
|
||||||
elif v == True:
|
else:
|
||||||
fp.write(ln)
|
if t[0] == 'MOTHERBOARD':
|
||||||
else:
|
# Known to be absent in the GUI, also won't be added anytime soon.
|
||||||
fp.write(defineValueFormat % (t[0], v))
|
|
||||||
else:
|
|
||||||
fp.write(ln)
|
fp.write(ln)
|
||||||
|
else:
|
||||||
|
print "Boolean key " + t[0] + " not found in GUI."
|
||||||
|
|
||||||
continue
|
continue
|
||||||
|
|
||||||
fp.write(ln)
|
fp.write(ln)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,11 @@ class CommunicationsPage(wx.Panel, Page):
|
||||||
def insertValues(self, cfgValues):
|
def insertValues(self, cfgValues):
|
||||||
Page.insertValues(self, cfgValues)
|
Page.insertValues(self, cfgValues)
|
||||||
|
|
||||||
self.setChoice('BAUD', cfgValues, self.defaultBaud)
|
k = 'BAUD'
|
||||||
|
self.setChoice(k, cfgValues, self.defaultBaud)
|
||||||
|
if k in cfgValues.keys():
|
||||||
|
self.choicesOriginal[k] = cfgValues[k]
|
||||||
|
|
||||||
if self.checkBoxes['USB_SERIAL'].IsChecked():
|
if self.checkBoxes['USB_SERIAL'].IsChecked():
|
||||||
self.checkBoxes['XONXOFF'].Enable(False)
|
self.checkBoxes['XONXOFF'].Enable(False)
|
||||||
self.choices['BAUD'].Enable(False)
|
self.choices['BAUD'].Enable(False)
|
||||||
|
|
@ -54,7 +58,7 @@ class CommunicationsPage(wx.Panel, Page):
|
||||||
result = Page.getValues(self)
|
result = Page.getValues(self)
|
||||||
|
|
||||||
if result['USB_SERIAL']:
|
if result['USB_SERIAL']:
|
||||||
result['BAUD'] = ""
|
result['BAUD'][1] = False
|
||||||
result['XONXOFF'] = False
|
result['XONXOFF'] = False
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
|
||||||
|
|
@ -184,8 +184,9 @@ class MechanicalPage(wx.Panel, Page):
|
||||||
def insertValues(self, cfgValues):
|
def insertValues(self, cfgValues):
|
||||||
Page.insertValues(self, cfgValues)
|
Page.insertValues(self, cfgValues)
|
||||||
|
|
||||||
if 'KINEMATICS' in cfgValues.keys():
|
k = 'KINEMATICS'
|
||||||
k = cfgValues['KINEMATICS']
|
if k in cfgValues.keys():
|
||||||
|
k = cfgValues[k]
|
||||||
if k in self.kinematicsKeys:
|
if k in self.kinematicsKeys:
|
||||||
self.radioButtons[k].SetValue(True)
|
self.radioButtons[k].SetValue(True)
|
||||||
else:
|
else:
|
||||||
|
|
@ -199,13 +200,7 @@ class MechanicalPage(wx.Panel, Page):
|
||||||
for tag in self.kinematicsKeys:
|
for tag in self.kinematicsKeys:
|
||||||
rb = self.radioButtons[tag]
|
rb = self.radioButtons[tag]
|
||||||
if rb.GetValue():
|
if rb.GetValue():
|
||||||
result['KINEMATICS'] = tag
|
result['KINEMATICS'] = tag, True
|
||||||
break
|
break
|
||||||
|
|
||||||
for tag in self.kinematicsKeys:
|
|
||||||
try:
|
|
||||||
del result[tag]
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
|
||||||
|
|
@ -233,6 +233,13 @@ class MiscellaneousPage(wx.Panel, Page):
|
||||||
v = 0
|
v = 0
|
||||||
self.choices[k].SetSelection(v)
|
self.choices[k].SetSelection(v)
|
||||||
|
|
||||||
|
def insertValues(self, cfgValues):
|
||||||
|
Page.insertValues(self, cfgValues)
|
||||||
|
|
||||||
|
for k in self.choices.keys():
|
||||||
|
if k in cfgValues.keys():
|
||||||
|
self.choicesOriginal[k] = cfgValues[k]
|
||||||
|
|
||||||
def getValues(self):
|
def getValues(self):
|
||||||
result = Page.getValues(self)
|
result = Page.getValues(self)
|
||||||
|
|
||||||
|
|
@ -240,8 +247,11 @@ class MiscellaneousPage(wx.Panel, Page):
|
||||||
s = self.choices[k].GetSelection()
|
s = self.choices[k].GetSelection()
|
||||||
v = self.choices[k].GetString(s)
|
v = self.choices[k].GetString(s)
|
||||||
if v == self.heaterNameNone:
|
if v == self.heaterNameNone:
|
||||||
result[k] = ""
|
if k in self.choicesOriginal.keys():
|
||||||
|
result[k] = self.choicesOriginal[k][0], False
|
||||||
|
else:
|
||||||
|
result[k] = "", False
|
||||||
else:
|
else:
|
||||||
result[k] = "HEATER_%s" % v
|
result[k] = "HEATER_%s" % v, True
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
|
||||||
|
|
@ -11,10 +11,12 @@ class Page:
|
||||||
self.valid = True
|
self.valid = True
|
||||||
self.fieldValid = {}
|
self.fieldValid = {}
|
||||||
self.textControls = {}
|
self.textControls = {}
|
||||||
|
self.textControlsOriginal = {}
|
||||||
self.checkBoxes = {}
|
self.checkBoxes = {}
|
||||||
self.radioButtons = {}
|
self.radioButtons = {}
|
||||||
self.radioButtonBoxes = {}
|
self.radioButtonBoxes = {}
|
||||||
self.choices = {}
|
self.choices = {}
|
||||||
|
self.choicesOriginal = {}
|
||||||
self.deco = Decoration()
|
self.deco = Decoration()
|
||||||
self.font = font
|
self.font = font
|
||||||
|
|
||||||
|
|
@ -224,30 +226,41 @@ class Page:
|
||||||
self.checkBoxes[k].SetValue(False)
|
self.checkBoxes[k].SetValue(False)
|
||||||
|
|
||||||
for k in self.textControls.keys():
|
for k in self.textControls.keys():
|
||||||
if k in cfgValues.keys() and cfgValues[k][1] == True:
|
if k in cfgValues.keys():
|
||||||
self.textControls[k].SetValue(str(cfgValues[k][0]))
|
self.textControlsOriginal[k] = cfgValues[k]
|
||||||
|
if cfgValues[k][1] == True:
|
||||||
|
self.textControls[k].SetValue(str(cfgValues[k][0]))
|
||||||
|
else:
|
||||||
|
self.textControls[k].SetValue("")
|
||||||
else:
|
else:
|
||||||
self.textControls[k].SetValue("")
|
print "Key " + k + " not found in config data."
|
||||||
|
|
||||||
self.assertModified(False)
|
self.assertModified(False)
|
||||||
|
|
||||||
def getValues(self):
|
def getValues(self):
|
||||||
self.assertModified(False)
|
self.assertModified(False)
|
||||||
result = {}
|
result = {}
|
||||||
|
|
||||||
for k in self.checkBoxes.keys():
|
for k in self.checkBoxes.keys():
|
||||||
cb = self.checkBoxes[k]
|
cb = self.checkBoxes[k]
|
||||||
result[k] = cb.IsChecked()
|
result[k] = cb.IsChecked()
|
||||||
|
|
||||||
for k in self.textControls.keys():
|
for k in self.textControls.keys():
|
||||||
v = self.textControls[k].GetValue()
|
v = self.textControls[k].GetValue()
|
||||||
result[k] = v
|
if v == "":
|
||||||
|
if k in self.textControlsOriginal.keys():
|
||||||
|
result[k] = self.textControlsOriginal[k][0], False
|
||||||
|
else:
|
||||||
|
result[k] = "", False
|
||||||
|
else:
|
||||||
|
result[k] = v, True
|
||||||
|
|
||||||
for k in self.radioButtons.keys():
|
for k in self.radioButtons.keys():
|
||||||
result[k] = self.radioButtons[k].GetValue()
|
result[k] = self.radioButtons[k].GetValue(), True
|
||||||
|
|
||||||
for k in self.choices.keys():
|
for k in self.choices.keys():
|
||||||
v = self.choices[k].GetSelection()
|
v = self.choices[k].GetSelection()
|
||||||
result[k] = self.choices[k].GetString(v)
|
result[k] = self.choices[k].GetString(v), True
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -182,13 +182,20 @@ class PinoutsPage(wx.Panel, Page):
|
||||||
Page.insertValues(self, cfgValues)
|
Page.insertValues(self, cfgValues)
|
||||||
|
|
||||||
for k in self.choices.keys():
|
for k in self.choices.keys():
|
||||||
self.setChoice(k, cfgValues, "-")
|
if k in cfgValues.keys():
|
||||||
|
self.choicesOriginal[k] = cfgValues[k]
|
||||||
|
self.setChoice(k, cfgValues, "-")
|
||||||
|
else:
|
||||||
|
print "Key " + k + " not found in config data."
|
||||||
|
|
||||||
def getValues(self):
|
def getValues(self):
|
||||||
result = Page.getValues(self)
|
result = Page.getValues(self)
|
||||||
|
|
||||||
for k in self.choices.keys():
|
for k in self.choices.keys():
|
||||||
if k in result.keys() and result[k] == "-":
|
if result[k][0] == "-":
|
||||||
result[k] = ""
|
if k in self.choicesOriginal.keys():
|
||||||
|
result[k] = self.choicesOriginal[k][0], False
|
||||||
|
else:
|
||||||
|
result[k] = "", False
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
|
||||||
|
|
@ -403,22 +403,51 @@ class PrinterPanel(wx.Panel):
|
||||||
values[k] = v1[k]
|
values[k] = v1[k]
|
||||||
|
|
||||||
for ln in self.cfgBuffer:
|
for ln in self.cfgBuffer:
|
||||||
|
m = reDefine.match(ln)
|
||||||
|
if m:
|
||||||
|
t = m.groups()
|
||||||
|
if len(t) == 2 and t[0] in values.keys():
|
||||||
|
v = values[t[0]]
|
||||||
|
self.cfgValues[t[0]] = v
|
||||||
|
if v[1] == False:
|
||||||
|
fp.write("//")
|
||||||
|
fp.write(defineValueFormat % (t[0], v[0]))
|
||||||
|
else:
|
||||||
|
if t[0] == 'CANNED_CYCLE':
|
||||||
|
# Known to be absent in the GUI. Worse, this value is replaced
|
||||||
|
# by the one in the metadata file.
|
||||||
|
#
|
||||||
|
# TODO: make value reading above recognize wether this value is
|
||||||
|
# commented out or not. Reading the value its self works
|
||||||
|
# already. Hint: it's the rule using reDefQS, reDefQSm, etc.
|
||||||
|
#
|
||||||
|
# TODO: add a multiline text field in the GUI to deal with this.
|
||||||
|
#
|
||||||
|
# TODO: write this value out properly. In /* comments */, if
|
||||||
|
# disabled.
|
||||||
|
#
|
||||||
|
# TODO: currently, the lines beyond the ones with the #define are
|
||||||
|
# treated like arbitrary comments. Having the former TODOs
|
||||||
|
# done, this will lead to duplicates.
|
||||||
|
fp.write(ln)
|
||||||
|
else:
|
||||||
|
print "Value key " + t[0] + " not found in GUI."
|
||||||
|
|
||||||
|
continue
|
||||||
|
|
||||||
m = reDefBoolBL.match(ln)
|
m = reDefBoolBL.match(ln)
|
||||||
if m:
|
if m:
|
||||||
t = m.groups()
|
t = m.groups()
|
||||||
if len(t) == 1:
|
if len(t) == 1 and t[0] in values.keys():
|
||||||
if t[0] in values.keys():
|
v = values[t[0]]
|
||||||
v = values[t[0]]
|
self.cfgValues[t[0]] = v
|
||||||
self.cfgValues[t[0]] = v
|
if v == "" or v == False:
|
||||||
if v == "" or v == False:
|
fp.write("//")
|
||||||
fp.write("//" + ln)
|
fp.write(defineBoolFormat % t[0])
|
||||||
elif v == True:
|
else:
|
||||||
fp.write(ln)
|
print "Boolean key " + t[0] + " not found in GUI."
|
||||||
else:
|
|
||||||
fp.write(defineValueFormat % (t[0], v))
|
continue
|
||||||
else:
|
|
||||||
fp.write(ln)
|
|
||||||
continue
|
|
||||||
|
|
||||||
fp.write(ln)
|
fp.write(ln)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue