X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=naja%2Fwidgets%2Fbase.py;h=815d1d3a3f1cf23fedcc776ff980b5d4b727b051;hb=ea9ef7135b38cb5256c0700f5a0ab023d6378831;hp=ee6190b91939bdd35176e11257fc570ac2a78adf;hpb=e02543456935626f33b4e4a438e19a32bb43b836;p=naja.git diff --git a/naja/widgets/base.py b/naja/widgets/base.py index ee6190b..815d1d3 100644 --- a/naja/widgets/base.py +++ b/naja/widgets/base.py @@ -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):