Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉric Araujo <merwok@netwok.org>2010-02-08 17:08:40 +0300
committerÉric Araujo <merwok@netwok.org>2010-02-08 17:08:40 +0300
commitfedd7dc8e22950f0dbe297443860662368c249d1 (patch)
treea6426601d50b3020348fd6574107c9fd6f9dfb0e /src/cell_renderer_image.py
parent1a69ea93f1316e9f98d50ac8a212498b42d3cf60 (diff)
convert tabs to spaces in source code thanks to reindent.py
holy diff batman!
Diffstat (limited to 'src/cell_renderer_image.py')
-rw-r--r--src/cell_renderer_image.py218
1 files changed, 108 insertions, 110 deletions
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