diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2008-05-23 16:00:47 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2008-05-23 16:00:47 (GMT) |
commit | ce235e7405a4ebe5012d281ab6b69a8ee60bd40f (patch) | |
tree | 688b9cb1d7716c81a08ed9970c7db28d455d81c4 /src/sugar/graphics/icon.py | |
parent | bbd3404310e40821dbdfe5e6dba9d63be7fd94a5 (diff) |
Finish to hook up the new palette stuff.
Diffstat (limited to 'src/sugar/graphics/icon.py')
-rw-r--r-- | src/sugar/graphics/icon.py | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/src/sugar/graphics/icon.py b/src/sugar/graphics/icon.py index ddc4ca4..35e8e43 100644 --- a/src/sugar/graphics/icon.py +++ b/src/sugar/graphics/icon.py @@ -406,7 +406,9 @@ class CanvasIcon(hippo.CanvasBox, hippo.CanvasItem): hippo.CanvasBox.__init__(self, **kwargs) - self._palette = None + from sugar.graphics.palette import CanvasInvoker + self._palette_invoker = CanvasInvoker(self) + self.connect('destroy', self.__destroy_cb) def __destroy_cb(self, icon): @@ -547,17 +549,27 @@ class CanvasIcon(hippo.CanvasBox, hippo.CanvasItem): self.emit_activated() return True + def create_palette(self): + return None + def get_palette(self): - return self._palette - + return self._palette_invoker.palette + def set_palette(self, palette): - from sugar.graphics.palette import CanvasInvoker + self._palette_invoker.palette = palette + + palette = gobject.property( + type=object, setter=set_palette, getter=get_palette) + + def get_palette_invoker(self): + return self._palette_invoker + + def set_palette_invoker(self, palette_invoker): + self._palette_invoker.detach() + self._palette_invoker = palette_invoker - if self._palette is not None: - self._palette.props.invoker = None - self._palette = palette - if not self._palette.props.invoker: - self._palette.props.invoker = CanvasInvoker(self) + palette_invoker = gobject.property( + type=object, setter=set_palette_invoker, getter=get_palette_invoker) def set_tooltip(self, text): from sugar.graphics.palette import Palette |