summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelipe Heidrich <fheidric>2003-06-25 23:27:25 +0000
committerFelipe Heidrich <fheidric>2003-06-25 23:27:25 +0000
commite8a5731799712d4724598a9699f089cf83271c5b (patch)
tree501943abda5fc69cae3b4b943287d6a5cad5852b
parent59124fe45bc62dc05d6f8a78c7e936f7818e1671 (diff)
downloadeclipse.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.java13
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);
}
}