runner.py 696 B

123456789101112131415161718192021222324252627282930313233
  1. import tkinter as tk
  2. import target as target
  3. from sccd.runtime.libs.ui_v2 import UI
  4. from sccd.runtime.DEVS_loop import DEVSSimulator
  5. class OutputListener:
  6. def __init__(self, ui):
  7. self.ui = ui
  8. def add(self, events):
  9. events = events[0]
  10. for event in events:
  11. if event.port == "ui":
  12. method = getattr(self.ui, event.name)
  13. method(*event.parameters)
  14. if __name__ == '__main__':
  15. model = target.Controller(name="controller")
  16. tkroot = tk.Tk()
  17. tkroot.withdraw()
  18. sim = DEVSSimulator(model)
  19. #sim.setVerbose()
  20. sim.setRealTimePlatformTk(tkroot)
  21. ui = UI(tkroot, sim)
  22. listener = OutputListener(ui)
  23. sim.setListenPorts(model.out_ui, listener.add)
  24. sim.simulate()
  25. tkroot.mainloop()