                                   key,
                                   val["type"],
                                   val["default"],
                                   label_width=self.label_width,
                                   selected_value=val["value"],
                                   choices=val["choices"],
                                   is_radio=val["gui_radio"],
                                   rounding=val["rounding"],
                                   min_max=val["min_max"],
                                   helptext=val["helptext"],
                                   sysbrowser=val.get("sysbrowser", None),
                                   checkbuttons_frame=group_frame["chkbtns"],
                                   option_columns=self.option_columns,
                                   blank_nones=blank_nones)
              if group_frame["chkbtns"].items > 0:
                  group_frame["chkbtns"].parent.pack(side=tk.BOTTOM, fill=tk.X, anchor=tk.NW)
 
</s> remove                                  key,
                                 val["type"],
                                 val["default"],
 </s> add                                  option, </s> remove             val["selected"] = ctl.tk_var
            self.options[key]["_gui_option"] = ctl
        for key, val in self.options.items():
            if key == "helptext":
                continue
            filebrowser = val["_gui_option"].filebrowser
 </s> add             self.controls.append(ctl)
        for control in self.controls:
            filebrowser = control.filebrowser </s> remove         for key, val in self.options.items():
            if key == "helptext":
                continue
            group = "_master" if val["group"] is None else val["group"]
            group_frame = self.get_group_frame(group)
 </s> add         for option in self.options:
            group_frame = self.get_group_frame(option.group) </s> remove                 options[key]["value"] = self.config.config_dict.get(key, options[key]["default"])
 </s> add                 conf[category][section][key] = ControlPanelOption(
                    title=key,
                    dtype=val["type"],
                    group=val["group"],
                    default=val["default"],
                    initial_value=self.config.config_dict.get(key, val["default"]),
                    choices=val["choices"],
                    is_radio=val["gui_radio"],
                    rounding=val["rounding"],
                    min_max=val["min_max"],
                    helptext=val["helptext"]) </s> remove             gui_options[title] = {
                "type": self.get_data_type(opt),
                "default": opt.get("default", None),
                "value": opt.get("default", ""),
                "choices": opt.get("choices", None),
                "gui_radio": opt.get("action", "") == cli.Radio,
                "rounding": self.get_rounding(opt),
                "min_max": opt.get("min_max", None),
                "sysbrowser": self.get_sysbrowser(opt, command),
                "group": opt.get("group", None),
                "helptext": opt["help"],
                "opts": opt["opts"],
                "nargs": opt.get("nargs", None)}
            logger.trace("Processed: %s", opt)
 </s> add             cpanel_option = ControlPanelOption(
                title,
                self.get_data_type(opt),
                group=opt.get("group", None),
                default=opt.get("default", None),
                choices=opt.get("choices", None),
                is_radio=opt.get("action", "") == cli.Radio,
                rounding=self.get_rounding(opt),
                min_max=opt.get("min_max", None),
                sysbrowser=self.get_sysbrowser(opt, command_options, command),
                helptext=opt["help"])
            gui_options[title] = dict(cpanel_option=cpanel_option,
                                      opts=opt["opts"],
                                      nargs=opt.get("nargs", None))
            logger.trace("Processed: %s", gui_options)
                                   key,
                                   val["type"],
                                   val["default"],
                                   label_width=self.label_width,







                                   checkbuttons_frame=group_frame["chkbtns"],
                                   option_columns=self.option_columns,
                                   blank_nones=blank_nones)
              if group_frame["chkbtns"].items > 0:
                  group_frame["chkbtns"].parent.pack(side=tk.BOTTOM, fill=tk.X, anchor=tk.NW)
keep keep keep keep replace replace replace replace replace replace replace keep keep keep keep keep
 GUI Fixups

- GUI Bugfix: Startup options - fix min/max thresholds
- GUI Bugfix: Make console read-only
- GUI Bugfix: Rightclick menu for recreated widgets
- Enhancement: Create ControlPanelOptions Class + migrate options 
lib/gui/control_helper.py