Пример #1
0
	def __insert_enclosed_selection(self, open_keyval, close_keyval):
		textbuffer = self.__editor.textbuffer
		from gtk.gdk import keyval_to_unicode
		utf8_open_character = unichr(keyval_to_unicode(open_keyval)).encode("utf-8")
		utf8_closing_character = unichr(keyval_to_unicode(close_keyval)).encode("utf-8")
		selection = textbuffer.get_selection_bounds()
		string = textbuffer.get_text(selection[0], selection[1])
		text = utf8_open_character + string + utf8_closing_character
		textbuffer.delete(selection[0], selection[1])
		textbuffer.insert_at_cursor(text)
		message = _("Enclosed selected text")
		self.__editor.update_message(message, "pass")
		return
Пример #2
0
 def __insert_enclosed_selection(self, open_keyval, close_keyval):
     textbuffer = self.__editor.textbuffer
     from gtk.gdk import keyval_to_unicode
     utf8_open_character = unichr(
         keyval_to_unicode(open_keyval)).encode("utf-8")
     utf8_closing_character = unichr(
         keyval_to_unicode(close_keyval)).encode("utf-8")
     selection = textbuffer.get_selection_bounds()
     string = textbuffer.get_text(selection[0], selection[1])
     text = utf8_open_character + string + utf8_closing_character
     textbuffer.delete(selection[0], selection[1])
     textbuffer.insert_at_cursor(text)
     message = _("Enclosed selected text")
     self.__editor.update_message(message, "pass")
     return
Пример #3
0
	def __insert_pair_characters(self, open_keyval, close_keyval):
		textbuffer = self.__editor.textbuffer
		from gtk.gdk import keyval_to_unicode
		utf8_open_character = unichr(keyval_to_unicode(open_keyval)).encode("utf-8")
		utf8_closing_character = unichr(keyval_to_unicode(close_keyval)).encode("utf-8")
		cursor_position = self.__editor.cursor
		begin_mark = textbuffer.create_mark(None, cursor_position, True)
		textbuffer.begin_user_action()
		textbuffer.insert_at_cursor(utf8_open_character+utf8_closing_character)
		textbuffer.end_user_action()
		cursor_position = self.__editor.cursor
		end_mark = textbuffer.create_mark(None, cursor_position, False)
		cursor_position.backward_char()
		textbuffer.place_cursor(cursor_position)
		self.__monitor_list.append((close_keyval, (begin_mark, end_mark)))
		return
Пример #4
0
def get_key_name(keyval, to_upper=False):
    '''
    Get key name with given key value.
    
    @param keyval: Key value.
    @param to_upper: Set as True to return upper key name, default is False.
    @return: Return key name with given key value.
    '''
    if to_upper:
        key_unicode = gdk.keyval_to_unicode(gdk.keyval_to_upper(keyval))
    else:
        key_unicode = gdk.keyval_to_unicode(keyval)
    if key_unicode == 0:
        return gdk.keyval_name(keyval)
    else:
        return str(unichr(key_unicode))
Пример #5
0
	def __keyboard_handler(self, event):
		# Modifier checks
#		from gtk import accelerator_get_default_mod_mask
#		modifier_mask = accelerator_get_default_mod_mask()
		translate = self.__keymap.translate_keyboard_state
		data = translate(event.hardware_keycode, event.state, event.group)
		keyval, egroup, level, consumed = data
		active_mask = any_on = event.state & ~consumed & ALL_MASK
		ctrl_on = active_mask == CONTROL_MASK
		shift_on = active_mask == SHIFT_MASK
		# Handle backspace key press event.
		if not any_on and event.keyval == BackSpace: return self.__handle_deletion("backspace")
		# Handle delete key press event.
		if not any_on and event.keyval == Delete: return self.__handle_deletion("delete")
		# Allow insertion of regular characters into the editing area.
		if not any_on and event.string and keyval_to_unicode(event.keyval): return False
		# Adds column edit points.
		if ctrl_on and event.keyval == Down: return self.__toggle_column_edit_point("down")
		if ctrl_on and event.keyval == Up: return self.__toggle_column_edit_point("up")
		# Allow cursor navigation with arrow keys.
		if event.keyval in ARROW_KEYS: return self.__handle_arrow_keys()
		if event.keyval in SAFE_KEYS: return False
		# Allow insertion of special unicode characters.
		if ctrl_on and shift_on and event.keyval in UNICODE_KEYS: return False
		# Escape exits multi edit mode
		if not any_on and (event.keyval == Escape): return False
		# <ctrl>i adds or removes edit points.
		if ctrl_on and (event.keyval == i): return self.__handle_ctrl_i()
		return True
Пример #6
0
def getKeyName(keyval):
    '''Get key name.'''
    keyUnicode = gdk.keyval_to_unicode(keyval)
    if keyUnicode == 0:
        return gdk.keyval_name(keyval)
    else:
        return str(unichr(keyUnicode))
Пример #7
0
def getKeyName(keyval):
    '''Get key name.'''
    keyUnicode = gdk.keyval_to_unicode(keyval)
    if keyUnicode == 0:
        return gdk.keyval_name(keyval)
    else:
        return str(unichr(keyUnicode))
