Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar
diff options
context:
space:
mode:
authorMarco 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)
commit7850970f27feb18439d2bc0c4c3e1573fb129308 (patch)
treecf72feeff1b473d2b745179281822532417c6520 /sugar
parent5988a895176e662dc0a1b0629bb7da1441cfe107 (diff)
Make the frame adapt to screen size again.
Several cleanups. Fixup makefiles
Diffstat (limited to 'sugar')
-rw-r--r--sugar/canvas/CanvasWindow.py14
-rw-r--r--sugar/canvas/GridModel.py6
-rw-r--r--sugar/canvas/GridWindow.py25
-rw-r--r--sugar/canvas/Makefile.am6
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