diff options
author | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-06-07 11:41:40 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-06-13 19:24:48 (GMT) |
commit | 07c2b025f1855b14247d79803ad7cdd76ab9751c (patch) | |
tree | 433ee77ac7f0d60c21a1c6bc25d2e89d604f0d0f /src/sugar/graphics/icon.py | |
parent | a634ecfe149e41c869469c7b0c59cf4303fa8740 (diff) |
Add CellRendererInvoker
Diffstat (limited to 'src/sugar/graphics/icon.py')
-rw-r--r-- | src/sugar/graphics/icon.py | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/sugar/graphics/icon.py b/src/sugar/graphics/icon.py index 5d47fc5..1f2d3af 100644 --- a/src/sugar/graphics/icon.py +++ b/src/sugar/graphics/icon.py @@ -926,9 +926,28 @@ class CellRendererIcon(gtk.CellRendererPixbuf): 'activate': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, [object]) } - def __init__(self): - gobject.GObject.__init__(self) + def __init__(self, tree_view): + from sugar.graphics.palette import CellRendererInvoker + self._buffer = _IconBuffer() + self._palette_invoker = CellRendererInvoker() + + gobject.GObject.__init__(self) + + self._palette_invoker.attach_cell_renderer(tree_view, self) + + self.connect('destroy', self.__destroy_cb) + + def __destroy_cb(self, icon): + self._palette_invoker.detach() + + def create_palette(self): + return None + + def get_palette_invoker(self): + return self._palette_invoker + + palette_invoker = gobject.property(type=object, getter=get_palette_invoker) def set_file_name(self, value): if self._buffer.file_name != value: |