/[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.14 by fitzsim, Wed Oct 8 23:40:49 2003 UTC revision 1.15 by fitzsim, Tue Nov 11 17:13:36 2003 UTC
# Line 40  exception statement from your version. * Line 40  exception statement from your version. *
40  #include "gnu_java_awt_peer_gtk_GtkComponentPeer.h"  #include "gnu_java_awt_peer_gtk_GtkComponentPeer.h"
41  #include <gtk/gtkprivate.h>  #include <gtk/gtkprivate.h>
42    
43    static GtkWidget *find_fg_color_widget (GtkWidget *widget);
44    static GtkWidget *find_bg_color_widget (GtkWidget *widget);
45    
46  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkGenericPeer_dispose  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkGenericPeer_dispose
47    (JNIEnv *env, jobject obj)    (JNIEnv *env, jobject obj)
48  {  {
# Line 299  Java_gnu_java_awt_peer_gtk_GtkComponentP Line 302  Java_gnu_java_awt_peer_gtk_GtkComponentP
302    
303    gdk_threads_enter ();    gdk_threads_enter ();
304    
305    widget = GTK_WIDGET (ptr);    widget = find_bg_color_widget (GTK_WIDGET (ptr));
306    
307    gtk_widget_modify_bg (widget, GTK_STATE_NORMAL, &normal_color);    gtk_widget_modify_bg (widget, GTK_STATE_NORMAL, &normal_color);
308    gtk_widget_modify_bg (widget, GTK_STATE_ACTIVE, &active_color);    gtk_widget_modify_bg (widget, GTK_STATE_ACTIVE, &active_color);
# Line 324  Java_gnu_java_awt_peer_gtk_GtkComponentP Line 327  Java_gnu_java_awt_peer_gtk_GtkComponentP
327    
328    gdk_threads_enter ();    gdk_threads_enter ();
329    
330    widget = GTK_WIDGET (ptr);    widget = find_fg_color_widget (GTK_WIDGET (ptr));
331    
332    gtk_widget_modify_fg (widget, GTK_STATE_NORMAL, &color);    gtk_widget_modify_fg (widget, GTK_STATE_NORMAL, &color);
333      gtk_widget_modify_fg (widget, GTK_STATE_ACTIVE, &color);
334      gtk_widget_modify_fg (widget, GTK_STATE_PRELIGHT, &color);
335    
336    gdk_threads_leave ();    gdk_threads_leave ();
337  }  }
# Line 542  JNIEXPORT void JNICALL Java_gnu_java_awt Line 547  JNIEXPORT void JNICALL Java_gnu_java_awt
547      connect_awt_hook (env, obj, 1, GTK_WIDGET (ptr)->window);      connect_awt_hook (env, obj, 1, GTK_WIDGET (ptr)->window);
548    gdk_threads_leave ();    gdk_threads_leave ();
549  }  }
550    
551    static GtkWidget *
552    find_fg_color_widget (GtkWidget *widget)
553    {
554      GtkWidget *fg_color_widget;
555    
556      if (GTK_IS_EVENT_BOX (widget))
557        fg_color_widget = gtk_bin_get_child (GTK_BIN(widget));
558      else
559        fg_color_widget = widget;
560    
561      return fg_color_widget;
562    }
563    
564    static GtkWidget *
565    find_bg_color_widget (GtkWidget *widget)
566    {
567      GtkWidget *bg_color_widget;
568    
569      if (GTK_IS_WINDOW (widget))
570        {
571          GtkWidget *vbox;
572          GList* children;
573    
574          children = gtk_container_get_children(GTK_CONTAINER(widget));
575          vbox = children->data;
576    
577          children = gtk_container_get_children(GTK_CONTAINER(vbox));
578          bg_color_widget = children->data;
579        }
580      else
581        bg_color_widget = widget;
582    
583      return bg_color_widget;
584    }
585    

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15

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