summaryrefslogtreecommitdiff
path: root/Lib/tkinter/test/support.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/tkinter/test/support.py')
-rw-r--r--Lib/tkinter/test/support.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/Lib/tkinter/test/support.py b/Lib/tkinter/test/support.py
new file mode 100644
index 0000000000..67264df724
--- /dev/null
+++ b/Lib/tkinter/test/support.py
@@ -0,0 +1,25 @@
+import tkinter
+
+def get_tk_root():
+ try:
+ root = tkinter._default_root
+ except AttributeError:
+ # it is possible to disable default root in Tkinter, although
+ # I haven't seen people doing it (but apparently someone did it
+ # here).
+ root = None
+
+ if root is None:
+ # create a new master only if there isn't one already
+ root = tkinter.Tk()
+
+ return root
+
+
+def simulate_mouse_click(widget, x, y):
+ """Generate proper events to click at the x, y position (tries to act
+ like an X server)."""
+ widget.event_generate('<Enter>', x=0, y=0)
+ widget.event_generate('<Motion>', x=x, y=y)
+ widget.event_generate('<ButtonPress-1>', x=x, y=y)
+ widget.event_generate('<ButtonRelease-1>', x=x, y=y)