Mercurial > code > home > repos > light9
annotate light8/panels.py @ 26:219d6fcbc28d
Reclassification, minor cleanups
Reclassification, minor cleanups
No more global variables in rsn! They are all in a class called
LightBoard.
author | dmcc |
---|---|
date | Sun, 07 Jul 2002 08:33:52 +0000 |
parents | 768442c7d023 |
children | e9d2e7754fd9 |
rev | line source |
---|---|
0 | 1 """some of the panels""" |
2 | |
12
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
3 from Tkinter import * |
0 | 4 from uihelpers import * |
5 import Patch | |
19 | 6 from FlyingFader import FlyingFader |
0 | 7 |
8 stdfont = ('Arial', 8) | |
9 monofont = ('Courier', 8) | |
10 | |
11 class Controlpanel(Frame): | |
26 | 12 def __init__(self, parent, xfader, refresh_cb, quit_cb): |
12
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
13 Frame.__init__(self,parent) |
26 | 14 controlpanel = self |
0 | 15 for txt,cmd in ( |
16 ('Quit', quit_cb), | |
17 ('Refresh', refresh_cb), | |
18 ('Clear all', xfader.clearallbuttons), | |
19 ('On -> X', lambda: xfader.grab('x')), | |
20 ('Clear X', lambda: xfader.clearallbuttons('x')), | |
21 ('On -> Y', lambda: xfader.grab('y')), | |
12
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
22 ('Clear Y', lambda: xfader.clearallbuttons('y'))): |
26 | 23 Button(controlpanel, text=txt, command=cmd).pack(side='top', |
24 fill='x') | |
0 | 25 |
26 class Console: | |
12
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
27 def __init__(self): |
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
28 print "Light 8: Everything's under control" |
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
29 t=toplevelat(267,717,w=599,h=19) |
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
30 self.frame = Frame(t) |
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
31 self.entry=Entry(self.frame) |
0 | 32 self.entry.pack(expand=1, fill='x') |
26 | 33 self.entry.bind('<Return>', lambda evt: self.execute(evt, |
34 self.entry.get())) | |
0 | 35 self.frame.pack(fill=BOTH, expand=1) |
36 | |
12
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
37 def execute(evt, str): |
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
38 if str[0] == '*': # make a new sub |
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
39 make_sub(str) |
0 | 40 else: |
41 print '>>>', str | |
42 print eval(str) | |
12
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
43 self.frame.focus() |
0 | 44 |
45 class Leveldisplay: | |
26 | 46 def __init__(self, parent, channel_levels, num_channels=68): |
0 | 47 frames = (make_frame(parent), make_frame(parent)) |
16 | 48 channel_levels[:]=[] |
26 | 49 self.number_labels = {} |
50 for channel in range(1, num_channels+1): | |
51 | |
52 # frame for this channel | |
53 f = Frame(frames[channel > (num_channels/2)]) | |
54 # channel number -- will turn yellow when being altered | |
55 num_lab = Label(f, text=str(channel), width=3, bg='lightPink', | |
56 font=stdfont, padx=0, pady=0, bd=0, height=1) | |
57 num_lab.pack(side='left') | |
58 self.number_labels[channel] = num_lab | |
59 | |
60 # text description of channel | |
61 Label(f, text=Patch.get_channel_name(channel), width=8, | |
62 font=stdfont, anchor='w', padx=0, pady=0, bd=0, | |
63 height=1).pack(side='left') | |
64 | |
65 # current level of channel, shows intensity with color | |
66 l = Label(f, width=3, bg='lightBlue', font=stdfont, anchor='e', | |
67 padx=1, pady=0, bd=0, height=1) | |
0 | 68 l.pack(side='left') |
69 colorlabel(l) | |
70 channel_levels.append(l) | |
71 f.pack(side='top') | |
26 | 72 |
73 self.channel_levels = channel_levels | |
74 # channel_levels is an output - changelevel will use it to access | |
75 # these labels | |
0 | 76 |
77 class Subpanels: | |
19 | 78 def __init__(self, scenesparent, effectsparent, scalelevels, Subs, xfader, |
79 changelevel): | |
0 | 80 |
81 sublist = Subs.subs.items() | |
82 sublist.sort() | |
83 | |
84 for name, sub in sublist: | |
85 if sub.is_effect: | |
86 parent=effectsparent | |
87 else: | |
88 parent=scenesparent | |
89 | |
12
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
90 f=Frame(parent, bd=1, relief='raised') |
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
91 f.pack(fill='both',exp=1,side='left') |
0 | 92 |
93 if name not in scalelevels: | |
94 scalelevels[name]=DoubleVar() | |
95 | |
96 sub.set_slider_var(scalelevels[name]) | |
97 | |
12
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
98 scaleopts = {} |
0 | 99 if sub.color: |
100 scaleopts['troughcolor'] = sub.color | |
19 | 101 |
102 s = FlyingFader(f, label=str(name), variable=scalelevels[name], | |
103 showvalue=0, length=300-17, | |
104 width=20, to=0,res=.001,from_=1,bd=1, font=stdfont, | |
105 **scaleopts) | |
0 | 106 |
12
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
107 for axis in ('y','x'): |
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
108 cvar=IntVar() |
19 | 109 cb=Checkbutton(f,text=axis,variable=cvar,font=stdfont, padx=0, |
110 pady=0, bd=1) | |
12
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
111 button = ('Alt','Control')[axis=='y'] # unused? |
19 | 112 # s.bind('<Key-%s>'%axis, lambda ev,cb=cb: cb.invoke) |
12
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
113 cb.pack(side='bottom',fill='both', padx=0, pady=0) |
7adc65771676
big restructuring - moved lots of things (including most panels) to other files
drewp
parents:
0
diff
changeset
|
114 xfader.registerbutton(name,axis,cvar) |
0 | 115 |
23 | 116 s.pack(side='left', fill=BOTH) |
0 | 117 |
118 # effects frame? | |
119 sframe = Frame(f,bd=2,relief='groove') | |
120 sub.draw_tk(sframe) | |
121 sframe.pack(side='left',fill='y') |