From ea1be1847988bc3ea1d785d400fda2e952d49408 Mon Sep 17 00:00:00 2001 From: Lillian Angel Date: Mon, 6 Mar 2006 19:52:35 +0000 Subject: 2006-03-06 Lillian Angel PR classpath/26569 * java/awt/List.java (preferredSize): Return the size of the list if the peer is null. * gnu/java/awt/peer/gtk/GtkListPeer.java (preferredSize): Code was returning the minimum size of the list. Added adjustment to the width of the list so it is a proper size. --- ChangeLog | 9 +++++++++ gnu/java/awt/peer/gtk/GtkListPeer.java | 12 +++++++----- java/awt/List.java | 2 +- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5f4e0b8e1..3af1f7d20 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2006-03-06 Lillian Angel + + PR classpath/26569 + * java/awt/List.java + (preferredSize): Return the size of the list if the peer is null. + * gnu/java/awt/peer/gtk/GtkListPeer.java + (preferredSize): Code was returning the minimum size of the list. + Added adjustment to the width of the list so it is a proper size. + 2006-03-06 Wolfgang Baer * gnu/java/net/protocol/http/HTTPURLConnection.java: Organized imports. diff --git a/gnu/java/awt/peer/gtk/GtkListPeer.java b/gnu/java/awt/peer/gtk/GtkListPeer.java index 285f79416..bd6ec0aef 100644 --- a/gnu/java/awt/peer/gtk/GtkListPeer.java +++ b/gnu/java/awt/peer/gtk/GtkListPeer.java @@ -40,6 +40,7 @@ package gnu.java.awt.peer.gtk; import java.awt.AWTEvent; import java.awt.Dimension; +import java.awt.FontMetrics; import java.awt.List; import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; @@ -120,11 +121,12 @@ public class GtkListPeer extends GtkComponentPeer public Dimension preferredSize (int rows) { - int dims[] = new int[2]; - - int visibleRows = ((List) awtComponent).getRows(); - getSize (rows, visibleRows, dims); - return new Dimension (dims[0], dims[1]); + // getSize returns the minimum size of the list. + // The width is too narrow for a typical list. + List l = (List) awtComponent; + Dimension d = getMinimumSize(); + FontMetrics fm = l.getFontMetrics(l.getFont()); + return new Dimension(d.width + fm.stringWidth("1234567890"), d.height); } public void removeAll () diff --git a/java/awt/List.java b/java/awt/List.java index 00636a022..b28e2016d 100644 --- a/java/awt/List.java +++ b/java/awt/List.java @@ -446,7 +446,7 @@ preferredSize(int rows) if (peer != null) return peer.preferredSize (rows); else - return new Dimension (0, 0); + return getSize(); } /*************************************************************************/ -- cgit v1.2.1