classpath-patches
[Top][All Lists]
Advanced

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

[cp-patches] FYI: Migrate java.awt.Choice native peer to GtkComboBox


From: Mark Wielaard
Subject: [cp-patches] FYI: Migrate java.awt.Choice native peer to GtkComboBox
Date: Sat, 31 Jul 2004 23:13:45 +0200

Hi all,

This merges in the GtkComboBox GTK+ peer implementation of
java.awt.Choice from the libgcj gui branch.

It also fixes a small mistake I made while merging in the GtkArgs
removal patch.

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

        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
        (gtkWidgetSetSensitive): Removed.
        (gtkWidgetSetParent): Removed.
        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
        (gtkWidgetSetSensitive): New method.
        (gtkWidgetSetParent): Likewise.
        Remove all set methods.
        * include/gnu_java_awt_peer_gtk_GtkChoicePeer.h: Regenerated.

2004-07-31  David Jee  <address@hidden>

        * gnu/java/awt/peer/gtk/GtkChoicePeer.java
        (GtkChoicePeer): Do not automatically select first item.
        (getHistory): Remove.
        (nativeGetSelected): New method.
        (nativeRemoveAll): New method.
        (add): Use nativeGetSelected() instead of getHistory().
        (remove): Likewise.
        (removeAll): Call nativeRemoveAll().
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
        (create): Migrate to GtkComboBox.
        (append): Likewise.
        (nativeAdd): Likewise.
        (nativeRemove): Likewise.
        (select): Likewise.
        (nativeRemoveAll): New method.
        (nativeGetSelected): New method.
        (selection_changed): New method.
        (getHistory): Remove.
        (item_activate): Remove.
        (item_removed): Remove.
        (connect_choice_item_selectable_hook): Remove.

Committed.

Mark
? gnu/classpath/Configuration.java
Index: gnu/java/awt/peer/gtk/GtkChoicePeer.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java,v
retrieving revision 1.16
diff -u -r1.16 GtkChoicePeer.java
--- gnu/java/awt/peer/gtk/GtkChoicePeer.java    10 Jan 2004 22:42:19 -0000      
1.16
+++ gnu/java/awt/peer/gtk/GtkChoicePeer.java    31 Jul 2004 21:10:52 -0000
@@ -58,25 +58,22 @@
          items[i] = c.getItem (i);
          
        append (items);
-
-        // Must set our state before notifying listeners
-       ((Choice) awtComponent).select (c.getItem (0));
-       postItemEvent (c.getItem (0), ItemEvent.SELECTED);
       }
   }
 
   native void create ();
 
   native void append (String items[]);
-  native int getHistory ();
+  native int nativeGetSelected ();
   native void nativeAdd (String item, int index);
   native void nativeRemove (int index);
