Fix the drawing method of _IconWidget, used by IconTray

Invoker draw_rectangle() now receives a Cairo context, as can be seen in [1]

The testcase is also fixed by this commit.

Signed-off-by: Manuel Quiñones <manuq@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>

[1] http://git.sugarlabs.org/sugar-toolkit-gtk3/sugar-toolkit-gtk3/blobs/master/src/sugar3/graphics/palettewindow.py#line1018
master
Manuel Quiñones 12 years ago
parent 09e9373612
commit e2ddd70c13

@ -415,13 +415,13 @@ class _IconWidget(Gtk.EventBox):
self.add(self._icon) self.add(self._icon)
self._icon.show() self._icon.show()
def do_expose_event(self, event): def do_draw(self, cr):
palette = self.get_parent().palette palette = self.get_parent().palette
if palette and palette.is_up(): if palette and palette.is_up():
invoker = palette.props.invoker invoker = palette.props.invoker
invoker.draw_rectangle(event, palette) invoker.draw_rectangle(cr, palette)
Gtk.EventBox.do_expose_event(self, event) Gtk.EventBox.do_draw(self, cr)
def get_icon(self): def get_icon(self):
return self._icon return self._icon

@ -16,6 +16,7 @@
# Boston, MA 02111-1307, USA. # Boston, MA 02111-1307, USA.
from gi.repository import Gtk from gi.repository import Gtk
from gi.repository import GObject
from sugar3.graphics.toolbutton import ToolButton from sugar3.graphics.toolbutton import ToolButton

@ -31,10 +31,10 @@ test = common.Test()
vbox = Gtk.VBox() vbox = Gtk.VBox()
tray = HTray() tray = HTray()
vbox.pack_start(tray, False) vbox.pack_start(tray, False, False, 0)
tray.show() tray.show()
theme_icons = Gtk.IconTheme.get_default().list_icons() theme_icons = Gtk.IconTheme.get_default().list_icons(context=None)
for i in range(0, 100): for i in range(0, 100):
button = TrayButton(icon_name=theme_icons[i]) button = TrayButton(icon_name=theme_icons[i])
@ -42,7 +42,7 @@ for i in range(0, 100):
button.show() button.show()
tray = HTray() tray = HTray()
vbox.pack_start(tray, False) vbox.pack_start(tray, False, False, 0)
tray.show() tray.show()
for i in range(0, 10): for i in range(0, 10):
@ -53,7 +53,7 @@ for i in range(0, 10):
hbox = Gtk.HBox() hbox = Gtk.HBox()
tray = VTray() tray = VTray()
hbox.pack_start(tray, False) hbox.pack_start(tray, False, False, 0)
tray.show() tray.show()
for i in range(0, 100): for i in range(0, 100):
@ -62,7 +62,7 @@ for i in range(0, 100):
button.show() button.show()
tray = VTray() tray = VTray()
hbox.pack_start(tray, False) hbox.pack_start(tray, False, False, 0)
tray.show() tray.show()
for i in range(0, 4): for i in range(0, 4):

Loading…
Cancel
Save