All pastes #596682 Raw Edit

Someone

public text v1 · immutable
#596682 ·published 2007-06-30 03:40 UTC
rendered paste body
from Tkinter import *

from hal import *

import math

import bwidget
import Image, ImageTk

class pyvcp_button(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('exit.png')
        self.phi = ImageTk.PhotoImage(self.img)
        button = Button( master, image=self.phi )
        button.pack()

        if halpin == None:

            halpin = "button."+str(pyvcp_button.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_button.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