summaryrefslogtreecommitdiffstats
path: root/Tools/idle/CallTipWindow.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/idle/CallTipWindow.py')
-rw-r--r--Tools/idle/CallTipWindow.py76
1 files changed, 0 insertions, 76 deletions
diff --git a/Tools/idle/CallTipWindow.py b/Tools/idle/CallTipWindow.py
deleted file mode 100644
index 24af6b0..0000000
--- a/Tools/idle/CallTipWindow.py
+++ /dev/null
@@ -1,76 +0,0 @@
-# A CallTip window class for Tkinter/IDLE.
-# After ToolTip.py, which uses ideas gleaned from PySol
-
-# Used by the CallTips IDLE extension.
-from Tkinter import *
-
-class CallTip:
-
- def __init__(self, widget):
- self.widget = widget
- self.tipwindow = None
- self.id = None
- self.x = self.y = 0
-
- def showtip(self, text):
- # SF bug 546078: IDLE calltips cause application error.
- # There were crashes on various Windows flavors, and even a
- # crashing X server on Linux, with very long calltips.
- if len(text) >= 79:
- text = text[:75] + ' ...'
- self.text = text
-
- if self.tipwindow or not self.text:
- return
- self.widget.see("insert")
- x, y, cx, cy = self.widget.bbox("insert")
- x = x + self.widget.winfo_rootx() + 2
- y = y + cy + self.widget.winfo_rooty()
- self.tipwindow = tw = Toplevel(self.widget)
- tw.wm_overrideredirect(1)
- tw.wm_geometry("+%d+%d" % (x, y))
- label = Label(tw, text=self.text, justify=LEFT,
- background="#ffffe0", relief=SOLID, borderwidth=1,
- font = self.widget['font'])
- label.pack()
-
- def hidetip(self):
- tw = self.tipwindow
- self.tipwindow = None
- if tw:
- tw.destroy()
-
-
-###############################
-#
-# Test Code
-#
-class container: # Conceptually an editor_window
- def __init__(self):
- root = Tk()
- text = self.text = Text(root)
- text.pack(side=LEFT, fill=BOTH, expand=1)
- text.insert("insert", "string.split")
- root.update()
- self.calltip = CallTip(text)
-
- text.event_add("<<calltip-show>>", "(")
- text.event_add("<<calltip-hide>>", ")")
- text.bind("<<calltip-show>>", self.calltip_show)
- text.bind("<<calltip-hide>>", self.calltip_hide)
-
- text.focus_set()
- # root.mainloop() # not in idle
-
- def calltip_show(self, event):
- self.calltip.showtip("Hello world")
-
- def calltip_hide(self, event):
- self.calltip.hidetip()
-
-def main():
- # Test code
- c=container()
-
-if __name__=='__main__':
- main()