+  native void nativeRemoveAll ();
 
   native public void select (int position);
  
   public void add (String item, int index)
   {
-    int before = getHistory();
+    int before = nativeGetSelected();
     
     nativeAdd (item, index);
     
@@ -92,11 +89,11 @@
 
   public void remove (int index)
   {
-    int before = getHistory();
+    int before = nativeGetSelected();
     int after;
     
     nativeRemove (index);
-    after = getHistory();
+    after = nativeGetSelected();
     
     /* Generate an ItemEvent if we are removing the currently selected item
        and there are at least one item left. */
@@ -110,7 +107,7 @@
 
   public void removeAll ()
   {
-    nativeRemove (-1);
+    nativeRemoveAll();
   }
   
   public void addItem (String item, int position)
Index: include/gnu_java_awt_peer_gtk_GtkChoicePeer.h
===================================================================
RCS file: 
/cvsroot/classpath/classpath/include/gnu_java_awt_peer_gtk_GtkChoicePeer.h,v
retrieving revision 1.4
diff -u -r1.4 gnu_java_awt_peer_gtk_GtkChoicePeer.h
--- include/gnu_java_awt_peer_gtk_GtkChoicePeer.h       28 May 2004 17:27:52 
-0000      1.4
+++ include/gnu_java_awt_peer_gtk_GtkChoicePeer.h       31 Jul 2004 21:10:52 
-0000
@@ -12,9 +12,10 @@
 
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkChoicePeer_create (JNIEnv 
*env, jobject);
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkChoicePeer_append (JNIEnv 
*env, jobject, jobjectArray);
-JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_gtk_GtkChoicePeer_getHistory 
(JNIEnv *env, jobject);
+JNIEXPORT jint JNICALL 
Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeGetSelected (JNIEnv *env, 
jobject);
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeAdd 
(JNIEnv *env, jobject, jstring, jint);
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeRemove 
(JNIEnv *env, jobject, jint);
+JNIEXPORT void JNICALL 
Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeRemoveAll (JNIEnv *env, jobject);
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkChoicePeer_select (JNIEnv 
*env, jobject, jint);
 
 #ifdef __cplusplus
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c,v
retrieving revision 1.10
diff -u -r1.10 gnu_java_awt_peer_gtk_GtkChoicePeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c   30 Jul 2004 
23:16:58 -0000      1.10
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c   31 Jul 2004 
21:10:52 -0000
@@ -39,37 +39,27 @@
 #include "gtkpeer.h"
 #include "gnu_java_awt_peer_gtk_GtkChoicePeer.h"
 
-static void connect_choice_item_selectable_hook (JNIEnv *env, 
-                                                jobject peer_obj, 
-                                                GtkItem *menuitem, 
-                                                const char *label);
+static void selection_changed (GtkComboBox *combobox, gpointer data);
 
 JNIEXPORT void JNICALL 
 Java_gnu_java_awt_peer_gtk_GtkChoicePeer_create 
   (JNIEnv *env, jobject obj)
 {
   GtkWidget *menu;
-  GtkOptionMenu *option_menu;
-  GtkRequisition child_requisition;
+  GtkComboBox *combobox;
 
   NSA_SET_GLOBAL_REF (env, obj);
 
   gdk_threads_enter ();
   
-  option_menu = GTK_OPTION_MENU (gtk_option_menu_new ());
-  menu = gtk_menu_new ();
-  gtk_widget_show (menu);
-
-  gtk_option_menu_set_menu (GTK_OPTION_MENU (option_menu), menu);
-
-  gtk_widget_size_request (gtk_menu_item_new_with_label (""), 
-                          &child_requisition);
-  option_menu->width = child_requisition.width;
-  option_menu->height = child_requisition.height;
+  combobox = gtk_combo_box_new_text ();
+
+  g_signal_connect (combobox, "changed",
+                    G_CALLBACK (selection_changed), obj);
 
   gdk_threads_leave ();
 
-  NSA_SET_PTR (env, obj, option_menu);
+  NSA_SET_PTR (env, obj, combobox);
 }
 
 JNIEXPORT void JNICALL 
@@ -77,45 +67,27 @@
   (JNIEnv *env, jobject obj, jobjectArray items)
 {
   gpointer ptr;
-  GtkMenu *menu;
   jsize count, i;
-  int need_set_history = 0;
 
   ptr = NSA_GET_PTR (env, obj);
 
   gdk_threads_enter ();
 
-  menu = GTK_MENU (gtk_option_menu_get_menu (GTK_OPTION_MENU (ptr)));
-
-  /* Are we adding the first element? */
-  if (gtk_option_menu_get_history (GTK_OPTION_MENU (ptr)) < 0)
-      need_set_history = 1;
-
   count = (*env)->GetArrayLength (env, items);
 
   for (i = 0; i < count; i++) 
     {
       jobject item;
       const char *label;
-      GtkWidget *menuitem;
 
       item = (*env)->GetObjectArrayElement (env, items, i);
       label = (*env)->GetStringUTFChars (env, item, NULL);
 
-      menuitem = gtk_menu_item_new_with_label (label);
-      gtk_menu_append (menu, menuitem);
-      gtk_widget_show (menuitem);
-
-      connect_choice_item_selectable_hook (env, obj, 
-                                          GTK_ITEM (menuitem), label);
+      gtk_combo_box_append_text (GTK_COMBO_BOX (ptr), label);
 
       (*env)->ReleaseStringUTFChars (env, item, label);
     }
 
-  /* If we just added the first element select it. */  
-  if (need_set_history)
-    gtk_option_menu_set_history (GTK_OPTION_MENU (ptr), 0);
-
   gdk_threads_leave ();
 }
 
@@ -125,36 +97,13 @@
 {
   void *ptr;
   const char *label;
-  GtkWidget *menu, *menuitem;
-  int current;
-  int need_set_history = 0;
 
   ptr = NSA_GET_PTR (env, obj);
   
   label = (*env)->GetStringUTFChars (env, item, 0);      
 
   gdk_threads_enter ();
-  
-  current = gtk_option_menu_get_history (GTK_OPTION_MENU (ptr));
-
-  /* Are we adding the first element or below or at the currently
-     selected one? */
-  if ((current < 0) || (current >= index))
-      need_set_history = 1;
-
-  menu = gtk_option_menu_get_menu (GTK_OPTION_MENU (ptr));
-  menuitem = gtk_menu_item_new_with_label (label);
-  gtk_menu_insert (GTK_MENU (menu), menuitem, index);
-  gtk_widget_show (menuitem);
-
-  connect_choice_item_selectable_hook (env, obj, GTK_ITEM (menuitem), label);
-
-  /* If we just added the first element select it.
-     If we added at of below the currently selected position make
-     the first item the selected one. */  
-  if (need_set_history)
-    gtk_option_menu_set_history (GTK_OPTION_MENU (ptr), 0);
-
+  gtk_combo_box_insert_text (GTK_COMBO_BOX (ptr), index, label);
   gdk_threads_leave ();
 
   (*env)->ReleaseStringUTFChars (env, item, label);
@@ -165,50 +114,35 @@
   (JNIEnv *env, jobject obj, jint index)
 {
   void *ptr;
-  GtkContainer *menu;
-  GtkWidget *menuitem;
-  GList *children;
-  int need_set_history = 0;
-  int i, from, to;
 
   ptr = NSA_GET_PTR (env, obj);
 
   gdk_threads_enter ();
+  gtk_combo_box_remove_text (GTK_COMBO_BOX (ptr), index);
+  gdk_threads_leave ();
+}
 
-  menu = GTK_CONTAINER (gtk_option_menu_get_menu (GTK_OPTION_MENU (ptr)));
-  children = gtk_container_children (menu);
+JNIEXPORT void JNICALL 
+Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeRemoveAll 
+  (JNIEnv *env, jobject obj)
+{
+  void *ptr;
+  GtkTreeModel *model;
+  gint count, i;
 
-  if (index == -1)
-    {
-      /* Remove all elements (removeAll) */
-      from = g_list_length (children) - 1;
-      to = 0;
+  ptr = NSA_GET_PTR (env, obj);
 
-      /* Select the first item to prevent spurious activate signals */
-      gtk_option_menu_set_history (GTK_OPTION_MENU (ptr), 0);
-    }
-  else
-    {
-      /* Remove the specific index element */
-      from = index;
-      to = index;
-
-      /* Are we removing the currently selected element? */
-      if (gtk_option_menu_get_history (GTK_OPTION_MENU (ptr)) == index)
-        need_set_history = 1;
-    }
+  gdk_threads_enter ();
 
-  for (i = from; i >= to; i--)
-    {
-      menuitem = GTK_WIDGET (g_list_nth (children, i)->data);
-      gtk_container_remove (menu, menuitem);
-      gtk_widget_destroy (menuitem);
-    }
+  model = gtk_combo_box_get_model (GTK_COMBO_BOX (ptr));
+  count = gtk_tree_model_iter_n_children (model, NULL);
+
+  /* First, unselect everything, to avoid problems when removing items. */
+  gtk_combo_box_set_active (GTK_COMBO_BOX (ptr), -1);
 
-  /* If we just removed the currently selected element and there are
-     still elements left in the list, make the first item the selected one. */ 
 
-  if (need_set_history && gtk_container_children (menu))
-    gtk_option_menu_set_history (GTK_OPTION_MENU (ptr), 0);
+  for (i = count - 1; i >= 0; i--) {
+    gtk_combo_box_remove_text (GTK_COMBO_BOX (ptr), i);
+  }
 
   gdk_threads_leave ();
 }
@@ -222,12 +156,12 @@
   ptr = NSA_GET_PTR (env, obj);
 
   gdk_threads_enter ();
-  gtk_option_menu_set_history (GTK_OPTION_MENU (ptr), index);
+  gtk_combo_box_set_active (GTK_COMBO_BOX (ptr), index);
   gdk_threads_leave ();
 }
 
 JNIEXPORT jint JNICALL 
-Java_gnu_java_awt_peer_gtk_GtkChoicePeer_getHistory 
+Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeGetSelected 
   (JNIEnv *env, jobject obj)
 {
   void *ptr;
@@ -236,115 +170,38 @@
   ptr = NSA_GET_PTR (env, obj);
 
   gdk_threads_enter ();
-
-  index = gtk_option_menu_get_history (GTK_OPTION_MENU (ptr));
-
+  index = gtk_combo_box_get_active (GTK_COMBO_BOX (ptr));
   gdk_threads_leave ();
 
   return index;
 }
 
-static void
-item_activate (GtkItem *item __attribute__((unused)),
-              struct item_event_hook_info *ie)
+void selection_changed (GtkComboBox *combobox, jobject peer)
 {
   jstring label;
-  gdk_threads_leave ();
+  GtkTreeModel *model;
+  GtkTreeIter iter;
+  GValue value;
+  gchar *selected;
+  gint index;
 
-  label = (*gdk_env)->NewStringUTF (gdk_env, ie->label);
-  (*gdk_env)->CallVoidMethod (gdk_env, ie->peer_obj,
-                             choicePostItemEventID,
-                             label,
-                             (jint) AWT_ITEM_SELECTED);
-  gdk_threads_enter ();
-}
-
-static void
-item_removed (gpointer data, 
-             GClosure gc __attribute__((unused)))
-{
-  struct item_event_hook_info *ie = data;
+  index = gtk_combo_box_get_active(combobox);
 
-  free ((void *) ie->label);
-  free (ie);
-}
-
-static void
-connect_choice_item_selectable_hook (JNIEnv *env, 
-                                    jobject peer_obj, 
-                                    GtkItem *menuitem, 
-                                    const char *label)
-{
-  struct item_event_hook_info *ie;
-  jobject *peer_objGlobPtr;
-
-  ie = (struct item_event_hook_info *) 
-    malloc (sizeof (struct item_event_hook_info));
+  if (index >= 0)
+    {
+      model = gtk_combo_box_get_model (combobox);
 
-  peer_objGlobPtr = NSA_GET_GLOBAL_REF (env, peer_obj);
-  g_assert (peer_objGlobPtr);
+      gtk_combo_box_get_active_iter (combobox, &iter);
 
-  ie->peer_obj = *peer_objGlobPtr;
-  ie->label = strdup (label);
+      gtk_tree_model_get (model, &iter, 0, &selected, -1);
 
-  g_signal_connect_data (G_OBJECT (menuitem), "activate", 
-                     GTK_SIGNAL_FUNC (item_activate), ie,
-                     (GClosureNotify) item_removed, 0);
-}
+      gdk_threads_leave ();
 
-JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetParent
-(JNIEnv *env, jobject obj, jobject parent)
-{
-  void *ptr;
-  void *parent_ptr;
-  GtkWidget *widget;
-  GtkWidget *parent_widget;
-  
-  ptr = NSA_GET_PTR (env, obj);
-  parent_ptr = NSA_GET_PTR (env, parent);
-  
-  gdk_threads_enter ();
-  
-  widget = GTK_WIDGET (ptr);
-  parent_widget = GTK_WIDGET (parent_ptr);
-  
-  if (GTK_IS_WINDOW (parent_widget))
-    {
-      GList *children = gtk_container_children
-        (GTK_CONTAINER (GTK_BIN (parent_widget)->child));
-
-      if (GTK_IS_MENU_BAR (children->data))
-       gtk_layout_put (GTK_LAYOUT (children->next->data), widget, 0, 0);
-      else
-       gtk_layout_put (GTK_LAYOUT (children->data), widget, 0, 0);
+      label = (*gdk_env)->NewStringUTF (gdk_env, selected);
+      (*gdk_env)->CallVoidMethod (gdk_env, peer,
+                                 choicePostItemEventID,
+                                 label,
+                                 (jint) AWT_ITEM_SELECTED);
+      gdk_threads_enter ();
     }
-  else
-    if (GTK_IS_SCROLLED_WINDOW (parent_widget))
-      {
-       gtk_scrolled_window_add_with_viewport
-         (GTK_SCROLLED_WINDOW (parent_widget), widget);
-       gtk_viewport_set_shadow_type (GTK_VIEWPORT (widget->parent),
-                                     GTK_SHADOW_NONE);
-       
-      }
-    else
-      gtk_layout_put (GTK_LAYOUT (parent_widget), widget, 0, 0);
-  
-  gdk_threads_leave ();
-}
-
-JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetSensitive
-(JNIEnv *env, jobject obj, jboolean sensitive)
-{
-  void *ptr;
-  
-  ptr = NSA_GET_PTR (env, obj);
-  
-  gdk_threads_enter ();
-  
-  gtk_widget_set_sensitive (GTK_WIDGET (ptr), sensitive);
-  
-  gdk_threads_leave ();
 }
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c,v
retrieving revision 1.34
diff -u -r1.34 gnu_java_awt_peer_gtk_GtkComponentPeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c        31 Jul 
2004 16:39:15 -0000      1.34
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c        31 Jul 
2004 21:10:52 -0000
@@ -473,6 +473,63 @@
 }
 
 JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetParent
+  (JNIEnv *env, jobject obj, jobject parent)
+{
+  void *ptr;
+  void *parent_ptr;
+  GtkWidget *widget;
+  GtkWidget *parent_widget;
+
+  ptr = NSA_GET_PTR (env, obj);
+  parent_ptr = NSA_GET_PTR (env, parent);
+
+  gdk_threads_enter ();
+
+  widget = GTK_WIDGET (ptr);
+  parent_widget = GTK_WIDGET (parent_ptr);
+
+  if (GTK_IS_WINDOW (parent_widget))
+    {
+      GList *children = gtk_container_children 
+        (GTK_CONTAINER (GTK_BIN (parent_widget)->child));
+
+      if (GTK_IS_MENU_BAR (children->data))
+       gtk_layout_put (GTK_LAYOUT (children->next->data), widget, 0, 0);
+      else
+       gtk_layout_put (GTK_LAYOUT (children->data), widget, 0, 0);
+    }
+  else
+    if (GTK_IS_SCROLLED_WINDOW (parent_widget))
+      {
+        gtk_scrolled_window_add_with_viewport 
+          (GTK_SCROLLED_WINDOW (parent_widget), widget);
+        gtk_viewport_set_shadow_type (GTK_VIEWPORT (widget->parent), 
+                                      GTK_SHADOW_NONE);
+
+      }
+    else
+      gtk_layout_put (GTK_LAYOUT (parent_widget), widget, 0, 0);
+
+  gdk_threads_leave ();
+}
+
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetSensitive
+  (JNIEnv *env, jobject obj, jboolean sensitive)
+{
+  void *ptr;
+
+  ptr = NSA_GET_PTR (env, obj);
+
+  gdk_threads_enter ();
+
+  gtk_widget_set_sensitive (GTK_WIDGET (ptr), sensitive);
+
+  gdk_threads_leave ();
+}
+
+JNIEXPORT void JNICALL
 Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetRequestFocus
   (JNIEnv *env, jobject obj)
 {
@@ -911,45 +968,6 @@
   return NULL;
 }
 
-#define WIDGET_CLASS(w)  GTK_WIDGET_CLASS (GTK_OBJECT (w)->klass)
-
-void
-set_parent (GtkWidget *widget, GtkContainer *parent)
-{
-  if (GTK_IS_WINDOW (parent))
-    {
-      GList *children = gtk_container_children 
-                         (GTK_CONTAINER (GTK_BIN (parent)->child));
-
-      if (GTK_IS_MENU_BAR (children->data))
-       gtk_layout_put (GTK_LAYOUT (children->next->data), widget, 0, 0);
-      else /* GTK_IS_LAYOUT (children->data) */
-       gtk_layout_put (GTK_LAYOUT (children->data), widget, 0, 0);
-    }
-  else
-    if (GTK_IS_SCROLLED_WINDOW (parent))
-      {
-/*     if (WIDGET_CLASS (widget)->set_scroll_adjustments_signal) */
-/*       gtk_container_add (GTK_CONTAINER (parent), widget); */
-/*     else */
-/*       { */
-           gtk_scrolled_window_add_with_viewport 
-             (GTK_SCROLLED_WINDOW (parent), widget);
-           gtk_viewport_set_shadow_type (GTK_VIEWPORT (widget->parent), 
-                                         GTK_SHADOW_NONE);
-/*       } */
-
-      }
-/*        gtk_layout_put  */
-/*     (GTK_LAYOUT (GTK_BIN (parent)->child), widget, 0, 0); */
-
-/*      if (GTK_IS_SCROLLED_WINDOW (parent)) */
-/*        gtk_layout_put  */
-/*     (GTK_LAYOUT (GTK_BIN (GTK_BIN (parent)->child)->child), widget, 0, 0); 
*/
-    else
-      gtk_layout_put (GTK_LAYOUT (parent), widget, 0, 0);
-}
-
 JNIEXPORT jboolean JNICALL 
 Java_gnu_java_awt_peer_gtk_GtkComponentPeer_isEnabled 
   (JNIEnv *env, jobject obj)
@@ -981,105 +999,6 @@
   return retval;
 }
 
-JNIEXPORT void JNICALL 
-Java_gnu_java_awt_peer_gtk_GtkComponentPeer_set__Ljava_lang_String_2Ljava_lang_String_2
-  (JNIEnv *env, jobject obj, jstring jname, jstring jvalue)
-{
-  const char *name;
-  const char *value;
-  void *ptr;
-
-  ptr = NSA_GET_PTR (env, obj);
-  name = (*env)->GetStringUTFChars (env, jname, NULL);
-  value = (*env)->GetStringUTFChars (env, jvalue, NULL);
-
-  gdk_threads_enter();
-  g_object_set(ptr, name, value, NULL);
-  gdk_threads_leave();
-
-  (*env)->ReleaseStringUTFChars (env, jname, name);
-  (*env)->ReleaseStringUTFChars (env, jvalue, value);
-}
-
-JNIEXPORT void JNICALL 
Java_gnu_java_awt_peer_gtk_GtkComponentPeer_set__Ljava_lang_String_2Z
-  (JNIEnv *env, jobject obj, jstring jname, jboolean value)
-{
-  const char *name;
-  void *ptr;
-
-  ptr = NSA_GET_PTR (env, obj);
-
-  name = (*env)->GetStringUTFChars (env, jname, NULL);
-
-  gdk_threads_enter();
-  g_object_set(ptr, name, value, NULL);
-  gdk_threads_leave();
-
-  (*env)->ReleaseStringUTFChars (env, jname, name);
-}
-
-JNIEXPORT void JNICALL 
Java_gnu_java_awt_peer_gtk_GtkComponentPeer_set__Ljava_lang_String_2I
-  (JNIEnv *env, jobject obj, jstring jname, jint value)
-{
-  const char *name;
-  void *ptr;
-
-  ptr = NSA_GET_PTR (env, obj);
-  name = (*env)->GetStringUTFChars (env, jname, NULL);
-
-  gdk_threads_enter();                          
-  g_object_set(ptr, name, value, NULL);
-  gdk_threads_leave();
-
-  (*env)->ReleaseStringUTFChars (env, jname, name);
-}
-
-JNIEXPORT void JNICALL 
Java_gnu_java_awt_peer_gtk_GtkComponentPeer_set__Ljava_lang_String_2F
-  (JNIEnv *env, jobject obj, jstring jname, jfloat value)
-{
-  const char *name;
-  void *ptr;
-
-  ptr = NSA_GET_PTR (env, obj);
-  name = (*env)->GetStringUTFChars (env, jname, NULL);
-
-  gdk_threads_enter();                          
-  g_object_set(ptr, name, value, NULL);
-  gdk_threads_leave();
-
-  (*env)->ReleaseStringUTFChars (env, jname, name);
-}
-
-JNIEXPORT void JNICALL 
-Java_gnu_java_awt_peer_gtk_GtkComponentPeer_set__Ljava_lang_String_2Ljava_lang_Object_2
-  (JNIEnv *env, jobject obj1, jstring jname, jobject obj2)
-{
-  const char *name;
-  void *ptr1, *ptr2;
-
-  ptr1 = NSA_GET_PTR (env, obj1);
-  ptr2 = NSA_GET_PTR (env, obj2);
-  
-  name = (*env)->GetStringUTFChars (env, jname, NULL);
-
-  /* special case to catch where we need to set the parent */
-  if (!strcmp (name, "parent"))
-    {
-      gdk_threads_enter ();
-      set_parent (GTK_WIDGET (ptr1), GTK_CONTAINER (ptr2));
-      gdk_threads_leave ();
-
-      (*env)->ReleaseStringUTFChars (env, jname, name);
-      return;
-    }
-
-  gdk_threads_enter();                          
-  g_object_set(ptr1, name, ptr2, NULL);
-  gdk_threads_leave();
-
-  (*env)->ReleaseStringUTFChars (env, jname, name);
-}
-
 static gboolean
 filter_expose_event_handler (GtkWidget *widget, GdkEvent *event, jobject peer)
 {

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


reply via email to

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