Allow textview freely move cursor

master
Yevgen Muntyan 2005-11-11 20:15:49 +00:00
parent 21b8242f84
commit 23a4bc0996
2 changed files with 13 additions and 1 deletions

View File

@ -93,6 +93,7 @@ class _ReadLine(object):
False)
self.buffer.connect("insert-text", self.on_buf_insert)
self.buffer.connect("delete-range", self.on_buf_delete)
self.buffer.connect("mark-set", self.on_buf_mark_set)
self.do_insert = False
self.do_delete = False
@ -118,6 +119,16 @@ class _ReadLine(object):
self.in_raw_input = True
def on_buf_mark_set(self, buffer, iter, mark):
if not mark is buffer.get_insert():
return
start = self.__get_start()
end = self.__get_end()
if iter.compare(self.__get_start()) >= 0 and \
iter.compare(self.__get_end()) <= 0:
buffer.move_mark_by_name("cursor", iter)
self.scroll_to_mark(self.cursor, 0.2)
def __insert(self, iter, text):
self.do_insert = True
self.buffer.insert(iter, text)
@ -524,4 +535,4 @@ if __name__ == '__main__':
window.connect("destroy", gtk.main_quit)
gtk.main()
# kate: space-indent on; indent-width 4
# kate: space-indent on; indent-width 4; strip on;

View File

@ -65,3 +65,4 @@ class Plugin(moo.edit.Plugin):
window.show_all()
moo.edit.plugin_register(Plugin)
# kate: indent-width 4; space-indent on