diff options
author | Ben Connors <benconnors@outlook.com> | 2019-01-25 14:50:36 -0500 |
---|---|---|
committer | Ben Connors <benconnors@outlook.com> | 2019-01-25 14:50:36 -0500 |
commit | a9c15b92d5ec6e88bca57a75fb0cbd3cd6b3fd76 (patch) | |
tree | 51fa702bfb7c23f1ae72537529d9c2c5afc21a7a /tktest.py | |
parent | 8d814c0bc5b7b9e34355cf8502579f501592e0a4 (diff) |
Add some utilities
Diffstat (limited to 'tktest.py')
-rwxr-xr-x | tktest.py | 43 |
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() |