本文整理匯總了Python中sugar3.graphics.palette.ToolInvoker類的典型用法代碼示例。如果您正苦於以下問題:Python ToolInvoker類的具體用法?Python ToolInvoker怎麽用?Python ToolInvoker使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了ToolInvoker類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: __init__
def __init__(self, activity, **kwargs):
self._activity = activity
self.properties = self._activity.area.tool
self._accelerator = None
self._tooltip = None
self._palette_invoker = ToolInvoker()
self._palette = None
self._selected_tool = None
GObject.GObject.__init__(self, **kwargs)
# The Gtk.ToolButton has already added a normal button.
# Replace it with a ColorButton
self.color_button = BrushButton(has_invoker=False)
self.add(self.color_button)
self.color_button.set_brush_size(self.properties['line size'])
self.color_button.set_brush_shape(self.properties['line shape'])
self.color_button.set_stamp_size(20)
# The following is so that the behaviour on the toolbar is correct.
self.color_button.set_relief(Gtk.ReliefStyle.NONE)
self._palette_invoker.attach_tool(self)
self._palette_invoker.props.toggle_palette = True
self._palette_invoker.props.lock_palette = True
# This widget just proxies the following properties to the colorbutton
self.color_button.connect('notify::color', self.__notify_change)
self.color_button.connect('notify::icon-name', self.__notify_change)
self.color_button.connect('notify::icon-size', self.__notify_change)
self.color_button.connect('notify::title', self.__notify_change)
self.color_button.connect('can-activate-accel',
self.__button_can_activate_accel_cb)
self.create_palette()
示例2: __init__
def __init__(self, default_icon, default_label, palette_content):
self._palette_invoker = ToolInvoker()
Gtk.ToolButton.__init__(self)
self._label = default_label
self.set_is_important(False)
self.set_size_request(style.GRID_CELL_SIZE, -1)
self._label_widget = Gtk.Label()
self._label_widget.set_alignment(0.0, 0.5)
self._label_widget.set_ellipsize(style.ELLIPSIZE_MODE_DEFAULT)
self._label_widget.set_max_width_chars(_LABEL_MAX_WIDTH)
self._label_widget.set_use_markup(True)
self._label_widget.set_markup(default_label)
self.set_label_widget(self._label_widget)
self._label_widget.show()
self.set_widget_icon(icon_name=default_icon)
self._hide_tooltip_on_click = True
self._palette_invoker.attach_tool(self)
self._palette_invoker.props.toggle_palette = True
self._palette_invoker.props.lock_palette = True
self.palette = Palette(_('Select filter'))
self.palette.set_invoker(self._palette_invoker)
self.props.palette.set_content(palette_content)
示例3: __init__
def __init__(self, tagline, default_icon, default_label, palette_content):
self._palette_invoker = ToolInvoker()
Gtk.ToolButton.__init__(self)
self._label = default_label
self.set_is_important(False)
self.set_size_request(style.GRID_CELL_SIZE, -1)
self._label_widget = Gtk.Label()
self._label_widget.set_alignment(0.0, 0.5)
self._label_widget.set_ellipsize(Pango.EllipsizeMode.MIDDLE)
self._label_widget.set_max_width_chars(10)
self._label_widget.set_use_markup(True)
self._label_widget.set_markup(default_label)
self.set_label_widget(self._label_widget)
self._label_widget.show()
self.set_widget_icon(icon_name=default_icon)
self._hide_tooltip_on_click = True
self._palette_invoker.attach_tool(self)
self._palette_invoker.props.toggle_palette = True
self._palette_invoker.props.lock_palette = True
self.palette = Palette(tagline)
self.palette.set_invoker(self._palette_invoker)
self.props.palette.set_content(palette_content)
示例4: __init__
def __init__(self, default_icon, default_value, options):
self._palette_invoker = ToolInvoker()
self._options = options
Gtk.ToolButton.__init__(self)
logging.debug('filter options %s', options)
self._value = default_value
self._label = self._options[default_value]
self.set_is_important(True)
self.set_size_request(style.GRID_CELL_SIZE, -1)
self._label_widget = Gtk.Label()
self._label_widget.set_alignment(0.0, 0.5)
self._label_widget.set_ellipsize(Pango.EllipsizeMode.MIDDLE)
self._label_widget.set_max_width_chars(self._LABEL_MAX_WIDTH)
self._label_widget.set_use_markup(True)
self._label_widget.set_markup(self._label)
self.set_label_widget(self._label_widget)
self._label_widget.show()
self.set_widget_icon(icon_name=default_icon)
self._hide_tooltip_on_click = True
self._palette_invoker.attach_tool(self)
self._palette_invoker.props.toggle_palette = True
self._palette_invoker.props.lock_palette = True
self.palette = Palette(_('Select language'))
self.palette.set_invoker(self._palette_invoker)
self.props.palette.set_content(self.set_palette_list(options))
示例5: __init__
def __init__(self, icon_name='color-preview', **kwargs):
self._accelerator = None
self._tooltip = None
self._palette_invoker = ToolInvoker()
self._palette = None
GObject.GObject.__init__(self, **kwargs)
# The Gtk.ToolButton has already added a normal button.
# Replace it with a ColorButton
color_button = _ColorButton(icon_name=icon_name, has_invoker=False)
self.add(color_button)
color_button.show()
# The following is so that the behaviour on the toolbar is correct.
color_button.set_relief(Gtk.ReliefStyle.NONE)
color_button.icon_size = Gtk.IconSize.LARGE_TOOLBAR
self._palette_invoker.attach_tool(self)
self._palette_invoker.props.toggle_palette = True
self._palette_invoker.props.lock_palette = True
# This widget just proxies the following properties to the colorbutton
color_button.connect('notify::color', self.__notify_change)
color_button.connect('notify::icon-name', self.__notify_change)
color_button.connect('notify::icon-size', self.__notify_change)
color_button.connect('notify::title', self.__notify_change)
color_button.connect('color-set', self.__color_set_cb)
color_button.connect('can-activate-accel',
self.__button_can_activate_accel_cb)
示例6: TrayIcon
class TrayIcon(Gtk.ToolItem):
__gtype_name__ = 'SugarTrayIcon'
def __init__(self, icon_name=None, xo_color=None):
Gtk.ToolItem.__init__(self)
self._icon_widget = _IconWidget(icon_name, xo_color)
self.add(self._icon_widget)
self._icon_widget.show()
self._palette_invoker = ToolInvoker(self)
self.set_size_request(style.GRID_CELL_SIZE, style.GRID_CELL_SIZE)
self.connect('destroy', self.__destroy_cb)
def __destroy_cb(self, icon):
if self._palette_invoker is not None:
self._palette_invoker.detach()
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 get_icon(self):
return self._icon_widget.get_icon()
icon = property(get_icon, None)
示例7: __init__
def __init__(self, icon_name=None):
GObject.GObject.__init__(self)
self._palette_invoker = ToolInvoker(self)
if icon_name:
self.set_icon_name(icon_name)
self.connect('destroy', self.__destroy_cb)
示例8: __init__
def __init__(self):
self._palette_invoker = ToolInvoker()
Gtk.ToolItem.__init__(self)
self._font_label = FontLabel()
bt = Gtk.Button('')
bt.set_can_focus(False)
bt.remove(bt.get_children()[0])
box = Gtk.HBox()
bt.add(box)
icon = Icon(icon_name='font-text')
box.pack_start(icon, False, False, 10)
box.pack_start(self._font_label, False, False, 10)
self.add(bt)
self.show_all()
self._font_name = 'Sans'
# theme the button, can be removed if add the style to the sugar css
if style.zoom(100) == 100:
subcell_size = 15
else:
subcell_size = 11
radius = 2 * subcell_size
theme = "GtkButton {border-radius: %dpx;}" % radius
css_provider = Gtk.CssProvider()
css_provider.load_from_data(theme)
style_context = bt.get_style_context()
style_context.add_provider(css_provider,
Gtk.STYLE_PROVIDER_PRIORITY_USER)
# init palette
self._hide_tooltip_on_click = True
self._palette_invoker.attach_tool(self)
self._palette_invoker.props.toggle_palette = True
self.palette = Palette(_('Select font'))
self.palette.set_invoker(self._palette_invoker)
# load the fonts in the palette menu
self._menu_box = PaletteMenuBox()
self.props.palette.set_content(self._menu_box)
self._menu_box.show()
context = self.get_pango_context()
self._init_font_list()
tmp_list = []
for family in context.list_families():
name = family.get_name()
if name in self._font_white_list:
tmp_list.append(name)
for name in sorted(tmp_list):
self._add_menu(name, self.__font_selected_cb)
self._font_label.set_font(self._font_name)
示例9: __init__
def __init__(self, icon_name=None, xo_color=None):
Gtk.ToolItem.__init__(self)
self._icon_widget = _IconWidget(icon_name, xo_color)
self.add(self._icon_widget)
self._icon_widget.show()
self._palette_invoker = ToolInvoker(self)
self.set_size_request(style.GRID_CELL_SIZE, style.GRID_CELL_SIZE)
self.connect('destroy', self.__destroy_cb)
示例10: __init__
def __init__(self, icon_name=None, **kwargs):
self._accelerator = None
self._tooltip = None
self._xo_color = None
self._palette_invoker = ToolInvoker()
GObject.GObject.__init__(self, **kwargs)
self._palette_invoker.attach_tool(self)
if icon_name:
self.set_icon_name(icon_name)
self.connect('destroy', self.__destroy_cb)
示例11: __init__
def __init__(self, default, options):
self._palette_invoker = ToolInvoker()
Gtk.ToolItem.__init__(self)
self._label = Gtk.Label()
bt = Gtk.Button('')
bt.set_can_focus(False)
bt.remove(bt.get_children()[0])
self._box = Gtk.HBox()
bt.add(self._box)
self._icon = Icon(icon_name='')
self._box.pack_start(self._icon, False, False, 5)
self._box.pack_end(self._label, False, False, 5)
self.add(bt)
self.show_all()
# theme the button, can be removed if add the style to the sugar css
if style.zoom(100) == 100:
subcell_size = 15
else:
subcell_size = 11
radius = 2 * subcell_size
theme = "GtkButton {border-radius: %dpx;}" % radius
css_provider = Gtk.CssProvider()
css_provider.load_from_data(theme)
style_context = bt.get_style_context()
style_context.add_provider(css_provider,
Gtk.STYLE_PROVIDER_PRIORITY_USER)
# init palette
self._hide_tooltip_on_click = True
self._palette_invoker.attach_tool(self)
self._palette_invoker.props.toggle_palette = True
self.palette = Palette(_('Select option'))
self.palette.set_invoker(self._palette_invoker)
# load the fonts in the palette menu
self._menu_box = PaletteMenuBox()
self.props.palette.set_content(self._menu_box)
self._menu_box.show()
for option in options:
if option.__class__ is str:
self._add_menu(option, activate_cb=self.__option_selected_cb)
else:
self._add_menu(option[0], icon=option[1],
activate_cb=self.__option_selected_cb)
self.set_value(default)
示例12: __init__
def __init__(self, icon_name=None, **kwargs):
self._accelerator = None
self._tooltip = None
self._palette_invoker = ToolInvoker()
GObject.GObject.__init__(self, **kwargs)
self._hide_tooltip_on_click = True
self._palette_invoker.attach_tool(self)
if icon_name:
self.set_icon_name(icon_name)
self.get_child().connect('can-activate-accel',
self.__button_can_activate_accel_cb)
self.connect('destroy', self.__destroy_cb)
示例13: __init__
def __init__(self, icon_name=None, **kwargs):
self._accelerator = None
self._tooltip = None
self._xo_color = None
self._hide_tooltip_on_click = True
self._palette_invoker = ToolInvoker()
GObject.GObject.__init__(self, **kwargs)
self._palette_invoker.attach_tool(self)
if icon_name:
self.set_icon_name(icon_name)
# HACK: stop Gtk from adding a label and expanding the size of
# the button. This happen when set_icon_widget is called
# if label_widget is None
self.props.label_widget = Gtk.Box()
self.connect('destroy', self.__destroy_cb)
示例14: __init__
def __init__(self, icon_name=None, pixel_size=None,
direction=Gtk.Orientation.VERTICAL, **kwargs):
self._accelerator = None
self._tooltip = None
self._palette_invoker = ToolInvoker()
self._progress = 0.0
self._icon_name = icon_name
self._pixel_size = pixel_size
self._direction = direction
GObject.GObject.__init__(self, **kwargs)
self._hide_tooltip_on_click = True
self._palette_invoker.attach_tool(self)
self._stroke = get_surface(
icon_name=self._icon_name, width=self._pixel_size, height=self._pixel_size,
stroke_color=style.COLOR_BUTTON_GREY.get_svg(),
fill_color=style.COLOR_TRANSPARENT.get_svg())
self._fill = get_surface(
icon_name=self._icon_name, width=self._pixel_size, height=self._pixel_size,
stroke_color=style.COLOR_TRANSPARENT.get_svg(),
fill_color=style.COLOR_WHITE.get_svg())
示例15: ToolButton
class ToolButton(Gtk.ToolButton):
__gtype_name__ = 'SugarToolButton'
def __init__(self, icon_name=None, **kwargs):
self._accelerator = None
self._tooltip = None
self._palette_invoker = ToolInvoker()
GObject.GObject.__init__(self, **kwargs)
self._hide_tooltip_on_click = True
self._palette_invoker.attach_tool(self)
if icon_name:
self.set_icon_name(icon_name)
self.get_child().connect('can-activate-accel',
self.__button_can_activate_accel_cb)
self.connect('destroy', self.__destroy_cb)
def __destroy_cb(self, icon):
if self._palette_invoker is not None:
self._palette_invoker.detach()
def __button_can_activate_accel_cb(self, button, signal_id):
# Accept activation via accelerators regardless of this widget's state
return True
def set_tooltip(self, tooltip):
""" Set a simple palette with just a single label.
"""
if self.palette is None or self._tooltip is None:
self.palette = Palette(tooltip)
elif self.palette is not None:
self.palette.set_primary_text(tooltip)
self._tooltip = tooltip
# Set label, shows up when toolbar overflows
Gtk.ToolButton.set_label(self, tooltip)
def get_tooltip(self):
return self._tooltip
tooltip = GObject.property(type=str, setter=set_tooltip,
getter=get_tooltip)
def get_hide_tooltip_on_click(self):
return self._hide_tooltip_on_click
def set_hide_tooltip_on_click(self, hide_tooltip_on_click):
if self._hide_tooltip_on_click != hide_tooltip_on_click:
self._hide_tooltip_on_click = hide_tooltip_on_click
hide_tooltip_on_click = GObject.property(
type=bool, default=True, getter=get_hide_tooltip_on_click,
setter=set_hide_tooltip_on_click)
def set_accelerator(self, accelerator):
self._accelerator = accelerator
setup_accelerator(self)
def get_accelerator(self):
return self._accelerator
accelerator = GObject.property(type=str, setter=set_accelerator,
getter=get_accelerator)
def set_icon_name(self, icon_name):
icon = Icon(icon_name=icon_name)
self.set_icon_widget(icon)
icon.show()
def get_icon_name(self):
if self.props.icon_widget is not None:
return self.props.icon_widget.props.icon_name
else:
return None
icon_name = GObject.property(type=str, setter=set_icon_name,
getter=get_icon_name)
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):
#.........這裏部分代碼省略.........