diff options
Diffstat (limited to 'OSCAD/forntEnd/toolTip.py')
-rw-r--r-- | OSCAD/forntEnd/toolTip.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/OSCAD/forntEnd/toolTip.py b/OSCAD/forntEnd/toolTip.py new file mode 100644 index 0000000..0409390 --- /dev/null +++ b/OSCAD/forntEnd/toolTip.py @@ -0,0 +1,48 @@ +#!/usr/bin/python +from Tkinter import * + +class ToolTip(object): + + def __init__(self, widget): + self.widget = widget + self.tipwindow = None + self.id = None + self.x = self.y = 0 + + def showtip(self, text): + "Display text in tooltip window" + self.text = text + if self.tipwindow or not self.text: + return + x, y, cx, cy = self.widget.bbox("insert") + x = x + self.widget.winfo_rootx() + 27 + y = y + cy + self.widget.winfo_rooty() +27 + self.tipwindow = tw = Toplevel(self.widget) + tw.wm_overrideredirect(1) + tw.wm_geometry("+%d+%d" % (x, y)) + try: + # For Mac OS + tw.tk.call("::tk::unsupported::MacWindowStyle", + "style", tw._w, + "help", "noActivates") + except TclError: + pass + label = Label(tw, text=self.text, justify=LEFT, + background="#ffffe0", relief=SOLID, borderwidth=1, + font=("tahoma", "8", "normal")) + label.pack(ipadx=1) + + def hidetip(self): + tw = self.tipwindow + self.tipwindow = None + if tw: + tw.destroy() + +def createToolTip(widget, text): + toolTip = ToolTip(widget) + def enter(event): + toolTip.showtip(text) + def leave(event): + toolTip.hidetip() + widget.bind('<Enter>', enter) + widget.bind('<Leave>', leave) |