42,17 → 42,21 |
|
self.__set_properties() |
self.__do_layout() |
|
self.Bind(wx.EVT_BUTTON, self.onOK, self.button_6) |
# end wxGlade |
|
# The first argument that is passed to the constructor is the parent |
settings = args[0].app.settings |
self.settings = args[0].app.settings |
# Add text-boxes for all settings |
self.grid_sizer_2.SetRows(len(settings)) |
for setting in settings.iteritems(): |
self.tb = [] |
self.grid_sizer_2.SetRows(len(self.settings)) |
for setting in self.settings.iteritems(): |
lb = wx.StaticText(self, -1, setting[1].descr, style=wx.ALIGN_RIGHT) |
tb = wx.TextCtrl(self, -1, str(setting[1].value)) |
self.grid_sizer_2.Add(lb, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 0) |
self.grid_sizer_2.Add(tb, 0, 0, 0) |
self.tb.append(tb) |
self.sizer_5.Fit(self) |
self.Layout() |
|
87,7 → 91,18 |
self.sizer_5 = sizer_5 |
|
|
|
def onOK(self, event): # wxGlade: SettingsDialog.<event_handler> |
print "Updating parameters" |
try: |
i=0 |
for setting in self.settings.iteritems(): |
print setting[0], self.tb[i].GetValue() |
setting[1].set(self.tb[i].GetValue()) |
i += 1 |
event.Skip() |
except: |
wx.MessageBox("Invalid format for \"%s\" setting." % setting[1].descr) |
|
# end of class SettingsDialog |
|
|
422,11 → 437,9 |
style=wx.DEFAULT_DIALOG_STYLE, # & ~wx.CLOSE_BOX |
) |
dlg.CenterOnScreen() |
|
# this does not return until the dialog is closed. |
val = dlg.ShowModal() |
|
val = dlg.ShowModal() # this does not return until the dialog is closed. |
dlg.Destroy() |
self.app.onSettingsChanged() |
|
# end of class MainFrame |
|
434,6 → 447,12 |
def __init__(self, descr, defaultValue): |
self.descr = descr |
self.value = defaultValue |
|
def set(self, newValue): |
if isinstance(self.value, int): |
self.value = int(newValue) |
else: |
self.value = str(newValue) |
|
class VibTest: |
def __init__(self, descr, motor, speed, channel, rawData): |
497,7 → 516,7 |
|
# Init settings |
self.settings={} |
self.settings["serialPort"] = Setting("SerialPort", "COM1") |
self.settings["serialport"] = Setting("Serial Port", "COM1") |
self.settings["hpf"] = Setting("HP Filter cutoff (Hz)", 50) |
self.settings["lpf"] = Setting("LP Filter cutoff (Hz)", 400) |
|
534,6 → 553,11 |
cp.write(file) |
file.close() |
|
|
def onSettingsChanged(self): |
self.storeSettings() |
|
|
def AddTest(self, descr, motor, speed, channel, rawData): |
test = VibTest(descr, motor, speed, channel, rawData) |
self.VibTests.append(test) |