summaryrefslogtreecommitdiffstats
path: root/libjava/jni
diff options
context:
space:
mode:
authorkho <kho@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-29 14:34:31 +0000
committerkho <kho@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-29 14:34:31 +0000
commit13b10e14096c84f1b98be3323143de95de1926ea (patch)
tree9eeae3382aa981fb6ff66fa26a5bccbe8daa5916 /libjava/jni
parented3b6c99b76d1cca388222d77e8cd2cf08d868d9 (diff)
downloadppe42-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.c31
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)
OpenPOWER on IntegriCloud