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. From-SVN: r76861
This commit is contained in:
parent
6d23f07f2b
commit
5efa76401e
3 changed files with 45 additions and 0 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue