              sysbrowser = ["save"]
          elif action == cli.DirOrFileFullPaths:
              sysbrowser = ["folder", "load"]
          elif action == cli.ContextFullPaths and action_option:
              sysbrowser = ["context"]
          logger.debug("sysbrowser: %s, filetypes: '%s'", sysbrowser, filetypes)
          return sysbrowser, filetypes
  
      def set_context_option(self, command):
          """ Set the tk_var for the source action option
              that dictates the context sensitive file browser. """
          actions = {item["opts"][0]: item["value"]
                     for item in self.gen_command_options(command)}
          for opt in self.gen_command_options(command):
              if opt["filesystem_browser"] == ["context"]:
                  opt["action_option"] = actions[opt["action_option"]]
  
      def gen_command_options(self, command):
          """ Yield each option for specified command """
          for option in self.opts[command]:
              yield option
 
</s> remove             sysbrowser = ["folder", "load"]
 </s> add             retval["browser"] = ["folder", "load"] </s> remove             sysbrowser = ["save"]
 </s> add             retval["browser"] = ["save"] </s> remove             sysbrowser = ["load_multi"]
 </s> add             retval["browser"] = ["load_multi"] </s> remove             sysbrowser = ["load"]
 </s> add             retval["browser"] = ["load"] </s> remove     def set_sysbrowser(action, filetypes, action_option):
        """ Set the correct file system browser and filetypes
            for the passed in action """
        sysbrowser = ["folder"]
        filetypes = "default" if not filetypes else filetypes
 </s> add     def get_rounding(opt):
        """ Return rounding if correct data type, else None """
        dtype = opt.get("type", None)
        if dtype == float:
            retval = opt.get("rounding", 2)
        elif dtype == int:
            retval = opt.get("rounding", 1)
        else:
            retval = None
        return retval

    @staticmethod
    def get_sysbrowser(option, command):
        """ Return the system file browser and file types if required else None """
        action = option.get("action", None)
        if action not in (cli.FullPaths,
                          cli.DirFullPaths,
                          cli.FileFullPaths,
                          cli.FilesFullPaths,
                          cli.DirOrFileFullPaths,
                          cli.SaveFileFullPaths,
                          cli.ContextFullPaths):
            return None

        retval = dict()
        action_option = option.get("action_option", None)
        retval["filetypes"] = option.get("filetypes", "default")
            retval["browser"] = ["context"]
            retval["command"] = command
            retval["action_option"] = action_option
            retval["destination"] = option.get("dest", option["opts"][1].replace("--", ""))
        else:
            retval["browser"] = ["folder"]
        logger.debug(retval)
        return retval
              sysbrowser = ["save"]
          elif action == cli.DirOrFileFullPaths:
              sysbrowser = ["folder", "load"]
          elif action == cli.ContextFullPaths and action_option:
            retval["browser"] = ["context"]
            retval["command"] = command
            retval["action_option"] = action_option
            retval["destination"] = option.get("dest", option["opts"][1].replace("--", ""))
        else:
            retval["browser"] = ["folder"]
        logger.debug(retval)
        return retval
            retval["browser"] = ["context"]
            retval["command"] = command
            retval["action_option"] = action_option
            retval["destination"] = option.get("dest", option["opts"][1].replace("--", ""))
        else:
            retval["browser"] = ["folder"]
        logger.debug(retval)
        return retval
            retval["browser"] = ["context"]
            retval["command"] = command
            retval["action_option"] = action_option
            retval["destination"] = option.get("dest", option["opts"][1].replace("--", ""))
        else:
            retval["browser"] = ["folder"]
        logger.debug(retval)
        return retval
            retval["browser"] = ["context"]
            retval["command"] = command
            retval["action_option"] = action_option
            retval["destination"] = option.get("dest", option["opts"][1].replace("--", ""))
        else:
            retval["browser"] = ["folder"]
        logger.debug(retval)
        return retval
            retval["browser"] = ["context"]
            retval["command"] = command
            retval["action_option"] = action_option
            retval["destination"] = option.get("dest", option["opts"][1].replace("--", ""))
        else:
            retval["browser"] = ["folder"]
        logger.debug(retval)
        return retval
            retval["browser"] = ["context"]
            retval["command"] = command
            retval["action_option"] = action_option
            retval["destination"] = option.get("dest", option["opts"][1].replace("--", ""))
        else:
            retval["browser"] = ["folder"]
        logger.debug(retval)
        return retval
            retval["browser"] = ["context"]
            retval["command"] = command
            retval["action_option"] = action_option
            retval["destination"] = option.get("dest", option["opts"][1].replace("--", ""))
        else:
            retval["browser"] = ["folder"]
        logger.debug(retval)
        return retval
            retval["browser"] = ["context"]
            retval["command"] = command
            retval["action_option"] = action_option
            retval["destination"] = option.get("dest", option["opts"][1].replace("--", ""))
        else:
            retval["browser"] = ["folder"]
        logger.debug(retval)
        return retval
            retval["browser"] = ["context"]
            retval["command"] = command
            retval["action_option"] = action_option
            retval["destination"] = option.get("dest", option["opts"][1].replace("--", ""))
        else:
            retval["browser"] = ["folder"]
        logger.debug(retval)
        return retval
            retval["browser"] = ["context"]
            retval["command"] = command
            retval["action_option"] = action_option
            retval["destination"] = option.get("dest", option["opts"][1].replace("--", ""))
        else:
            retval["browser"] = ["folder"]
        logger.debug(retval)
        return retval
            retval["browser"] = ["context"]
            retval["command"] = command
            retval["action_option"] = action_option
            retval["destination"] = option.get("dest", option["opts"][1].replace("--", ""))
        else:
            retval["browser"] = ["folder"]
        logger.debug(retval)
        return retval
            retval["browser"] = ["context"]
            retval["command"] = command
            retval["action_option"] = action_option
            retval["destination"] = option.get("dest", option["opts"][1].replace("--", ""))
        else:
            retval["browser"] = ["folder"]
        logger.debug(retval)
        return retval
  
      def gen_command_options(self, command):
          """ Yield each option for specified command """
          for option in self.opts[command]:
              yield option
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 GUI Update


- Launch in fullscreen
- Expand Control Helper. Clean up config popup
- Standardize and overhaul GUI for CliOpts 
lib/gui/options.py