summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLillian Angel <langel@redhat.com>2006-03-06 19:52:35 +0000
committerLillian Angel <langel@redhat.com>2006-03-06 19:52:35 +0000
commitea1be1847988bc3ea1d785d400fda2e952d49408 (patch)
treecd8e85688cf4a8e7ade33d79a35d36d7da11a52d
parent4742a3dbf1371728e461b555a580d7432376445b (diff)
downloadclasspath-ea1be1847988bc3ea1d785d400fda2e952d49408.tar.gz
2006-03-06 Lillian Angel <langel@redhat.com>
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.
-rw-r--r--ChangeLog9
-rw-r--r--gnu/java/awt/peer/gtk/GtkListPeer.java12
-rw-r--r--java/awt/List.java2
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 <langel@redhat.com>
+
+ 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 <WBaer@gmx.de>
* 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();
}
/*************************************************************************/