Remove Canvas* widgets and other hippo-canvas using parts
hippo-canvas isn't available in the GTK3 world, so we need to remove anything that depends on it. Activities that still use it will need replace hippo-canvas based widgets with native GTK ones before they can be ported to GTK3. [replaced description] Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
This commit is contained in:
@@ -27,7 +27,6 @@ import logging
|
||||
|
||||
import gobject
|
||||
import gtk
|
||||
import hippo
|
||||
import cairo
|
||||
|
||||
from sugar3.graphics.xocolor import XoColor
|
||||
@@ -550,438 +549,6 @@ class Icon(gtk.Image):
|
||||
type=float, setter=set_scale)
|
||||
|
||||
|
||||
class CanvasIcon(hippo.CanvasBox, hippo.CanvasItem):
|
||||
|
||||
__gtype_name__ = 'CanvasIcon'
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
from sugar3.graphics.palette import CanvasInvoker
|
||||
|
||||
self._buffer = _IconBuffer()
|
||||
self._palette_invoker = CanvasInvoker()
|
||||
self._alpha = 1.0
|
||||
|
||||
hippo.CanvasBox.__init__(self, **kwargs)
|
||||
|
||||
self._palette_invoker.attach(self)
|
||||
|
||||
self.connect('destroy', self.__destroy_cb)
|
||||
|
||||
def _emit_paint_needed_icon_area(self):
|
||||
surface = self._buffer.get_surface()
|
||||
if surface:
|
||||
width, height = self.get_allocation()
|
||||
s_width = surface.get_width()
|
||||
s_height = surface.get_height()
|
||||
|
||||
x = (width - s_width) / 2
|
||||
y = (height - s_height) / 2
|
||||
|
||||
self.emit_paint_needed(x, y, s_width, s_height)
|
||||
|
||||
def __destroy_cb(self, icon):
|
||||
if self._palette_invoker is not None:
|
||||
self._palette_invoker.detach()
|
||||
|
||||
def set_file_name(self, value):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
value:
|
||||
|
||||
Returns
|
||||
-------
|
||||
None
|
||||
|
||||
\"\"\"
|
||||
|
||||
"""
|
||||
if self._buffer.file_name != value:
|
||||
self._buffer.file_name = value
|
||||
self.emit_paint_needed(0, 0, -1, -1)
|
||||
|
||||
def get_file_name(self):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
None
|
||||
|
||||
Returns
|
||||
-------
|
||||
file name :
|
||||
|
||||
"""
|
||||
return self._buffer.file_name
|
||||
|
||||
file_name = gobject.property(
|
||||
type=object, getter=get_file_name, setter=set_file_name)
|
||||
|
||||
def set_icon_name(self, value):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
value:
|
||||
|
||||
Returns
|
||||
-------
|
||||
None
|
||||
|
||||
"""
|
||||
if self._buffer.icon_name != value:
|
||||
self._buffer.icon_name = value
|
||||
self.emit_paint_needed(0, 0, -1, -1)
|
||||
|
||||
def get_icon_name(self):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
None
|
||||
|
||||
Returns
|
||||
-------
|
||||
icon name :
|
||||
|
||||
"""
|
||||
return self._buffer.icon_name
|
||||
|
||||
icon_name = gobject.property(
|
||||
type=object, getter=get_icon_name, setter=set_icon_name)
|
||||
|
||||
def set_xo_color(self, value):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
value:
|
||||
|
||||
Returns
|
||||
-------
|
||||
None
|
||||
|
||||
"""
|
||||
if self._buffer.xo_color != value:
|
||||
self._buffer.xo_color = value
|
||||
self._emit_paint_needed_icon_area()
|
||||
|
||||
xo_color = gobject.property(
|
||||
type=object, getter=None, setter=set_xo_color)
|
||||
|
||||
def set_fill_color(self, value):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
value:
|
||||
|
||||
Returns
|
||||
-------
|
||||
None
|
||||
|
||||
"""
|
||||
if self._buffer.fill_color != value:
|
||||
self._buffer.fill_color = value
|
||||
self._emit_paint_needed_icon_area()
|
||||
|
||||
def get_fill_color(self):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
None
|
||||
|
||||
Returns
|
||||
-------
|
||||
fill color :
|
||||
|
||||
"""
|
||||
return self._buffer.fill_color
|
||||
|
||||
fill_color = gobject.property(
|
||||
type=object, getter=get_fill_color, setter=set_fill_color)
|
||||
|
||||
def set_stroke_color(self, value):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
value:
|
||||
|
||||
Returns
|
||||
-------
|
||||
None
|
||||
|
||||
"""
|
||||
if self._buffer.stroke_color != value:
|
||||
self._buffer.stroke_color = value
|
||||
self._emit_paint_needed_icon_area()
|
||||
|
||||
def get_stroke_color(self):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
None
|
||||
|
||||
Returns
|
||||
-------
|
||||
stroke color :
|
||||
|
||||
"""
|
||||
return self._buffer.stroke_color
|
||||
|
||||
stroke_color = gobject.property(
|
||||
type=object, getter=get_stroke_color, setter=set_stroke_color)
|
||||
|
||||
def set_background_color(self, value):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
value:
|
||||
|
||||
Returns
|
||||
-------
|
||||
None
|
||||
|
||||
"""
|
||||
if self._buffer.background_color != value:
|
||||
self._buffer.background_color = value
|
||||
self.emit_paint_needed(0, 0, -1, -1)
|
||||
|
||||
def get_background_color(self):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
None
|
||||
|
||||
Returns
|
||||
-------
|
||||
fill color :
|
||||
|
||||
"""
|
||||
return self._buffer.background_color
|
||||
|
||||
background_color = gobject.property(
|
||||
type=object, getter=get_background_color, setter=set_background_color)
|
||||
|
||||
def set_size(self, value):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
value:
|
||||
|
||||
Returns
|
||||
-------
|
||||
None
|
||||
|
||||
"""
|
||||
if self._buffer.width != value:
|
||||
self._buffer.width = value
|
||||
self._buffer.height = value
|
||||
self.emit_request_changed()
|
||||
|
||||
def get_size(self):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
None
|
||||
|
||||
Returns
|
||||
-------
|
||||
size :
|
||||
|
||||
"""
|
||||
return self._buffer.width
|
||||
|
||||
size = gobject.property(
|
||||
type=object, getter=get_size, setter=set_size)
|
||||
|
||||
def set_scale(self, value):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
value:
|
||||
|
||||
Returns
|
||||
-------
|
||||
None
|
||||
|
||||
"""
|
||||
if self._buffer.scale != value:
|
||||
self._buffer.scale = value
|
||||
self.emit_request_changed()
|
||||
|
||||
def get_scale(self):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
None
|
||||
|
||||
Returns
|
||||
-------
|
||||
scale :
|
||||
|
||||
"""
|
||||
return self._buffer.scale
|
||||
|
||||
scale = gobject.property(
|
||||
type=float, getter=get_scale, setter=set_scale)
|
||||
|
||||
def set_alpha(self, alpha):
|
||||
if self._alpha != alpha:
|
||||
self._alpha = alpha
|
||||
self.emit_paint_needed(0, 0, -1, -1)
|
||||
|
||||
alpha = gobject.property(
|
||||
type=float, setter=set_alpha)
|
||||
|
||||
def set_cache(self, value):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
cache
|
||||
|
||||
Returns
|
||||
-------
|
||||
None
|
||||
|
||||
"""
|
||||
self._buffer.cache = value
|
||||
|
||||
def get_cache(self):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
None
|
||||
|
||||
Returns
|
||||
-------
|
||||
cache :
|
||||
|
||||
"""
|
||||
return self._buffer.cache
|
||||
|
||||
cache = gobject.property(
|
||||
type=bool, default=False, getter=get_cache, setter=set_cache)
|
||||
|
||||
def set_badge_name(self, value):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
value :
|
||||
|
||||
Returns
|
||||
-------
|
||||
None
|
||||
|
||||
"""
|
||||
if self._buffer.badge_name != value:
|
||||
self._buffer.badge_name = value
|
||||
self.emit_paint_needed(0, 0, -1, -1)
|
||||
|
||||
def get_badge_name(self):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
None
|
||||
|
||||
Returns
|
||||
-------
|
||||
badge name :
|
||||
|
||||
"""
|
||||
return self._buffer.badge_name
|
||||
|
||||
badge_name = gobject.property(
|
||||
type=object, getter=get_badge_name, setter=set_badge_name)
|
||||
|
||||
def do_paint_below_children(self, cr, damaged_box):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
cr :
|
||||
|
||||
damaged_box :
|
||||
|
||||
Returns
|
||||
-------
|
||||
None
|
||||
|
||||
"""
|
||||
surface = self._buffer.get_surface()
|
||||
if surface:
|
||||
width, height = self.get_allocation()
|
||||
|
||||
x = (width - surface.get_width()) / 2
|
||||
y = (height - surface.get_height()) / 2
|
||||
|
||||
cr.set_source_surface(surface, x, y)
|
||||
if self._alpha == 1.0:
|
||||
cr.paint()
|
||||
else:
|
||||
cr.paint_with_alpha(self._alpha)
|
||||
|
||||
def do_get_content_width_request(self):
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
None
|
||||
|
||||
Returns
|
||||
-------
|
||||
width :
|
||||
|
||||
"""
|
||||
surface = self._buffer.get_surface()
|
||||
if surface:
|
||||
size = surface.get_width()
|
||||
elif self._buffer.width:
|
||||
size = self._buffer.width
|
||||
else:
|
||||
size = 0
|
||||
|
||||
return size, size
|
||||
|
||||
def do_get_content_height_request(self, for_width):
|
||||
surface = self._buffer.get_surface()
|
||||
if surface:
|
||||
size = surface.get_height()
|
||||
elif self._buffer.height:
|
||||
size = self._buffer.height
|
||||
else:
|
||||
size = 0
|
||||
|
||||
return size, size
|
||||
|
||||
def do_button_press_event(self, event):
|
||||
if event.button == 1:
|
||||
self.emit_activated()
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
def create_palette(self):
|
||||
return None
|
||||
|
||||
def get_palette(self):
|
||||
return self._palette_invoker.palette
|
||||
|
||||
def set_palette(self, palette):
|
||||
self._palette_invoker.palette = palette
|
||||
|
||||
palette = gobject.property(
|
||||
type=object, setter=set_palette, getter=get_palette)
|
||||
|
||||
def get_palette_invoker(self):
|
||||
return self._palette_invoker
|
||||
|
||||
def set_palette_invoker(self, palette_invoker):
|
||||
self._palette_invoker.detach()
|
||||
self._palette_invoker = palette_invoker
|
||||
|
||||
palette_invoker = gobject.property(
|
||||
type=object, setter=set_palette_invoker, getter=get_palette_invoker)
|
||||
|
||||
def set_tooltip(self, text):
|
||||
from sugar3.graphics.palette import Palette
|
||||
|
||||
self.set_palette(Palette(text))
|
||||
|
||||
|
||||
class CellRendererIcon(gtk.GenericCellRenderer):
|
||||
|
||||
__gtype_name__ = 'SugarCellRendererIcon'
|
||||
|
||||
Reference in New Issue
Block a user