Changeset - 9c3c28abbbea
[Not reviewed]
default
0 1 0
drewp@bigasterisk.com - 15 years ago 2010-06-19 18:22:39
drewp@bigasterisk.com
new curve rows display right; fix layout of a curve row's widgets
Ignore-this: 1cdfe8a513e65623c28e994a2a27a105
1 file changed with 7 insertions and 4 deletions:
0 comments (0 inline, 0 general)
light9/curve.py
Show inline comments
 
@@ -771,47 +771,49 @@ class CurveRow(tk.Frame):
 

	
 
        leftside = tk.Frame(self)
 
        leftside.pack(side='left')
 

	
 
        self.curveView = Curveview(self, curve, knobEnabled=knobEnabled)
 
        self.curveView.pack(side='left', fill='both', expand=True)
 
        self.curveView.config(height=100)
 

	
 
        txt = "curve '%s'" % name
 
        if len(name) > 7:
 
            txt = name
 
        curve_name_label = tk.Label(leftside, text=txt, font=labelFont,width=15)
 
        curve_name_label.pack(side='left')
 
        curve_name_label.pack(side='top')
 

	
 
        collapsed_cb = tk.Checkbutton(leftside, text="C",
 
        bools = tk.Frame(leftside)
 
        bools.pack(side='top')
 
        collapsed_cb = tk.Checkbutton(bools, text="C",
 
                                      font=labelFont, variable=self.collapsed)
 
        collapsed_cb.pack(side='left')
 
        self.collapsed.trace('w', self.update_ui_to_collapsed_state)
 
        dispatcher.connect(self.toggleCollapsed, "toggle collapse",
 
                           sender=curve)
 

	
 
        self.default_bg = leftside['bg']
 
        muted_cb = tk.Checkbutton(leftside, text="M", font=labelFont,
 
        muted_cb = tk.Checkbutton(bools, text="M", font=labelFont,
 
                                  variable=self.muted)
 
        muted_cb.pack(side='left')
 
        self.muted.trace('w', self.sync_mute_to_curve)
 
        dispatcher.connect(self.mute_changed, 'mute changed', sender=curve)
 

	
 
        self.sliderLabel = None
 
        if slider is not None:
 
            # slider should have a checkbutton, defaults to off for
 
            # music tracks
 
            self.sliderLabel = tk.Label(leftside, text="Slider %s" % slider,
 
                                        fg='#800000', font=labelFont)
 
            self.sliderLabel.pack(side='left')
 
            self.sliderLabel.pack(side='top')
 

	
 
        # widgets that need recoloring when we tint the row:
 
        self.widgets = [leftside, collapsed_cb, muted_cb,
 
                        curve_name_label, self]
 
        if self.sliderLabel:
 
            self.widgets.append(self.sliderLabel)
 

	
 
    def toggleCollapsed(self):
 
        self.collapsed.set(not self.collapsed.get())
 

	
 
    def update_ui_to_collapsed_state(self, *args):
 
        if self.collapsed.get():
 
@@ -870,20 +872,21 @@ class Curvesetview(tk.ScrolledWindow):
 
        dispatcher.connect(self.add_curve, "add_curve", sender=self.curveset)
 
        dispatcher.connect(focus_entry, "focus new curve", weak=False)
 

	
 
    def new_curve(self, event):
 
        self.curveset.new_curve(self.newcurvename.get())
 
        self.newcurvename.set('')
 
        
 
    def add_curve(self, name, slider=None, knobEnabled=False):
 
        curve = self.curveset.curves[name]
 
        f = CurveRow(self.window, name, curve, slider, knobEnabled)
 
        f.pack(side='top', fill='both')
 
        self.allCurveRows.add(f)
 
        f.curveView.goLive()
 

	
 
    def goLive(self):
 
        """for startup performance, none of the curves redraw
 
        themselves until this is called once (and then they're normal)"""
 
        
 
        for cr in self.allCurveRows:
 
            cr.curveView.goLive()
 

	
0 comments (0 inline, 0 general)