# HG changeset patch # User Neil Muller # Date 1316002094 -7200 # Node ID 79fdae806ca572deac6fbdb29f0052618ff960bb # Parent 74f8d8cbc51dbf56a2ab82baae777c486e141f66 Add remove method to containers diff -r 74f8d8cbc51d -r 79fdae806ca5 mamba/widgets/base.py --- a/mamba/widgets/base.py Wed Sep 14 01:54:21 2011 +0200 +++ b/mamba/widgets/base.py Wed Sep 14 14:08:14 2011 +0200 @@ -90,6 +90,18 @@ self.children.append(widget) self.rect = self.rect.union(widget.rect) + def remove(self, widget): + widget.parent = None + if self.focussed_child is not None: + child = self.children[self.focussed_child] + self.children.remove(widget) + # We don't update the rect, for reasons of simplificty and laziness + if self.focussed_child is not None and child in self.children: + # Fix focus index + self.focussed_child = self.children.index(child) + else: + self.focussed_child = None + def defocus(self): if self.focussed_child is not None: child = self.children[self.focussed_child]