          zipped = zip_longest(*(subframe.winfo_children() for subframe in self.subframes))
          children = [child for group in zipped for child in group if child is not None]
          self._widget_config = [{"class": child.__class__,
                                  "id": str(child),
                                  "tooltip": _TOOLTIPS.get(str(child), None),
                                  "pack_info": self.pack_config_cleaner(child),
                                  "name": child.winfo_name(),
                                  "config": self.config_cleaner(child),
                                  "children": self.get_all_children_config(child, [])}
                                 for idx, child in enumerate(children)]
 
</s> remove                 child_list.append({"class": child.__class__,
                                   "id": id_,
                                   "tooltip": _TOOLTIPS.get(id_, None),
                                   "pack_info": self.pack_config_cleaner(child),
                                   "name": child.winfo_name(),
                                   "config": self.config_cleaner(child),
                                   "parent": child.winfo_parent()})
 </s> add                 child_list.append({
                    "class": child.__class__,
                    "id": id_,
                    "tooltip": _RECREATE_OBJECTS["tooltips"].get(id_, None),
                    "rc_menu": _RECREATE_OBJECTS["contextmenus"].get(str(id_), None),
                    "pack_info": self.pack_config_cleaner(child),
                    "name": child.winfo_name(),
                    "config": self.config_cleaner(child),
                    "parent": child.winfo_parent()}) </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         logger.debug("Adding radio group: %s", self.title)
        all_help = [line for line in self.helptext.splitlines()]
 </s> add         logger.debug("Adding radio group: %s", self.option.name)
        all_help = [line for line in self.option.helptext.splitlines()] </s> remove         radio_holder = AutoFillContainer(ctl, columns)
        for idx, choice in enumerate(choices):
            frame_id = idx % columns
 </s> add         radio_holder = AutoFillContainer(ctl, self.option_columns)
        for choice in self.option.choices:
                                "tooltip": _RECREATE_OBJECTS["tooltips"].get(str(child), None),
                                "rc_menu": _RECREATE_OBJECTS["contextmenus"].get(str(child), None),
          zipped = zip_longest(*(subframe.winfo_children() for subframe in self.subframes))
          children = [child for group in zipped for child in group if child is not None]
          self._widget_config = [{"class": child.__class__,
                                  "id": str(child),
                                "tooltip": _RECREATE_OBJECTS["tooltips"].get(str(child), None),
                                "rc_menu": _RECREATE_OBJECTS["contextmenus"].get(str(child), None),
                                  "pack_info": self.pack_config_cleaner(child),
                                  "name": child.winfo_name(),
                                  "config": self.config_cleaner(child),
                                  "children": self.get_all_children_config(child, [])}
                                 for idx, child in enumerate(children)]
keep keep keep keep 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