summaryrefslogtreecommitdiff
path: root/tktest.py
diff options
context:
space:
mode:
authorBen Connors <benconnors@outlook.com>2019-01-25 14:50:36 -0500
committerBen Connors <benconnors@outlook.com>2019-01-25 14:50:36 -0500
commita9c15b92d5ec6e88bca57a75fb0cbd3cd6b3fd76 (patch)
tree51fa702bfb7c23f1ae72537529d9c2c5afc21a7a /tktest.py
parent8d814c0bc5b7b9e34355cf8502579f501592e0a4 (diff)
Add some utilities
Diffstat (limited to 'tktest.py')
-rwxr-xr-xtktest.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/tktest.py b/tktest.py
new file mode 100755
index 0000000..d8f759c
--- /dev/null
+++ b/tktest.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python3
+
+"""Basic testing for Show rendering with Tk output."""
+
+import threading
+import time
+from tkinter import Tk, N, E, S, W, Label
+import sys
+
+from blc.workspace import Workspace
+from blc.tk import TkOutput
+from blc.render import BasicRenderer
+
+def update_time(m, l, r):
+ l.config(text="%.1f" % ((time.monotonic() - r.start_time) if r.start_time is not None else 0))
+ m.after(50, lambda: update_time(m,l,r))
+
+if len(sys.argv) != 3:
+ print("Usage: %s <workspace> <show id>" % sys.argv[0])
+ sys.exit(1)
+
+w = Workspace.load(sys.argv[1])
+s = w.functions[int(sys.argv[2])]
+
+root = Tk()
+root.columnconfigure(0, weight=1)
+root.rowconfigure(0, weight=1)
+
+output = TkOutput(root)
+output.grid(row=0, sticky=N+E+S+W)
+
+label = Label(root)
+label.grid(row=1,sticky=N+E+S+W)
+
+root.wm_title("BLC+ TkTest - "+s.name)
+
+renderer = BasicRenderer(s, output, minnx=13)
+rthread = threading.Thread(target=renderer.start)
+rthread.start()
+
+root.after(50, lambda: update_time(root, label, renderer))
+
+root.mainloop()