annotate light8/panels.py @ 19:6284a812da50

makefile - add link to ../Widgets/FlyingFader.py makefile - add link to ../Widgets/FlyingFader.py panels.py - use above link, incorporate FlyingFaders. some layout issues, nothing too borked rsn.py - focus follows mouse so that FFaders get keystrokes
author dmcc
date Sun, 07 Jul 2002 06:53:32 +0000
parents 7dbe8067acea
children 768442c7d023
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
1 """some of the panels"""
45b12307c695 Initial revision
drewp
parents:
diff changeset
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
45b12307c695 Initial revision
drewp
parents:
diff changeset
4 from uihelpers import *
45b12307c695 Initial revision
drewp
parents:
diff changeset
5 import Patch
19
6284a812da50 makefile - add link to ../Widgets/FlyingFader.py
dmcc
parents: 16
diff changeset
6 from FlyingFader import FlyingFader
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
7
45b12307c695 Initial revision
drewp
parents:
diff changeset
8 stdfont = ('Arial', 8)
45b12307c695 Initial revision
drewp
parents:
diff changeset
9 monofont = ('Courier', 8)
45b12307c695 Initial revision
drewp
parents:
diff changeset
10
12
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
11
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
12
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
13 class Controlpanel(Frame):
12
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
14 def __init__(self,parent,xfader,refresh_cb,quit_cb):
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
15 Frame.__init__(self,parent)
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
16 controlpanel=self
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
17 for txt,cmd in (
45b12307c695 Initial revision
drewp
parents:
diff changeset
18 ('Quit', quit_cb),
45b12307c695 Initial revision
drewp
parents:
diff changeset
19 ('Refresh', refresh_cb),
45b12307c695 Initial revision
drewp
parents:
diff changeset
20 ('Clear all', xfader.clearallbuttons),
45b12307c695 Initial revision
drewp
parents:
diff changeset
21 ('On -> X', lambda: xfader.grab('x')),
45b12307c695 Initial revision
drewp
parents:
diff changeset
22 ('Clear X', lambda: xfader.clearallbuttons('x')),
45b12307c695 Initial revision
drewp
parents:
diff changeset
23 ('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
24 ('Clear Y', lambda: xfader.clearallbuttons('y'))):
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
25 Button(controlpanel, text=txt, command=cmd).pack(side='top', fill='x')
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
26
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
27
45b12307c695 Initial revision
drewp
parents:
diff changeset
28 class Console:
12
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
29 def __init__(self):
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
30 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
31 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
32 self.frame = Frame(t)
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
33 self.entry=Entry(self.frame)
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
34 self.entry.pack(expand=1, fill='x')
12
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
35 self.entry.bind('<Return>', lambda evt: self.execute(evt, self.entry.get()))
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
36 self.frame.pack(fill=BOTH, expand=1)
45b12307c695 Initial revision
drewp
parents:
diff changeset
37
12
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
38 def execute(evt, str):
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
39 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
40 make_sub(str)
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
41 else:
45b12307c695 Initial revision
drewp
parents:
diff changeset
42 print '>>>', str
45b12307c695 Initial revision
drewp
parents:
diff changeset
43 print eval(str)
12
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
44 self.frame.focus()
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
45
45b12307c695 Initial revision
drewp
parents:
diff changeset
46 class Leveldisplay:
16
7dbe8067acea fixed bug with channel levels not displaying
drewp
parents: 12
diff changeset
47 def __init__(self,parent,_oldlevels,channel_levels):
12
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
48
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
49 frames = (make_frame(parent), make_frame(parent))
16
7dbe8067acea fixed bug with channel levels not displaying
drewp
parents: 12
diff changeset
50 channel_levels[:]=[]
12
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
51 for channel in range(1, 69):
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
52 f=Frame(frames[channel > 34])
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
53 Label(f,text=str(channel), width=3, bg='lightPink',
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
54 font=stdfont, padx=0, pady=0, bd=0, height=1).pack(side='left')
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
55 Label(f,text=Patch.get_channel_name(channel), width=8,
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
56 font=stdfont, anchor='w', padx=0, pady=0, bd=0, height=1).pack(side='left')
16
7dbe8067acea fixed bug with channel levels not displaying
drewp
parents: 12
diff changeset
57 l=Label(f, width=3, bg='lightBlue', #text=_oldlevels[channel-1],
12
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
58 font=stdfont, anchor='e', padx=1, pady=0, bd=0, height=1)
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
59 l.pack(side='left')
45b12307c695 Initial revision
drewp
parents:
diff changeset
60 colorlabel(l)
45b12307c695 Initial revision
drewp
parents:
diff changeset
61 channel_levels.append(l)
45b12307c695 Initial revision
drewp
parents:
diff changeset
62 f.pack(side='top')
16
7dbe8067acea fixed bug with channel levels not displaying
drewp
parents: 12
diff changeset
63 # channel_levels is an output - changelevel will use it to access these labels
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
64
45b12307c695 Initial revision
drewp
parents:
diff changeset
65 class Subpanels:
19
6284a812da50 makefile - add link to ../Widgets/FlyingFader.py
dmcc
parents: 16
diff changeset
66 def __init__(self, scenesparent, effectsparent, scalelevels, Subs, xfader,
6284a812da50 makefile - add link to ../Widgets/FlyingFader.py
dmcc
parents: 16
diff changeset
67 changelevel):
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
68
45b12307c695 Initial revision
drewp
parents:
diff changeset
69 sublist = Subs.subs.items()
45b12307c695 Initial revision
drewp
parents:
diff changeset
70 sublist.sort()
45b12307c695 Initial revision
drewp
parents:
diff changeset
71
45b12307c695 Initial revision
drewp
parents:
diff changeset
72 for name, sub in sublist:
45b12307c695 Initial revision
drewp
parents:
diff changeset
73 if sub.is_effect:
45b12307c695 Initial revision
drewp
parents:
diff changeset
74 parent=effectsparent
45b12307c695 Initial revision
drewp
parents:
diff changeset
75 else:
45b12307c695 Initial revision
drewp
parents:
diff changeset
76 parent=scenesparent
45b12307c695 Initial revision
drewp
parents:
diff changeset
77
12
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
78 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
79 f.pack(fill='both',exp=1,side='left')
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
80
45b12307c695 Initial revision
drewp
parents:
diff changeset
81 if name not in scalelevels:
45b12307c695 Initial revision
drewp
parents:
diff changeset
82 scalelevels[name]=DoubleVar()
45b12307c695 Initial revision
drewp
parents:
diff changeset
83
45b12307c695 Initial revision
drewp
parents:
diff changeset
84 sub.set_slider_var(scalelevels[name])
45b12307c695 Initial revision
drewp
parents:
diff changeset
85
12
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
86 scaleopts = {}
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
87 if sub.color:
45b12307c695 Initial revision
drewp
parents:
diff changeset
88 scaleopts['troughcolor'] = sub.color
19
6284a812da50 makefile - add link to ../Widgets/FlyingFader.py
dmcc
parents: 16
diff changeset
89
6284a812da50 makefile - add link to ../Widgets/FlyingFader.py
dmcc
parents: 16
diff changeset
90 s = FlyingFader(f, label=str(name), variable=scalelevels[name],
6284a812da50 makefile - add link to ../Widgets/FlyingFader.py
dmcc
parents: 16
diff changeset
91 showvalue=0, length=300-17,
6284a812da50 makefile - add link to ../Widgets/FlyingFader.py
dmcc
parents: 16
diff changeset
92 width=20, to=0,res=.001,from_=1,bd=1, font=stdfont,
6284a812da50 makefile - add link to ../Widgets/FlyingFader.py
dmcc
parents: 16
diff changeset
93 **scaleopts)
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
94
12
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
95 for axis in ('y','x'):
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
96 cvar=IntVar()
19
6284a812da50 makefile - add link to ../Widgets/FlyingFader.py
dmcc
parents: 16
diff changeset
97 cb=Checkbutton(f,text=axis,variable=cvar,font=stdfont, padx=0,
6284a812da50 makefile - add link to ../Widgets/FlyingFader.py
dmcc
parents: 16
diff changeset
98 pady=0, bd=1)
12
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
99 button = ('Alt','Control')[axis=='y'] # unused?
19
6284a812da50 makefile - add link to ../Widgets/FlyingFader.py
dmcc
parents: 16
diff changeset
100 # 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
101 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
102 xfader.registerbutton(name,axis,cvar)
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
103
12
7adc65771676 big restructuring - moved lots of things (including most panels) to other files
drewp
parents: 0
diff changeset
104 s.pack(side='left')
19
6284a812da50 makefile - add link to ../Widgets/FlyingFader.py
dmcc
parents: 16
diff changeset
105 s.bind('<3>',
6284a812da50 makefile - add link to ../Widgets/FlyingFader.py
dmcc
parents: 16
diff changeset
106 lambda evt, v=scalelevels[name]: toggle_slider(v))
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
107
45b12307c695 Initial revision
drewp
parents:
diff changeset
108 # effects frame?
45b12307c695 Initial revision
drewp
parents:
diff changeset
109 sframe = Frame(f,bd=2,relief='groove')
45b12307c695 Initial revision
drewp
parents:
diff changeset
110 sub.draw_tk(sframe)
45b12307c695 Initial revision
drewp
parents:
diff changeset
111 sframe.pack(side='left',fill='y')