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>2007-04-26 09:31:41 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2007-04-26 09:31:41 (GMT)
commite49146752ff322c53430419749be53b741f02540 (patch)
tree0de1e78d17b52759f6ba5fe038fbc96ffc559af3 /sugar
parent9446c951acfe1c96e10bdec88c0f8a5f8d8b77ce (diff)
More work on the new graphics API.
Diffstat (limited to 'sugar')
-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
7 files changed, 77 insertions, 88 deletions
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