comparison Widgets/FlyingFader.py @ 31:c79d4df9d982

now they're orientable
author drewp
date Sun, 07 Jul 2002 10:49:25 +0000
parents bee0862f4436
children 5ff08b489693
comparison
equal deleted inserted replaced
30:e9d2e7754fd9 31:c79d4df9d982
57 57
58 def ismoving(self): 58 def ismoving(self):
59 return not self._stopped 59 return not self._stopped
60 60
61 class FlyingFader(Frame): 61 class FlyingFader(Frame):
62 def __init__(self, master, variable, label, fadedur=1.5, font=('Arial', 8), 62 def __init__(self, master, variable, label, fadedur=1.5, font=('Arial', 8), labelwidth=12,
63 **kw): 63 **kw):
64 Frame.__init__(self, master) 64 Frame.__init__(self, master)
65 self.name = label 65 self.name = label
66 self.variable = variable 66 self.variable = variable
67 67
68 self.mass = Mass() 68 self.mass = Mass()
69 69
70 self.config({'bd':1, 'relief':'raised'}) 70 self.config({'bd':1, 'relief':'raised'})
71 scaleopts = {'variable' : variable, 'showvalue' : 0, 'from' : 1.0, 71 scaleopts = {'variable' : variable, 'showvalue' : 0, 'from' : 1.0,
72 'to' : 0, 'res' : 0.001, 'width' : 20, 'length' : 200} 72 'to' : 0, 'res' : 0.001, 'width' : 20, 'length' : 200, 'orient':'vert'}
73 scaleopts.update(kw) 73 scaleopts.update(kw)
74 if scaleopts['orient']=='vert':
75 side1=TOP
76 side2=BOTTOM
77 else:
78 side1=RIGHT
79 side2=LEFT
74 80
75 self.scale = Scale(self, scaleopts) 81 self.scale = Scale(self, scaleopts)
76 self.vlabel = Label(self, text="0.0", width=6, font=font) 82 self.vlabel = Label(self, text="0.0", width=6, font=font)
77 self.label = Label(self, text=label, wraplength=40, font=font) 83 self.label = Label(self, text=label, font=font, anchor='w',width=labelwidth) #wraplength=40, )
78 84
79 self.oldtrough = self.scale['troughcolor'] 85 self.oldtrough = self.scale['troughcolor']
80 86
81 self.scale.pack(side=TOP, expand=1, fill=BOTH, anchor='c') 87 self.scale.pack(side=side2, expand=1, fill=BOTH, anchor='c')
82 self.vlabel.pack(side=BOTTOM, expand=0, fill=X) 88 self.vlabel.pack(side=side2, expand=0, fill=X)
83 self.label.pack(side=BOTTOM, expand=0, fill=X) 89 self.label.pack(side=side2, expand=0, fill=X)
84 90
85 for k in range(1, 10): 91 for k in range(1, 10):
86 self.scale.bind("<Key-%d>" % k, 92 self.scale.bind("<Key-%d>" % k,
87 lambda evt, k=k: self.newfade(k / 10.0, evt)) 93 lambda evt, k=k: self.newfade(k / 10.0, evt))
88 94