Пример #8
0
def get_key_name(keyval, to_upper=False):
    '''
    Get key name with given key value.

    @param keyval: Key value.
    @param to_upper: Set as True to return upper key name, default is False.
    @return: Return key name with given key value.
    '''
    if to_upper:
        key_unicode = gdk.keyval_to_unicode(gdk.keyval_to_upper(keyval))
    else:
        key_unicode = gdk.keyval_to_unicode(gdk.keyval_convert_case(keyval)[0])

    if key_unicode == 0:
        return gdk.keyval_name(keyval)
    else:
        return str(unichr(key_unicode))
Пример #9
0
 def __insert_pair_characters(self, open_keyval, close_keyval):
     textbuffer = self.__editor.textbuffer
     from gtk.gdk import keyval_to_unicode
     utf8_open_character = unichr(
         keyval_to_unicode(open_keyval)).encode("utf-8")
     utf8_closing_character = unichr(
         keyval_to_unicode(close_keyval)).encode("utf-8")
     cursor_position = self.__editor.cursor
     begin_mark = textbuffer.create_mark(None, cursor_position, True)
     textbuffer.begin_user_action()
     textbuffer.insert_at_cursor(utf8_open_character +
                                 utf8_closing_character)
     textbuffer.end_user_action()
     cursor_position = self.__editor.cursor
     end_mark = textbuffer.create_mark(None, cursor_position, False)
     cursor_position.backward_char()
     textbuffer.place_cursor(cursor_position)
     self.__monitor_list.append((close_keyval, (begin_mark, end_mark)))
     return
Пример #10
0
 def keycode2char(self, keycode, mods, group=0):
     char = ''
     name = ''
     info = self._keymap.translate_keyboard_state(keycode, mods, group)
     if info:
         keysym = info[0]
         char = gdk.keyval_to_unicode(keysym)  # @UndefinedVariable
         if char:
             char = unichr(char)
         name = gdk.keyval_name(keysym)  # @UndefinedVariable
         
     return char or '', name or ''
Пример #11
0
def get_key_name(keyval):
    '''
    Get key name with given key value.
    
    @param keyval: Key value.
    @return: Return key name with given key value.
    '''
    key_unicode = gdk.keyval_to_unicode(keyval)
    if key_unicode == 0:
        return gdk.keyval_name(keyval)
    else:
        return str(unichr(key_unicode))
Пример #12
0
 def __remove_closing_pair_character(self):
     textbuffer = self.__editor.textbuffer
     begin_mark = self.__monitor_list[-1][1][0]
     end_mark = self.__monitor_list[-1][1][1]
     begin = textbuffer.get_iter_at_mark(begin_mark)
     end = textbuffer.get_iter_at_mark(end_mark)
     if (len(textbuffer.get_text(begin, end)) != 2): return False
     begin.forward_char()
     from gtk.gdk import keyval_to_unicode
     close_keyval = self.__monitor_list[-1][0]
     character = unichr(keyval_to_unicode(close_keyval)).encode("utf-8")
     if (begin.get_char() != character): return False
     self.__editor.begin_user_action()
     begin.backward_char()
     textbuffer.begin_user_action()
     textbuffer.delete(begin, end)
     textbuffer.end_user_action()
     message = _("Removed pair character")
     self.__editor.update_message(message, "pass")
     self.__editor.end_user_action()
     return True
Пример #13
0
	def __remove_closing_pair_character(self):
		textbuffer = self.__editor.textbuffer
		begin_mark = self.__monitor_list[-1][1][0]
		end_mark = self.__monitor_list[-1][1][1]
		begin = textbuffer.get_iter_at_mark(begin_mark)
		end = textbuffer.get_iter_at_mark(end_mark)
		if (len(textbuffer.get_text(begin, end)) != 2): return False
		begin.forward_char()
		from gtk.gdk import keyval_to_unicode
		close_keyval = self.__monitor_list[-1][0]
		character = unichr(keyval_to_unicode(close_keyval)).encode("utf-8")
		if (begin.get_char() != character): return False
		self.__editor.begin_user_action()
		begin.backward_char()
		textbuffer.begin_user_action()
		textbuffer.delete(begin, end)
		textbuffer.end_user_action()
		message = _("Removed pair character")
		self.__editor.update_message(message, "pass")
		self.__editor.end_user_action()
		return True
Пример #14
0
def test_keyval_to_unicode_for_latin1():
    for keyval in latin1range:
        assert gdk.keyval_to_unicode(keyval) == keyval
Пример #15
0
def test_keyval_to_unicode_other():
    '''
    Just sample some data points.
    '''
    assert gdk.keyval_to_unicode(0x01bd) == 0x02dd
    assert gdk.keyval_to_unicode(0x06b9) == 0x0409
Пример #16
0
 def __insert_apostrophe(self):
     from gtk.gdk import keyval_to_unicode
     utf8_apostrophe_character = unichr(
         keyval_to_unicode(keysyms.apostrophe)).encode("utf-8")
     self.__editor.textbuffer.insert_at_cursor(utf8_apostrophe_character)
     return
Пример #17
0
	def __insert_apostrophe(self):
		from gtk.gdk import keyval_to_unicode
		utf8_apostrophe_character = unichr(keyval_to_unicode(keysyms.apostrophe)).encode("utf-8")
		self.__editor.textbuffer.insert_at_cursor(utf8_apostrophe_character)
		return
Пример #18
0
def name2unicode(name):
    keysym = gdk.keyval_from_name(name)  # @UndefinedVariable
    return gdk.keyval_to_unicode(keysym)  # @UndefinedVariable
Пример #19
0
def keysym2char(keysym):
    char = gdk.keyval_to_unicode(keysym)  # @UndefinedVariable
    return unichr(char) if char else ""