diff options
author | Marco 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) |
commit | 640fff56191efe08013f1194f18db824d9aa228d (patch) | |
tree | 650cd9900fc2124da21a78ea20a9a87a1544cacd /sugar | |
parent | f65d23c44002fe94477cb3354667e9297e386092 (diff) |
Handle activity closed by removing his piece from the donut.
Diffstat (limited to 'sugar')
-rw-r--r-- | sugar/canvas/DonutItem.py | 19 |
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): |