Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/view/frame/PanelWindow.py11
-rw-r--r--shell/view/home/HomeWindow.py10
-rw-r--r--sugar/activity/activity.py10
-rw-r--r--sugar/graphics/toolbox.py (copied from sugar/graphics2/toolbox.py)20
-rw-r--r--sugar/graphics/toolbutton.py (renamed from sugar/graphics2/toolbox.py)17
-rw-r--r--sugar/graphics/window.py64
-rw-r--r--sugar/graphics2/Makefile.am5
-rw-r--r--sugar/graphics2/__init__.py0
-rw-r--r--sugar/graphics2/window.py49
-rwxr-xr-xtests/test-ui.py11
10 files changed, 93 insertions, 104 deletions
diff --git a/shell/view/frame/PanelWindow.py b/shell/view/frame/PanelWindow.py
index 7f585b6..5dfe446 100644
--- a/shell/view/frame/PanelWindow.py
+++ b/shell/view/frame/PanelWindow.py
@@ -18,11 +18,10 @@ import gtk
import hippo
from sugar.graphics import units
-from sugar.graphics.window import Window
-class PanelWindow(Window):
+class PanelWindow(gtk.Window):
def __init__(self, orientation):
- Window.__init__(self)
+ gtk.Window.__init__(self)
self.hover = False
self._orientation = orientation
@@ -32,9 +31,13 @@ class PanelWindow(Window):
self.connect('enter-notify-event', self._enter_notify_cb)
self.connect('leave-notify-event', self._leave_notify_cb)
+ self._canvas = hippo.Canvas()
+ self.add(self._canvas)
+ self._canvas.show()
+
self._bg = hippo.CanvasBox(background_color=0x414141ff,
orientation=self._orientation)
- self.set_root(self._bg)
+ self._canvas.set_root(self._bg)
self._update_size()
diff --git a/shell/view/home/HomeWindow.py b/shell/view/home/HomeWindow.py
index 3f33919..c65432d 100644
--- a/shell/view/home/HomeWindow.py
+++ b/shell/view/home/HomeWindow.py
@@ -54,7 +54,7 @@ class HomeWindow(Window):
self._mesh_box = MeshBox(shell, MenuShell(self))
self._transition_box = TransitionBox()
- self.set_root(self._home_box)
+ self.canvas.set_root(self._home_box)
self._transition_box.connect('completed',
self._transition_completed_cb)
@@ -81,7 +81,7 @@ class HomeWindow(Window):
def set_zoom_level(self, level):
self._level = level
- self.set_root(self._transition_box)
+ self.canvas.set_root(self._transition_box)
if level == sugar.ZOOM_HOME:
scale = units.XLARGE_ICON_SCALE
@@ -94,11 +94,11 @@ class HomeWindow(Window):
def _transition_completed_cb(self, transition_box):
if self._level == sugar.ZOOM_HOME:
- self.set_root(self._home_box)
+ self.canvas.set_root(self._home_box)
elif self._level == sugar.ZOOM_FRIENDS:
- self.set_root(self._friends_box)
+ self.canvas.set_root(self._friends_box)
elif self._level == sugar.ZOOM_MESH:
- self.set_root(self._mesh_box)
+ self.canvas.set_root(self._mesh_box)
self._update_mesh_state()
diff --git a/sugar/activity/activity.py b/sugar/activity/activity.py
index 1fb77b8..f71cfdf 100644
--- a/sugar/activity/activity.py
+++ b/sugar/activity/activity.py
@@ -68,14 +68,12 @@ class Activity(Window, gtk.Container):
if service:
self._join(service)
- self.realize()
-
- group = gtk.Window()
- group.realize()
- self.window.set_group(group.window)
-
self._bus = ActivityService(self)
+ activity_toolbar = ActivityToolbar()
+ self.toolbox.add_toolbar('Activity', activity_toolbar)
+ activity_toolbar.show()
+
# DEPRECATED It will be removed after 3-6-2007 stable image
def do_add(self, widget):
if self.child:
diff --git a/sugar/graphics2/toolbox.py b/sugar/graphics/toolbox.py
index be7e5e0..52accbc 100644
--- a/sugar/graphics2/toolbox.py
+++ b/sugar/graphics/toolbox.py
@@ -16,6 +16,9 @@
# Boston, MA 02111-1307, USA.
import gtk
+import gobject
+
+from sugar.graphics.toolbutton import ToolButton
class Toolbox(gtk.VBox):
__gtype_name__ = 'SugarToolbox'
@@ -30,3 +33,20 @@ class Toolbox(gtk.VBox):
def add_toolbar(self, name, toolbar):
self._notebook.append_page(toolbar, gtk.Label(name))
+
+class ActivityToolbar(gtk.Toolbar):
+ __gsignals__ = {
+ 'close': (gobject.SIGNAL_RUN_FIRST,
+ gobject.TYPE_NONE, ([])),
+ }
+
+ def __init__(self):
+ gtk.Toolbar.__init__(self)
+
+ button = ToolButton('window-close')
+ button.connect('clicked', self._close_button_clicked_cb)
+ self.insert(button, -1)
+ button.show()
+
+ def _close_button_clicked_cb(self, button):
+ self.emit('close')
diff --git a/sugar/graphics2/toolbox.py b/sugar/graphics/toolbutton.py
index be7e5e0..a8c7aba 100644
--- a/sugar/graphics2/toolbox.py
+++ b/sugar/graphics/toolbutton.py
@@ -17,16 +17,9 @@
import gtk
-class Toolbox(gtk.VBox):
- __gtype_name__ = 'SugarToolbox'
- def __init__(self):
- gtk.VBox.__init__(self)
+class ToolButton(gtk.ToolButton):
+ def __init__(self, icon_name=None):
+ gtk.ToolButton.__init__(self)
- self._notebook = gtk.Notebook()
- self._notebook.set_tab_pos(gtk.POS_BOTTOM)
- self._notebook.set_show_border(False)
- self.pack_start(self._notebook)
- self._notebook.show()
-
- def add_toolbar(self, name, toolbar):
- self._notebook.append_page(toolbar, gtk.Label(name))
+ if icon_name:
+ self.set_icon_name(icon_name)
diff --git a/sugar/graphics/window.py b/sugar/graphics/window.py
index 85cbc4e..56ff59f 100644
--- a/sugar/graphics/window.py
+++ b/sugar/graphics/window.py
@@ -1,24 +1,56 @@
-import hippo
+# Copyright (C) 2007, Red Hat, Inc.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library 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
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
import gtk
+import hippo
-from sugar.graphics import color
+from sugar.graphics.toolbox import Toolbox
-class _Style(gtk.Style):
- __gtype_name__ = 'SugarCanvasStyle'
+class Window(gtk.Window):
def __init__(self):
- gtk.Style.__init__(self)
+ gtk.Window.__init__(self)
- def do_set_background(self, window, state):
- window.set_back_pixmap(None, False)
+ self.connect('realize', self._window_realize_cb)
+
+ vbox = gtk.VBox()
+ self.add(vbox)
+
+ self.toolbox = Toolbox()
+ vbox.pack_start(self.toolbox, False)
+ self.toolbox.show()
-class Window(gtk.Window):
- def __init__(self, window_type=gtk.WINDOW_TOPLEVEL):
- gtk.Window.__init__(self, window_type)
+ self._canvas_box = gtk.VBox()
+ vbox.pack_start(self._canvas_box)
+ self._canvas_box.show()
+
+ self.canvas = hippo.Canvas()
+ self._canvas_box.pack_start(self.canvas)
+ self.canvas.show()
+
+ vbox.show()
- self._canvas = hippo.Canvas()
- self._canvas.set_style(_Style())
- self.add(self._canvas)
- self._canvas.show()
+ def set_canvas(self, canvas):
+ if self.canvas:
+ self._canvas_box.remove(self.canvas)
- def set_root(self, root):
- self._canvas.set_root(root)
+ self._canvas_box.add(canvas)
+ self.canvas = canvas
+
+ def _window_realize_cb(self, window):
+ group = gtk.Window()
+ group.realize()
+ window.window.set_group(group.window)
diff --git a/sugar/graphics2/Makefile.am b/sugar/graphics2/Makefile.am
deleted file mode 100644
index f5bde18..0000000
--- a/sugar/graphics2/Makefile.am
+++ /dev/null
@@ -1,5 +0,0 @@
-sugardir = $(pythondir)/sugar/graphics2
-sugar_PYTHON = \
- __init__.py \
- window.py \
- toolbox.py
diff --git a/sugar/graphics2/__init__.py b/sugar/graphics2/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/sugar/graphics2/__init__.py
+++ /dev/null
diff --git a/sugar/graphics2/window.py b/sugar/graphics2/window.py
deleted file mode 100644
index d03788b..0000000
--- a/sugar/graphics2/window.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright (C) 2007, Red Hat, Inc.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library 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
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-import gtk
-import hippo
-
-from sugar.graphics2.toolbox import Toolbox
-
-class Window(gtk.Window):
- def __init__(self):
- gtk.Window.__init__(self)
-
- vbox = gtk.VBox()
- self.add(vbox)
-
- self.toolbox = Toolbox()
- vbox.pack_start(self.toolbox, False)
- self.toolbox.show()
-
- self._canvas_box = gtk.VBox()
- vbox.pack_start(self._canvas_box)
- self._canvas_box.show()
-
- self.canvas = hippo.Canvas()
- self._canvas_box.pack_start(self.canvas)
- self.canvas.show()
-
- vbox.show()
-
- def set_canvas(self, canvas):
- if self.canvas:
- self._canvas_box.remove(self.canvas)
-
- self._canvas_box.add(canvas)
- self.canvas = canvas
diff --git a/tests/test-ui.py b/tests/test-ui.py
index 26f3d12..38013fb 100755
--- a/tests/test-ui.py
+++ b/tests/test-ui.py
@@ -18,11 +18,9 @@
import gtk
-from sugar.graphics2.window import Window
-
-class ActivityToolbar(gtk.Toolbar):
- def __init__(self):
- gtk.Toolbar.__init__(self)
+from sugar.graphics.window import Window
+from sugar.graphics.toolbutton import ToolButton
+from sugar.graphics.toolbox import ActivityToolbar
class EditToolbar(gtk.Toolbar):
def __init__(self):
@@ -32,8 +30,7 @@ class TextToolbar(gtk.Toolbar):
def __init__(self):
gtk.Toolbar.__init__(self)
- button = gtk.ToolButton()
- button.set_icon_name('text-format-bold')
+ button = ToolButton('text-format-bold')
self.insert(button, -1)
button.show()