From d2aaebac38b6e142ed28c640623e8807c44332e7 Mon Sep 17 00:00:00 2001 From: Eduardo Silva Date: Mon, 28 May 2007 01:05:31 -0400 Subject: [PATCH] Palette updates --- sugar/graphics/Makefile.am | 1 + sugar/graphics/palette.py | 16 +++++++--------- sugar/graphics/toolbutton.py | 11 ++++++++++- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/sugar/graphics/Makefile.am b/sugar/graphics/Makefile.am index 75538fdb..96cc2907 100644 --- a/sugar/graphics/Makefile.am +++ b/sugar/graphics/Makefile.am @@ -13,6 +13,7 @@ sugar_PYTHON = \ menushell.py \ notebook.py \ roundbox.py \ + palette.py \ panel.py \ popup.py \ popupcontext.py \ diff --git a/sugar/graphics/palette.py b/sugar/graphics/palette.py index eecc86a4..c174e6e6 100644 --- a/sugar/graphics/palette.py +++ b/sugar/graphics/palette.py @@ -44,8 +44,8 @@ class Palette(gtk.Window): def __init__(self): - gobject.GObject.__init__(self) - gtk.Window.__init__(self, gtk.WINDOW_POPUP) + gobject.GObject.__init__(self, type=gtk.WINDOW_POPUP) + gtk.Window.__init__(self) self._palette_label = gtk.Label() self._palette_label.set_ellipsize(pango.ELLIPSIZE_START) @@ -74,14 +74,9 @@ class Palette(gtk.Window): self.set_border_width(self._WIN_BORDER) self.add(vbox) - self.show() - - # Set the palette position using as reference the - # parent widget - self._set_palette_position() def do_set_property(self, pspec, value): - + if pspec.name == 'parent': self._parent_widget = value elif pspec.name == 'alignment': @@ -89,7 +84,7 @@ class Palette(gtk.Window): else: raise AssertionError - def _set_palette_position(self): + def set_position(self): window_axis = self._parent_widget.window.get_origin() parent_rectangle = self._parent_widget.get_allocation() @@ -156,3 +151,6 @@ class Palette(gtk.Window): self._button_bar.pack_start(button, True, True, self._PADDING) button.show() + def display(self, button): + self.show() + self.set_position() diff --git a/sugar/graphics/toolbutton.py b/sugar/graphics/toolbutton.py index b93db3e6..51edc2e4 100644 --- a/sugar/graphics/toolbutton.py +++ b/sugar/graphics/toolbutton.py @@ -18,6 +18,7 @@ import gtk from sugar.graphics.icon import Icon +from sugar.graphics.palette import * class ToolButton(gtk.ToolButton): def __init__(self, named_icon=None): @@ -27,4 +28,12 @@ class ToolButton(gtk.ToolButton): def set_named_icon(self, named_icon): icon = Icon(named_icon) self.set_icon_widget(icon) - icon.show() + icon.show() + + def set_palette(self, palette): + self.connect('clicked', palette.display) + palette.props.parent = self + palette.props.alignment = ALIGNMENT_BOTTOM_LEFT + + def set_tooltip(self, text): + pass