runner.py 830 B

1234567891011121314151617181920212223242526272829303132333435
  1. import sys
  2. sys.path.append("../")
  3. import tester
  4. import Tkinter as tk
  5. import threading
  6. import time
  7. from sccd.runtime.tkinter_eventloop import *
  8. from sccd.runtime.statecharts_core import Event
  9. from sccd_widget import SCCDWidget
  10. class Root(tk.Tk, SCCDWidget):
  11. def __init__(self):
  12. tk.Tk.__init__(self)
  13. SCCDWidget.__init__(self)
  14. def send_input(controller):
  15. while 1:
  16. controller.addInput(Event("evt", "input", []))
  17. time.sleep(0.01)
  18. if __name__ == '__main__':
  19. root = Root()
  20. controller = tester.Controller(TkEventLoop(root))
  21. SCCDWidget.controller = controller
  22. controller.start()
  23. for _ in range(50):
  24. thrd = threading.Thread(target=send_input, args=[controller])
  25. thrd.daemon = True
  26. thrd.start()
  27. root.mainloop()