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