rendered paste bodyfrom 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