from Tkinter import *
class popup:
def __init__(self, master,
image="images/grailbut.gif",
text="Nobody expects the Spanish Inquisition!",
cursor="cross"):
self.master = master
self.popup_menu = None
self.master.bind("<Button-1>", self.popup)
self.master['cursor'] = cursor
if image:
self.image = self.master.grail_context.get_async_image(image)
else:
self.image = None
self.text = text
def popup(self, event):
if not self.popup_menu:
self.create_popup_menu()
self.popup_menu.tk_popup(event.x_root, event.y_root)
def create_popup_menu(self):
self.popup_menu = menu = Menu(self.master, tearoff=0)
if self.image and self.image.loaded:
menu.add_command(image=self.image)
else:
menu.add_command(label=self.text)
|