[sugar] [PATCH] Try harder to resolve collisions in the mesh view.

Marco Pesenti Gritti mpgritti at gmail.com
Mon Jun 16 11:58:28 EDT 2008


On Mon, Jun 16, 2008 at 3:27 PM, Tomeu Vizoso <tomeu at tomeuvizoso.net> wrote:
> Hi,
>
> this implements some missing pieces from the layout algorithm
> specified by Eben. Icons don't move smoothly towards their new
> position, though.

+        if rect.x + rect.width < self.width - 1 and \
+                rect.y + rect.height < self.height - 1:
+            new_rects.append(gtk.gdk.Rectangle(rect.x + 1, rect.y + 1,
+                                               rect.width, rect.height))

A comment that you are handling diagonals would probably be useful.

         if best_rect:
-            self._move_child(child, best_rect)
+            child.grid_rect = best_rect
+            weight = self._shift_child(child, weight)

I'm not to understand this recursion. Is it supposed to keep shifting
until it finds the best possible place?

Marco


More information about the Sugar mailing list