summaryrefslogtreecommitdiff
path: root/OSCAD/forntEnd/toolTip.py
diff options
context:
space:
mode:
Diffstat (limited to 'OSCAD/forntEnd/toolTip.py')
-rw-r--r--OSCAD/forntEnd/toolTip.py48
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)