1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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()
|