diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-09-07 17:51:27 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-09-07 17:51:27 (GMT) |
commit | 7850970f27feb18439d2bc0c4c3e1573fb129308 (patch) | |
tree | cf72feeff1b473d2b745179281822532417c6520 /sugar | |
parent | 5988a895176e662dc0a1b0629bb7da1441cfe107 (diff) |
Make the frame adapt to screen size again.
Several cleanups.
Fixup makefiles
Diffstat (limited to 'sugar')
-rw-r--r-- | sugar/canvas/CanvasWindow.py | 14 | ||||
-rw-r--r-- | sugar/canvas/GridModel.py | 6 | ||||
-rw-r--r-- | sugar/canvas/GridWindow.py | 25 | ||||
-rw-r--r-- | sugar/canvas/Makefile.am | 6 |
4 files changed, 36 insertions, 15 deletions
diff --git a/sugar/canvas/CanvasWindow.py b/sugar/canvas/CanvasWindow.py deleted file mode 100644 index 5034eb1..0000000 --- a/sugar/canvas/CanvasWindow.py +++ /dev/null @@ -1,14 +0,0 @@ -import gtk -import goocanvas - -class CanvasWindow(gtk.Window): - def __init__(self, model): - gtk.Window.__init__(self) - - self._view = goocanvas.CanvasView() - self._view.set_model(model.get()) - self.add(self._view) - self._view.show() - - def get_view(self): - return self._view diff --git a/sugar/canvas/GridModel.py b/sugar/canvas/GridModel.py index c930519..897ed62 100644 --- a/sugar/canvas/GridModel.py +++ b/sugar/canvas/GridModel.py @@ -26,5 +26,11 @@ class GridModel: def get(self): return self._model + def get_width(self): + return self._width + + def get_bounds(self, constraints): + return self.get_layout().get_bounds(self._root, constraints) + def get_layout(self): return self._root.get_layout() diff --git a/sugar/canvas/GridWindow.py b/sugar/canvas/GridWindow.py new file mode 100644 index 0000000..c54f24b --- /dev/null +++ b/sugar/canvas/GridWindow.py @@ -0,0 +1,25 @@ +import gtk +import goocanvas + +class GridWindow(gtk.Window): + def __init__(self, model): + gtk.Window.__init__(self) + + self._model = model + + self._view = goocanvas.CanvasView() + self._view.set_model(model.get()) + self.add(self._view) + self._view.show() + + def scale_to_screen(self): + self._view.set_scale(float(gtk.gdk.screen_width()) / + float(self._model.get_width())) + + def set_bounds(self, constraints): + bounds = self._model.get_bounds(constraints) + self._view.set_bounds(bounds[0], bounds[1], + bounds[2], bounds[3]) + + def get_view(self): + return self._view diff --git a/sugar/canvas/Makefile.am b/sugar/canvas/Makefile.am index 9b4dea1..f812508 100644 --- a/sugar/canvas/Makefile.am +++ b/sugar/canvas/Makefile.am @@ -1,5 +1,9 @@ sugardir = $(pythondir)/sugar/canvas sugar_PYTHON = \ __init__.py \ + GridLayout.py \ + GridModel.py \ + GridWindow.py \ IconItem.py \ - IconColor.py + IconColor.py \ + ScreenContainer.py |