Mercurial > libervia-backend
diff sat_frontends/quick_frontend/quick_widgets.py @ 3168:1cb232c9e845
quick frontends (widgets): added widgetNew and widgetDelete listeners:
- `widgetNew` is called when a brand new widget is created (not when a new instance is
created if there is already an existing one)
- `widgetDelete` is called when all instances of a widget (with a given widget_hash) have
been deleted.
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 12 Feb 2020 19:46:14 +0100 |
parents | 7699a08ba8fb |
children | be6d91572633 |
line wrap: on
line diff
--- a/sat_frontends/quick_frontend/quick_widgets.py Wed Feb 12 19:44:05 2020 +0100 +++ b/sat_frontends/quick_frontend/quick_widgets.py Wed Feb 12 19:46:14 2020 +0100 @@ -231,9 +231,10 @@ if widget is None: # we need to create a new widget - log.debug("Creating new widget for target {} {}".format(target, cls)) + log.debug(f"Creating new widget for target {target} {cls}") widget = cls(*_args, **_kwargs) widgets_map.setdefault(hash_, []).append(widget) + self.host.callListeners("widgetNew", widget) if on_new_widget == C.WIDGET_NEW: self.host.newWidget(widget) @@ -341,6 +342,7 @@ del widgets_map[widget_hash] log.debug("All instances of {cls} with hash {widget_hash!r} have been deleted" .format(cls=class_, widget_hash=widget_hash)) + self.host.callListeners("widgetDeleted", widget_to_delete) class QuickWidget(object):