adjustable combobox updates static text on enter press; LabeledTweakEntry Disable method disables all parts; removed debug event prints; disabled tweak controls; changed tweak go button to TwoButton

This commit is contained in:
2020-11-21 00:45:17 +01:00
parent b69499a5d0
commit 10560fc5b4
2 changed files with 23 additions and 13 deletions
+15 -11
View File
@@ -102,8 +102,6 @@ class StaticPanel(wx.Panel):
def on_go(self, event):
print("static", event)
if self.task:
return
@@ -152,7 +150,8 @@ class ScanPanel(wx.Panel):
self.cb_adjs = cb_adjs = AdjustableComboBox(self)
self.on_change_adj(None) # update static text with default selection
cb_adjs.Bind(wx.EVT_COMBOBOX, self.on_change_adj)
cb_adjs.Bind(wx.EVT_COMBOBOX, self.on_change_adj)
cb_adjs.Bind(wx.EVT_TEXT_ENTER, self.on_change_adj)
self.le_start = le_start = LabeledEntry(self, label="Start", value=0)
self.le_stop = le_stop = LabeledEntry(self, label="Stop", value=10)
@@ -197,14 +196,11 @@ class ScanPanel(wx.Panel):
def on_change_adj(self, event):
print("change adjustable", event)
adjustable = self.cb_adjs.get()
self.st_adj.SetLabel(repr(adjustable))
def on_go(self, event):
print("scan", event)
if self.scan:
return
@@ -262,8 +258,14 @@ class TweakPanel(wx.Panel):
lte = LabeledTweakEntry(self, label="Relative", value=0.01)
btn_go = wx.Button(self, label="Go!")
btn_go.Bind(wx.EVT_BUTTON, self.on_go)
self.btn_go = btn_go = TwoButtons(self)
btn_go.Bind1(wx.EVT_BUTTON, self.on_go)
btn_go.Bind2(wx.EVT_BUTTON, self.on_stop)
#TODO: disabled until working
lte.Disable()
le_abs.Disable()
btn_go.Disable()
# sizers:
widgets = (cb_adjs, st_adj, STRETCH, lte, le_abs, btn_go)
@@ -272,7 +274,6 @@ class TweakPanel(wx.Panel):
def on_change_adj(self, event):
print("change adjustable", event)
adjustable = self.cb_adjs.get()
self.st_adj.SetLabel(repr(adjustable))
adjustable = self.cb_adjs.get()
@@ -281,7 +282,10 @@ class TweakPanel(wx.Panel):
def on_go(self, event):
print("move", event)
print("move started", event)
def on_stop(self, event):
print("move stopped", event)
@@ -293,7 +297,7 @@ class AdjustableComboBox(wx.ComboBox):
adjs_instances = instances(Adjustable)
self.adjs = adjs = {i.name : i for i in adjs_instances}
adjs_name = tuple(sorted(adjs.keys()))
wx.ComboBox.__init__(self, parent, choices=adjs_name)
wx.ComboBox.__init__(self, parent, choices=adjs_name, style=wx.CB_READONLY|wx.TE_PROCESS_ENTER)
self.SetSelection(0)
def get(self):
+8 -2
View File
@@ -137,8 +137,8 @@ class LabeledTweakEntry(wx.BoxSizer):
self.label = label = wx.StaticText(parent, label=label)
self.text = text = wx.TextCtrl(parent, value=value, style=wx.TE_RIGHT)
btn_left = wx.Button(parent, label="<<")
btn_right = wx.Button(parent, label=">>")
self.btn_left = btn_left = wx.Button(parent, label="<<")
self.btn_right = btn_right = wx.Button(parent, label=">>")
hb_tweak = wx.BoxSizer(wx.HORIZONTAL)
hb_tweak.Add(btn_left)
@@ -149,6 +149,12 @@ class LabeledTweakEntry(wx.BoxSizer):
self.Add(hb_tweak, flag=wx.EXPAND)
def Disable(self):
self.text.Disable()
self.btn_left.Disable()
self.btn_right.Disable()
def __getattr__(self, name):
return getattr(self.text, name)