From: Daniel Narvaez <dwnarv...@gmail.com> The SpreadLayout derives now from the ViewLayout. The ViewLayout has a grid by default and the allocation happens here as well.
Signed-off-by: Daniel Narvaez <dwnarv...@gmail.com> Acked-by: Simon Schampijer <si...@laptop.org> --- src/jarabe/desktop/Makefile.am | 1 - src/jarabe/desktop/spreadlayout.py | 89 -------------------------------------- 2 files changed, 90 deletions(-) delete mode 100644 src/jarabe/desktop/spreadlayout.py diff --git a/src/jarabe/desktop/Makefile.am b/src/jarabe/desktop/Makefile.am index 9e928e2..b36404e 100644 --- a/src/jarabe/desktop/Makefile.am +++ b/src/jarabe/desktop/Makefile.am @@ -14,6 +14,5 @@ sugar_PYTHON = \ networkviews.py \ schoolserver.py \ snowflakelayout.py \ - spreadlayout.py \ transitionbox.py \ viewcontainer.py diff --git a/src/jarabe/desktop/spreadlayout.py b/src/jarabe/desktop/spreadlayout.py deleted file mode 100644 index b5c623e..0000000 --- a/src/jarabe/desktop/spreadlayout.py +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright (C) 2007 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -import math - -import hippo -import gobject -import gtk - -from sugar.graphics import style - -from jarabe.desktop.grid import Grid - - -_CELL_SIZE = 4.0 - - -class SpreadLayout(gobject.GObject, hippo.CanvasLayout): - __gtype_name__ = 'SugarSpreadLayout' - - def __init__(self): - gobject.GObject.__init__(self) - self._box = None - - min_width, width = self.do_get_width_request() - min_height, height = self.do_get_height_request(width) - - self._grid = Grid(int(width / _CELL_SIZE), int(height / _CELL_SIZE)) - self._grid.connect('child-changed', self._grid_child_changed_cb) - - def add(self, child): - self._box.append(child) - - width, height = self._get_child_grid_size(child) - self._grid.add(child, width, height) - - def remove(self, child): - self._grid.remove(child) - self._box.remove(child) - - def move(self, child, x, y): - self._grid.move(child, x / _CELL_SIZE, y / _CELL_SIZE, locked=True) - - def do_set_box(self, box): - self._box = box - - def do_get_height_request(self, for_width): - return 0, gtk.gdk.screen_height() - style.GRID_CELL_SIZE - - def do_get_width_request(self): - return 0, gtk.gdk.screen_width() - - def do_allocate(self, x, y, width, height, - req_width, req_height, origin_changed): - for child in self._box.get_layout_children(): - # We need to always get requests to not confuse hippo - min_w, child_width = child.get_width_request() - min_h, child_height = child.get_height_request(child_width) - - rect = self._grid.get_child_rect(child.item) - child.allocate(int(round(rect.x * _CELL_SIZE)), - int(round(rect.y * _CELL_SIZE)), - child_width, - child_height, - origin_changed) - - def _get_child_grid_size(self, child): - min_width, width = child.get_width_request() - min_height, height = child.get_height_request(width) - width = math.ceil(width / _CELL_SIZE) - height = math.ceil(height / _CELL_SIZE) - - return int(width), int(height) - - def _grid_child_changed_cb(self, grid, child): - child.emit_request_changed() -- 1.7.11.2 _______________________________________________ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel