From b5b5bdefb51867616f69f95ff6e3f88708b2d486 Mon Sep 17 00:00:00 2001 From: kho Date: Fri, 16 Jan 2004 20:05:41 +0000 Subject: 2004-01-16 Kim Ho * gnu/java/awt/peer/gtk/GtkComponentPeer.java (GtkComponentPeer): If it is a FileDialog and has dimensions of 0 by 0, then the initial size is set to size request plus insets. * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java (gtkWidgetGetDimensions): Override method. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (gtkWidgetGetDimensions): Override method. Returns size request plus insets. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75993 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/gnu/java/awt/peer/gtk/GtkComponentPeer.java | 12 +++++++++++- libjava/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java | 3 ++- 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'libjava/gnu/java') diff --git a/libjava/gnu/java/awt/peer/gtk/GtkComponentPeer.java b/libjava/gnu/java/awt/peer/gtk/GtkComponentPeer.java index 6f71db9f17a..ee067cedd51 100644 --- a/libjava/gnu/java/awt/peer/gtk/GtkComponentPeer.java +++ b/libjava/gnu/java/awt/peer/gtk/GtkComponentPeer.java @@ -1,5 +1,5 @@ /* GtkComponentPeer.java -- Implements ComponentPeer with GTK - Copyright (C) 1998, 1999, 2002 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2002, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -124,6 +124,16 @@ public class GtkComponentPeer extends GtkGenericPeer setFont(awtComponent.getFont()); setCursor (awtComponent.getCursor ()); + if (this instanceof GtkFileDialogPeer && awtComponent.getHeight() == 0 + && awtComponent.getWidth() == 0) + { + int[] dims = new int[2]; + gtkWidgetGetDimensions(dims); + ((GtkFileDialogPeer) this).setBoundsCallback((Window)awtComponent, + awtComponent.getX(), + awtComponent.getY(), + dims[0], dims[1]); + } Rectangle bounds = awtComponent.getBounds (); setBounds (bounds.x, bounds.y, bounds.width, bounds.height); diff --git a/libjava/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java b/libjava/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java index dc2c8b0be9c..95f0dde50b7 100644 --- a/libjava/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java +++ b/libjava/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java @@ -1,5 +1,5 @@ /* GtkFileDialogPeer.java -- Implements FileDialogPeer with GTK - Copyright (C) 1998, 1999, 2002 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2002, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -63,6 +63,7 @@ public class GtkFileDialogPeer extends GtkDialogPeer implements FileDialogPeer native void connectJObject (); native void connectSignals (); native void nativeSetFile (String file); + native void gtkWidgetGetDimensions (int[] dims); public void setFile (String fileName) { -- cgit v1.2.3