def run(self, funcs): UISequencer.funcs = funcs aliases = { 'run%d' % i: Code(UISequencer.runner) for i in range(0, len(UISequencer.funcs)) } sequence = { 'run%d' % i: { Symbol('abort'): Symbol('abort'), Symbol('next'): 'run%d' % (i + 1) if (i + 1) < len(UISequencer.funcs) else Symbol('abort') } for i in range(0, len(UISequencer.funcs)) } sequence['ws_start'] = 'run0' Wizard.CreateDialog() ret = Sequencer.Run(aliases, sequence) UI.CloseDialog() return ret
def HasSpecialWidget(symbol): return UI.HasSpecialWidget(Symbol(symbol))
def SetFocus(ID): UI.SetFocus(Term('id', ID))
def ReplaceWidget(ID, contents): UI.ReplaceWidget(Term('id', ID), contents)
def QueryWidget(ID, symbol): return UI.QueryWidget(Term('id', ID), Symbol(symbol))
def UserInput(): while True: yield UI.UserInput()
def CloseDialog(): UI.CloseDialog()
def OpenDialog(contents): UI.OpenDialog(contents)