summaryrefslogtreecommitdiffstats
path: root/libjava/gnu/java/awt/peer/gtk/GtkTextComponentPeer.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/gnu/java/awt/peer/gtk/GtkTextComponentPeer.java')
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkTextComponentPeer.java42
1 files changed, 21 insertions, 21 deletions
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkTextComponentPeer.java b/libjava/gnu/java/awt/peer/gtk/GtkTextComponentPeer.java
index d9ebd40aa72..102e43973a1 100644
--- a/libjava/gnu/java/awt/peer/gtk/GtkTextComponentPeer.java
+++ b/libjava/gnu/java/awt/peer/gtk/GtkTextComponentPeer.java
@@ -39,6 +39,7 @@ exception statement from your version. */
package gnu.java.awt.peer.gtk;
import java.awt.peer.*;
import java.awt.*;
+import java.awt.event.*;
public class GtkTextComponentPeer extends GtkComponentPeer
implements TextComponentPeer
@@ -51,32 +52,14 @@ public class GtkTextComponentPeer extends GtkComponentPeer
}
public native int getCaretPosition ();
- public void setCaretPosition (int pos)
- {
- set ("text_position", pos);
- }
+ public native void setCaretPosition (int pos);
public native int getSelectionStart ();
public native int getSelectionEnd ();
public native String getText ();
public native void select (int start, int end);
-
- public void setEditable (boolean state)
- {
- set ("editable", state);
- }
-
+ public native void setEditable (boolean state);
public native void setText (String text);
-
- public void getArgs (Component component, GtkArgList args)
- {
- super.getArgs (component, args);
-
- TextComponent tc = (TextComponent) component;
-
- args.add ("text_position", tc.getCaretPosition ());
- args.add ("editable", tc.isEditable ());
- }
-
+
public int getIndexAtPoint(int x, int y)
{
return 0; // FIXME
@@ -91,4 +74,21 @@ public class GtkTextComponentPeer extends GtkComponentPeer
{
return filter; // FIXME
}
+
+ protected void postTextEvent ()
+ {
+ q.postEvent (new TextEvent (awtComponent, TextEvent.TEXT_VALUE_CHANGED));
+ }
+
+ public void handleEvent (AWTEvent e)
+ {
+ if (e.getID () == KeyEvent.KEY_TYPED
+ && ((TextComponent)e.getSource()).isEditable())
+ {
+ KeyEvent ke = (KeyEvent)e;
+
+ if (!ke.isConsumed())
+ postTextEvent ();
+ }
+ }
}
OpenPOWER on IntegriCloud