diff options
| author | kho <kho@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-29 14:34:31 +0000 |
|---|---|---|
| committer | kho <kho@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-29 14:34:31 +0000 |
| commit | 13b10e14096c84f1b98be3323143de95de1926ea (patch) | |
| tree | 9eeae3382aa981fb6ff66fa26a5bccbe8daa5916 /libjava/jni | |
| parent | ed3b6c99b76d1cca388222d77e8cd2cf08d868d9 (diff) | |
| download | ppe42-gcc-13b10e14096c84f1b98be3323143de95de1926ea.tar.gz ppe42-gcc-13b10e14096c84f1b98be3323143de95de1926ea.zip | |
2004-01-29 Kim Ho <kho@redhat.com>
* gnu/java/awt/peer/gtk/GtkFramePeer.java
(gtkLayoutSetVisible): New method
(setMenuBar): Hide layout before setting MenuBar
and reshow it after.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
(gtkLayoutSetVisible): Hide or show the Gtk Layout.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76861 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/jni')
| -rw-r--r-- | libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c index fb82aed82f5..da1550fa8c7 100644 --- a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c +++ b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c @@ -491,7 +491,38 @@ Java_gnu_java_awt_peer_gtk_GtkFramePeer_moveLayout gdk_threads_leave (); } +JNIEXPORT void JNICALL +Java_gnu_java_awt_peer_gtk_GtkFramePeer_gtkLayoutSetVisible + (JNIEnv *env, jobject obj, jboolean vis) +{ + void* ptr; + GList* children; + GtkBox* vbox; + GtkLayout* layout; + + ptr = NSA_GET_PTR (env, obj); + + gdk_threads_enter (); + + children = gtk_container_get_children (GTK_CONTAINER (ptr)); + vbox = children->data; + g_assert (GTK_IS_VBOX (vbox)); + children = gtk_container_get_children (GTK_CONTAINER (vbox)); + do + { + layout = children->data; + children = children->next; + } + while (!GTK_IS_LAYOUT (layout) && children != NULL); + g_assert (GTK_IS_LAYOUT (layout)); + + if (vis) + gtk_widget_show (GTK_WIDGET (layout)); + else + gtk_widget_hide (GTK_WIDGET (layout)); + gdk_threads_leave (); +} static void window_get_frame_extents (GtkWidget *window, int *top, int *left, int *bottom, int *right) |

