本文整理汇总了Python中translate.storage.placeables.StringElem.delete_range方法的典型用法代码示例。如果您正苦于以下问题:Python StringElem.delete_range方法的具体用法?Python StringElem.delete_range怎么用?Python StringElem.delete_range使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类translate.storage.placeables.StringElem
的用法示例。
在下文中一共展示了StringElem.delete_range方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TextBox
# 需要导入模块: from translate.storage.placeables import StringElem [as 别名]
# 或者: from translate.storage.placeables.StringElem import delete_range [as 别名]
class TextBox(gtk.TextView):
"""
A C{gtk.TextView} extended to work with our nifty L{StringElem} parsed
strings.
"""
__gtype_name__ = 'TextBox'
__gsignals__ = {
'element-selected': (SIGNAL_RUN_FIRST, None, (object,)),
'key-pressed': (SIGNAL_RUN_LAST, bool, (object, str)),
'refreshed': (SIGNAL_RUN_FIRST, None, (object,)),
'text-deleted': (SIGNAL_RUN_LAST, bool, (object, object, int, int, object)),
'text-inserted': (SIGNAL_RUN_LAST, bool, (object, int, object)),
'changed': (SIGNAL_RUN_LAST, None, ()),
}
SPECIAL_KEYS = {
'alt-down': [(gtk.keysyms.Down, gtk.gdk.MOD1_MASK)],
'alt-left': [(gtk.keysyms.Left, gtk.gdk.MOD1_MASK)],
'alt-right': [(gtk.keysyms.Right, gtk.gdk.MOD1_MASK)],
'enter': [(gtk.keysyms.Return, 0), (gtk.keysyms.KP_Enter, 0)],
'ctrl-enter':[(gtk.keysyms.Return, gtk.gdk.CONTROL_MASK), (gtk.keysyms.KP_Enter, gtk.gdk.CONTROL_MASK)],
'ctrl-shift-enter':[(gtk.keysyms.Return, gtk.gdk.CONTROL_MASK | gtk.gdk.SHIFT_MASK), (gtk.keysyms.KP_Enter, gtk.gdk.CONTROL_MASK | gtk.gdk.SHIFT_MASK)],
'shift-tab': [(gtk.keysyms.ISO_Left_Tab, gtk.gdk.SHIFT_MASK), (gtk.keysyms.Tab, gtk.gdk.SHIFT_MASK)],
'ctrl-tab': [(gtk.keysyms.ISO_Left_Tab, gtk.gdk.CONTROL_MASK), (gtk.keysyms.Tab, gtk.gdk.CONTROL_MASK)],
'ctrl-shift-tab': [(gtk.keysyms.ISO_Left_Tab, gtk.gdk.CONTROL_MASK | gtk.gdk.SHIFT_MASK), (gtk.keysyms.Tab, gtk.gdk.CONTROL_MASK | gtk.gdk.SHIFT_MASK)],
}
"""A table of name-keybinding mappings. The name (key) is passed as the
second parameter to the 'key-pressed' event."""
unselectables = [StringElem]
"""A list of classes that should not be selectable with Alt+Left or Alt+Right."""
# INITIALIZERS #
def __init__(self, main_controller, text=None, selector_textbox=None, role=None):
"""Constructor.
@type main_controller: L{virtaal.controllers.main_controller}
@param main_controller: The main controller instance.
@type text: String
@param text: The initial text to set in the new text box. Optional.
@type selector_textbox: C{TextBox}
@param selector_textbox: The text box in which placeable selection
(@see{select_elem}) should happen. Optional."""
super(TextBox, self).__init__()
self.buffer = self.get_buffer()
self.elem = None
self.main_controller = main_controller
self.placeables_controller = main_controller.placeables_controller
self.refresh_actions = []
self.refresh_cursor_pos = -1
self.role = role
self.selector_textbox = selector_textbox or self
self.selector_textboxes = [selector_textbox or self]
self.selected_elem = None
self.selected_elem_index = None
self._suggestion = None
self.undo_controller = main_controller.undo_controller
self.__connect_default_handlers()
if self.placeables_controller is None or self.undo_controller is None:
# This should always happen, because the text boxes are created
# when the unit controller is created, which happens before the
# creation of the placeables- and undo controllers.
self.__controller_connect_id = main_controller.connect('controller-registered', self.__on_controller_register)
if text:
self.set_text(text)
def __connect_default_handlers(self):
self.connect('button-press-event', self._on_event_remove_suggestion)
self.connect('focus-out-event', self._on_event_remove_suggestion)
self.connect('key-press-event', self._on_key_pressed)
self.connect('move-cursor', self._on_event_remove_suggestion)
self.buffer.connect('insert-text', self._on_insert_text)
self.buffer.connect('delete-range', self._on_delete_range)
self.buffer.connect('begin-user-action', self._on_begin_user_action)
self.buffer.connect('end-user-action', self._on_end_user_action)
def _get_suggestion(self):
return self._suggestion
def _set_suggestion(self, value):
if value is None:
self.hide_suggestion()
self._suggestion = None
return
if not (isinstance(value, dict) and \
'text' in value and value['text'] and \
'offset' in value and value['offset'] >= 0):
raise ValueError('invalid suggestion dictionary: %s' % (value))
if self.suggestion_is_visible():
self.suggestion = None
self._suggestion = value
self.show_suggestion()
suggestion = property(_get_suggestion, _set_suggestion)
# OVERRIDDEN METHODS #
def get_stringelem(self):
if self.elem is None:
#.........这里部分代码省略.........