Mercurial > code > home > repos > light9
comparison light8/ExtSliderMapper.py @ 100:f13cf18224f2
minor cleanups. no code actually changed (i hope :)
author | dmcc |
---|---|
date | Sat, 13 Jul 2002 04:48:27 +0000 |
parents | 7910445b81e3 |
children | a995fd1a8f03 |
comparison
equal
deleted
inserted
replaced
99:7910445b81e3 | 100:f13cf18224f2 |
---|---|
1 """some more of the panels""" | 1 """ The External Slider Mapping widget determines which pots map to which |
2 submasters. It tells you the status of each mapping and saves and loads | |
3 presets. The show is relying on this module! Do not lose it! | |
4 | |
5 FUQ (frequently unasked question) | |
6 | |
7 1. What's with all the *args? | |
8 | |
9 It lets functions take any number of arguments and throw them away. | |
10 Callbacks do this, and we typically don't care about what they have to say. """ | |
11 | |
2 from Tix import * | 12 from Tix import * |
3 | 13 |
4 class SliderMapping: | 14 class SliderMapping: |
5 def __init__(self, default='disconnected', synced=0, extinputlevel=0, | 15 def __init__(self, default='disconnected', synced=0, extinputlevel=0, |
6 sublevel=0): | 16 sublevel=0): |
52 self.color_bg() | 62 self.color_bg() |
53 def color_bg(self): | 63 def color_bg(self): |
54 if self.widgets: | 64 if self.widgets: |
55 if self.isdisconnected(): | 65 if self.isdisconnected(): |
56 color = 'honeyDew4' | 66 color = 'honeyDew4' |
57 elif self.issynced(): | |
58 # stupid hack | 67 # stupid hack |
59 # elif abs(self.extlevel.get() - self.sublevel.get()) <= 0.02: | 68 # elif abs(self.extlevel.get() - self.sublevel.get()) <= 0.02: |
69 elif self.issynced(): | |
60 color = 'honeyDew2' | 70 color = 'honeyDew2' |
61 else: # unsynced | 71 else: # unsynced |
62 color = 'red' | 72 color = 'red' |
63 | 73 |
64 if self.statuslabel: | 74 if self.statuslabel: # more stupid hackery |
65 if color == 'honeyDew2': # connected | 75 if color == 'honeyDew2': # connected |
66 self.statuslabel['text'] = 'Sync' | 76 self.statuslabel['text'] = 'Sync' |
67 elif self.extlevel.get() < self.sublevel.get(): | 77 elif self.extlevel.get() < self.sublevel.get(): |
68 self.statuslabel['text'] = 'No sync (go up)' | 78 self.statuslabel['text'] = 'No sync (go up)' |
69 else: | 79 else: |
78 'newvar is one of the variables in scalelevels' | 88 'newvar is one of the variables in scalelevels' |
79 | 89 |
80 if newvar is not self.sublevel: | 90 if newvar is not self.sublevel: |
81 try: | 91 try: |
82 # remove an old trace | 92 # remove an old trace |
83 self.sublevel.trace_vdelete('w',self.sublevel.unsync_trace_cbname) | 93 self.sublevel.trace_vdelete('w', |
94 self.sublevel.unsync_trace_cbname) | |
84 except AttributeError: | 95 except AttributeError: |
85 pass # it didn't have one | 96 pass # it didn't have one |
86 | 97 |
87 self.sublevel = newvar | 98 self.sublevel = newvar |
88 self.sublevel.unsync_trace_cbname = self.sublevel.trace('w', self.unsync) | 99 self.sublevel.unsync_trace_cbname = self.sublevel.trace('w', |
89 | 100 self.unsync) |
90 # self.sublevel = newvar | |
91 | 101 |
92 if self.sublabel: | 102 if self.sublabel: |
93 self.sublabel.configure(textvariable=newvar) | 103 self.sublabel.configure(textvariable=newvar) |
94 self.check_synced() | 104 self.check_synced() |
95 def get_mapping(self): | 105 def get_mapping(self): |
106 for s in subnames: | 116 for s in subnames: |
107 c.slistbox.listbox.insert(END, s) | 117 c.slistbox.listbox.insert(END, s) |
108 c.entry.configure(width=12) | 118 c.entry.configure(width=12) |
109 statframe = Frame(frame) | 119 statframe = Frame(frame) |
110 | 120 |
111 ''' | |
112 cb = Checkbutton(statframe, variable=self.synced, | |
113 text="Synced") | |
114 cb.grid(columnspan=2, sticky=W) | |
115 ''' | |
116 self.statuslabel = Label(statframe, text="No sync") | 121 self.statuslabel = Label(statframe, text="No sync") |
117 self.statuslabel.grid(columnspan=2, sticky=W) | 122 self.statuslabel.grid(columnspan=2, sticky=W) |
118 ilabel = Label(statframe, text="Input", fg='blue') | 123 ilabel = Label(statframe, text="Input", fg='blue') |
119 ilabel.grid(row=1, sticky=W) | 124 ilabel.grid(row=1, sticky=W) |
120 extlabel = Label(statframe, textvariable=self.extlevel, width=5) | 125 extlabel = Label(statframe, textvariable=self.extlevel, width=5) |
188 | 193 |
189 rawlevels = self.sliderinput.get_levels() | 194 rawlevels = self.sliderinput.get_levels() |
190 for rawlev, slidermap in zip(rawlevels, self.current_mappings): | 195 for rawlev, slidermap in zip(rawlevels, self.current_mappings): |
191 slidermap.changed_extinput(rawlev) | 196 slidermap.changed_extinput(rawlev) |
192 | 197 |
193 ''' | |
194 outputlevels = {} | |
195 for m in self.current_mappings: | |
196 if m.issynced(): | |
197 k, v = m.get_level_pair() | |
198 outputlevels[k] = v | |
199 m.ignorenextunync() | |
200 return outputlevels | |
201 ''' | |
202 return dict([m.get_level_pair() | 198 return dict([m.get_level_pair() |
203 for m in self.current_mappings | 199 for m in self.current_mappings |
204 if m.issynced()]) | 200 if m.issynced()]) |
205 def draw_interface(self): | 201 def draw_interface(self): |
206 self.reallevellabels = [] | 202 self.reallevellabels = [] |