diff options
author | Felipe Heidrich <fheidric> | 2003-06-25 23:27:25 +0000 |
---|---|---|
committer | Felipe Heidrich <fheidric> | 2003-06-25 23:27:25 +0000 |
commit | e8a5731799712d4724598a9699f089cf83271c5b (patch) | |
tree | 501943abda5fc69cae3b4b943287d6a5cad5852b | |
parent | 59124fe45bc62dc05d6f8a78c7e936f7818e1671 (diff) | |
download | eclipse.platform.swt-e8a5731799712d4724598a9699f089cf83271c5b.tar.gz eclipse.platform.swt-e8a5731799712d4724598a9699f089cf83271c5b.tar.xz eclipse.platform.swt-e8a5731799712d4724598a9699f089cf83271c5b.zip |
*** empty log message ***
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java index 12a263d635..dfa65770ff 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java @@ -251,6 +251,8 @@ public void append (String string) { OS.gtk_text_buffer_get_end_iter (bufferHandle, position); OS.gtk_text_buffer_insert (bufferHandle, position, buffer, buffer.length); OS.gtk_text_buffer_place_cursor (bufferHandle, position); + int mark = OS.gtk_text_buffer_get_insert (bufferHandle); + OS.gtk_text_view_scroll_mark_onscreen (handle, mark); } } @@ -823,6 +825,9 @@ int gtk_changed (int widget) { int gtk_commit (int imContext, int text) { if (text == 0) return 0; + if ((style & SWT.SINGLE) != 0) { + if (!OS.gtk_editable_get_editable (handle)) return 0; + } int length = OS.strlen (text); if (length == 0) return 0; byte [] buffer = new byte [length]; @@ -988,6 +993,8 @@ public void insert (String string) { } OS.gtk_text_buffer_insert (bufferHandle, start, buffer, buffer.length); OS.gtk_text_buffer_place_cursor (bufferHandle, start); + int mark = OS.gtk_text_buffer_get_insert (bufferHandle); + OS.gtk_text_view_scroll_mark_onscreen (handle, mark); } } @@ -1236,7 +1243,9 @@ public void setSelection (int start) { } else { byte [] position = new byte [ITER_SIZEOF]; OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, position, start); - OS.gtk_text_buffer_place_cursor (bufferHandle, position); + OS.gtk_text_buffer_place_cursor (bufferHandle, position); + int mark = OS.gtk_text_buffer_get_insert (bufferHandle); + OS.gtk_text_view_scroll_mark_onscreen (handle, mark); } } @@ -1373,6 +1382,8 @@ public void setText (String string) { OS.gtk_text_buffer_set_text (bufferHandle, buffer, buffer.length); OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, position, 0); OS.gtk_text_buffer_place_cursor (bufferHandle, position); + int mark = OS.gtk_text_buffer_get_insert (bufferHandle); + OS.gtk_text_view_scroll_mark_onscreen (handle, mark); } } |