classpath-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cp-patches] FYI: Import TextField colours fixlet


From: Mark Wielaard
Subject: [cp-patches] FYI: Import TextField colours fixlet
Date: Sat, 31 Jul 2004 23:42:33 +0200

Hi,

This imports two TextField fixlets from the libgcj gui branch.

2004-07-31  Mark Wielaard  <address@hidden>

        * include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h: Regenerated.

2004-07-31  Thomas Fitzsimmons  <address@hidden>

        * gnu/java/awt/peer/gtk/GtkTextFieldPeer.java (create): Use tf
        variable in setEditable call.

        * gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
        jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
        (gtkWidgetSetBackground): New method.
        (gtkWidgetSetForeground): Likewise.
        (create): Set peer's editable state based on awtComponent's.

Committed.

Mark

Index: gnu/java/awt/peer/gtk/GtkTextFieldPeer.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,v
retrieving revision 1.25
diff -u -r1.25 GtkTextFieldPeer.java
--- gnu/java/awt/peer/gtk/GtkTextFieldPeer.java 31 Jul 2004 16:39:15 -0000      
1.25
+++ gnu/java/awt/peer/gtk/GtkTextFieldPeer.java 31 Jul 2004 21:41:17 -0000
@@ -50,6 +50,8 @@
   implements TextFieldPeer
 {
   native void create (int width);
+  native void gtkWidgetSetBackground (int red, int green, int blue);
+  native void gtkWidgetSetForeground (int red, int green, int blue);
 
   void create ()
   {
@@ -76,6 +78,8 @@
     int text_width = cols * fm.getMaxAdvance ();
 
     create (text_width);
+
+    setEditable (tf.isEditable ());
   }
 
   native int gtkEntryGetBorderWidth ();
Index: include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h
===================================================================
RCS file: 
/cvsroot/classpath/classpath/include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h,v
retrieving revision 1.8
diff -u -r1.8 gnu_java_awt_peer_gtk_GtkTextFieldPeer.h
--- include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h    28 May 2004 17:27:53 
-0000      1.8
+++ include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h    31 Jul 2004 21:41:18 
-0000
@@ -11,6 +11,8 @@
 #endif
 
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_create 
(JNIEnv *env, jobject, jint);
+JNIEXPORT void JNICALL 
Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_gtkWidgetSetBackground (JNIEnv 
*env, jobject, jint, jint, jint);
+JNIEXPORT void JNICALL 
Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_gtkWidgetSetForeground (JNIEnv 
*env, jobject, jint, jint, jint);
 JNIEXPORT jint JNICALL 
Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_gtkEntryGetBorderWidth (JNIEnv 
*env, jobject);
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_gtkSetFont 
(JNIEnv *env, jobject, jstring, jint, jint);
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_setEchoChar 
(JNIEnv *env, jobject, jchar);
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c,v
retrieving revision 1.16
diff -u -r1.16 gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c        26 Jun 
2004 16:07:03 -0000      1.16
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c        31 Jul 
2004 21:41:18 -0000
@@ -62,6 +62,47 @@
   NSA_SET_PTR (env, obj, entry);
 }
 
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_gtkWidgetSetBackground
+  (JNIEnv *env, jobject obj, jint red, jint green, jint blue)
+{
+  GdkColor color;
+  void *ptr;
+
+  ptr = NSA_GET_PTR (env, obj);
+
+  color.red = (red / 255.0) * 65535;
+  color.green = (green / 255.0) * 65535;
+  color.blue = (blue / 255.0) * 65535;
+
+  gdk_threads_enter ();
+
+  gtk_widget_modify_base (GTK_WIDGET (ptr), GTK_STATE_NORMAL, &color);
+
+  gdk_threads_leave ();
+}
+
+JNIEXPORT void JNICALL 
+Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_gtkWidgetSetForeground
+  (JNIEnv *env, jobject obj, jint red, jint green, jint blue)
+{
+  GdkColor color;
+  void *ptr;
+
+  ptr = NSA_GET_PTR (env, obj);
+
+  color.red = (red / 255.0) * 65535;
+  color.green = (green / 255.0) * 65535;
+  color.blue = (blue / 255.0) * 65535;
+
+  gdk_threads_enter ();
+
+  gtk_widget_modify_text (GTK_WIDGET (ptr), GTK_STATE_NORMAL, &color);
+  gtk_widget_modify_base (GTK_WIDGET (ptr), GTK_STATE_SELECTED, &color);
+
+  gdk_threads_leave ();
+}
+
 JNIEXPORT jint JNICALL
 Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_gtkEntryGetBorderWidth
   (JNIEnv *env, jobject obj)

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]