quick frontends: visible_widgets can now keep any kind of widget, new visible_quick_widgets only iters on QuickWidgets

This commit is contained in:
Goffi 2019-01-20 15:46:32 +01:00
commit c16292b2b5

View file

@ -306,10 +306,8 @@ class QuickApp(object):
else:
self.options = None
# widgets
self.selected_widget = (
None
) # widget currently selected (must be filled by frontend)
# widget currently selected (must be filled by frontend)
self.selected_widget = None
# listeners
self._listeners = {} # key: listener type ("avatar", "selected", etc),
@ -407,12 +405,26 @@ class QuickApp(object):
@property
def visible_widgets(self):
"""widgets currently visible (must be implemented by frontend)
"""Widgets currently visible
@return (iter[QuickWidget]): iterable on visible widgets
This must be implemented by frontend
@return (iter[object]): iterable on visible widgets
widgets can be QuickWidgets or not
"""
raise NotImplementedError
@property
def visible_quick_widgets(self):
"""QuickWidgets currently visible
This generator iterate only on QuickWidgets, discarding other kinds of
widget the frontend may have.
@return (iter[object]): iterable on visible widgets
"""
for w in self.visisble_widgets:
if isinstance(w, quick_widgets.QuickWidget):
return w
def registerSignal(
self, function_name, handler=None, iface="core", with_profile=True
):