diff options
Diffstat (limited to 'shell/view/home/HomeWindow.py')
-rw-r--r-- | shell/view/home/HomeWindow.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/shell/view/home/HomeWindow.py b/shell/view/home/HomeWindow.py new file mode 100644 index 0000000..b89420f --- /dev/null +++ b/shell/view/home/HomeWindow.py @@ -0,0 +1,50 @@ +import gtk +import goocanvas +import cairo + +from sugar.canvas.CanvasView import CanvasView +from view.home.MeshGroup import MeshGroup +from view.home.HomeGroup import HomeGroup +from view.home.FriendsGroup import FriendsGroup +import sugar + +class HomeWindow(gtk.Window): + def __init__(self, shell_model): + gtk.Window.__init__(self) + self._shell_model = shell_model + + self.realize() + self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DESKTOP) + + self._nb = gtk.Notebook() + self._nb.set_show_border(False) + self._nb.set_show_tabs(False) + + self.add(self._nb) + self._nb.show() + + self._add_page(HomeGroup(shell_model)) + self._add_page(FriendsGroup(shell_model)) + self._add_page(MeshGroup()) + + def _add_page(self, group): + view = CanvasView() + self._nb.append_page(view) + view.show() + + model = goocanvas.CanvasModelSimple() + root = model.get_root_item() + view.set_model(model) + + bg = goocanvas.Rect(width=1900, height=1200, + line_width=0, fill_color='#e2e2e2') + root.add_child(bg) + root.add_child(group) + + def set_zoom_level(self, level): + if level == sugar.ZOOM_HOME: + self._nb.set_current_page(0) + elif level == sugar.ZOOM_FRIENDS: + self._nb.set_current_page(1) + elif level == sugar.ZOOM_MESH: + self._nb.set_current_page(2) |