Mercurial > code > home > repos > light9
comparison bin/keyboardcomposer @ 1886:ce6bd8ff49e2
KC mark a dead subbox with a new attribute, since it's awkward to make self.scale an Optional
Ignore-this: 7f0c1c6a8b3a349329cffb1c2849dba4
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Tue, 28 May 2019 06:55:35 +0000 |
parents | 17bee25a20cb |
children | 9e6596b7f1a2 |
comparison
equal
deleted
inserted
replaced
1885:7bafb8213b4b | 1886:ce6bd8ff49e2 |
---|---|
101 self.name = self.graph.label(sub) | 101 self.name = self.graph.label(sub) |
102 self._val = 0.0 | 102 self._val = 0.0 |
103 self.slider_var = tk.DoubleVar() | 103 self.slider_var = tk.DoubleVar() |
104 self.pauseTrace = False | 104 self.pauseTrace = False |
105 self.scale = SubScale(self, variable=self.slider_var, width=20) | 105 self.scale = SubScale(self, variable=self.slider_var, width=20) |
106 self.dead = False | |
106 | 107 |
107 self.namelabel = tk.Label(self, | 108 self.namelabel = tk.Label(self, |
108 font="Arial 9", | 109 font="Arial 9", |
109 bg=darkBg, | 110 bg=darkBg, |
110 fg='white', | 111 fg='white', |
133 | 134 |
134 def getVal(self) -> float: | 135 def getVal(self) -> float: |
135 return self._val | 136 return self._val |
136 | 137 |
137 def setVal(self, newVal: float) -> None: | 138 def setVal(self, newVal: float) -> None: |
138 if self.scale is None: | 139 if self.dead: |
139 return | 140 return |
140 try: | 141 try: |
141 self.scale.set(newVal) | 142 self.scale.set(newVal) |
142 self.levellabel.config(text=str(newVal)) | 143 self.levellabel.config(text=str(newVal)) |
143 except Exception: | 144 except Exception: |
144 log.warn("disabling handlers on broken subbox") | 145 log.warn("disabling handlers on broken subbox") |
145 self.scale = None | 146 self.dead = True |
146 | 147 |
147 def cleanup(self): | 148 def cleanup(self): |
148 self.slider_var.trace_vdelete('w', self._slider_var_trace) | 149 self.slider_var.trace_vdelete('w', self._slider_var_trace) |
149 | 150 |
150 def slider_changed(self, *args): | 151 def slider_changed(self, *args): |
151 self._val = self.scale.get() | 152 self._val = self.scale.get() |