Mercurial > libervia-desktop-kivy
diff src/cagou/plugins/plugin_wid_widget_selector.py @ 16:ba14b596b90e
host can now be get as a global value:
instead of always copying host from class to class, it can now be gotten from a global class with:
from cagou import G
then G.host will give host.
This will probably be used on the long term on all SàT (backend + frontends).
As host is currently needed in several places (most importantly in QuickFrontend), the argument is still present, and must be there even is unused on class inheriting from QuickSomething.
author | Goffi <goffi@goffi.org> |
---|---|
date | Sat, 09 Jul 2016 18:41:52 +0200 |
parents | 56838ad5c84b |
children | 790dbc5c4e89 |
line wrap: on
line diff
--- a/src/cagou/plugins/plugin_wid_widget_selector.py Sat Jul 09 17:24:01 2016 +0200 +++ b/src/cagou/plugins/plugin_wid_widget_selector.py Sat Jul 09 18:41:52 2016 +0200 @@ -28,6 +28,7 @@ from kivy import properties from kivy.uix.behaviors import ButtonBehavior from cagou.core import cagou_widget +from cagou import G PLUGIN_INFO = { @@ -43,12 +44,11 @@ def __init__(self, **kwargs): super(WidgetSelItem, self).__init__(**kwargs) - self.host = kwargs['host'] def select(self, *args): log.debug(u"widget selection: {}".format(self.plugin_info["name"])) factory = self.plugin_info["factory"] - self.host.switchWidget(self, factory(self.host, self.plugin_info, None, None)) + G.host.switchWidget(self, factory(self.plugin_info, None, None)) def deselect(self, *args): pass @@ -56,11 +56,10 @@ class WidgetSelector(cagou_widget.CagouWidget): - def __init__(self, host): - super(WidgetSelector, self).__init__(host) - self.host = host + def __init__(self): + super(WidgetSelector, self).__init__() self.adapter = ListAdapter( - data=host.getPluggedWidgets(except_cls=self.__class__), + data=G.host.getPluggedWidgets(except_cls=self.__class__), cls=WidgetSelItem, args_converter=self.dataConverter, selection_mode='single', @@ -69,14 +68,11 @@ self.add_widget(ListView(adapter=self.adapter)) @classmethod - def factory(cls, host, plugin_info, target, profiles): - return cls(host) + def factory(cls, plugin_info, target, profiles): + return cls() def dataConverter(self, idx, plugin_info): - return { - "host": self.host, - "plugin_info": plugin_info, - } + return {"plugin_info": plugin_info} PLUGIN_INFO["factory"] = WidgetSelector.factory