class TvizUI: TVIZ_MODE_OFF = TvizDriver.TVIZ_MODE_OFF TVIZ_MODE_MESSAGE = TvizDriver.TVIZ_MODE_MESSAGE TVIZ_MODE_TANDA = TvizDriver.TVIZ_MODE_TANDA def __init__(self, gui): self.gui = gui self.tviz = TvizDriver(widget = self) def run(self): self.set_mode(self.TVIZ_MODE_TANDA) self._run_loop() def _run_loop(self): if self.gui.tviz_mode == self.TVIZ_MODE_TANDA: logging.info("Starting Tviz from tkui") self.tviz_safe_run_one() self.gui.tk.after(3000, self._run_loop) def open_browser(self): webbrowser.open(html_file('index.html'), new=0, autoraise=True) def quit(self): logging.info("Quiting Tviz from Tkui") quit() def send_message(self, message_override=None): if message_override: self.gui.message_txt.set(message_override) self.set_mode(self.TVIZ_MODE_MESSAGE) message = self.gui.message_txt.get() self.tviz.setMessage(message) self.tviz_safe_run_one() def tviz_safe_run_one(self): try: self.tviz.run_one() except Exception as e: logging.error('Bad Tviz response: ' + str(e)) logging.info('Entering Termination Mode') self.send_message('Crash') def configure(self): logging.info("Will Enter into Config mode") def set_mode(self, mode): logging.debug("Setting mode: " + str(mode)) self.tviz.setMode(mode) self.gui.tviz_mode = mode
def __init__(self, gui): self.gui = gui self.tviz = TvizDriver(widget = self)