summaryrefslogtreecommitdiffstats
path: root/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
diff options
context:
space:
mode:
authorfitzsim <fitzsim@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-30 23:53:29 +0000
committerfitzsim <fitzsim@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-30 23:53:29 +0000
commit56870821206a177e4b2d09f334c53995ab30e427 (patch)
tree09502591894f19a49e4f3d930f233cc79b4f1759 /libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
parent5691d38a0ff0b2fb48ba22d492b7033ea61709f7 (diff)
downloadppe42-gcc-56870821206a177e4b2d09f334c53995ab30e427.tar.gz
ppe42-gcc-56870821206a177e4b2d09f334c53995ab30e427.zip
* glib-2.0.m4: New file.
* gtk-2.0.m4: New file. * glib.m4: Remove. * gtk.m4: Remove. * configure.in: Update AM_PATH_GTK macro call to AM_PATH_GTK_2_0. Likewise for AM_PATH_GLIB. * jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c, jni/gtk-peer/gthread-jni.c, jni/gtk-peer/gthread-jni.h: New versions from classpath. * aclocal.m4: Regenerate. * configure: Regenerate. * Makefile.in: Regenerate. * gcj/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68746 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c')
-rw-r--r--libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c82
1 files changed, 31 insertions, 51 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 3b7c06bf057..9a8cc32efd8 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
@@ -93,17 +93,37 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkWindowPeer_connectHooks
(JNIEnv *env, jobject obj)
{
void *ptr;
+ GtkVBox* vbox;
GtkWidget *layout;
-
+ GList* children;
+ char* name;
ptr = NSA_GET_PTR (env, obj);
gdk_threads_enter ();
- layout = GTK_WIDGET (gtk_container_children (GTK_CONTAINER (GTK_BIN (ptr)->child))->data);
+
+ children = gtk_container_get_children(GTK_CONTAINER(ptr));
+ vbox = children->data;
+ name = GTK_OBJECT_TYPE_NAME(vbox);
+ if(!GTK_IS_VBOX(vbox))
+ {
+ printf("*** this is not a vbox\n");
+ }
+ children = gtk_container_get_children(GTK_CONTAINER(vbox));
+ layout = children->data;
+ name = GTK_OBJECT_TYPE_NAME(layout);
+ if(!GTK_IS_LAYOUT(layout))
+ {
+ printf("*** widget is not a layout ***");
+ }
+
gtk_widget_realize (layout);
+
connect_awt_hook (env, obj, 1, GTK_LAYOUT (layout)->bin_window);
- gtk_widget_realize (GTK_WIDGET (ptr));
+ gtk_widget_realize (ptr);
+
connect_awt_hook (env, obj, 1, GTK_WIDGET (ptr)->window);
+
gdk_threads_leave ();
}
@@ -112,8 +132,8 @@ setup_window (JNIEnv *env, jobject obj, GtkWidget *window, jint width,
jint height, jboolean visible)
{
GtkWidget *layout, *vbox;
- gint x, y;
+ gdk_threads_enter();
gtk_window_set_policy (GTK_WINDOW (window), 1, 1, 0);
gtk_widget_set_usize (window, width, height);
@@ -131,6 +151,7 @@ setup_window (JNIEnv *env, jobject obj, GtkWidget *window, jint width,
connect_awt_hook (env, obj, 1, window->window);
set_visible (window, visible);
+ gdk_threads_leave ();
}
/*
@@ -212,9 +233,6 @@ Java_gnu_java_awt_peer_gtk_GtkWindowPeer_toFront (JNIEnv *env,
static void
setBounds (GtkWidget *widget, jint x, jint y, jint width, jint height)
{
- gint current_x, current_y;
- gint origin_x, origin_y;
-
/* gdk_window_get_root_origin (widget->window, &current_x, &current_y); */
/* if (current_x != x || current_y != y) */
@@ -295,16 +313,12 @@ gdk_window_get_root_geometry (GdkWindow *window,
gint *border,
gint *depth)
{
- GdkWindowPrivate *private;
- Window xwindow;
- Window xparent;
- Window root;
- Window *children;
+ GdkWindow *private;
unsigned int nchildren;
g_return_if_fail (window != NULL);
- private = (GdkWindowPrivate*) window;
+ private = (GdkWindow*) window;
if (x)
*x = 0;
if (y)
@@ -318,48 +332,14 @@ gdk_window_get_root_geometry (GdkWindow *window,
if (depth)
*depth = 0;
- if (private->destroyed)
+ if (GDK_WINDOW_DESTROYED (private))
return;
- while (private->parent && ((GdkWindowPrivate*) private->parent)->parent)
- private = (GdkWindowPrivate*) private->parent;
- if (private->destroyed)
+ private = gdk_window_get_toplevel (private);
+ if (GDK_WINDOW_DESTROYED(private))
return;
- xparent = private->xwindow;
- do
- {
- xwindow = xparent;
- if (!XQueryTree (private->xdisplay, xwindow,
- &root, &xparent,
- &children, &nchildren))
- return;
+ gdk_window_get_geometry (private, x, y, width, height, depth);
- if (children)
- XFree (children);
- }
- while (xparent != root);
-
- if (xparent == root)
- {
- unsigned int ww, wh, wb, wd;
- int wx, wy;
-
- if (XGetGeometry (private->xdisplay, xwindow, &root, &wx, &wy, &ww, &wh, &wb, &wd))
- {
- if (x)
- *x = wx;
- if (y)
- *y = wy;
- if (width)
- *width = ww;
- if (height)
- *height = wh;
- if (border)
- *border = wb;
- if (depth)
- *depth = wd;
- }
- }
}
OpenPOWER on IntegriCloud