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)