aboutsummaryrefslogtreecommitdiff
path: root/libjava/jni/gtk-peer
diff options
context:
space:
mode:
authorThomas Fitzsimmons <fitzsim@redhat.com>2003-10-07 21:33:29 +0000
committerThomas Fitzsimmons <fitzsim@gcc.gnu.org>2003-10-07 21:33:29 +0000
commitff4cc28b6483f5b34187750c96a77248771aa146 (patch)
tree80b71e797e1e02c98da15da3d83d404307827f60 /libjava/jni/gtk-peer
parent5c8d90405f04cdd193273d30ead2a0c08d766e36 (diff)
downloadgcc-ff4cc28b6483f5b34187750c96a77248771aa146.zip
gcc-ff4cc28b6483f5b34187750c96a77248771aa146.tar.gz
gcc-ff4cc28b6483f5b34187750c96a77248771aa146.tar.bz2
GtkTextAreaPeer.java (gtkTextGetSize): Remove unused parameters.
2003-10-07 Thomas Fitzsimmons <fitzsim@redhat.com> * gnu/java/awt/peer/gtk/GtkTextAreaPeer.java (gtkTextGetSize): Remove unused parameters. * gnu/java/awt/peer/gtk/GtkTextFieldPeer.java (gtkEntryGetSize): Likewise. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c (keyevent_state_to_awt_mods): Export function. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c (getCaretPosition): Fix TextArea case. (textcomponent_commit_cb): Get exact event time and modifier state. * jni/gtk-peer/gtkpeer.h: Declare keyevent_state_to_awt_mods. From-SVN: r72202
Diffstat (limited to 'libjava/jni/gtk-peer')
-rw-r--r--libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c2
-rw-r--r--libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c8
-rw-r--r--libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c21
-rw-r--r--libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c2
-rw-r--r--libjava/jni/gtk-peer/gtkpeer.h2
5 files changed, 14 insertions, 21 deletions
diff --git a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
index 481fadf..90ff6f4 100644
--- a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
+++ b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
@@ -91,7 +91,7 @@ state_to_awt_mods (guint state)
key press event with modifiers=Shift, and a key release event with
no modifiers. GDK's key events behave in the exact opposite way,
so this translation code is needed. */
-static jint
+jint
keyevent_state_to_awt_mods (GdkEvent *event)
{
jint result = 0;
diff --git a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
index 9a62c1a..77b4ae7 100644
--- a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
+++ b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
@@ -54,13 +54,11 @@ Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_create
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_container_add (GTK_CONTAINER (sw), text);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
-
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
/* horizontal scrollbar */
(scroll == AWT_TEXTAREA_SCROLLBARS_BOTH
|| scroll == AWT_TEXTAREA_SCROLLBARS_HORIZONTAL_ONLY) ?
GTK_POLICY_ALWAYS : GTK_POLICY_NEVER,
-
/* vertical scrollbar */
(scroll == AWT_TEXTAREA_SCROLLBARS_BOTH
|| scroll == AWT_TEXTAREA_SCROLLBARS_VERTICAL_ONLY) ?
@@ -73,12 +71,11 @@ Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_create
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_gtkTextGetSize
- (JNIEnv *env, jobject obj, jint rows, jint cols, jintArray jdims)
+ (JNIEnv *env, jobject obj, jintArray jdims)
{
void *ptr;
jint *dims;
GtkWidget *text;
-/* GtkScrolledWindow *sw; */
GtkRequisition requisition;
ptr = NSA_GET_PTR (env, obj);
@@ -89,7 +86,6 @@ Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_gtkTextGetSize
gdk_threads_enter ();
text = GTK_WIDGET (TEXT_FROM_SW (ptr));
- /* sw = GTK_SCROLLED_WINDOW (ptr); */
gtk_widget_size_request(GTK_WIDGET (text), &requisition);
dims[0] = requisition.width;
diff --git a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c
index 29689fb..b964ffd 100644
--- a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c
+++ b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c
@@ -37,6 +37,7 @@ exception statement from your version. */
#include "gtkpeer.h"
+#include "gnu_java_awt_peer_gtk_GtkComponentPeer.h"
#include "gnu_java_awt_peer_gtk_GtkTextComponentPeer.h"
static void textcomponent_commit_cb (GtkIMContext *context,
@@ -149,7 +150,6 @@ Java_gnu_java_awt_peer_gtk_GtkTextComponentPeer_setCaretPosition
GtkEditable *editable; // type of GtkEntry (TextField)
GtkWidget *text = NULL; // type of GtkTextView (TextArea)
GtkTextBuffer *buf;
- GtkTextMark *mark;
GtkTextIter iter;
ptr = NSA_GET_PTR (env, obj);
@@ -174,9 +174,8 @@ Java_gnu_java_awt_peer_gtk_GtkTextComponentPeer_setCaretPosition
if (text)
{
buf = gtk_text_view_get_buffer (GTK_TEXT_VIEW (text));
- mark = gtk_text_buffer_get_insert (buf);
- gtk_text_buffer_get_iter_at_mark (buf, &iter, mark);
- gtk_text_iter_set_offset (&iter, pos);
+ gtk_text_buffer_get_iter_at_offset (buf, &iter, pos);
+ gtk_text_buffer_place_cursor (buf, &iter);
}
}
@@ -417,7 +416,6 @@ Java_gnu_java_awt_peer_gtk_GtkTextComponentPeer_setText
const char *str;
GtkWidget *text = NULL; // type of GtkTextView (TextArea)
GtkTextBuffer *buf;
- jobject *obj_ptr;
ptr = NSA_GET_PTR (env, obj);
str = (*env)->GetStringUTFChars (env, contents, NULL);
@@ -458,27 +456,24 @@ textcomponent_commit_cb (GtkIMContext *context,
{
/* str is a \0-terminated UTF-8 encoded character. */
gunichar2 *jc = g_utf8_to_utf16 (str, -1, NULL, NULL, NULL);
+ GdkEvent *event = gtk_get_current_event ();
if (jc)
(*gdk_env)->CallVoidMethod (gdk_env, peer,
postKeyEventID,
(jint) AWT_KEY_TYPED,
- /* We don't have access to the event
- that caused this commit signal to
- be fired. So approximate the event
- time... */
- (jlong) gdk_event_get_time (NULL),
- /* ... and assume no modifiers. */
- 0,
+ (jlong) event->key.time,
+ keyevent_state_to_awt_mods (event),
VK_UNDEFINED,
(jchar) jc[0],
AWT_KEY_LOCATION_UNKNOWN);
g_free (jc);
+ gdk_event_free (event);
}
static void
textcomponent_changed_cb (GtkEditable *editable,
- jobject peer)
+ jobject peer)
{
(*gdk_env)->CallVoidMethod (gdk_env, peer, postTextEventID);
}
diff --git a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
index ee6132d..b075a69 100644
--- a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
+++ b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
@@ -54,7 +54,7 @@ Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_create
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_gtkEntryGetSize
- (JNIEnv *env, jobject obj, jint cols, jintArray jdims)
+ (JNIEnv *env, jobject obj, jintArray jdims)
{
void *ptr;
jint *dims;
diff --git a/libjava/jni/gtk-peer/gtkpeer.h b/libjava/jni/gtk-peer/gtkpeer.h
index 8f38953..29414e1 100644
--- a/libjava/jni/gtk-peer/gtkpeer.h
+++ b/libjava/jni/gtk-peer/gtkpeer.h
@@ -380,6 +380,8 @@ GtkLayout *find_gtk_layout (GtkWidget *parent);
void setup_window (JNIEnv *env, jobject obj, GtkWidget *window, jint width,
jint height, jboolean visible);
+jint keyevent_state_to_awt_mods (GdkEvent *event);
+
struct item_event_hook_info
{
jobject peer_obj;