Mercurial > code > home > repos > light9
comparison light8/ExtSliderMapper.py @ 87:a5c0b7ac63cf
better colors, color behavior
author | dmcc |
---|---|
date | Fri, 12 Jul 2002 12:49:03 +0000 |
parents | 5a162150b68d |
children | 827a675131dc |
comparison
equal
deleted
inserted
replaced
86:5a162150b68d | 87:a5c0b7ac63cf |
---|---|
10 self.sublevel.set(sublevel) | 10 self.sublevel.set(sublevel) |
11 self.attached = BooleanVar() # currently attached | 11 self.attached = BooleanVar() # currently attached |
12 self.attached.set(attached) | 12 self.attached.set(attached) |
13 self.extlevel = DoubleVar() # external slider's input | 13 self.extlevel = DoubleVar() # external slider's input |
14 self.extlevel.set(extinputlevel) | 14 self.extlevel.set(extinputlevel) |
15 self.extlabel = None | 15 self.widgets = [] # list of widgets drawn |
16 self.sublabel = None | 16 self.sublabel = None # the label which represents a sub level. we hold on to |
17 # it so we can change its textvariable | |
18 self.lastbgcolor = None # last background color drawn to avoid unnecessary | |
19 # updates | |
17 def attach(self): | 20 def attach(self): |
18 self.attached.set(1) | 21 self.attached.set(1) |
19 self.color_text() | 22 self.color_text() |
20 def detach(self): | 23 def detach(self): |
21 self.attached.set(0) | 24 self.attached.set(0) |
41 def set_subname(self, newname): | 44 def set_subname(self, newname): |
42 self.subname.set(newname) | 45 self.subname.set(newname) |
43 self.detach() | 46 self.detach() |
44 self.color_text() | 47 self.color_text() |
45 def color_text(self): | 48 def color_text(self): |
46 if self.extlabel: | 49 if self.widgets: |
47 if self.isdisconnected(): | 50 if self.isdisconnected(): |
48 self.extlabel.configure(fg='honeyDew4') | 51 color = 'honeyDew4' |
49 elif self.isattached(): | 52 elif self.isattached(): |
50 self.extlabel.configure(fg='honeyDew2') | 53 color = 'honeyDew2' |
51 else: | 54 else: # detached |
52 self.extlabel.configure(fg='red') | 55 color = 'red' |
56 | |
57 if self.lastbgcolor == color: return | |
58 for widget in self.widgets: | |
59 widget.configure(bg=color) | |
60 self.lastbgcolor = color | |
53 def disconnect(self): | 61 def disconnect(self): |
54 self.set_subname('disconnected') # a bit hack-like | 62 self.set_subname('disconnected') # a bit hack-like |
55 self.sublabel.configure(text="N/A") | 63 self.sublabel.configure(text="N/A") |
56 def set_sublevel_var(self, newvar): | 64 def set_sublevel_var(self, newvar): |
57 'newvar is one of the variables in scalelevels' | 65 'newvar is one of the variables in scalelevels' |
72 c.slistbox.listbox.insert(END, "disconnected") | 80 c.slistbox.listbox.insert(END, "disconnected") |
73 for s in subnames: | 81 for s in subnames: |
74 c.slistbox.listbox.insert(END, s) | 82 c.slistbox.listbox.insert(END, s) |
75 c.entry.configure(width=12) | 83 c.entry.configure(width=12) |
76 statframe = Frame(frame) | 84 statframe = Frame(frame) |
77 Checkbutton(statframe, variable=self.attached, | 85 cb = Checkbutton(statframe, variable=self.attached, |
78 text="Attached").grid(columnspan=2, sticky=W) | 86 text="Attached") |
79 Label(statframe, text="Input", fg='red').grid(row=1, sticky=W) | 87 cb.grid(columnspan=2, sticky=W) |
80 self.extlabel = Label(statframe, textvariable=self.extlevel, width=5) | 88 ilabel = Label(statframe, text="Input", fg='blue') |
81 self.extlabel.grid(row=1, column=1) | 89 ilabel.grid(row=1, sticky=W) |
82 Label(statframe, text="Real").grid(row=2, sticky=W) | 90 extlabel = Label(statframe, textvariable=self.extlevel, width=5) |
91 extlabel.grid(row=1, column=1) | |
92 rlabel = Label(statframe, text="Real") | |
93 rlabel.grid(row=2, sticky=W) | |
83 self.sublabel = Label(statframe, text="N/A", width=5) | 94 self.sublabel = Label(statframe, text="N/A", width=5) |
84 self.sublabel.grid(row=2, column=1) | 95 self.sublabel.grid(row=2, column=1) |
85 statframe.pack(side=BOTTOM, expand=1, fill=X) | 96 statframe.pack(side=BOTTOM, expand=1, fill=X) |
86 c.pack() | 97 c.pack() |
87 frame.pack(side=LEFT, expand=1, fill=BOTH) | 98 frame.pack(side=LEFT, expand=1, fill=BOTH) |
99 | |
100 self.widgets = [frame, c, statframe, cb, ilabel, extlabel, rlabel, | |
101 self.sublabel] | |
88 | 102 |
89 class ExtSliderMapper(Frame): | 103 class ExtSliderMapper(Frame): |
90 def __init__(self, parent, sliderlevels, sliderinput, filename='slidermapping', | 104 def __init__(self, parent, sliderlevels, sliderinput, filename='slidermapping', |
91 numsliders=4): | 105 numsliders=4): |
92 'Slider levels is scalelevels, sliderinput is an ExternalInput object' | 106 'Slider levels is scalelevels, sliderinput is an ExternalInput object' |