From 7e233d7926c2d5e903fa3d07a5fdbb476d5683a6 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Tue, 26 Jun 2007 11:29:37 +0200 Subject: [PATCH 1/3] updates for tests/test-ui.py. --- tests/test-ui.py | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/tests/test-ui.py b/tests/test-ui.py index 38013fbd..bb80201b 100755 --- a/tests/test-ui.py +++ b/tests/test-ui.py @@ -20,7 +20,8 @@ import gtk from sugar.graphics.window import Window from sugar.graphics.toolbutton import ToolButton -from sugar.graphics.toolbox import ActivityToolbar +from sugar.graphics.toolbox import Toolbox +from sugar.graphics.palette import Palette class EditToolbar(gtk.Toolbar): def __init__(self): @@ -33,6 +34,17 @@ class TextToolbar(gtk.Toolbar): button = ToolButton('text-format-bold') self.insert(button, -1) button.show() + + palette = Palette() + button.set_palette(palette) + + palette.set_primary_state('This is a palette') + menu_item = gtk.MenuItem('First menu item') + palette.append_menu_item(menu_item) + menu_item = gtk.MenuItem('Second menu item') + palette.append_menu_item(menu_item) + menu_item = gtk.MenuItem('Third menu item') + palette.append_menu_item(menu_item) class ImageToolbar(gtk.Toolbar): def __init__(self): @@ -53,34 +65,36 @@ class ViewToolbar(gtk.Toolbar): window = Window() window.connect("destroy", lambda w: gtk.main_quit()) -activity_toolbar = ActivityToolbar() -window.toolbox.add_toolbar('Activity', activity_toolbar) -activity_toolbar.show() +toolbox = Toolbox() +window.set_toolbox(toolbox) +toolbox.show() edit_toolbar = EditToolbar() -window.toolbox.add_toolbar('Edit', edit_toolbar) +toolbox.add_toolbar('Edit', edit_toolbar) edit_toolbar.show() text_toolbar = TextToolbar() -window.toolbox.add_toolbar('Text', text_toolbar) +toolbox.add_toolbar('Text', text_toolbar) text_toolbar.show() image_toolbar = ImageToolbar() -window.toolbox.add_toolbar('Image', image_toolbar) +toolbox.add_toolbar('Image', image_toolbar) image_toolbar.show() table_toolbar = TableToolbar() -window.toolbox.add_toolbar('Table', table_toolbar) +toolbox.add_toolbar('Table', table_toolbar) table_toolbar.show() format_toolbar = FormatToolbar() -window.toolbox.add_toolbar('Format', format_toolbar) +toolbox.add_toolbar('Format', format_toolbar) format_toolbar.show() view_toolbar = ViewToolbar() -window.toolbox.add_toolbar('View', view_toolbar) +toolbox.add_toolbar('View', view_toolbar) view_toolbar.show() +toolbox.set_current_toolbar(1) + scrolled_window = gtk.ScrolledWindow() scrolled_window.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS) window.set_canvas(scrolled_window) From 0f49e6d7a87c7884964434f9141bd9b2e84b11ba Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Tue, 26 Jun 2007 12:28:42 +0200 Subject: [PATCH 2/3] Add current-toolbar-changed signal to Toolbox. --- sugar/graphics/toolbox.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/sugar/graphics/toolbox.py b/sugar/graphics/toolbox.py index 38d767b2..d510eebc 100644 --- a/sugar/graphics/toolbox.py +++ b/sugar/graphics/toolbox.py @@ -25,6 +25,13 @@ _N_TABS = 8 class Toolbox(gtk.VBox): __gtype_name__ = 'SugarToolbox' + + __gsignals__ = { + 'current-toolbar-changed': (gobject.SIGNAL_RUN_FIRST, + gobject.TYPE_NONE, + ([int])) + } + def __init__(self): gtk.VBox.__init__(self) @@ -34,7 +41,12 @@ class Toolbox(gtk.VBox): self._notebook.set_show_tabs(False) self.pack_start(self._notebook) self._notebook.show() - + + self._notebook.connect('notify::page', self._notify_page_cb) + + def _notify_page_cb(self, notebook, pspec): + self.emit('current-toolbar-changed', notebook.props.page) + def _toolbar_box_expose_cb(self, widget, event): widget.style.paint_flat_box(widget.window, gtk.STATE_NORMAL, gtk.SHADOW_NONE, From 3ba64aa200a5cdf1226256cd2f74ec4bfe7deaa8 Mon Sep 17 00:00:00 2001 From: Eduardo Silva Date: Tue, 26 Jun 2007 08:28:31 -0400 Subject: [PATCH 3/3] Palette: realize() --- sugar/graphics/palette.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sugar/graphics/palette.py b/sugar/graphics/palette.py index 21c7995d..aff9c3ba 100644 --- a/sugar/graphics/palette.py +++ b/sugar/graphics/palette.py @@ -52,7 +52,7 @@ class Palette(gtk.Window): self._alignment = ALIGNMENT_AUTOMATIC - self._popup_anim = animator.Animator(0.6, 10) + self._popup_anim = animator.Animator(0.3, 10) self._popup_anim.add(_PopupAnimation(self)) self._popup_anim.start() @@ -235,6 +235,7 @@ class _PopupAnimation(animator.Animation): def next_frame(self, current): if current == 1.0: + self._palette.realize() self._palette.place() class _PopdownAnimation(animator.Animation): @@ -296,7 +297,9 @@ class CanvasInvoker(Invoker): def get_rect(self): context = self._item.get_context() - x, y = context.translate_to_screen(self._item) + if context: + x, y = context.translate_to_screen(self._item) + width, height = self._item.get_allocation() return gtk.gdk.Rectangle(x, y, width, height)