From b03927227e20959dec9c1e486555ca616af01f5e Mon Sep 17 00:00:00 2001 From: Ben Connors Date: Thu, 31 Jan 2019 00:29:16 -0500 Subject: Some fixes --- tktest.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'tktest.py') diff --git a/tktest.py b/tktest.py index d8f759c..8f9bf1e 100755 --- a/tktest.py +++ b/tktest.py @@ -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 " % 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() -- cgit v1.2.3