# HG changeset patch # User Goffi # Date 1423245793 -3600 # Node ID d3ef3894254de24e02b0d2b8cf8c0d3fbb7e1375 # Parent 447d28b1b4ec21b0ef52d9babc13534be20a8776 quick frontend (quick_widgets): add deleteWidget method diff -r 447d28b1b4ec -r d3ef3894254d frontends/src/quick_frontend/quick_widgets.py --- a/frontends/src/quick_frontend/quick_widgets.py Fri Feb 06 19:02:10 2015 +0100 +++ b/frontends/src/quick_frontend/quick_widgets.py Fri Feb 06 19:03:13 2015 +0100 @@ -193,6 +193,18 @@ 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 @@ @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