From f9f86f67a1e9537ce8a109fb1aaec1daede966cc Mon Sep 17 00:00:00 2001 From: Goffi Date: Fri, 6 Feb 2015 19:03:13 +0100 Subject: [PATCH] quick frontend (quick_widgets): add deleteWidget method --- frontends/src/quick_frontend/quick_widgets.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/frontends/src/quick_frontend/quick_widgets.py b/frontends/src/quick_frontend/quick_widgets.py index fc4e6b5c..d9b8f823 100644 --- a/frontends/src/quick_frontend/quick_widgets.py +++ b/frontends/src/quick_frontend/quick_widgets.py @@ -193,6 +193,18 @@ class QuickWidgetsManager(object): break return widget + def deleteWidget(self, widget_to_delete): + """Delete a widget + + widget's onDelete method will be called before deletion + """ + widget_to_delete.onDelete() + + for widget_map in self._widgets.itervalues(): + for hash_, widget in widget_map.iteritems(): + if widget_to_delete is widget: + del widget_map[hash_] + class QuickWidget(object): """generic widget base""" @@ -261,3 +273,7 @@ class QuickWidget(object): @return: a hash (can correspond to one or many targets or profiles, depending of widget class) """ return unicode(target) # by defaut, there is one hash for one target + + def onDelete(self): + """Called when a widget is deleted""" + log.debug(u"deleting widget {}".format(self)) # Must be implemented by frontends