changeset 179:79fdae806ca5

Add remove method to containers
author Neil Muller <drnlmuller@gmail.com>
date Wed, 14 Sep 2011 14:08:14 +0200
parents 74f8d8cbc51d
children d9ee0e50a78f
files mamba/widgets/base.py
diffstat 1 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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]