  from .utils import ContextMenu, FileHandler, get_config, get_images
  
  logger = logging.getLogger(__name__)  # pylint: disable=invalid-name
  
  # We store Tooltips globally when they are created
  # Because we need to add them back to newly cloned widgets
  _TOOLTIPS = dict()
  
  # We store commands globally when they are created
  # Because we need to add them back to newly cloned widgets
  _COMMANDS = dict()
  
  
  def get_tooltip(widget, text, wraplength=600):
      """ Store the tooltip layout and widget id in _TOOLTIPS and return a tooltip """
      _TOOLTIPS[str(widget)] = {"text": text,
 
</s> remove     _TOOLTIPS[str(widget)] = {"text": text,
                              "wraplength": wraplength}
 </s> add     _RECREATE_OBJECTS["tooltips"][str(widget)] = {"text": text,
                                                  "wraplength": wraplength} </s> remove from .control_helper import ControlPanel
 </s> add from .control_helper import ControlPanel, ControlPanelOption </s> remove         frame = ttk.Frame(parent, name="fr_{}".format(self.title.lower()))
 </s> add         frame = ttk.Frame(parent, name="fr_{}".format(self.option.name))
# We store Tooltips, ContextMenus and Commands globally when they are created
# Because we need to add them back to newly cloned widgets (they are not easily accessible from
# original config or are prone to getting destroyed when the original widget is destroyed)
_RECREATE_OBJECTS = dict(tooltips=dict(), commands=dict(), contextmenus=dict())
  from .utils import ContextMenu, FileHandler, get_config, get_images
  
  logger = logging.getLogger(__name__)  # pylint: disable=invalid-name
  
# We store Tooltips, ContextMenus and Commands globally when they are created
# Because we need to add them back to newly cloned widgets (they are not easily accessible from
# original config or are prone to getting destroyed when the original widget is destroyed)
_RECREATE_OBJECTS = dict(tooltips=dict(), commands=dict(), contextmenus=dict())
# We store Tooltips, ContextMenus and Commands globally when they are created
# Because we need to add them back to newly cloned widgets (they are not easily accessible from
# original config or are prone to getting destroyed when the original widget is destroyed)
_RECREATE_OBJECTS = dict(tooltips=dict(), commands=dict(), contextmenus=dict())
# We store Tooltips, ContextMenus and Commands globally when they are created
# Because we need to add them back to newly cloned widgets (they are not easily accessible from
# original config or are prone to getting destroyed when the original widget is destroyed)
_RECREATE_OBJECTS = dict(tooltips=dict(), commands=dict(), contextmenus=dict())
# We store Tooltips, ContextMenus and Commands globally when they are created
# Because we need to add them back to newly cloned widgets (they are not easily accessible from
# original config or are prone to getting destroyed when the original widget is destroyed)
_RECREATE_OBJECTS = dict(tooltips=dict(), commands=dict(), contextmenus=dict())
# We store Tooltips, ContextMenus and Commands globally when they are created
# Because we need to add them back to newly cloned widgets (they are not easily accessible from
# original config or are prone to getting destroyed when the original widget is destroyed)
_RECREATE_OBJECTS = dict(tooltips=dict(), commands=dict(), contextmenus=dict())
# We store Tooltips, ContextMenus and Commands globally when they are created
# Because we need to add them back to newly cloned widgets (they are not easily accessible from
# original config or are prone to getting destroyed when the original widget is destroyed)
_RECREATE_OBJECTS = dict(tooltips=dict(), commands=dict(), contextmenus=dict())
# We store Tooltips, ContextMenus and Commands globally when they are created
# Because we need to add them back to newly cloned widgets (they are not easily accessible from
# original config or are prone to getting destroyed when the original widget is destroyed)
_RECREATE_OBJECTS = dict(tooltips=dict(), commands=dict(), contextmenus=dict())
  
  
  def get_tooltip(widget, text, wraplength=600):
      """ Store the tooltip layout and widget id in _TOOLTIPS and return a tooltip """
      _TOOLTIPS[str(widget)] = {"text": text,
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