コード例 #1
0
def simulate(canvas):
    global theCanvas
    theCanvas = canvas
    mname = canvas.statusbar.getState(StatusBar.MODEL)[1][0]
    if not mname:
        mname = "Nonamed.des"
    else:
        if mname.endswith(".py"):
            mname = mname[:len(mname) - 3]
        mname = mname + ".des"

    global sc
    sc = generate_description(canvas, 0)

    global debugger
    debugger = Debugger()

    global eventhandler
    eventhandler = EventHandler(mname,
                                callback=debugger.EventDebugger,
                                use_gui=1,
                                modeltext=sc["desc"])
    eventhandler.final.append("SVMAToM3Plugin.finalize_simulation()")
    debugger.CustomizeEvent(event_callback, None, 1)

    global root
    root = canvas.ASGroot.listNodes

    DefaultInterpreter.runsource("eventhandler=SVMAToM3Plugin.eventhandler")
    DefaultInterpreter.runsource("debugger=SVMAToM3Plugin.debugger")

    debugger.SetEventHandler(eventhandler)

    eventhandler.run_initializer()
    highlight_states(eventhandler.state, sc)
    highlight_trans(eventhandler, sc, root)

    # Cannot start the Tk mainloop again
    # eventhandler.run_interactor()
    DefaultInterpreter.runsource(
        "setup_gui_debugger(eventhandler, debugger, 0, 0)")