All pastes #646382 Raw Edit

Miscellany

public text v1 · immutable
#646382 ·published 2007-08-05 14:17 UTC
rendered paste body
class pyvcp_buttonI(Button):
    """ (control) a button 
        halpin is 1 when button pressed, 0 otherwise 
    """
    n=0
    def __init__(self,master,pycomp,halpin=None,**kw):
        Button.__init__(self,master,**kw)
        self.img = Image.open('ledred.gif')
        self.phi = ImageTk.PhotoImage(self.img)
        buttonI = Button( master, image=self.phi )
        buttonI.pack()
        if halpin == None:
            halpin = "buttonI."+str(pyvcp_buttonI.n)
        self.halpin=halpin 
        pycomp.newpin(halpin, HAL_BIT, HAL_OUT)
        self.state=0;
        self.bind("<ButtonPress>", self.pressed)
        self.bind("<ButtonRelease>", self.released) 
        pyvcp_buttonI.n += 1    

    def pressed(self,event):
        # "the button was pressed"
        self.state=1     

    def released(self,event):
        # the button was released
        self.state=0

    def update(self,pycomp):
        pycomp[self.halpin]=self.state