Example #1
0
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
Example #2
0
 def __init__(self, gui):
     self.gui = gui
     self.tviz = TvizDriver(widget = self)