/[classpath]/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
ViewVC logotype

Diff of /classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.34 by mark, Sat Jul 31 16:39:15 2004 UTC revision 1.35 by mark, Sat Jul 31 21:15:06 2004 UTC
# Line 473  Java_gnu_java_awt_peer_gtk_GtkComponentP Line 473  Java_gnu_java_awt_peer_gtk_GtkComponentP
473  }  }
474    
475  JNIEXPORT void JNICALL  JNIEXPORT void JNICALL
476    Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetParent
477      (JNIEnv *env, jobject obj, jobject parent)
478    {
479      void *ptr;
480      void *parent_ptr;
481      GtkWidget *widget;
482      GtkWidget *parent_widget;
483    
484      ptr = NSA_GET_PTR (env, obj);
485      parent_ptr = NSA_GET_PTR (env, parent);
486    
487      gdk_threads_enter ();
488    
489      widget = GTK_WIDGET (ptr);
490      parent_widget = GTK_WIDGET (parent_ptr);
491    
492      if (GTK_IS_WINDOW (parent_widget))
493        {
494          GList *children = gtk_container_children
495            (GTK_CONTAINER (GTK_BIN (parent_widget)->child));
496    
497          if (GTK_IS_MENU_BAR (children->data))
498            gtk_layout_put (GTK_LAYOUT (children->next->data), widget, 0, 0);
499          else
500            gtk_layout_put (GTK_LAYOUT (children->data), widget, 0, 0);
501        }
502      else
503        if (GTK_IS_SCROLLED_WINDOW (parent_widget))
504          {
505            gtk_scrolled_window_add_with_viewport
506              (GTK_SCROLLED_WINDOW (parent_widget), widget);
507            gtk_viewport_set_shadow_type (GTK_VIEWPORT (widget->parent),
508                                          GTK_SHADOW_NONE);
509    
510          }
511        else
512          gtk_layout_put (GTK_LAYOUT (parent_widget), widget, 0, 0);
513    
514      gdk_threads_leave ();
515    }
516    
517    JNIEXPORT void JNICALL
518    Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetSensitive
519      (JNIEnv *env, jobject obj, jboolean sensitive)
520    {
521      void *ptr;
522    
523      ptr = NSA_GET_PTR (env, obj);
524    
525      gdk_threads_enter ();
526    
527      gtk_widget_set_sensitive (GTK_WIDGET (ptr), sensitive);
528    
529      gdk_threads_leave ();
530    }
531    
532    JNIEXPORT void JNICALL
533  Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetRequestFocus  Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetRequestFocus
534    (JNIEnv *env, jobject obj)    (JNIEnv *env, jobject obj)
535  {  {
# Line 911  find_gtk_layout (GtkWidget *parent) Line 968  find_gtk_layout (GtkWidget *parent)
968    return NULL;    return NULL;
969  }  }
970    
 #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);  
 }  
   
971  JNIEXPORT jboolean JNICALL  JNIEXPORT jboolean JNICALL
972  Java_gnu_java_awt_peer_gtk_GtkComponentPeer_isEnabled  Java_gnu_java_awt_peer_gtk_GtkComponentPeer_isEnabled
973    (JNIEnv *env, jobject obj)    (JNIEnv *env, jobject obj)
# Line 981  Java_gnu_java_awt_peer_gtk_GtkComponentP Line 999  Java_gnu_java_awt_peer_gtk_GtkComponentP
999    return retval;    return retval;
1000  }  }
1001    
 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);  
 }  
   
1002  static gboolean  static gboolean
1003  filter_expose_event_handler (GtkWidget *widget, GdkEvent *event, jobject peer)  filter_expose_event_handler (GtkWidget *widget, GdkEvent *event, jobject peer)
1004  {  {

Legend:
Removed from v.1.34  
changed lines
  Added in v.1.35

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26