All pastes #769581 Raw Edit

Mine

public text v1 · immutable
#769581 ·published 2007-11-11 15:34 UTC
rendered paste body

class pyvcp_scale_float(Scale):
    def __init__(self, master, pycomp, resolution=1, halpin=None,
                    min_=0, max_=100, **kw):
        self.resolution=resolution
        Scale.__init__(self, master, resolution=self.resolution,
                       command=self.changed,
                       from_=min_, to=max_, **kw)
        self.first_time = True
        self.dirty = False

        if halpin == None:
            halpin = "scale."+str(pyvcp_scale.n)
        self.halpin=halpin
        pycomp.newpin(halpin, HAL_FLOAT, HAL_OUT)
        self.bind('<Button-4>',self.wheel_up)
        self.bind('<Button-5>',self.wheel_down)
        pyvcp_scale.n += 1

    def changed(self, arg):
        if self.first_time:
            self.first_time = False
            return
        self.dirty = True

    def update(self, pycomp):
        if self.dirty:
            pycomp[self.halpin] = self.get()
        else:
            self.set(pycomp[self.halpin])

    def wheel_up(self,event):
        self.set(self.get()+self.resolution)

    def wheel_down(self,event):
        self.set(self.get()-self.resolution)