From fedd7dc8e22950f0dbe297443860662368c249d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Araujo?= Date: Mon, 8 Feb 2010 15:08:40 +0100 Subject: convert tabs to spaces in source code thanks to reindent.py holy diff batman! --- src/cell_renderer_image.py | 218 ++++++++++++++++++++++----------------------- 1 file changed, 108 insertions(+), 110 deletions(-) (limited to 'src/cell_renderer_image.py') diff --git a/src/cell_renderer_image.py b/src/cell_renderer_image.py index e1cdf8c81..0b85e8c44 100644 --- a/src/cell_renderer_image.py +++ b/src/cell_renderer_image.py @@ -27,113 +27,111 @@ import gobject class CellRendererImage(gtk.GenericCellRenderer): - __gproperties__ = { - 'image': (gobject.TYPE_OBJECT, 'Image', - 'Image', gobject.PARAM_READWRITE), - } - - def __init__(self, col_index, tv_index): - self.__gobject_init__() - self.image = None - self.col_index = col_index - self.tv_index = tv_index - self.iters = {} - - def do_set_property(self, pspec, value): - setattr(self, pspec.name, value) - - def do_get_property(self, pspec): - return getattr(self, pspec.name) - - def func(self, model, path, iter_, image_tree): - image, tree = image_tree - if model.get_value(iter_, self.tv_index) != image: - return - self.redraw = 1 - col = tree.get_column(self.col_index) - cell_area = tree.get_cell_area(path, col) - - tree.queue_draw_area(cell_area.x, cell_area.y, - cell_area.width, cell_area.height) - - def animation_timeout(self, tree, image): - if image.get_storage_type() != gtk.IMAGE_ANIMATION: - return - self.redraw = 0 - iter_ = self.iters[image] - iter_.advance() - model = tree.get_model() - if model: - model.foreach(self.func, (image, tree)) - if self.redraw: - gobject.timeout_add(iter_.get_delay_time(), - self.animation_timeout, tree, image) - elif image in self.iters: - del self.iters[image] - - def on_render(self, window, widget, background_area, cell_area, - expose_area, flags): - if not self.image: - return - pix_rect = gtk.gdk.Rectangle() - pix_rect.x, pix_rect.y, pix_rect.width, pix_rect.height = \ - self.on_get_size(widget, cell_area) - - pix_rect.x += cell_area.x - pix_rect.y += cell_area.y - pix_rect.width -= 2 * self.get_property('xpad') - pix_rect.height -= 2 * self.get_property('ypad') - - draw_rect = cell_area.intersect(pix_rect) - draw_rect = expose_area.intersect(draw_rect) - - if self.image.get_storage_type() == gtk.IMAGE_ANIMATION: - if self.image not in self.iters: - if not isinstance(widget, gtk.TreeView): - return - animation = self.image.get_animation() - iter_ = animation.get_iter() - self.iters[self.image] = iter_ - gobject.timeout_add(iter_.get_delay_time(), - self.animation_timeout, widget, self.image) - - pix = self.iters[self.image].get_pixbuf() - elif self.image.get_storage_type() == gtk.IMAGE_PIXBUF: - pix = self.image.get_pixbuf() - else: - return - if draw_rect.x < 1: - return - window.draw_pixbuf(widget.style.black_gc, pix, - draw_rect.x - pix_rect.x, - draw_rect.y - pix_rect.y, - draw_rect.x, draw_rect.y, - draw_rect.width, draw_rect.height, - gtk.gdk.RGB_DITHER_NONE, 0, 0) - - def on_get_size(self, widget, cell_area): - if not self.image: - return 0, 0, 0, 0 - if self.image.get_storage_type() == gtk.IMAGE_ANIMATION: - animation = self.image.get_animation() - pix = animation.get_iter().get_pixbuf() - elif self.image.get_storage_type() == gtk.IMAGE_PIXBUF: - pix = self.image.get_pixbuf() - else: - return 0, 0, 0, 0 - pixbuf_width = pix.get_width() - pixbuf_height = pix.get_height() - calc_width = self.get_property('xpad') * 2 + pixbuf_width - calc_height = self.get_property('ypad') * 2 + pixbuf_height - x_offset = 0 - y_offset = 0 - if cell_area and pixbuf_width > 0 and pixbuf_height > 0: - x_offset = self.get_property('xalign') * \ - (cell_area.width - calc_width - \ - self.get_property('xpad')) - y_offset = self.get_property('yalign') * \ - (cell_area.height - calc_height - \ - self.get_property('ypad')) - return x_offset, y_offset, calc_width, calc_height - -# vim: se ts=3: + __gproperties__ = { + 'image': (gobject.TYPE_OBJECT, 'Image', + 'Image', gobject.PARAM_READWRITE), + } + + def __init__(self, col_index, tv_index): + self.__gobject_init__() + self.image = None + self.col_index = col_index + self.tv_index = tv_index + self.iters = {} + + def do_set_property(self, pspec, value): + setattr(self, pspec.name, value) + + def do_get_property(self, pspec): + return getattr(self, pspec.name) + + def func(self, model, path, iter_, image_tree): + image, tree = image_tree + if model.get_value(iter_, self.tv_index) != image: + return + self.redraw = 1 + col = tree.get_column(self.col_index) + cell_area = tree.get_cell_area(path, col) + + tree.queue_draw_area(cell_area.x, cell_area.y, + cell_area.width, cell_area.height) + + def animation_timeout(self, tree, image): + if image.get_storage_type() != gtk.IMAGE_ANIMATION: + return + self.redraw = 0 + iter_ = self.iters[image] + iter_.advance() + model = tree.get_model() + if model: + model.foreach(self.func, (image, tree)) + if self.redraw: + gobject.timeout_add(iter_.get_delay_time(), + self.animation_timeout, tree, image) + elif image in self.iters: + del self.iters[image] + + def on_render(self, window, widget, background_area, cell_area, + expose_area, flags): + if not self.image: + return + pix_rect = gtk.gdk.Rectangle() + pix_rect.x, pix_rect.y, pix_rect.width, pix_rect.height = \ + self.on_get_size(widget, cell_area) + + pix_rect.x += cell_area.x + pix_rect.y += cell_area.y + pix_rect.width -= 2 * self.get_property('xpad') + pix_rect.height -= 2 * self.get_property('ypad') + + draw_rect = cell_area.intersect(pix_rect) + draw_rect = expose_area.intersect(draw_rect) + + if self.image.get_storage_type() == gtk.IMAGE_ANIMATION: + if self.image not in self.iters: + if not isinstance(widget, gtk.TreeView): + return + animation = self.image.get_animation() + iter_ = animation.get_iter() + self.iters[self.image] = iter_ + gobject.timeout_add(iter_.get_delay_time(), + self.animation_timeout, widget, self.image) + + pix = self.iters[self.image].get_pixbuf() + elif self.image.get_storage_type() == gtk.IMAGE_PIXBUF: + pix = self.image.get_pixbuf() + else: + return + if draw_rect.x < 1: + return + window.draw_pixbuf(widget.style.black_gc, pix, + draw_rect.x - pix_rect.x, + draw_rect.y - pix_rect.y, + draw_rect.x, draw_rect.y, + draw_rect.width, draw_rect.height, + gtk.gdk.RGB_DITHER_NONE, 0, 0) + + def on_get_size(self, widget, cell_area): + if not self.image: + return 0, 0, 0, 0 + if self.image.get_storage_type() == gtk.IMAGE_ANIMATION: + animation = self.image.get_animation() + pix = animation.get_iter().get_pixbuf() + elif self.image.get_storage_type() == gtk.IMAGE_PIXBUF: + pix = self.image.get_pixbuf() + else: + return 0, 0, 0, 0 + pixbuf_width = pix.get_width() + pixbuf_height = pix.get_height() + calc_width = self.get_property('xpad') * 2 + pixbuf_width + calc_height = self.get_property('ypad') * 2 + pixbuf_height + x_offset = 0 + y_offset = 0 + if cell_area and pixbuf_width > 0 and pixbuf_height > 0: + x_offset = self.get_property('xalign') * \ + (cell_area.width - calc_width - \ + self.get_property('xpad')) + y_offset = self.get_property('yalign') * \ + (cell_area.height - calc_height - \ + self.get_property('ypad')) + return x_offset, y_offset, calc_width, calc_height -- cgit v1.2.3