123456789101112131415161718192021222324252627282930313233343536 |
- from sccd.realtime.eventloop import *
- from sccd.realtime.tkinter import TkInterImplementation
- from sccd.cd.parser.xml import *
- import GUI
- import tkinter
- from tkinter.constants import NO
- import sys
- if __name__ == '__main__':
- if len(sys.argv) == 2:
- model_path = sys.argv[1]
- else:
- model_path = "models/model_03_orthogonal.xml"
- cd = load_cd(model_path)
- def send_event(event: str):
- eventloop.add_input_now(port="in", event_name=event)
- tk = tkinter.Tk()
- tk.withdraw()
- topLevel = tkinter.Toplevel(tk)
- topLevel.resizable(width=NO, height=NO)
- topLevel.title("Microwave oven simulator")
- gui = GUI.GUI(topLevel, send_event)
- def on_output(event):
- if event.port == "out":
- gui.handle_event(event)
- controller = Controller(cd, output_callback=on_output)
- eventloop = EventLoop(controller, TkInterImplementation(tk))
- eventloop.start()
- tk.mainloop()
|