From 49d77e22756fe0076f542dcb82cd434b54742c46 Mon Sep 17 00:00:00 2001 From: David Jee Date: Tue, 10 Feb 2004 17:12:09 +0000 Subject: [PATCH] 2004-02-10 David Jee * gnu/java/awt/peer/gtk/GtkButtonPeer.java (gtkSetLabel): New native method definition. (setLabel): Use gtkSetLabel. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c (Java_gnu_java_awt_peer_gtk_GtkButtonPeer_gtkSetLabel): New method. From-SVN: r77604 --- libjava/ChangeLog | 8 ++++++++ .../gnu/java/awt/peer/gtk/GtkButtonPeer.java | 3 ++- .../gnu_java_awt_peer_gtk_GtkButtonPeer.c | 19 +++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index ec293183985..8134d7ea4ba 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,11 @@ +2004-02-10 David Jee + + * gnu/java/awt/peer/gtk/GtkButtonPeer.java + (gtkSetLabel): New native method definition. + (setLabel): Use gtkSetLabel. + * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c + (Java_gnu_java_awt_peer_gtk_GtkButtonPeer_gtkSetLabel): New method. + 2004-02-10 Alan Modra * include/powerpc-signal.h: Revert 2004-01-21 change. diff --git a/libjava/gnu/java/awt/peer/gtk/GtkButtonPeer.java b/libjava/gnu/java/awt/peer/gtk/GtkButtonPeer.java index 9a832265b34..cf7260c1179 100644 --- a/libjava/gnu/java/awt/peer/gtk/GtkButtonPeer.java +++ b/libjava/gnu/java/awt/peer/gtk/GtkButtonPeer.java @@ -54,6 +54,7 @@ public class GtkButtonPeer extends GtkComponentPeer public native void connectSignals (); native void gtkSetFont(String name, int style, int size); + native void gtkSetLabel(String label); native void gtkWidgetSetForeground (int red, int green, int blue); public GtkButtonPeer (Button b) @@ -63,7 +64,7 @@ public class GtkButtonPeer extends GtkComponentPeer public void setLabel (String label) { - set ("label", label); + gtkSetLabel(label); } public void handleEvent (AWTEvent e) diff --git a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c index e16b2d457d6..7f5d44a2d7c 100644 --- a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c +++ b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c @@ -87,6 +87,25 @@ Java_gnu_java_awt_peer_gtk_GtkButtonPeer_connectSignals Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectSignals (env, obj); } +JNIEXPORT void JNICALL +Java_gnu_java_awt_peer_gtk_GtkButtonPeer_gtkSetLabel + (JNIEnv *env, jobject obj, jstring jtext) +{ + const char *text; + GtkWidget *label; + void *ptr; + + ptr = NSA_GET_PTR (env, obj); + label = gtk_bin_get_child (GTK_BIN(ptr)); + text = (*env)->GetStringUTFChars (env, jtext, NULL); + + gdk_threads_enter (); + gtk_label_set_text (GTK_LABEL(label), text); + gdk_threads_leave (); + + (*env)->ReleaseStringUTFChars (env, jtext, text); +} + JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkButtonPeer_gtkSetFont (JNIEnv *env, jobject obj, jstring name, jint style, jint size) -- 2.30.2