ui/gtk/text.c

changeset 90
2019fdbaadfd
parent 65
4697592e24ba
child 94
d51e334c1439
--- a/ui/gtk/text.c	Sun Feb 15 15:44:24 2015 +0100
+++ b/ui/gtk/text.c	Tue Feb 17 20:12:22 2015 +0100
@@ -110,6 +110,7 @@
         value->set = ui_textarea_set;
         value->getsubstr = ui_textarea_getsubstr;
         value->insert = ui_textarea_insert;
+        value->setposition = ui_textarea_setposition;
         value->position = ui_textarea_position;
         value->selection = ui_textarea_selection;
         value->length = ui_textarea_length;
@@ -198,11 +199,18 @@
     gtk_text_buffer_insert(text->obj, &offset, str, -1);
 }
 
+void ui_textarea_setposition(UiText *text, int pos) {
+    GtkTextIter iter;
+    gtk_text_buffer_get_iter_at_offset(text->obj, &iter, pos);
+    gtk_text_buffer_place_cursor(text->obj, &iter);
+}
+
 int ui_textarea_position(UiText *text) {
     GtkTextIter begin;
     GtkTextIter end;
     gtk_text_buffer_get_selection_bounds(text->obj, &begin, &end);
-    return gtk_text_iter_get_offset(&begin);
+    text->pos = gtk_text_iter_get_offset(&begin);
+    return text->pos;
 }
 
 void ui_textarea_selection(UiText *text, int *begin, int *end) {

mercurial