/[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.12 by fitzsim, Thu Oct 2 18:39:54 2003 UTC revision 1.13 by fitzsim, Wed Oct 8 16:00:57 2003 UTC
# Line 133  JNIEXPORT void JNICALL Java_gnu_java_awt Line 133  JNIEXPORT void JNICALL Java_gnu_java_awt
133    gdk_threads_leave ();    gdk_threads_leave ();
134  }  }
135    
   
 /*  
  * Show a widget (NO LONGER USED)  
  */  
 JNIEXPORT void JNICALL  
 Java_gnu_java_awt_peer_gtk_GtkComponentPeer_setVisible  
   (JNIEnv *env, jobject obj, jboolean visible)  
 {  
   GtkWidget *widget;  
   void *ptr;  
   
   ptr = NSA_GET_PTR (env, obj);  
   
   gdk_threads_enter ();  
   widget = GTK_WIDGET (ptr);  
   
   if (visible)  
     gtk_widget_show (widget);  
   else  
     gtk_widget_hide (widget);  
   
   gdk_flush ();  
   gdk_threads_leave ();  
 }  
   
136  /*  /*
137   * Find the origin of a widget's window.   * Find the origin of a widget's window.
138   */   */
# Line 225  Java_gnu_java_awt_peer_gtk_GtkComponentP Line 200  Java_gnu_java_awt_peer_gtk_GtkComponentP
200    gdk_threads_leave ();    gdk_threads_leave ();
201  }  }
202    
 JNIEXPORT void JNICALL  
 Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkFixedNew (JNIEnv *env,  
     jobject obj, jint width, jint height, jboolean visible)  
 {  
   GtkWidget *layout;  
   
   gdk_threads_enter ();  
   layout = gtk_layout_new (NULL, NULL);  
   gtk_widget_realize (layout);  
   connect_awt_hook (env, obj, 1, GTK_LAYOUT (layout)->bin_window);  
   set_visible (layout, visible);  
   gdk_threads_leave ();  
   
   NSA_SET_PTR (env, obj, layout);  
 }  
   
 /*  
  * Place a widget on the layout widget.  
  */  
 JNIEXPORT void JNICALL  
 Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkFixedPut  
     (JNIEnv *env, jobject obj, jobject container, jint x, jint y)  
 {  
   GList *child;  
   GtkWidget *fix;  
   void *containerptr=NULL;  
   void *objptr=NULL;  
   
   /* We hawe a container which, if it is a window, will have  
      this component added to its fixed.  If it is a fixed, we add the  
      component to it. */  
     
   containerptr=NSA_GET_PTR (env, container);  
   objptr=NSA_GET_PTR (env, obj);  
     
   gdk_threads_enter ();  
   if (GTK_IS_WINDOW(GTK_OBJECT(containerptr)))  
     {  
       child=gtk_container_children (GTK_CONTAINER(containerptr));  
         
       while (child && !GTK_IS_FIXED(child->data))  
         {  
           child=g_list_next(child);  
         }  
         
       fix=GTK_WIDGET(child->data);  
       g_list_free(child);  
     }  
   else  
     if (GTK_IS_SCROLLED_WINDOW(GTK_OBJECT(containerptr)))  
     {  
       child=gtk_container_children (GTK_CONTAINER (GTK_BIN(containerptr)->child));  
         
       while (child && !GTK_IS_FIXED(child->data))  
         {  
           child=g_list_next(child);  
         }  
         
       fix=GTK_WIDGET(child->data);  
   
       g_list_free(child);  
     }  
   else  
     {  
       fix=GTK_WIDGET(containerptr);  
     }  
     
   gtk_fixed_put(GTK_FIXED(fix),GTK_WIDGET(objptr),x,y);  
   gtk_widget_realize (GTK_WIDGET (objptr));  
   gtk_widget_show (GTK_WIDGET (objptr));  
     
   gdk_threads_leave ();  
 }  
   
 JNIEXPORT void JNICALL  
 Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkFixedMove (JNIEnv *env,  
     jobject obj, jint x, jint y)  
 {  
   GtkWidget *widget;  
   void *ptr=NULL;  
   
   /* For some reason, ScrolledWindow tries to scroll its contents  
      by moving them using this function.  Since we want to use GTK's  
      nice fast scrolling, we try to second guess it here.  This  
      might cause problems later.  */  
     
   if (x >= 0 && y >= 0)  
     {  
       ptr = NSA_GET_PTR (env, obj);  
         
       gdk_threads_enter ();  
       widget=GTK_WIDGET (ptr);  
       if (!GTK_IS_WINDOW (widget))  
           gtk_fixed_move (GTK_FIXED (widget->parent), widget, x, y);  
       gdk_threads_leave ();  
     }  
 }  
   
203  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkComponentPeer_setNativeBounds  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkComponentPeer_setNativeBounds
204    (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)    (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)
205  {  {
# Line 482  Java_gnu_java_awt_peer_gtk_GtkComponentP Line 359  Java_gnu_java_awt_peer_gtk_GtkComponentP
359    
360  JNIEXPORT jboolean JNICALL  JNIEXPORT jboolean JNICALL
361  Java_gnu_java_awt_peer_gtk_GtkComponentPeer_modalHasGrab  Java_gnu_java_awt_peer_gtk_GtkComponentPeer_modalHasGrab
362    (JNIEnv *env, jclass clazz)    (JNIEnv *env __attribute__((unused)), jclass clazz __attribute__((unused)))
363  {  {
364    GtkWidget *widget;    GtkWidget *widget;
365    jboolean retval;    jboolean retval;

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

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