GtkComponentPeer.java (GtkComponentPeer): If it is a FileDialog and has dimensions of 0 by 0...

2004-01-16  Kim Ho  <kho@redhat.com>

        * 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.

From-SVN: r75993
This commit is contained in:
Kim Ho 2004-01-16 20:05:41 +00:00 committed by Kim Ho
parent 79a76d653a
commit 2b8deefadd
4 changed files with 52 additions and 3 deletions

View file

@ -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);

View file

@ -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)
{