Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2006-08-17 12:42:29 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-08-17 12:42:29 (GMT)
commit640fff56191efe08013f1194f18db824d9aa228d (patch)
tree650cd9900fc2124da21a78ea20a9a87a1544cacd /sugar
parentf65d23c44002fe94477cb3354667e9297e386092 (diff)
Handle activity closed by removing his piece from the donut.
Diffstat (limited to 'sugar')
-rw-r--r--sugar/canvas/DonutItem.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/sugar/canvas/DonutItem.py b/sugar/canvas/DonutItem.py
index 54c6dcc..9f71220 100644
--- a/sugar/canvas/DonutItem.py
+++ b/sugar/canvas/DonutItem.py
@@ -35,6 +35,14 @@ class PieceItem(goocanvas.Path):
self.set_property('stroke-color', '#d8d8d8')
self.set_property('line-width', 4)
+ def get_icon(self):
+ return self._icon
+
+ def set_icon(self, icon_name, color):
+ self._icon = PieceIcon(self, icon_name, color)
+ self.get_parent().add_child(self._icon)
+ self._icon.construct()
+
def get_angle_start(self):
return self._angle_start
@@ -87,15 +95,16 @@ class DonutItem(goocanvas.Group):
self.add_child(piece_item, 1)
piece_item.construct()
-
- icon = PieceIcon(piece_item, icon_name, color)
- self.add_child(icon)
- icon.construct()
+ piece_item.set_icon(icon_name, color)
return piece_item
def remove_piece(self, piece_item):
- index = self.find(piece_item)
+ index = self.find_child(piece_item)
+ self.remove_child(index)
+
+ icon = piece_item.get_icon()
+ index = self.find_child(icon)
self.remove_child(index)
def get_radius(self):