本文整理汇总了Python中sugar3.graphics.toggletoolbutton.ToggleToolButton.set_tooltip方法的典型用法代码示例。如果您正苦于以下问题:Python ToggleToolButton.set_tooltip方法的具体用法?Python ToggleToolButton.set_tooltip怎么用?Python ToggleToolButton.set_tooltip使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sugar3.graphics.toggletoolbutton.ToggleToolButton
的用法示例。
在下文中一共展示了ToggleToolButton.set_tooltip方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ViewToolbar
# 需要导入模块: from sugar3.graphics.toggletoolbutton import ToggleToolButton [as 别名]
# 或者: from sugar3.graphics.toggletoolbutton.ToggleToolButton import set_tooltip [as 别名]
class ViewToolbar(Gtk.Toolbar):
__gtype_name__ = 'ViewToolbar'
__gsignals__ = {
'go-fullscreen': (GObject.SignalFlags.RUN_FIRST,
None,
([])),
'toggle-playlist': (GObject.SignalFlags.RUN_FIRST,
None,
([]))
}
def __init__(self):
Gtk.Toolbar.__init__(self)
self._show_playlist = ToggleToolButton('view-list')
self._show_playlist.set_active(True) # due to Activity.show_all()
self._show_playlist.set_tooltip(_('Playlist'))
self._show_playlist.set_accelerator('<ctrl>l')
self._show_playlist.connect('toggled', self._playlist_toggled_cb)
self.insert(self._show_playlist, -1)
self._show_playlist.show()
self._fullscreen = ToolButton('view-fullscreen')
self._fullscreen.set_tooltip(_('Fullscreen'))
self._fullscreen.set_accelerator('<ctrl>f')
self._fullscreen.connect('clicked', self._fullscreen_cb)
self.insert(self._fullscreen, -1)
self._fullscreen.show()
def _fullscreen_cb(self, button):
self.emit('go-fullscreen')
def _playlist_toggled_cb(self, button):
self.emit('toggle-playlist')
示例2: __init__
# 需要导入模块: from sugar3.graphics.toggletoolbutton import ToggleToolButton [as 别名]
# 或者: from sugar3.graphics.toggletoolbutton.ToggleToolButton import set_tooltip [as 别名]
def __init__(self, conf):
Gtk.Toolbar.__init__(self)
self.button = ToolbarButton(page=self, icon_name="toolbar-view")
combo_font = FontComboBox(conf["font"])
combo_font.connect("changed", self.__font_changed_cb)
self.insert(combo_font, -1)
item_font_size = FontSize()
item_font_size.set_font_size(conf["font-size"])
item_font_size.connect("changed", self.__font_size_changed_cb)
self.insert(item_font_size, -1)
self.insert(utils.make_separator(False), -1)
button_numbers = ToggleToolButton("show-numbers")
button_numbers.props.accelerator = "<Ctrl><Mayus>N"
button_numbers.set_tooltip(_("Show line numbers"))
button_numbers.set_active(conf["show-line-numbers"])
button_numbers.connect("toggled", self.__show_line_numbers_changed_cb)
self.insert(button_numbers, -1)
button_right_line = ToggleToolButton("show-right-line")
button_right_line.props.accelerator = "<Ctrl>L"
button_right_line.set_tooltip(_("Show a line in a specific position"))
button_right_line.set_active(conf["show-right-line"])
button_right_line.connect("toggled", self.__show_right_line_changed_cb)
self.insert(button_right_line, -1)
adjustement = Gtk.Adjustment(
value=conf["right-line-pos"],
lower=1,
upper=150,
step_increment=1,
page_increment=5,
page_size=0,
)
toolItem1 = Gtk.ToolItem()
self.spinner_right_line = Gtk.SpinButton()
self.spinner_right_line.set_margin_left(5)
self.spinner_right_line.set_adjustment(adjustement)
# Ensuring that the value is displayed when starting:
self.spinner_right_line.set_value(conf["right-line-pos"])
self.spinner_right_line.connect('notify::value',
self.__right_line_pos_changed_cb)
toolItem1.add(self.spinner_right_line)
self.insert(toolItem1, -1)
self.insert(utils.make_separator(False), -1)
combo_styles = ComboStyles(conf["theme"])
combo_styles.connect("theme-changed", self.__theme_changed_cb)
self.insert(combo_styles, -1)
self.show_all()
示例3: QrReader
# 需要导入模块: from sugar3.graphics.toggletoolbutton import ToggleToolButton [as 别名]
# 或者: from sugar3.graphics.toggletoolbutton.ToggleToolButton import set_tooltip [as 别名]
class QrReader(activity.Activity):
def __init__(self, handle):
activity.Activity.__init__(self, handle)
self.realize()
self.qr_window = Gtk.DrawingArea()
self.qr_window.set_double_buffered(False)
self.qr_window.set_app_paintable(True)
self.image = Gtk.Image()
self.box = Gtk.VBox()
self.box.pack_start(self.qr_window, True, True, 0)
self.box.pack_end(self.image, True, True, 0)
self.set_canvas(self.box)
self.build_toolbar()
self.show_all()
self.image.hide()
GObject.idle_add(self.setup_init)
def build_toolbar(self):
toolbox = ToolbarBox()
toolbar = toolbox.toolbar
activity_button = ActivityButton(self)
toolbar.insert(activity_button, -1)
toolbar.insert(Gtk.SeparatorToolItem(), -1)
self.stop_play = ToogleButton('media-playback-start')
self.stop_play.set_tooltip(_("Turn on/off the camera"))
self.stop_play.props.active = True
self.copylink = ToolButton('text-uri-list')
self.copylink.set_tooltip(_("Copy link to clipboard"))
self.copylink.set_sensitive(False)
toolbar.insert(self.stop_play, -1)
toolbar.insert(self.copylink, -1)
separator = Gtk.SeparatorToolItem()
separator.props.draw = False
separator.set_expand(True)
toolbar.insert(separator, -1)
stopbtn = StopButton(self)
toolbar.insert(stopbtn, -1)
toolbar.show_all()
self.set_toolbar_box(toolbox)
def setup_init(self):
xid = self.qr_window.get_property('window').get_xid()
visor = QrVisor(xid, self.stop_play, self, self.qr_window,
self.copylink, self.image)
visor.play()
示例4: toggle_factory
# 需要导入模块: from sugar3.graphics.toggletoolbutton import ToggleToolButton [as 别名]
# 或者: from sugar3.graphics.toggletoolbutton.ToggleToolButton import set_tooltip [as 别名]
def toggle_factory(icon_name, callback, toolbar, tooltip=None):
''' add a toggle button to a toolbar'''
t_button = ToggleToolButton(icon_name)
t_button.connect('toggled', callback)
if tooltip:
t_button.set_tooltip(tooltip)
if hasattr(toolbar, 'insert'): # the main toolbar
toolbar.insert(t_button, -1)
else: # or a secondary toolbar
toolbar.props.page.insert(t_button, -1)
t_button.show()
示例5: __init__
# 需要导入模块: from sugar3.graphics.toggletoolbutton import ToggleToolButton [as 别名]
# 或者: from sugar3.graphics.toggletoolbutton.ToggleToolButton import set_tooltip [as 别名]
def __init__(self, handle):
activity.Activity.__init__(self, handle)
logging.debug('Starting the IRC Activity')
self.set_title(_('IRC Activity'))
self.add_events(Gdk.EventMask.VISIBILITY_NOTIFY_MASK)
self.connect('visibility-notify-event',
self.__visibility_notify_event_cb)
self.is_visible = False
self.client = purk.Client(self)
if handle.object_id is None:
self.default_config()
self.client.show()
widget = self.client.get_widget()
# CANVAS
self.set_canvas(widget)
toolbar_box = ToolbarBox()
self.activity_button = ActivityButton(self)
toolbar_box.toolbar.insert(self.activity_button, 0)
self.activity_button.show()
title_entry = TitleEntry(self)
toolbar_box.toolbar.insert(title_entry, -1)
title_entry.show()
connectionbtn = ToggleToolButton('connect')
connectionbtn.set_active(True)
connectionbtn.set_tooltip(_('Disconnect'))
connectionbtn.connect('toggled', self._connection_cb)
toolbar_box.toolbar.insert(connectionbtn, -1)
connectionbtn.show()
separator = Gtk.SeparatorToolItem()
separator.props.draw = False
separator.set_expand(True)
toolbar_box.toolbar.insert(separator, -1)
separator.show()
stop_button = StopButton(self)
toolbar_box.toolbar.insert(stop_button, -1)
stop_button.show()
self.set_toolbar_box(toolbar_box)
toolbar_box.show()
示例6: CollabEditActivity
# 需要导入模块: from sugar3.graphics.toggletoolbutton import ToggleToolButton [as 别名]
# 或者: from sugar3.graphics.toggletoolbutton.ToggleToolButton import set_tooltip [as 别名]
class CollabEditActivity(activity.Activity):
def __init__(self, handle):
activity.Activity.__init__(self, handle)
self.toolbarbox = ToolbarBox()
self.toolbar = self.toolbarbox.toolbar
self.set_toolbar_box(self.toolbarbox)
self.edit = collabedit.CollabEdit(self)
self.edit.connect("cursor-position-changed", self._cursor_positon_changed_cb)
self.set_canvas(self.edit)
self.setup_toolbar()
self.show_all()
def _cursor_positon_changed_cb(self, edit, pos):
self.button_bold.props.active = self.edit.check_tag_at_offset("bold", pos)
self.button_italic.props.active = self.edit.check_tag_at_offset("italic", pos)
self.button_underline.props.active = self.edit.check_tag_at_offset("underline", pos)
def setup_toolbar(self):
activity_button = ActivityToolbarButton(self)
self.toolbar.insert(activity_button, -1)
self.toolbar.insert(Gtk.SeparatorToolItem(), -1)
edit_toolbar = EditToolbar()
self.toolbar.insert(ToolbarButton(page=edit_toolbar, icon_name="toolbar-edit"), -1)
edit_toolbar.insert(Gtk.SeparatorToolItem(), -1)
self.button_bold = ToggleToolButton("format-text-bold")
self.button_bold.set_tooltip(_("Bold"))
self.button_bold.props.accelerator = "<Ctrl>B"
self.button_bold.connect("toggled", lambda button: self.edit.toggle_bold())
edit_toolbar.insert(self.button_bold, -1)
self.button_italic = ToggleToolButton("format-text-italic")
self.button_italic.set_tooltip(_("Italic"))
self.button_italic.props.accelerator = "<Ctrl>I"
self.button_italic.connect("toggled", lambda button: self.edit.toggle_italic())
edit_toolbar.insert(self.button_italic, -1)
self.button_underline = ToggleToolButton("format-text-underline")
self.button_underline.set_tooltip(_("Underline"))
self.button_underline.props.accelerator = "<Ctrl>B"
self.button_underline.connect("toggled", lambda button: self.edit.toggle_underline())
edit_toolbar.insert(self.button_underline, -1)
separator = Gtk.SeparatorToolItem()
separator.props.draw = False
separator.set_expand(True)
self.toolbar.insert(separator, -1)
stop_button = StopButton(self)
self.toolbar.insert(stop_button, -1)
self.toolbarbox.show_all()
edit_toolbar.show_all()
示例7: WriteBooksActivity
# 需要导入模块: from sugar3.graphics.toggletoolbutton import ToggleToolButton [as 别名]
# 或者: from sugar3.graphics.toggletoolbutton.ToggleToolButton import set_tooltip [as 别名]
class WriteBooksActivity(activity.Activity):
def __init__(self, handle):
activity.Activity.__init__(self, handle)
self._book_model = BookModel()
self._actual_page = 1
# we do not have collaboration features
# make the share option insensitive
self.max_participants = 1
# get the language configured by the user
# will be used to translate the names of the media files
locale = os.environ.get('LANG', '')
language_location = locale.split('.', 1)[0].lower()
self._language = language_location.split('_')[0]
if self._language == 'en':
# we don't need translate the file names if langauage is 'en'
self._language = None
self._translations = None
if self._language is not None:
# read the translations file if available
dict_path = os.path.join(activity.get_bundle_path(), 'data',
"%s_dict.csv" % self._language)
logging.debug('Looking for media translation dictionary %s',
dict_path)
if os.path.exists(dict_path):
logging.debug('Loading translations')
self._translations = {}
with open(dict_path) as dict_file:
for line in dict_file:
words = line.split(',')
self._translations[words[0]] = words[1].strip()
toolbar_box = ToolbarBox()
activity_button = ActivityToolbarButton(self)
toolbar_box.toolbar.insert(activity_button, 0)
self._edit_toolbar = EditToolbar()
edit_toolbar_button = ToolbarButton(
page=self._edit_toolbar, icon_name='toolbar-edit')
toolbar_box.toolbar.insert(edit_toolbar_button, 1)
set_background_button = ToolButton('set-background')
set_background_button.set_tooltip(_('Set the background'))
set_background_button.connect('clicked',
self.__set_background_clicked_cb)
toolbar_box.toolbar.insert(set_background_button, -1)
insert_picture_button = ToolButton('insert-picture')
insert_picture_button.set_tooltip(_('Add a picture'))
insert_picture_button.connect('clicked',
self.__add_image_clicked_cb)
toolbar_box.toolbar.insert(insert_picture_button, -1)
toolbar_box.toolbar.insert(Gtk.SeparatorToolItem(), -1)
self._duplicate_page_button = ToolButton()
icon = Icon(icon_name='edit-duplicate', xo_color=profile.get_color())
self._duplicate_page_button.set_icon_widget(icon)
self._duplicate_page_button.set_tooltip(_('Duplicate page'))
self._duplicate_page_button.connect(
'clicked', self.__duplicate_page_clicked_cb)
toolbar_box.toolbar.insert(self._duplicate_page_button, -1)
self._add_page_button = ToolButton('list-add')
self._add_page_button.set_tooltip(_('Add a page'))
self._add_page_button.connect('clicked', self.__add_page_clicked_cb)
toolbar_box.toolbar.insert(self._add_page_button, -1)
self._remove_button = ToolButton('edit-delete')
self._remove_button.set_tooltip(_('Remove an image or page'))
self._remove_button.connect('clicked', self.__remove_clicked_cb)
toolbar_box.toolbar.insert(self._remove_button, -1)
self._prev_page_button = ToolButton('go-previous-paired')
self._prev_page_button.set_tooltip(_('Previous page'))
self._prev_page_button.connect('clicked', self.__prev_page_clicked_cb)
toolbar_box.toolbar.insert(self._prev_page_button, -1)
self._next_page_button = ToolButton('go-next-paired')
self._next_page_button.set_tooltip(_('Next page'))
self._next_page_button.connect('clicked', self.__next_page_clicked_cb)
toolbar_box.toolbar.insert(self._next_page_button, -1)
self._view_list_button = ToggleToolButton('view-list')
self._view_list_button.set_tooltip(_('View pages'))
self._view_list_button.connect('toggled', self.__view_list_toggled_cb)
toolbar_box.toolbar.insert(self._view_list_button, -1)
separator = Gtk.SeparatorToolItem()
separator.props.draw = False
separator.set_expand(True)
toolbar_box.toolbar.insert(separator, -1)
stop_button = StopButton(self)
toolbar_box.toolbar.insert(stop_button, -1)
#.........这里部分代码省略.........
示例8: ViewToolbar
# 需要导入模块: from sugar3.graphics.toggletoolbutton import ToggleToolButton [as 别名]
# 或者: from sugar3.graphics.toggletoolbutton.ToggleToolButton import set_tooltip [as 别名]
class ViewToolbar(Gtk.Toolbar):
__gtype_name__ = 'ViewToolbar'
__gsignals__ = {
'go-fullscreen': (GObject.SignalFlags.RUN_FIRST, GObject.TYPE_NONE,
([])),
'toggle-index-show': (GObject.SignalFlags.RUN_FIRST, GObject.TYPE_NONE,
([bool])),
'toggle-tray-show': (GObject.SignalFlags.RUN_FIRST, GObject.TYPE_NONE,
([bool])), }
def __init__(self):
Gtk.Toolbar.__init__(self)
self._view = None
self._navigator_button = ToggleToolButton('view-list')
self._navigator_button.set_tooltip(_('Table of contents'))
self._navigator_button.connect('toggled', self.__navigator_toggled_cb)
self.insert(self._navigator_button, -1)
self._spacer_navigator = Gtk.SeparatorToolItem()
self._spacer_navigator.props.draw = False
self.insert(self._spacer_navigator, -1)
self._zoom_out = ToolButton('zoom-out')
self._zoom_out.set_tooltip(_('Zoom out'))
self._zoom_out.connect('clicked', self._zoom_out_cb)
self.insert(self._zoom_out, -1)
self._zoom_out.show()
self._zoom_in = ToolButton('zoom-in')
self._zoom_in.set_tooltip(_('Zoom in'))
self._zoom_in.connect('clicked', self._zoom_in_cb)
self.insert(self._zoom_in, -1)
self._zoom_in.show()
self._zoom_to_width = ToolButton('zoom-to-width')
self._zoom_to_width.set_tooltip(_('Zoom to width'))
self._zoom_to_width.connect('clicked', self._zoom_to_width_cb)
self.insert(self._zoom_to_width, -1)
self._zoom_to_width.show()
self._zoom_to_fit = ToolButton('zoom-best-fit')
self._zoom_to_fit.set_tooltip(_('Zoom to fit'))
self._zoom_to_fit.connect('clicked', self._zoom_to_fit_cb)
self.insert(self._zoom_to_fit, -1)
self._zoom_to_fit.show()
self._zoom_to_original = ToolButton('zoom-original')
self._zoom_to_original.set_tooltip(_('Actual size'))
self._zoom_to_original.connect('clicked', self._actual_size_cb)
self.insert(self._zoom_to_original, -1)
self._zoom_to_original.show()
spacer = Gtk.SeparatorToolItem()
spacer.props.draw = True
self.insert(spacer, -1)
spacer.show()
self._fullscreen = ToolButton('view-fullscreen')
self._fullscreen.set_tooltip(_('Fullscreen'))
self._fullscreen.connect('clicked', self._fullscreen_cb)
self.insert(self._fullscreen, -1)
self._fullscreen.show()
self.traybutton = ToggleToolButton('tray-show')
self.traybutton.set_icon_name('tray-favourite')
self.traybutton.connect('toggled', self.__tray_toggled_cb)
#self.traybutton.props.sensitive = False
self.traybutton.props.active = False
self.insert(self.traybutton, -1)
self.traybutton.show()
self._view_notify_zoom_handler = None
spacer = Gtk.SeparatorToolItem()
spacer.props.draw = True
self.insert(spacer, -1)
spacer.show()
self._rotate_left = ToolButton('rotate_anticlockwise')
self._rotate_left.set_tooltip(_('Rotate left'))
self._rotate_left.connect('clicked', self._rotate_left_cb)
self.insert(self._rotate_left, -1)
self._rotate_left.show()
self._rotate_right = ToolButton('rotate_clockwise')
self._rotate_right.set_tooltip(_('Rotate right'))
self._rotate_right.connect('clicked', self._rotate_right_cb)
self.insert(self._rotate_right, -1)
self._rotate_right.show()
def set_view(self, view):
self._view = view
self._update_zoom_buttons()
def show_nav_button(self):
self._navigator_button.show()
self._spacer_navigator.show()
#.........这里部分代码省略.........
示例9: EditToolbar
# 需要导入模块: from sugar3.graphics.toggletoolbutton import ToggleToolButton [as 别名]
# 或者: from sugar3.graphics.toggletoolbutton.ToggleToolButton import set_tooltip [as 别名]
class EditToolbar(BaseEditToolbar):
__gtype_name__ = 'EditToolbar'
def __init__(self):
BaseEditToolbar.__init__(self)
self._view = None
self._find_job = None
search_item = Gtk.ToolItem()
self._search_entry = iconentry.IconEntry()
self._search_entry.set_icon_from_name(iconentry.ICON_ENTRY_PRIMARY,
'entry-search')
self._search_entry.add_clear_button()
self._search_entry.connect('activate', self._search_entry_activate_cb)
self._search_entry.connect('changed', self._search_entry_changed_cb)
self._search_entry_changed = True
width = int(Gdk.Screen.width() / 3)
self._search_entry.set_size_request(width, -1)
search_item.add(self._search_entry)
self._search_entry.show()
self.insert(search_item, -1)
search_item.show()
self._prev = ToolButton('go-previous-paired')
self._prev.set_tooltip(_('Previous'))
self._prev.props.sensitive = False
self._prev.connect('clicked', self._find_prev_cb)
self.insert(self._prev, -1)
self._prev.show()
self._next = ToolButton('go-next-paired')
self._next.set_tooltip(_('Next'))
self._next.props.sensitive = False
self._next.connect('clicked', self._find_next_cb)
self.insert(self._next, -1)
self._next.show()
separator = Gtk.SeparatorToolItem()
separator.show()
self.insert(separator, -1)
self.highlight = ToggleToolButton('format-text-underline')
self.highlight.set_tooltip(_('Highlight'))
self.highlight.props.sensitive = False
self.insert(self.highlight, -1)
def set_view(self, view):
self._view = view
self._view.find_set_highlight_search(True)
def _clear_find_job(self):
if self._find_job is None:
return
if not self._find_job.is_finished():
self._find_job.cancel()
self._find_job.disconnect(self._find_updated_handler)
self._find_job = None
def _search_find_first(self):
self._clear_find_job()
text = self._search_entry.props.text
if text != "":
self._find_job, self._find_updated_handler = \
self._view.setup_find_job(text, self._find_updated_cb)
else:
# FIXME: highlight nothing
pass
self._search_entry_changed = False
self._update_find_buttons()
def _search_find_next(self):
self._view.find_next()
def _search_find_last(self):
# FIXME: does Evince support find last?
return
def _search_find_prev(self):
self._view.find_previous()
def _search_entry_activate_cb(self, entry):
if self._search_entry_changed:
self._search_find_first()
else:
self._search_find_next()
def _search_entry_changed_cb(self, entry):
logging.debug('Search entry: %s' % (entry.props.text))
self._search_entry_changed = True
self._update_find_buttons()
# GObject.timeout_add(500, self._search_entry_timeout_cb)
#.........这里部分代码省略.........
示例10: __init__
# 需要导入模块: from sugar3.graphics.toggletoolbutton import ToggleToolButton [as 别名]
# 或者: from sugar3.graphics.toggletoolbutton.ToggleToolButton import set_tooltip [as 别名]
def __init__(self, abiword_canvas):
GObject.GObject.__init__(self)
self.font_name_combo = FontComboBox()
self.font_name_combo.set_font_name('Sans')
self._fonts_changed_id = self.font_name_combo.connect(
'changed', self._font_changed_cb, abiword_canvas)
self._abi_handler = abiword_canvas.connect('font-family',
self._font_family_cb)
self.insert(ToolComboBox(self.font_name_combo), -1)
self.font_size = FontSize()
self._abi_handler = abiword_canvas.connect('font-size',
self._font_size_cb)
self._changed_id = self.font_size.connect(
'changed', self._font_size_changed_cb, abiword_canvas)
self.insert(self.font_size, -1)
bold = ToggleToolButton('format-text-bold')
bold.set_tooltip(_('Bold'))
bold.props.accelerator = '<Ctrl>B'
bold_id = bold.connect('clicked', lambda sender:
abiword_canvas.toggle_bold())
abiword_canvas.connect('bold', lambda abi, b:
self._setToggleButtonState(bold, b, bold_id))
self.insert(bold, -1)
italic = ToggleToolButton('format-text-italic')
italic.set_tooltip(_('Italic'))
italic.props.accelerator = '<Ctrl>I'
italic_id = italic.connect('clicked', lambda sender:
abiword_canvas.toggle_italic())
abiword_canvas.connect('italic', lambda abi, b:
self._setToggleButtonState(italic, b,
italic_id))
self.insert(italic, -1)
underline = ToggleToolButton('format-text-underline')
underline.set_tooltip(_('Underline'))
underline.props.accelerator = '<Ctrl>U'
underline_id = underline.connect('clicked', lambda sender:
abiword_canvas.toggle_underline())
abiword_canvas.connect('underline', lambda abi, b:
self._setToggleButtonState(underline, b,
underline_id))
self.insert(underline, -1)
# for super/subscript, we're using the same keyboard shorcuts as
# abiword: <C-^> and <C-_>
super_btn = ToggleToolButton('format-text-super')
super_btn.set_tooltip(_('Superscript'))
# found with gtk.accelerator_name
super_btn.props.accelerator = '<Ctrl>asciicircum'
super_id = super_btn.connect('clicked', lambda sender:
abiword_canvas.toggle_super())
# no, this isn't a mistake. The method is called `toggle_super()', but
# the *signal* is called `superscript'. Same goes for sub{script,}.
abiword_canvas.connect('superscript', lambda abi, b:
self._setToggleButtonState(super_btn, b,
super_id))
self.insert(super_btn, -1)
sub = ToggleToolButton('format-text-sub')
sub.set_tooltip(_('Subscript'))
sub.props.accelerator = '<Ctrl>underscore'
sub_id = sub.connect('clicked', lambda sender:
abiword_canvas.toggle_sub())
abiword_canvas.connect('subscript', lambda abi, b:
self._setToggleButtonState(sub, b, sub_id))
self.insert(sub, -1)
color = ColorToolButton()
color.connect('notify::color', self._text_color_cb,
abiword_canvas)
tool_item = Gtk.ToolItem()
tool_item.add(color)
self.insert(tool_item, -1)
abiword_canvas.connect(
'color', lambda abi, r, g, b:
color.set_color(Gdk.Color(r * 256, g * 256, b * 256)))
# MAGIC NUMBER WARNING: Secondary toolbars are not a standard height?
self.set_size_request(-1, style.GRID_CELL_SIZE)
def append_align(icon_name, tooltip, do_abi_cb, style_name, button,
menu_box):
menu_item = AbiMenuItem(abiword_canvas, style_name, do_abi_cb,
icon_name, tooltip, button)
menu_box.append_item(menu_item)
menu_item.show()
self._aligment_btn = ToolButton(icon_name='format-justify-left')
self._aligment_btn.props.tooltip = _('Choose alignment')
self._aligment_btn.props.hide_tooltip_on_click = False
self._aligment_btn.palette_invoker.props.toggle_palette = True
menu_box = PaletteMenuBox()
self._aligment_btn.props.palette.set_content(menu_box)
menu_box.show()
#.........这里部分代码省略.........
示例11: SpeechToolbar
# 需要导入模块: from sugar3.graphics.toggletoolbutton import ToggleToolButton [as 别名]
# 或者: from sugar3.graphics.toggletoolbutton.ToggleToolButton import set_tooltip [as 别名]
class SpeechToolbar(Gtk.Toolbar):
def __init__(self, activity):
Gtk.Toolbar.__init__(self)
voicebar = Gtk.Toolbar()
self._activity = activity
if not speech.supported:
return
self.load_speech_parameters()
self.sorted_voices = [i for i in speech.voices()]
self.sorted_voices.sort(self.compare_voices)
default = 0
for voice in self.sorted_voices:
if voice[0] == speech.voice[0]:
break
default = default + 1
# Play button
self.play_btn = ToggleToolButton('media-playback-start')
self.play_btn.show()
self.play_btn.connect('toggled', self.play_cb)
self.insert(self.play_btn, -1)
self.play_btn.set_tooltip(_('Play / Pause'))
self.voice_combo = ComboBox()
for voice in self.sorted_voices:
self.voice_combo.append_item(voice, voice[0])
self.voice_combo.set_active(default)
self.voice_combo.connect('changed', self.voice_changed_cb)
combotool = ToolComboBox(self.voice_combo)
self.insert(combotool, -1)
combotool.show()
self.pitchadj = Gtk.Adjustment(0, -100, 100, 1, 10, 0)
pitchbar = Gtk.HScale(self.pitchadj)
pitchbar.set_draw_value(False)
pitchbar.set_update_policy(Gtk.UPDATE_DISCONTINUOUS)
pitchbar.set_size_request(150, 15)
self.pitchadj.set_value(speech.pitch)
pitchtool = Gtk.ToolItem()
pitchtool.add(pitchbar)
pitchtool.show()
self.insert(pitchtool, -1)
pitchbar.show()
self.rateadj = Gtk.Adjustment(0, -100, 100, 1, 10, 0)
ratebar = Gtk.HScale(self.rateadj)
ratebar.set_draw_value(False)
ratebar.set_update_policy(Gtk.UPDATE_DISCONTINUOUS)
ratebar.set_size_request(150, 15)
self.rateadj.set_value(speech.rate)
ratetool = Gtk.ToolItem()
ratetool.add(ratebar)
ratetool.show()
self.insert(ratetool, -1)
ratebar.show()
self.pitchadj.connect("value_changed", self.pitch_adjusted_cb)
self.rateadj.connect("value_changed", self.rate_adjusted_cb)
def compare_voices(self, a, b):
if a[0].lower() == b[0].lower():
return 0
if a[0] .lower() < b[0].lower():
return -1
if a[0] .lower() > b[0].lower():
return 1
def voice_changed_cb(self, combo):
speech.voice = combo.props.value
speech.say(speech.voice[0])
self.save_speech_parameters()
def pitch_adjusted_cb(self, get):
speech.pitch = int(get.value)
speech.say(_("pitch adjusted"))
self.save_speech_parameters()
def rate_adjusted_cb(self, get):
speech.rate = int(get.value)
speech.say(_("rate adjusted"))
self.save_speech_parameters()
def load_speech_parameters(self):
speech_parameters = {}
data_path = os.path.join(self._activity.get_activity_root(), 'data')
data_file_name = os.path.join(data_path, 'speech_params.json')
if os.path.exists(data_file_name):
f = open(data_file_name, 'r')
try:
speech_parameters = simplejson.load(f)
speech.pitch = speech_parameters['pitch']
speech.rate = speech_parameters['rate']
speech.voice = speech_parameters['voice']
finally:
f.close()
def save_speech_parameters(self):
#.........这里部分代码省略.........
示例12: __init__
# 需要导入模块: from sugar3.graphics.toggletoolbutton import ToggleToolButton [as 别名]
# 或者: from sugar3.graphics.toggletoolbutton.ToggleToolButton import set_tooltip [as 别名]
def __init__(self, handle):
activity.Activity.__init__(self, handle)
self.set_title('FotoToon')
self._max_participants = 1
self.page = None
toolbar_box = ToolbarBox()
activity_button = ActivityToolbarButton(self)
activity_toolbar = activity_button.page
toolbar_box.toolbar.insert(activity_button, 0)
edit_toolbar_btn = ToolbarButton()
edit_toolbar = Gtk.Toolbar()
edit_toolbar_btn.props.page = edit_toolbar
edit_toolbar_btn.props.icon_name = 'toolbar-edit'
edit_toolbar_btn.label = _('Edit')
toolbar_box.toolbar.insert(edit_toolbar_btn, -1)
view_toolbar_btn = ToolbarButton()
view_toolbar = Gtk.Toolbar()
view_toolbar_btn.props.page = view_toolbar
view_toolbar_btn.props.icon_name = 'toolbar-view'
view_toolbar_btn.label = _('View')
toolbar_box.toolbar.insert(view_toolbar_btn, -1)
slideview_btn = ToggleToolButton('slideshow')
slideview_btn.set_tooltip(_('Slideshow'))
slideview_btn.set_active(False)
slideview_btn.connect('clicked', self._switch_view_mode, False)
view_toolbar.insert(slideview_btn, -1)
slideview_btn.show()
slideview_timings_btn = ToggleToolButton('slideshow-stopwatch')
slideview_timings_btn.set_tooltip(_('Slideshow with Timings'))
slideview_timings_btn.set_active(False)
slideview_timings_btn.connect('clicked', self._switch_view_mode, True)
view_toolbar.insert(slideview_timings_btn, -1)
slideview_timings_btn.show()
time_button = ToolButton('stopwatch')
time_button.set_tooltip(_('Set Image Duration in Slideshow (Seconds)'))
view_toolbar.insert(time_button, -1)
time_button.show()
self._time_spin = Gtk.SpinButton.new_with_range(MIN_TIME, MAX_TIME, 1)
self._time_spin.connect('value-changed', self.__time_spin_changed_cb)
self._time_spin.props.value = DEFAULT_TIME
self._time_spin.props.update_policy = \
Gtk.SpinButtonUpdatePolicy.IF_VALID
palette = time_button.get_palette()
palette.connect('popup', self.__time_button_popup_cb)
time_button.connect(
'clicked', lambda *args:
palette.popup(immediate=True, state=Palette.SECONDARY))
alignment = Gtk.Alignment()
alignment.set_padding(style.DEFAULT_PADDING, style.DEFAULT_PADDING,
style.DEFAULT_PADDING, style.DEFAULT_PADDING)
alignment.add(self._time_spin)
self._time_spin.show()
palette.set_content(alignment)
alignment.show()
fullscreen_btn = ToolButton('view-fullscreen')
fullscreen_btn.set_tooltip(_('Fullscreen'))
fullscreen_btn.props.accelerator = '<Alt>Return'
fullscreen_btn.connect('clicked', lambda w: self.fullscreen())
view_toolbar.insert(fullscreen_btn, -1)
fullscreen_btn.show()
self.set_toolbar_box(toolbar_box)
toolbar = toolbar_box.toolbar
self.page = Page()
self.globes_manager = GlobesManager(toolbar, edit_toolbar, self)
# fonts
self._text_button = ToolbarButton()
self._text_button.props.page = TextToolbar(self.page)
self._text_button.props.icon_name = 'format-text-size'
self._text_button.props.label = _('Text')
self._toolbar_box.toolbar.insert(self._text_button, -1)
reorder_img_btn = ToolButton('thumbs-view')
reorder_img_btn.set_icon_name('thumbs-view')
reorder_img_btn.set_tooltip(_('Change image order'))
reorder_img_btn.connect('clicked', self.__image_order_cb)
edit_toolbar.insert(reorder_img_btn, -1)
reorder_img_btn.show()
bgchange = ToolButton(icon_name='contract-coordinates')
bgchange.set_tooltip(_('Edit background image'))
bgchange.connect('clicked', self.__bgchange_clicked_cb)
edit_toolbar.insert(bgchange, -1)
bgchange.show()
#.........这里部分代码省略.........
示例13: TextToolbar
# 需要导入模块: from sugar3.graphics.toggletoolbutton import ToggleToolButton [as 别名]
# 或者: from sugar3.graphics.toggletoolbutton.ToggleToolButton import set_tooltip [as 别名]
class TextToolbar(Gtk.Toolbar):
def __init__(self, page):
self._colorseldlg = None
Gtk.Toolbar.__init__(self)
self._page = page
page._text_toolbar = self
self._bold = ToggleToolButton('format-text-bold')
self._bold.set_tooltip(_('Bold'))
self._bold_id = self._bold.connect('clicked', self._bold_cb)
self.insert(self._bold, -1)
self._italic = ToggleToolButton('format-text-italic')
self._italic.set_tooltip(_('Italic'))
self._italic_id = self._italic.connect('clicked', self._italic_cb)
self.insert(self._italic, -1)
"""
self._underline = ToggleToolButton('format-text-underline')
self._underline.set_tooltip(_('Underline'))
self._underline_id = self._underline.connect('clicked',
self._underline_cb)
self.insert(self._underline, -1)
self._underline.show()
"""
self._text_color = TextButtonColor(page)
self._text_color.set_title(_('Text Color'))
item = Gtk.ToolItem()
item.add(self._text_color)
self.insert(item, -1)
separator = Gtk.SeparatorToolItem()
separator.set_draw(True)
self.insert(separator, -1)
self._font_size_combo = FontSize()
self._font_size_changed_id = self._font_size_combo.connect(
'changed', self._font_size_changed_cb)
self.insert(self._font_size_combo, -1)
# font
self._font_combo = FontComboBox()
self._font_combo.set_font_name(globos.DEFAULT_FONT)
self._fonts_changed_id = self._font_combo.connect(
'changed', self._font_changed_cb)
self.insert(ToolComboBox(self._font_combo), -1)
self.show_all()
def get_text_selected_handler(self):
return self._text_selected_handler
def _add_widget(self, widget, expand=False):
tool_item = Gtk.ToolItem()
tool_item.set_expand(expand)
tool_item.add(widget)
widget.show()
self.insert(tool_item, -1)
tool_item.show()
def _bold_cb(self, button):
globo_activo = self._page.get_globo_activo()
if globo_activo is not None and globo_activo.texto is not None:
globo_activo.texto.bold = not globo_activo.texto.bold
self._page.get_active_box().redraw()
def _italic_cb(self, button):
globo_activo = self._page.get_globo_activo()
if globo_activo is not None and globo_activo.texto is not None:
globo_activo.texto.italic = not globo_activo.texto.italic
self._page.get_active_box().redraw()
# para la version 0.82
def _text_color_cb(self, button):
globo_activo = self._page.get_globo_activo()
if globo_activo is not None and globo_activo.texto is not None:
color = self._text_color.get_color()
texto = globo_activo.texto
texto.color = (color.red, color.green, color.blue)
self._page.get_active_box().redraw()
def _font_size_changed_cb(self, widget):
size = widget.get_font_size()
logger.debug('Setting font size: %d', size)
globo_activo = self._page.get_globo_activo()
if globo_activo is not None and globo_activo.texto is not None:
globo_activo.texto.font_size = size
self._page.get_active_box().redraw()
def _font_changed_cb(self, widget):
font_name = widget.get_font_name()
logger.debug('Setting font name: %s', font_name)
globo_activo = self._page.get_globo_activo()
if globo_activo is not None and globo_activo.texto is not None:
globo_activo.texto.font_type = font_name
self._page.selected_font_name = font_name
#.........这里部分代码省略.........
示例14: DrawEditToolbar
# 需要导入模块: from sugar3.graphics.toggletoolbutton import ToggleToolButton [as 别名]
# 或者: from sugar3.graphics.toggletoolbutton.ToggleToolButton import set_tooltip [as 别名]
class DrawEditToolbar(EditToolbar):
def __init__(self, activity):
EditToolbar.__init__(self)
self._activity = activity
self.undo.set_tooltip(_('Undo'))
self.redo.set_tooltip(_('Redo'))
self.copy.set_tooltip(_('Copy'))
self.paste.set_tooltip(_('Paste'))
separator = Gtk.SeparatorToolItem()
separator.set_draw(True)
self.insert(separator, -1)
self._clear_all = ToolButton('edit-clear')
self.insert(self._clear_all, -1)
self._clear_all.set_tooltip(_('Clear'))
self._clear_all.show()
self._sound = ToggleToolButton('speaker-100')
self._sound.set_tooltip(_('Enable sound'))
if self._activity.area._player is not None:
self.insert(self._sound, -1)
self._sound.show()
self._sound.connect('clicked', self.__sound_cb)
self.undo.connect('clicked', self._undo_cb)
self.redo.connect('clicked', self._redo_cb)
self.copy.connect('clicked', self._copy_cb)
self.paste.connect('clicked', self._paste_cb)
self._clear_all.connect('clicked', self._clear_all_cb)
self._activity.area.connect('undo', self._on_signal_undo_cb)
self._activity.area.connect('redo', self._on_signal_redo_cb)
self._activity.area.connect('select', self._on_signal_select_cb)
self._activity.area.connect('action-saved',
self._on_signal_action_saved_cb)
def _undo_cb(self, widget, data=None):
self._activity.area.undo()
def _redo_cb(self, widget, data=None):
self._activity.area.redo()
def _copy_cb(self, widget, data=None):
self._activity.area.copy()
def _paste_cb(self, widget, data=None):
self._activity.area.paste(self._activity.area)
def _on_signal_undo_cb(self, widget, data=None):
self._verify_sensitive_buttons()
def _on_signal_redo_cb(self, widget, data=None):
self._verify_sensitive_buttons()
def _on_signal_select_cb(self, widget, data=None):
self._verify_sensitive_buttons()
def _on_signal_action_saved_cb(self, widget, data=None):
self._verify_sensitive_buttons()
# define when a button is active
def _verify_sensitive_buttons(self):
self.undo.set_sensitive(self._activity.area.can_undo())
self.redo.set_sensitive(self._activity.area.can_redo())
self.copy.set_sensitive(self._activity.area.is_selected())
# TODO: it is not possible to verify this yet.
# self.paste.set_sensitive(self._activity.area.can_paste())
def _clear_all_cb(self, widget, data=None):
self._activity.area.clear()
def __sound_cb(self, widget):
self._activity.area.enable_sounds(widget.get_active())
if widget.get_active():
self._sound.set_tooltip(_('Disable sound'))
else:
self._sound.set_tooltip(_('Enable sound'))
示例15: SpeechToolbar
# 需要导入模块: from sugar3.graphics.toggletoolbutton import ToggleToolButton [as 别名]
# 或者: from sugar3.graphics.toggletoolbutton.ToggleToolButton import set_tooltip [as 别名]
class SpeechToolbar(Gtk.Toolbar):
def __init__(self):
Gtk.Toolbar.__init__(self)
voicebar = Gtk.Toolbar()
self.activity = None
self.sorted_voices = [i for i in speech.voices()]
self.sorted_voices.sort(self.compare_voices)
default = 0
for voice in self.sorted_voices:
if voice[0] == 'default':
break
default = default + 1
# Play button Image
play_img = Gtk.Image()
play_img.show()
play_img.set_from_icon_name('media-playback-start',
Gtk.IconSize.LARGE_TOOLBAR)
# Pause button Image
pause_img = Gtk.Image()
pause_img.show()
pause_img.set_from_icon_name('media-playback-pause',
Gtk.IconSize.LARGE_TOOLBAR)
# Play button
self.play_btn = ToggleToolButton('media-playback-start')
self.play_btn.show()
self.play_btn.connect('toggled', self.play_cb, [play_img, pause_img])
self.insert(self.play_btn, -1)
self.play_btn.set_tooltip(_('Play / Pause'))
self.voice_combo = ComboBox()
self.voice_combo.connect('changed', self.voice_changed_cb)
for voice in self.sorted_voices:
self.voice_combo.append_item(voice, voice[0])
self.voice_combo.set_active(default)
combotool = ToolComboBox(self.voice_combo)
self.insert(combotool, -1)
combotool.show()
self.pitchadj = Gtk.Adjustment(0, -100, 100, 1, 10, 0)
pitchbar = Gtk.HScale()
pitchbar.set_adjustment(self.pitchadj)
pitchbar.set_draw_value(False)
# pitchbar.set_update_policy(Gtk.UpdatePolicy.ALWAYS)
pitchbar.set_size_request(150,15)
pitchtool = Gtk.ToolItem()
pitchtool.add(pitchbar)
pitchtool.show()
self.insert(pitchtool, -1)
pitchbar.show()
self.rateadj = Gtk.Adjustment(0, -100, 100, 1, 10, 0)
ratebar = Gtk.HScale()
ratebar.set_adjustment(self.rateadj)
ratebar.set_draw_value(False)
#ratebar.set_update_policy(Gtk.UpdatePolicy.ALWAYS)
ratebar.set_size_request(150,15)
ratetool = Gtk.ToolItem()
ratetool.add(ratebar)
ratetool.show()
self.insert(ratetool, -1)
ratebar.show()
def compare_voices(self, a, b):
if a[0].lower() == b[0].lower():
return 0
if a[0].lower() < b[0].lower():
return -1
if a[0].lower() > b[0].lower():
return 1
def voice_changed_cb(self, combo):
speech.voice = combo.props.value
if self.activity != None:
speech.say(speech.voice[0])
def pitch_adjusted_cb(self, get):
speech.pitch = int(get.get_value())
speech.say(_("pitch adjusted"))
f = open(os.path.join(self.activity.get_activity_root(), 'instance', 'pitch.txt'), 'w')
try:
f.write(str(speech.pitch))
finally:
f.close()
def rate_adjusted_cb(self, get):
speech.rate = int(get.get_value())
speech.say(_("rate adjusted"))
f = open(os.path.join(self.activity.get_activity_root(), 'instance', 'rate.txt'), 'w')
try:
f.write(str(speech.rate))
finally:
f.close()
def set_activity(self, activity):
self.activity = activity
if os.path.exists(os.path.join(activity.get_activity_root(), 'instance', 'pitch.txt')):
f = open(os.path.join(activity.get_activity_root(), 'instance', 'pitch.txt'), 'r')
#.........这里部分代码省略.........