diff options
author | Ben Connors <benconnors@outlook.com> | 2019-01-31 00:29:16 -0500 |
---|---|---|
committer | Ben Connors <benconnors@outlook.com> | 2019-01-31 00:29:16 -0500 |
commit | b03927227e20959dec9c1e486555ca616af01f5e (patch) | |
tree | ac3e137f536bf1f3a52875529ddd1e1f9fe08b80 /tktest.py | |
parent | 152d81de2ffc45db2e36ae263ccdcc67216f885a (diff) |
Some fixes
Diffstat (limited to 'tktest.py')
-rwxr-xr-x | tktest.py | 19 |
1 files changed, 15 insertions, 4 deletions
@@ -4,16 +4,22 @@ import threading import time -from tkinter import Tk, N, E, S, W, Label +from tkinter import Tk, N, E, S, W, Label, Button import sys from blc.workspace import Workspace from blc.tk import TkOutput from blc.render import BasicRenderer -def update_time(m, l, r): +def update(m, l, sl, r): + """Update GUI elements.""" + if r.stall_lock.acquire(blocking=False): + r.stall_lock.release() + sl.config(text="Running") + else: + sl.config(text="Stalled") 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)) + m.after(50, lambda: update(m,l,sl,r)) if len(sys.argv) != 3: print("Usage: %s <workspace> <show id>" % sys.argv[0]) @@ -32,12 +38,17 @@ output.grid(row=0, sticky=N+E+S+W) label = Label(root) label.grid(row=1,sticky=N+E+S+W) +slabel = Label(root) +slabel.grid(row=2,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)) +Button(root,text="Advance",command=lambda *args: renderer.advance()).grid(row=3, sticky=N+E+S+W) + +root.after(50, lambda: update(root, label, slabel, renderer)) root.mainloop() |