[kaffe] CVS kaffe (robilad): resynced with gnu classpath: swing and
awt fixes
Kaffe CVS
cvs-commits at kaffe.org
Fri Sep 16 15:31:33 PDT 2005
PatchSet 6910
Date: 2005/09/16 22:25:15
Author: robilad
Branch: HEAD
Tag: (none)
Log:
resynced with gnu classpath: swing and awt fixes
Members:
ChangeLog:1.4431->1.4432
libraries/clib/fdlibm/mprec.h:1.4->1.5
libraries/javalib/Makefile.am:1.393->1.394
libraries/javalib/Makefile.in:1.484->1.485
libraries/javalib/all.files:1.163->1.164
libraries/javalib/java/awt/Color.java:1.20->1.21
libraries/javalib/java/awt/Component.java:1.59->1.60
libraries/javalib/java/awt/Point.java:1.10->1.11
libraries/javalib/java/awt/Rectangle.java:1.13->1.14
libraries/javalib/java/awt/Window.java:1.39->1.40
libraries/javalib/java/io/PushbackInputStream.java:1.10->1.11
libraries/javalib/java/lang/Class.java:1.57->1.58
libraries/javalib/java/lang/EnumConstantNotPresentException.java:INITIAL->1.1
libraries/javalib/java/net/URLStreamHandler.java:1.22->1.23
libraries/javalib/java/nio/charset/Charset.java:1.18->1.19
libraries/javalib/java/security/Identity.java:1.3->1.4
libraries/javalib/javax/naming/Name.java:1.5->1.6
libraries/javalib/javax/swing/JList.java:1.15->1.16
libraries/javalib/javax/swing/JOptionPane.java:1.7->1.8
libraries/javalib/javax/swing/JRootPane.java:1.14->1.15
libraries/javalib/javax/swing/JTextArea.java:1.15->1.16
libraries/javalib/javax/swing/SwingUtilities.java:1.20->1.21
libraries/javalib/javax/swing/plaf/basic/BasicButtonUI.java:1.12->1.13
libraries/javalib/javax/swing/plaf/basic/BasicComboBoxRenderer.java:1.4->1.5
libraries/javalib/javax/swing/plaf/basic/BasicComboBoxUI.java:1.10->1.11
libraries/javalib/javax/swing/plaf/basic/BasicFileChooserUI.java:1.8->1.9
libraries/javalib/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java:1.12->1.13
libraries/javalib/javax/swing/plaf/basic/BasicInternalFrameUI.java:1.12->1.13
libraries/javalib/javax/swing/plaf/basic/BasicOptionPaneUI.java:1.14->1.15
libraries/javalib/javax/swing/plaf/metal/MetalBorders.java:1.8->1.9
libraries/javalib/javax/swing/plaf/metal/MetalCheckBoxIcon.java:1.1->1.2
libraries/javalib/javax/swing/plaf/metal/MetalIconFactory.java:1.8->1.9
libraries/javalib/javax/swing/plaf/metal/MetalLookAndFeel.java:1.22->1.23
libraries/javalib/javax/swing/plaf/metal/MetalToggleButtonUI.java:1.3->1.4
libraries/javalib/javax/swing/text/html/parser/DTD.java:1.4->1.5
Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4431 kaffe/ChangeLog:1.4432
--- kaffe/ChangeLog:1.4431 Fri Sep 16 20:54:38 2005
+++ kaffe/ChangeLog Fri Sep 16 22:25:15 2005
@@ -1,5 +1,183 @@
2005-09-16 Dalibor Topic <robilad at kaffe.org>
+ Resynced with GNU Classpath.
+
+ 2005-09-16 David Gilbert <david.gilbert at object-refinery.com>
+
+ * javax/swing/plaf/metal/MetalIconFactory.java
+ (RadioButtonIcon.paintIcon): change color of selection indicator
+ according to component state.
+
+ 2005-09-16 David Gilbert <david.gilbert at object-refinery.com>
+
+ * javax/swing/plaf/metal/MetalCheckBoxIcon.java
+ (drawCheck): change color according to component state.
+
+ 2005-09-16 David Gilbert <david.gilbert at object-refinery.com>
+
+ * javax/swing/plaf/metal/MetalBorders.java
+ (ButtonBorder.paintBorder): draw a different border for a disabled
+ button.
+
+ 2005-09-15 Anthony Green <green at redhat.com>
+
+ * java/awt/Color.java (RGBtoHSB): Don't use integer division when
+ calculating saturation.
+ * java/awt/Rectangle.java (equals): Explain why hashCode() isn't
+ required.
+ * java/awt/Point.java (equals): Ditto.
+
+ 2005-09-15 Tom Tromey <tromey at redhat.com>
+
+ * javax/swing/text/html/parser/DTD.java (FILE_VERSION): Now
+ final.
+
+ 2005-09-15 Tom Tromey <tromey at redhat.com>
+
+ * javax/naming/Name.java: Extends Comparable.
+
+ 2005-09-15 Anthony Balkissoon <abalkiss at redhat.com>
+
+ * java/awt/Component.java:
+ (isDisplayable): Don't check the parent's displayability, only return
+ true if peer is non-null and false if peer is null.
+
+ 2005-09-15 David Gilbert <david.gilbert at object-refinery.com>
+
+ * javax/swing/SwingUtilities.java
+ (layoutCompoundLabel): check for empty text string,
+ * javax/swing/plaf/basic/BasicButtonUI.java
+ (paint): check isBorderPainted() when calculating view rect,
+ * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java
+ (CloseAction): new constructor,
+ (IconifyAction): new constructor,
+ (MaximizeAction): new constructor,
+ (MoveAction): new constructor,
+ (RestoreAction): new constructor,
+ (SizeAction): new constructor,
+ (TitlePaneLayout.layoutContainer): calculate button widths from icon
+ widths,
+ (installDefaults): initialise icon fields,
+ (uninstallDefaults): clear icon fields,
+ (createButtons): set button text to null,
+ (setButtonIcons): use icon fields.
+
+ 2005-09-15 Lillian Angel <langel at redhat.com>
+
+ * javax/swing/plaf/basic/BasicComboBoxRenderer.java
+ (getListCellRendererComponent): Added code in to check if string
+ is larger than comboBox. If it is, the string is truncated and
+ '...' is drawn at the end of it.
+ * javax/swing/plaf/basic/BasicComboBoxUI.java
+ (getDefaultSize): Initially too small, still not fully implemented.
+ (getLargestItemSize): Made private, not in API.
+ (minimumLayoutSize): Implemented properly.
+ (intervalAdded): ComboBox should not be resized with every new
+ component. This is fixed.
+
+ 2005-09-15 Tom Tromey <tromey at redhat.com>
+
+ * java/lang/EnumConstantNotPresentException.java: New file.
+
+ 2005-09-15 Anthony Balkissoon <abalkiss at redhat.com>
+
+ * javax/swing/plaf/basic/BasicInternalFrameUI.java:
+ Reformatted file.
+
+ 2005-09-15 Lillian Angel <langel at redhat.com>
+
+ Fixes Bug #23678
+ * javax/swing/plaf/basic/BasicFileChooserUI.java
+ (CBLabelRenderer): Removed. Not in API, and it is really
+ redundant to have.
+ (installComponents): Changed the renderer set for the combo box.
+ Also, added the buttonPanel to the parentsPanel, so they are
+ always painted correctly. Set the FlowLayout to LEFT
+ instead of default being CENTER.
+
+ 2005-09-15 Anthony Balkissoon <abalkiss at redhat.com>
+
+ * javax/swing/JRootPane.java:
+ (setContentPane): Remove the old content pane first. Throw
+ IllegalComponentStateException if the parameter is null. Added docs.
+
+ 2005-09-15 Tom Tromey <tromey at redhat.com>
+
+ Workaround for PR classpath/23863:
+ * native/fdlibm/mprec.h (MAX_BIGNUM_WDS): Define as 128 on
+ non-Pack_32 platforms.
+
+ 2005-09-15 Anthony Balkissoon <abalkiss at redhat.com>
+
+ * java/awt/Component.java:
+ (isDisplayable): Return true if peer != null.
+ * java/awt/Window.java:
+ (isDisplayable): Removed this method. Now inherits from Component.
+
+ 2005-09-15 Anthony Green <green at redhat.com>
+
+ * java/io/PushbackInputStream.java (available, read, skip): Handle
+ closed stream operations gracefully.
+
+ 2005-09-15 Anthony Green <green at redhat.com>
+
+ * java/nio/charset/Charset.java: close() each stream we open.
+ * java/net/URLStreamHandler.java: Remove redundant null pointer
+ check.
+ * java/security/Identity.java (equals, identityEquals): Don't use
+ `==' to compare uninterned Strings. Use String.equals().
+ * java/lang/Class.java (pd): Mark this field as transient for
+ FindBugs won't complain (although not strictly necessary).
+
+ 2005-09-15 Anthony Balkissoon <abalkiss at redhat.com>
+
+ * javax/swing/JTextArea.java:
+ (append): Changed invalidate call to revalidate call.
+ (setRows): Likewise.
+ (setColumns): Likewise.
+
+ 2005-09-15 Lillian Angel <langel at redhat.com>
+
+ Fixes #23873
+ * javax/swing/plaf/basic/BasicOptionPaneUI.java
+ (createMessageArea): Changed orientation of message from EAST to
+ CENTER. Also, fixed empty border values to make message more centered.
+ * javax/swing/JOptionPane.java
+ (showConfirmDialog): Added check for pane.getValue, since clicking on
+ 'x' of window does not have an initialized value. Was causing a
+ ClassCastException.
+ (showConfirmDialog): Likewise.
+ (showConfirmDialog): Likewise.
+ (showConfirmDialog): Likewise.
+
+ 2005-09-15 David Gilbert <david.gilbert at object-refinery.com>
+
+ * javax/swing/plaf/basic/BasicButtonUI.java
+ (installDefaults): set font,
+ (uninstallDefaults): clear font,
+ * javax/swing/plaf/metal/MetalLookAndFeel.java
+ (initComponentDefaults): update ToggleButton defaults,
+ * javax/swing/plaf/metal/MetalToggleButtonUI.java
+ (instance): removed field,
+ (createUI): just return new instance every time,
+ (MetalToggleButtonUI): look up defaults directly,
+ (getFocusColor): return value from field initialised in constructor,
+ (getSelectColor): likewise,
+ (getDisabledTextColor): likewise,
+ (installDefaults): override to make public,
+ (paintButtonPressed): implemented,
+ (paintText): implemented,
+ (paintFocus): implemented.
+
+ 2005-09-15 David Gilbert <david.gilbert at object-refinery.com>
+
+ * javax/swing/plaf/metal/MetalBorders.java
+ (toggleButtonBorder): new private field,
+ (ToggleButtonBorder): new class,
+ (getToggleButtonBorder): new method.
+
+2005-09-16 Dalibor Topic <robilad at kaffe.org>
+
FAQ/FAQ.classlibrary-compile: Added information on using
for ecj to compile the class library.
Index: kaffe/libraries/clib/fdlibm/mprec.h
diff -u kaffe/libraries/clib/fdlibm/mprec.h:1.4 kaffe/libraries/clib/fdlibm/mprec.h:1.5
--- kaffe/libraries/clib/fdlibm/mprec.h:1.4 Fri Jul 15 13:43:05 2005
+++ kaffe/libraries/clib/fdlibm/mprec.h Fri Sep 16 22:25:16 2005
@@ -269,7 +269,12 @@
#define MAX_BIGNUMS 16
+#ifdef Pack_32
#define MAX_BIGNUM_WDS 32
+#else
+ /* Note that this is a workaround for */
+#define MAX_BIGNUM_WDS 128
+#endif
struct _Jv_Bigint
{
Index: kaffe/libraries/javalib/Makefile.am
diff -u kaffe/libraries/javalib/Makefile.am:1.393 kaffe/libraries/javalib/Makefile.am:1.394
--- kaffe/libraries/javalib/Makefile.am:1.393 Fri Sep 16 19:17:49 2005
+++ kaffe/libraries/javalib/Makefile.am Fri Sep 16 22:25:16 2005
@@ -2643,6 +2643,7 @@
java/lang/Comparable.java \
java/lang/Compiler.java \
java/lang/Double.java \
+ java/lang/EnumConstantNotPresentException.java \
java/lang/Error.java \
java/lang/Exception.java \
java/lang/ExceptionInInitializerError.java \
Index: kaffe/libraries/javalib/Makefile.in
diff -u kaffe/libraries/javalib/Makefile.in:1.484 kaffe/libraries/javalib/Makefile.in:1.485
--- kaffe/libraries/javalib/Makefile.in:1.484 Fri Sep 16 19:17:51 2005
+++ kaffe/libraries/javalib/Makefile.in Fri Sep 16 22:25:19 2005
@@ -3165,6 +3165,7 @@
java/lang/Comparable.java \
java/lang/Compiler.java \
java/lang/Double.java \
+ java/lang/EnumConstantNotPresentException.java \
java/lang/Error.java \
java/lang/Exception.java \
java/lang/ExceptionInInitializerError.java \
Index: kaffe/libraries/javalib/all.files
diff -u kaffe/libraries/javalib/all.files:1.163 kaffe/libraries/javalib/all.files:1.164
--- kaffe/libraries/javalib/all.files:1.163 Fri Sep 16 19:17:55 2005
+++ kaffe/libraries/javalib/all.files Fri Sep 16 22:25:20 2005
@@ -2092,6 +2092,7 @@
java/lang/Comparable.java
java/lang/Compiler.java
java/lang/Double.java
+java/lang/EnumConstantNotPresentException.java
java/lang/Error.java
java/lang/ExceptionInInitializerError.java
java/lang/Exception.java
Index: kaffe/libraries/javalib/java/awt/Color.java
diff -u kaffe/libraries/javalib/java/awt/Color.java:1.20 kaffe/libraries/javalib/java/awt/Color.java:1.21
--- kaffe/libraries/javalib/java/awt/Color.java:1.20 Mon Jul 4 00:06:01 2005
+++ kaffe/libraries/javalib/java/awt/Color.java Fri Sep 16 22:25:20 2005
@@ -762,7 +762,7 @@
if (max == 0)
array[1] = 0;
else
- array[1] = (max - min) / max;
+ array[1] = ((float) (max - min)) / ((float) max);
// Calculate hue.
if (array[1] == 0)
array[0] = 0;
Index: kaffe/libraries/javalib/java/awt/Component.java
diff -u kaffe/libraries/javalib/java/awt/Component.java:1.59 kaffe/libraries/javalib/java/awt/Component.java:1.60
--- kaffe/libraries/javalib/java/awt/Component.java:1.59 Wed Aug 17 22:38:30 2005
+++ kaffe/libraries/javalib/java/awt/Component.java Fri Sep 16 22:25:20 2005
@@ -720,8 +720,9 @@
/**
* Tests if the component is displayable. It must be connected to a native
- * screen resource, and all its ancestors must be displayable. A containment
- * hierarchy is made displayable when a window is packed or made visible.
+ * screen resource. This reduces to checking that peer is not null. A
+ * containment hierarchy is made displayable when a window is packed or
+ * made visible.
*
* @return true if the component is displayable
* @see Container#add(Component)
@@ -733,9 +734,7 @@
*/
public boolean isDisplayable()
{
- if (parent != null)
- return parent.isDisplayable();
- return false;
+ return peer != null;
}
/**
Index: kaffe/libraries/javalib/java/awt/Point.java
diff -u kaffe/libraries/javalib/java/awt/Point.java:1.10 kaffe/libraries/javalib/java/awt/Point.java:1.11
--- kaffe/libraries/javalib/java/awt/Point.java:1.10 Mon Jul 4 00:06:06 2005
+++ kaffe/libraries/javalib/java/awt/Point.java Fri Sep 16 22:25:21 2005
@@ -226,6 +226,10 @@
*/
public boolean equals(Object obj)
{
+ // NOTE: No special hashCode() method is required for this class,
+ // as this equals() implementation is functionally equivalent to
+ // super.equals(), which does define a proper hashCode().
+
if (! (obj instanceof Point2D))
return false;
Point2D p = (Point2D) obj;
Index: kaffe/libraries/javalib/java/awt/Rectangle.java
diff -u kaffe/libraries/javalib/java/awt/Rectangle.java:1.13 kaffe/libraries/javalib/java/awt/Rectangle.java:1.14
--- kaffe/libraries/javalib/java/awt/Rectangle.java:1.13 Mon Jul 4 00:06:06 2005
+++ kaffe/libraries/javalib/java/awt/Rectangle.java Fri Sep 16 22:25:21 2005
@@ -727,6 +727,10 @@
*/
public boolean equals(Object obj)
{
+ // NOTE: No special hashCode() method is required for this class,
+ // as this equals() implementation is functionally equivalent to
+ // super.equals(), which does define a proper hashCode().
+
if (! (obj instanceof Rectangle2D))
return false;
Rectangle2D r = (Rectangle2D) obj;
Index: kaffe/libraries/javalib/java/awt/Window.java
diff -u kaffe/libraries/javalib/java/awt/Window.java:1.39 kaffe/libraries/javalib/java/awt/Window.java:1.40
--- kaffe/libraries/javalib/java/awt/Window.java:1.39 Sun Sep 11 21:16:58 2005
+++ kaffe/libraries/javalib/java/awt/Window.java Fri Sep 16 22:25:21 2005
@@ -346,11 +346,6 @@
super.hide();
}
- public boolean isDisplayable()
- {
- return peer != null;
- }
-
/**
* Destroys any resources associated with this window. This includes
* all components in the window and all owned top-level windows.
Index: kaffe/libraries/javalib/java/io/PushbackInputStream.java
diff -u kaffe/libraries/javalib/java/io/PushbackInputStream.java:1.10 kaffe/libraries/javalib/java/io/PushbackInputStream.java:1.11
--- kaffe/libraries/javalib/java/io/PushbackInputStream.java:1.10 Mon Jul 4 00:06:40 2005
+++ kaffe/libraries/javalib/java/io/PushbackInputStream.java Fri Sep 16 22:25:23 2005
@@ -116,7 +116,14 @@
*/
public int available() throws IOException
{
- return (buf.length - pos) + super.available();
+ try
+ {
+ return (buf.length - pos) + super.available();
+ }
+ catch (NullPointerException npe)
+ {
+ throw new IOException ("Stream closed");
+ }
}
/**
Index: kaffe/libraries/javalib/java/lang/Class.java
diff -u kaffe/libraries/javalib/java/lang/Class.java:1.57 kaffe/libraries/javalib/java/lang/Class.java:1.58
--- kaffe/libraries/javalib/java/lang/Class.java:1.57 Thu Sep 15 02:25:46 2005
+++ kaffe/libraries/javalib/java/lang/Class.java Fri Sep 16 22:25:23 2005
@@ -101,7 +101,7 @@
/** The class signers. */
private Object[] signers = null;
/** The class protection domain. */
- private final ProtectionDomain pd;
+ private final transient ProtectionDomain pd;
/* We use an inner class, so that Class doesn't have a static initializer */
private static final class StaticData
===================================================================
Checking out kaffe/libraries/javalib/java/lang/EnumConstantNotPresentException.java
RCS: /home/cvs/kaffe/kaffe/libraries/javalib/java/lang/EnumConstantNotPresentException.java,v
VERS: 1.1
***************
--- /dev/null Sun Aug 4 19:57:58 2002
+++ kaffe/libraries/javalib/java/lang/EnumConstantNotPresentException.java Fri Sep 16 22:31:33 2005
@@ -0,0 +1,93 @@
+/* EnumConstantNotPresentException.java -- thrown when enum constant
+ not available
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.lang;
+
+/**
+ * An exception of this type is thrown when a symbolic reference is
+ * made to an enum constant which does not exist.
+ *
+ * @author Tom Tromey (tromey at redhat.com)
+ * @since 1.5
+ */
+public class EnumConstantNotPresentException extends RuntimeException
+{
+ /**
+ * The enum's type. Note that the name is fixed by the
+ * serialization spec.
+ */
+ private Class enumType;
+
+ /**
+ * The name of the missing enum constant. Note that the name is
+ * fixed by the serialization spec.
+ */
+ private String constantName;
+
+ /**
+ * Create a new EnumConstantNotPresentException with the indicated
+ * enum type and enum constant name.
+ * @param theEnum the enum's class
+ * @param name the name of the missing enum constant
+ */
+ public EnumConstantNotPresentException(Class theEnum, String name)
+ {
+ super("enum " + theEnum + " is missing the constant " + name);
+ enumType = theEnum;
+ constantName = name;
+ }
+
+ /**
+ * Return the name of the missing constant.
+ * @return the name of the missing constant
+ */
+ public String constantName()
+ {
+ return constantName;
+ }
+
+ /**
+ * Return the enum type which is missing a constant.
+ * @return the enum type which is missing a constant
+ */
+ public Class enumType()
+ {
+ return enumType;
+ }
+}
Index: kaffe/libraries/javalib/java/net/URLStreamHandler.java
diff -u kaffe/libraries/javalib/java/net/URLStreamHandler.java:1.22 kaffe/libraries/javalib/java/net/URLStreamHandler.java:1.23
--- kaffe/libraries/javalib/java/net/URLStreamHandler.java:1.22 Mon Jul 4 00:06:58 2005
+++ kaffe/libraries/javalib/java/net/URLStreamHandler.java Fri Sep 16 22:25:24 2005
@@ -511,7 +511,7 @@
int size = protocol.length() + authority.length() + file.length() + 24;
StringBuffer sb = new StringBuffer(size);
- if (protocol != null && protocol.length() > 0)
+ if (protocol.length() > 0)
{
sb.append(protocol);
sb.append(":");
Index: kaffe/libraries/javalib/java/nio/charset/Charset.java
diff -u kaffe/libraries/javalib/java/nio/charset/Charset.java:1.18 kaffe/libraries/javalib/java/nio/charset/Charset.java:1.19
--- kaffe/libraries/javalib/java/nio/charset/Charset.java:1.18 Sun Sep 11 21:17:01 2005
+++ kaffe/libraries/javalib/java/nio/charset/Charset.java Fri Sep 16 22:25:24 2005
@@ -302,6 +302,7 @@
Thread.currentThread().getContextClassLoader())).newInstance());
set.add(p);
}
+ rdr.close();
}
providers = new CharsetProvider[set.size()];
Index: kaffe/libraries/javalib/java/security/Identity.java
diff -u kaffe/libraries/javalib/java/security/Identity.java:1.3 kaffe/libraries/javalib/java/security/Identity.java:1.4
--- kaffe/libraries/javalib/java/security/Identity.java:1.3 Mon Jul 4 00:07:14 2005
+++ kaffe/libraries/javalib/java/security/Identity.java Fri Sep 16 22:25:24 2005
@@ -297,8 +297,8 @@
if (identity == this)
return true;
- if ((((Identity) identity).getName() == this.name) &&
- (((Identity) identity).getScope() == this.scope))
+ if ((((Identity) identity).getName().equals(this.name)) &&
+ (((Identity) identity).getScope().equals(this.scope)))
return true;
return identityEquals((Identity) identity);
@@ -319,8 +319,8 @@
*/
protected boolean identityEquals(Identity identity)
{
- return ((identity.getName() == this.name) &&
- (identity.getPublicKey() == this.publicKey));
+ return ((identity.getName().equals(this.name)) &&
+ (identity.getPublicKey().equals(this.publicKey)));
}
/**
Index: kaffe/libraries/javalib/javax/naming/Name.java
diff -u kaffe/libraries/javalib/javax/naming/Name.java:1.5 kaffe/libraries/javalib/javax/naming/Name.java:1.6
--- kaffe/libraries/javalib/javax/naming/Name.java:1.5 Mon Jul 4 00:07:41 2005
+++ kaffe/libraries/javalib/javax/naming/Name.java Fri Sep 16 22:25:25 2005
@@ -1,5 +1,5 @@
/* Name.java -- Name build up from different components
- Copyright (C) 2000, 2001, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001, 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -60,7 +60,7 @@
* @author Anthony Green (green at redhat.com)
* @author Mark Wielaard (mark at klomp.org)
*/
-public interface Name extends Cloneable, Serializable
+public interface Name extends Cloneable, Serializable, Comparable
{
long serialVersionUID = -3617482732056931635L;
Index: kaffe/libraries/javalib/javax/swing/JList.java
diff -u kaffe/libraries/javalib/javax/swing/JList.java:1.15 kaffe/libraries/javalib/javax/swing/JList.java:1.16
--- kaffe/libraries/javalib/javax/swing/JList.java:1.15 Sun Sep 11 21:17:04 2005
+++ kaffe/libraries/javalib/javax/swing/JList.java Fri Sep 16 22:25:25 2005
@@ -41,13 +41,25 @@
import java.awt.Color;
import java.awt.Component;
import java.awt.ComponentOrientation;
+import java.awt.Cursor;
import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.FontMetrics;
import java.awt.Point;
import java.awt.Rectangle;
+import java.awt.event.FocusListener;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.Locale;
import java.util.Vector;
import javax.accessibility.Accessible;
+import javax.accessibility.AccessibleComponent;
import javax.accessibility.AccessibleContext;
+import javax.accessibility.AccessibleRole;
+import javax.accessibility.AccessibleSelection;
+import javax.accessibility.AccessibleState;
+import javax.accessibility.AccessibleStateSet;
import javax.swing.event.ListDataEvent;
import javax.swing.event.ListDataListener;
import javax.swing.event.ListSelectionEvent;
@@ -108,6 +120,728 @@
public class JList extends JComponent implements Accessible, Scrollable
{
+
+ /**
+ * Provides accessibility support for <code>JList</code>.
+ */
+ protected class AccessibleJList extends AccessibleJComponent
+ implements AccessibleSelection, PropertyChangeListener,
+ ListSelectionListener, ListDataListener
+ {
+
+ /**
+ * Provides accessibility support for list elements in <code>JList</code>s.
+ */
+ protected class AccessibleJListChild extends AccessibleContext
+ implements Accessible, AccessibleComponent
+ {
+
+ /**
+ * The parent list.
+ */
+ JList parent;
+
+ /**
+ * The index in the list for that child.
+ */
+ int listIndex;
+
+ /**
+ * The cursor for this list child.
+ */
+ // TODO: Testcases show that this class somehow stores state about the
+ // cursor. I cannot make up though how that could affect
+ // the actual list.
+ Cursor cursor = Cursor.getDefaultCursor();
+
+ /**
+ * Creates a new instance of <code>AccessibleJListChild</code>.
+ *
+ * @param list the list of which this is an accessible child
+ * @param index the list index for this child
+ */
+ public AccessibleJListChild(JList list, int index)
+ {
+ parent = list;
+ listIndex = index;
+ }
+
+ /**
+ * Returns the accessible context of this object. Returns
+ * <code>this</code> since <code>AccessibleJListChild</code>s are their
+ * own accessible contexts.
+ *
+ * @return the accessible context of this object, <code>this</code>
+ */
+ public AccessibleContext getAccessibleContext()
+ {
+ return this;
+ }
+
+ /**
+ * Returns the background color for this list child. This returns the
+ * background of the <code>JList</code> itself since the background
+ * cannot be set on list children individually
+ *
+ * @return the background color for this list child
+ */
+ public Color getBackground()
+ {
+ return parent.getBackground();
+ }
+
+ /**
+ * Calling this method has no effect, since the background color cannot be
+ * set on list children individually.
+ *
+ * @param color not used here.
+ */
+ public void setBackground(Color color)
+ {
+ // Calling this method has no effect, since the background color cannot
+ // be set on list children individually.
+ }
+
+ /**
+ * Returns the foreground color for this list child. This returns the
+ * background of the <code>JList</code> itself since the foreground
+ * cannot be set on list children individually.
+ *
+ * @return the background color for this list child
+ */
+ public Color getForeground()
+ {
+ return parent.getForeground();
+ }
+
+ /**
+ * Calling this method has no effect, since the foreground color cannot be
+ * set on list children individually.
+ *
+ * @param color not used here.
+ */
+ public void setForeground(Color color)
+ {
+ // Calling this method has no effect, since the foreground color cannot
+ // be set on list children individually.
+ }
+
+ /**
+ * Returns the cursor for this list child.
+ *
+ * @return the cursor for this list child
+ */
+ public Cursor getCursor()
+ {
+ // TODO: Testcases show that this method returns the cursor that has
+ // been set by setCursor. I cannot make up though how that could affect
+ // the actual list.
+ return cursor;
+ }
+
+ /**
+ * Sets the cursor for this list child.
+ */
+ public void setCursor(Cursor cursor)
+ {
+ this.cursor = cursor;
+ // TODO: Testcases show that this method returns the cursor that has
+ // been set by setCursor. I cannot make up though how that could affect
+ // the actual list.
+ }
+
+ /**
+ * Returns the font of the <code>JList</code> since it is not possible to
+ * set fonts for list children individually.
+ *
+ * @return the font of the <code>JList</code>
+ */
+ public Font getFont()
+ {
+ return parent.getFont();
+ }
+
+ /**
+ * Does nothing since it is not possible to set the font on list children
+ * individually.
+ *
+ * @param font not used here
+ */
+ public void setFont(Font font)
+ {
+ // Does nothing since it is not possible to set the font on list
+ // children individually.
+ }
+
+ /**
+ * Returns the font metrics for the specified font. This method forwards
+ * to the parent <code>JList</code>.
+ *
+ * @param font the font for which the font metrics is queried
+ *
+ * @return the font metrics for the specified font
+ */
+ public FontMetrics getFontMetrics(Font font)
+ {
+ return parent.getFontMetrics(font);
+ }
+
+ /**
+ * Returns <code>true</code> if the parent <code>JList</code> is enabled,
+ * <code>false</code> otherwise. The list children cannot have an enabled
+ * flag set individually.
+ *
+ * @return <code>true</code> if the parent <code>JList</code> is enabled,
+ * <code>false</code> otherwise
+ */
+ public boolean isEnabled()
+ {
+ return parent.isEnabled();
+ }
+
+ /**
+ * Does nothing since the enabled flag cannot be set for list children
+ * individually.
+ *
+ * @param b not used here
+ */
+ public void setEnabled(boolean b)
+ {
+ // Does nothing since the enabled flag cannot be set for list children
+ // individually.
+ }
+
+ /**
+ * Returns <code>true</code> if this list child is visible,
+ * <code>false</code> otherwise. The value of this property depends
+ * on {@link JList#getFirstVisibleIndex()} and
+ * {@link JList#getLastVisibleIndex()}.
+ *
+ * @return <code>true</code> if this list child is visible,
+ * <code>false</code> otherwise
+ */
+ public boolean isVisible()
+ {
+ return listIndex >= parent.getFirstVisibleIndex()
+ && listIndex <= parent.getLastVisibleIndex();
+ }
+
+ /**
+ * The value of the visible property cannot be modified, so this method
+ * does nothing.
+ *
+ * @param b not used here
+ */
+ public void setVisible(boolean b)
+ {
+ // The value of the visible property cannot be modified, so this method
+ // does nothing.
+ }
+
+ /**
+ * Returns <code>true</code> if this list child is currently showing on
+ * screen and <code>false</code> otherwise. The list child is showing if
+ * it is visible and if it's parent JList is currently showing.
+ *
+ * @return <code>true</code> if this list child is currently showing on
+ * screen and <code>false</code> otherwise
+ */
+ public boolean isShowing()
+ {
+ return isVisible() && parent.isShowing();
+ }
+
+ /**
+ * Returns <code>true</code> if this list child covers the screen location
+ * <code>point</code> (relative to the <code>JList</code> coordinate
+ * system, <code>false</code> otherwise.
+ *
+ * @return <code>true</code> if this list child covers the screen location
+ * <code>point</code> , <code>false</code> otherwise
+ */
+ public boolean contains(Point point)
+ {
+ return getBounds().contains(point);
+ }
+
+ /**
+ * Returns the absolute screen location of this list child.
+ *
+ * @return the absolute screen location of this list child
+ */
+ public Point getLocationOnScreen()
+ {
+ Point loc = getLocation();
+ SwingUtilities.convertPointToScreen(loc, parent);
+ return loc;
+ }
+
+ /**
+ * Returns the screen location of this list child relative to it's parent.
+ *
+ * @return the location of this list child relative to it's parent
+ *
+ * @see JList#indexToLocation(int)
+ */
+ public Point getLocation()
+ {
+ return parent.indexToLocation(listIndex);
+ }
+
+ /**
+ * Does nothing since the screen location cannot be set on list children
+ * explictitly.
+ *
+ * @param point not used here
+ */
+ public void setLocation(Point point)
+ {
+ // Does nothing since the screen location cannot be set on list children
+ // explictitly.
+ }
+
+ /**
+ * Returns the bounds of this list child.
+ *
+ * @return the bounds of this list child
+ *
+ * @see JList#getCellBounds(int, int)
+ */
+ public Rectangle getBounds()
+ {
+ return parent.getCellBounds(listIndex, listIndex);
+ }
+
+ /**
+ * Does nothing since the bounds cannot be set on list children
+ * individually.
+ *
+ * @param rectangle not used here
+ */
+ public void setBounds(Rectangle rectangle)
+ {
+ // Does nothing since the bounds cannot be set on list children
+ // individually.
+ }
+
+ /**
+ * Returns the size of this list child.
+ *
+ * @return the size of this list child
+ */
+ public Dimension getSize()
+ {
+ Rectangle b = getBounds();
+ return b.getSize();
+ }
+
+ /**
+ * Does nothing since the size cannot be set on list children
+ * individually.
+ *
+ * @param dimension not used here
+ */
+ public void setSize(Dimension dimension)
+ {
+ // Does nothing since the size cannot be set on list children
+ // individually.
+ }
+
+ /**
+ * Returns <code>null</code> because list children do not have children
+ * themselves
+ *
+ * @return <code>null</code>
+ */
+ public Accessible getAccessibleAt(Point point)
+ {
+ return null;
+ }
+
+ /**
+ * Returns <code>true</code> since list children are focus traversable.
+ *
+ * @return true
+ */
+ public boolean isFocusTraversable()
+ {
+ // TODO: Is this 100% ok?
+ return true;
+ }
+
+ /**
+ * Requests focus on the parent list. List children cannot request focus
+ * individually.
+ */
+ public void requestFocus()
+ {
+ // TODO: Is this 100% ok?
+ parent.requestFocus();
+ }
+
+ /**
+ * Adds a focus listener to the parent list. List children do not have
+ * their own focus management.
+ *
+ * @param listener the focus listener to add
+ */
+ public void addFocusListener(FocusListener listener)
+ {
+ // TODO: Is this 100% ok?
+ parent.addFocusListener(listener);
+ }
+
+ /**
+ * Removes a focus listener from the parent list. List children do not
+ * have their own focus management.
+ *
+ * @param listener the focus listener to remove
+ */
+ public void removeFocusListener(FocusListener listener)
+ {
+ // TODO: Is this 100%
+ parent.removeFocusListener(listener);
+ }
+
+ /**
+ * Returns the accessible role of this list item, which is
+ * {@link AccessibleRole#LABEL}.
+ *
+ * @return {@link AccessibleRole#LABEL}
+ */
*** Patch too long, truncated ***
More information about the kaffe
mailing list