def run_function_as_thread_in_dialog(parent, thread_function, title, message): dlg = ThreadProgressDialog(None, title, message) t = thread_utils.simple_task_thread(thread_function, dlg) t.start() while True : if t.is_complete() or t.exception_raised(): #dlg.Destroy() dlg.Hide() break else : dlg.UpdatePulse() wx.MilliSleep(30) dlg.Destroy() wx.SafeYield() if t.exception_raised(): raise RuntimeError("An exception occurred while running this process: %s" % t.get_error()) return t.return_value
def run_function_as_thread_in_dialog (parent, thread_function, title, message) : dlg = ThreadProgressDialog(None, title, message) t = thread_utils.simple_task_thread(thread_function, dlg) t.start() while True : if t.is_complete() or t.exception_raised() : #dlg.Destroy() dlg.Hide() break else : dlg.UpdatePulse() wx.MilliSleep(30) dlg.Destroy() wx.SafeYield() if t.exception_raised() : raise RuntimeError("An exception occurred while running this process: %s" % t.get_error()) return t.return_value