Better menus, no default game.
[naja.git] / naja / widgets / base.py
index ee6190b91939bdd35176e11257fc570ac2a78adf..815d1d3a3f1cf23fedcc776ff980b5d4b727b051 100644 (file)
@@ -7,6 +7,8 @@ from naja.events import InvalidateTheWorld, SelectEvent
 
 
 class Widget(object):
+    _is_selectable_func = None
+
     def __init__(self, pos, size=None):
         self.pos = pos
         self.size = size or (0, 0)
@@ -50,6 +52,16 @@ class Widget(object):
             callback(event)
         return bool(self.callbacks[event])
 
+    def set_selectable_callback(self, func):
+        self._is_selectable_func = func
+
+    def is_selectable(self):
+        """Return False if this widget isn't selectable by SelectorWidget."""
+        if self._is_selectable_func is not None:
+            return self._is_selectable_func()
+        else:
+            return True
+
 
 class Container(object):
     def __init__(self, *widgets):