RE: [cp-patches] RFC: ZipFile optimizations

2006-02-15 Thread Jeroen Frijters
[EMAIL PROTECTED] wrote:
  Jeroen == Jeroen Frijters [EMAIL PROTECTED] writes:
 
 Jeroen I noticed that ZipFile currently doesn't use any buffering
 Jeroen when reading the zip file directory, so I would like to
 Jeroen propose the attached patch to fix this. For me this
 Jeroen significantly increases performance of reading the zip
 Jeroen directory.
 
 Jeroen Please comment.
 
 I skimmed the patch and didn't see anything that looked bad.
 I think the idea is good, I would say that if it passes the mauve
 tests it should go in.

Thanks. The tests pass. I'll check in the change.

Regards,
Jeroen



[cp-patches] FYI: JTable header values.

2006-02-15 Thread Audrius Meskauskas
The program was showing incorrect (default rather than custom) table 
headers with Classpath. We found that this is because the header value 
is set once again in setColumnModel.


If the column header value is set by calling setHeaderValue(..), the 
table must use that value and do not request the default value from the 
table model.


2006-02-15  Audrius Meskauskas  [EMAIL PROTECTED]

   * examples/gnu/classpath/examples/swing/TableDemo.java
 (TModel, createContent): Explain which value appears in the header.
   * javax/swing/JTable.java (setColumnModel): Only set the
   column header value if the getHeaderValue() returns null.

Index: examples/gnu/classpath/examples/swing/TableDemo.java
===
RCS file: /sources/classpath/classpath/examples/gnu/classpath/examples/swing/TableDemo.java,v
retrieving revision 1.3
diff -u -r1.3 TableDemo.java
--- examples/gnu/classpath/examples/swing/TableDemo.java	14 Feb 2006 22:27:54 -	1.3
+++ examples/gnu/classpath/examples/swing/TableDemo.java	15 Feb 2006 08:40:58 -
@@ -48,7 +48,6 @@
 import javax.swing.table.DefaultTableColumnModel;
 import javax.swing.table.DefaultTableModel;
 import javax.swing.table.TableColumn;
-import javax.swing.table.TableColumnModel;
 
 /**
  * Displays the editable table. The first column consists of check boxes.
@@ -115,11 +114,13 @@
 }
 
 /**
- * The column name.
+ * The column name, as suggested by model. This header should not be
+ * visible, as it is overridden by setting the header name with
+ * [EMAIL PROTECTED] TableColumn#setHeaderValue} in [EMAIL PROTECTED] TableDemo#createContent}.
  */
 public String getColumnName(int column)
 {
- return Demo +column;
+   return Error +column;
 }
 
 /**
@@ -191,10 +192,16 @@
 DefaultTableColumnModel cm = new DefaultTableColumnModel();
 for (int i = 0; i  cols; i++)
   {
-int w = 100+20*i;
 TableColumn column = new TableColumn(i);
-column.setPreferredWidth(w);
+
+// Showing the variable width columns.
+int width = 100+20*i;
+column.setPreferredWidth(width);
+
+// If we do not set the header value here, the value, returned
+// by model, is used.
 column.setHeaderValue(Width ++(20*i));
+
 cm.addColumn(column);
   }
 
Index: javax/swing/JTable.java
===
RCS file: /sources/classpath/classpath/javax/swing/JTable.java,v
retrieving revision 1.72
diff -u -r1.72 JTable.java
--- javax/swing/JTable.java	14 Feb 2006 22:27:54 -	1.72
+++ javax/swing/JTable.java	15 Feb 2006 08:41:27 -
@@ -2763,8 +2763,13 @@
 if (dataModel != null  columnModel != null)
   {
 int ncols = getColumnCount();
+TableColumn column;
 for (int i = 0; i  ncols; ++i)
-  columnModel.getColumn(i).setHeaderValue(dataModel.getColumnName(i));
+  {
+column = columnModel.getColumn(i); 
+if (column.getHeaderValue()==null)
+  column.setHeaderValue(dataModel.getColumnName(i));
+  }
   }
 
 // according to Sun's spec we also have to set the tableHeader's


[cp-patches] FYI: ZipFile optimizations

2006-02-15 Thread Jeroen Frijters
Hi,

Committed.

Regards,
Jeroen

2006-02-15  Jeroen Frijters  [EMAIL PROTECTED]

* java/util/zip/ZipFile.java
(checkZipFile): Inlined readLeInt and rewritten for robustness.
(readLeShort(DataInput,byte[]), readLeInt(DataInput,byte[],
readLeShort(byte[],int), readLeInt(byte[],int)): Removed.
(readEntries): Rewritten to use PartialInputStream.
(locBuf, checkLocalHeader): Removed.
(getInputStream): Rewritten to use new PartialInputStream.
(PartialInputStream): Rewritten to do buffering.
Index: java/util/zip/ZipFile.java
===
RCS file: /cvsroot/classpath/classpath/java/util/zip/ZipFile.java,v
retrieving revision 1.27
diff -u -r1.27 ZipFile.java
--- java/util/zip/ZipFile.java  16 Sep 2005 01:07:21 -  1.27
+++ java/util/zip/ZipFile.java  13 Feb 2006 14:59:52 -
@@ -1,5 +1,5 @@
 /* ZipFile.java --
-   Copyright (C) 2001, 2002, 2003, 2004, 2005
+   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
@@ -41,8 +41,6 @@
 
 import gnu.java.util.EmptyEnumeration;
 
-import java.io.BufferedInputStream;
-import java.io.DataInput;
 import java.io.EOFException;
 import java.io.File;
 import java.io.IOException;
@@ -141,23 +139,33 @@
 checkZipFile();
   }
 
-  private void checkZipFile() throws IOException, ZipException
+  private void checkZipFile() throws ZipException
   {
-byte[] magicBuf = new byte[4];
-boolean validRead = true;
+boolean valid = false;
 
 try 
   {
-   raf.readFully(magicBuf);
-  } 
-catch (EOFException eof) 
+byte[] buf = new byte[4];
+raf.readFully(buf);
+int sig = buf[0]  0xFF
+| ((buf[1]  0xFF)  8)
+| ((buf[2]  0xFF)  16)
+| ((buf[3]  0xFF)  24);
+valid = sig == LOCSIG;
+  }
+catch (IOException _)
   {
-   validRead = false;
   } 
 
-if (validRead == false || readLeInt(magicBuf, 0) != LOCSIG)
+if (!valid)
   {
-   raf.close();
+try
+  {
+   raf.close();
+  }
+catch (IOException _)
+  {
+  }
throw new ZipException(Not a valid zip file);
   }
   }
@@ -172,69 +180,6 @@
   }
 
   /**
-   * Read an unsigned short in little endian byte order from the given
-   * DataInput stream using the given byte buffer.
-   *
-   * @param di DataInput stream to read from.
-   * @param b the byte buffer to read in (must be at least 2 bytes long).
-   * @return The value read.
-   *
-   * @exception IOException if a i/o error occured.
-   * @exception EOFException if the file ends prematurely
-   */
-  private int readLeShort(DataInput di, byte[] b) throws IOException
-  {
-di.readFully(b, 0, 2);
-return (b[0]  0xff) | (b[1]  0xff)  8;
-  }
-
-  /**
-   * Read an int in little endian byte order from the given
-   * DataInput stream using the given byte buffer.
-   *
-   * @param di DataInput stream to read from.
-   * @param b the byte buffer to read in (must be at least 4 bytes long).
-   * @return The value read.
-   *
-   * @exception IOException if a i/o error occured.
-   * @exception EOFException if the file ends prematurely
-   */
-  private int readLeInt(DataInput di, byte[] b) throws IOException
-  {
-di.readFully(b, 0, 4);
-return ((b[0]  0xff) | (b[1]  0xff)  8)
-   | ((b[2]  0xff) | (b[3]  0xff)  8)  16;
-  }
-
-  /**
-   * Read an unsigned short in little endian byte order from the given
-   * byte buffer at the given offset.
-   *
-   * @param b the byte array to read from.
-   * @param off the offset to read from.
-   * @return The value read.
-   */
-  private int readLeShort(byte[] b, int off)
-  {
-return (b[off]  0xff) | (b[off+1]  0xff)  8;
-  }
-
-  /**
-   * Read an int in little endian byte order from the given
-   * byte buffer at the given offset.
-   *
-   * @param b the byte array to read from.
-   * @param off the offset to read from.
-   * @return The value read.
-   */
-  private int readLeInt(byte[] b, int off)
-  {
-return ((b[off]  0xff) | (b[off+1]  0xff)  8)
-   | ((b[off+2]  0xff) | (b[off+3]  0xff)  8)  16;
-  }
-  
-
-  /**
* Read the central directory of a zip file and fill the entries
* array.  This is called exactly once when first needed. It is called
* while holding the lock on coderaf/code.
@@ -246,63 +191,48 @@
   {
 /* Search for the End Of Central Directory.  When a zip comment is 
  * present the directory may start earlier.
- * FIXME: This searches the whole file in a very slow manner if the
- * file isn't a zip file.
+ * Note that a comment has a maximum length of 64K, so that is the
+ * maximum we search backwards.
  */
+PartialInputStream inp = new PartialInputStream(raf, 4096);
 long pos = raf.length() - ENDHDR;
-byte[] ebs  = new byte[CENHDR];
-
+

[cp-patches] FYI: BasicTableUI fix

2006-02-15 Thread Roman Kennke
We were painting the vertical and horizontal grid lines in JTable one
pixel too far left/below on the first pixel row of the adjecent table
cell, whereas they should really be painted on the last pixel row of the
current cell. This patch fixes this. This makes the cells nicely aligned
with the table header cells finally.

2006-02-15  Roman Kennke  [EMAIL PROTECTED]

* javax/swing/plaf/basic/BasicTableUI.java
(paint): Paint vertical and horizontal lines one pixel shifted
left/top.

/Roman
Index: javax/swing/plaf/basic/BasicTableUI.java
===
RCS file: /cvsroot/classpath/classpath/javax/swing/plaf/basic/BasicTableUI.java,v
retrieving revision 1.42
diff -u -r1.42 BasicTableUI.java
--- javax/swing/plaf/basic/BasicTableUI.java	14 Feb 2006 22:03:06 -	1.42
+++ javax/swing/plaf/basic/BasicTableUI.java	15 Feb 2006 10:23:03 -
@@ -1263,8 +1263,8 @@
 for (int c = c0; c  cn; ++c)
   {
 bounds = table.getCellRect(0, c, true);
-gfx.drawLine(bounds.x + bounds.width, p1.y,
- bounds.x + bounds.width, p2.y);
+gfx.drawLine(bounds.x + bounds.width - 1, p1.y,
+ bounds.x + bounds.width - 1, p2.y);
   }
 gfx.setColor(save);
   }
@@ -1277,8 +1277,8 @@
 for (int r = r0; r  rn; ++r)
   {
 bounds = table.getCellRect(r, 0, true);
-gfx.drawLine(p1.x, bounds.y + bounds.height,
- p2.x, bounds.y + bounds.height);
+gfx.drawLine(p1.x, bounds.y + bounds.height - 1,
+ p2.x, bounds.y + bounds.height - 1);
   }
 gfx.setColor(save);
   }


[cp-patches] FYI: SpinnerNumberModel getNextValue()/getPreviousValue() fix

2006-02-15 Thread David Gilbert
The getNextValue() and getPreviousValue() methods in the SpinnerNumberModel throw a 
NullPointerException if the maximum / minimum values are not set.  This patch 
(committed) prevents that from happening:


2006-02-15  David Gilbert  [EMAIL PROTECTED]

* javax/swing/SpinnerNumberModel.java
(getNextValue): Check for null maximum,
(getPreviousValue): Check for null minimum.

I've already committed Mauve tests to cover these cases, and will now go and check 
SpinnerDateModel to see if it has the same problem...


Regards,

Dave
Index: javax/swing/SpinnerNumberModel.java
===
RCS file: /sources/classpath/classpath/javax/swing/SpinnerNumberModel.java,v
retrieving revision 1.10
diff -u -r1.10 SpinnerNumberModel.java
--- javax/swing/SpinnerNumberModel.java 9 Feb 2006 22:45:01 -   1.10
+++ javax/swing/SpinnerNumberModel.java 15 Feb 2006 10:53:25 -
@@ -204,8 +204,12 @@
   num = new Short((short) (value.shortValue() + stepSize.shortValue()));
 else
   num = new Byte((byte) (value.byteValue() + stepSize.byteValue()));
-
-return maximum.compareTo(num) = 0 ? num : null;
+
+// check upper bound if set
+if ((maximum != null)  maximum.compareTo(num)  0)
+  num = null;
+
+return num;
   }
 
   /**
@@ -232,8 +236,12 @@
   num = new Short((short) (value.shortValue() - stepSize.shortValue()));
 else
   num = new Byte((byte) (value.byteValue() - stepSize.byteValue()));
+
+// check lower bound if set
+if ((minimum != null)  minimum.compareTo(num)  0)
+  num = null;
 
-return minimum.compareTo(num) = 0 ? num : null;
+return num;
   }
 
   /**


Re: [cp-patches] FYI: SpinnerNumberModel getNextValue()/getPreviousValue() fix

2006-02-15 Thread David Gilbert
I checked SpinnerDateModel and it doesn't have the same problem, but I 
committed Mauve test cases in any case.


Regards,

Dave


David Gilbert wrote:

The getNextValue() and getPreviousValue() methods in the 
SpinnerNumberModel throw a NullPointerException if the maximum / 
minimum values are not set.  This patch (committed) prevents that from 
happening:


2006-02-15  David Gilbert  [EMAIL PROTECTED]

* javax/swing/SpinnerNumberModel.java
(getNextValue): Check for null maximum,
(getPreviousValue): Check for null minimum.

I've already committed Mauve tests to cover these cases, and will now 
go and check SpinnerDateModel to see if it has the same problem...


Regards,

Dave



Index: javax/swing/SpinnerNumberModel.java
===
RCS file: /sources/classpath/classpath/javax/swing/SpinnerNumberModel.java,v
retrieving revision 1.10
diff -u -r1.10 SpinnerNumberModel.java
--- javax/swing/SpinnerNumberModel.java 9 Feb 2006 22:45:01 -   1.10
+++ javax/swing/SpinnerNumberModel.java 15 Feb 2006 10:53:25 -
@@ -204,8 +204,12 @@
  num = new Short((short) (value.shortValue() + stepSize.shortValue()));
else
  num = new Byte((byte) (value.byteValue() + stepSize.byteValue()));
-
-return maximum.compareTo(num) = 0 ? num : null;
+
+// check upper bound if set

+if ((maximum != null)  maximum.compareTo(num)  0)
+  num = null;
+
+return num;

  }

  /**
@@ -232,8 +236,12 @@
  num = new Short((short) (value.shortValue() - stepSize.shortValue()));
else
  num = new Byte((byte) (value.byteValue() - stepSize.byteValue()));
+
+// check lower bound if set

+if ((minimum != null)  minimum.compareTo(num)  0)
+  num = null;

-return minimum.compareTo(num) = 0 ? num : null;
+return num;
  }

  /**
 






[cp-patches] RFC: up and down movement selection

2006-02-15 Thread Robert Schuster
Hi,
with this patch JTextArea's caret learns to move and select up and down
correctly. The patch mainly adds code that updates the so called magic caret
position.

In the respective actions this properties value is then used to determine the
new location.

The actions for up  down selections are, the other ones have been tweaked only
(to make use of the viewToModel related fix I committed a few days ago).

Please comment.

The ChangeLog:

2006-02-15  Robert Schuster  [EMAIL PROTECTED]

* javax/swing/text/JTextComponent.java:
(replaceSelection): Added code to update the magic caret position.
* javax/swing/text/DefaultEditorKit.java: Added code to update
the magic caret position of the text component in all relevant
movement actions, make use of the magic caret position in up
and down movements and selections, simplified some actions
(code-wise).

cya
Robert
Index: javax/swing/text/DefaultEditorKit.java
===
RCS file: /cvsroot/classpath/classpath/javax/swing/text/DefaultEditorKit.java,v
retrieving revision 1.28
diff -u -r1.28 DefaultEditorKit.java
--- javax/swing/text/DefaultEditorKit.java	7 Feb 2006 15:38:51 -	1.28
+++ javax/swing/text/DefaultEditorKit.java	15 Feb 2006 11:30:19 -
@@ -707,16 +707,14 @@
 JTextComponent t = getTextComponent(event);
 try
 {
-  // TODO: There is a more efficent solution, but
-  // viewToModel doesn't work properly.
-  Point p = t.modelToView(t.getCaret().getDot()).getLocation();
-  int cur = t.getCaretPosition();
-  int y = p.y;
-  while (y == p.y  cur  0)
-y = t.modelToView(--cur).getLocation().y;
-  if (cur != 0)
-cur++;
-  t.setCaretPosition(cur);
+  int offs = Utilities.getRowStart(t, t.getCaretPosition());
+  
+  if (offs  -1)
+{
+  Caret c = t.getCaret();
+  c.setDot(offs);
+  c.setMagicCaretPosition(t.modelToView(offs).getLocation());
+}
 }
 catch (BadLocationException ble)
 {
@@ -729,17 +727,16 @@
   public void actionPerformed(ActionEvent event)
   {
 JTextComponent t = getTextComponent(event);
-   try
+try
{
- Point p = t.modelToView(t.getCaret().getDot()).getLocation();
- int cur = t.getCaretPosition();
- int y = p.y;
- int length = t.getDocument().getLength();
- while (y == p.y  cur  length)
-   y = t.modelToView(++cur).getLocation().y;
- if (cur != length)
-   cur--;
- t.setCaretPosition(cur);
+ int offs = Utilities.getRowEnd(t, t.getCaretPosition());
+ 
+ if (offs  -1)
+   {
+ Caret c = t.getCaret();
+ c.setDot(offs);
+ c.setMagicCaretPosition(t.modelToView(offs).getLocation());
+   }
}
catch (BadLocationException ble)
{
@@ -764,7 +761,9 @@
 else if (pos  t.getDocument().getLength())
 t.getDocument().remove(pos, 1);
 
-t.setCaretPosition(pos);
+Caret c = t.getCaret();
+c.setDot(pos);
+c.setMagicCaretPosition(t.modelToView(pos).getLocation());
   }
 catch (BadLocationException e)
   {
@@ -786,12 +785,15 @@
 int len = t.getSelectionEnd() - pos;
 
 if (len  0)
-  {
 t.getDocument().remove(pos, len);
-t.setCaretPosition(pos);
-  }
 else if (pos  0)
-t.getDocument().remove(pos - 1, 1);
+  {
+pos--;
+t.getDocument().remove(pos, 1);
+Caret c = t.getCaret();
+c.setDot(pos);
+c.setMagicCaretPosition(t.modelToView(pos).getLocation());
+  }
   }
 catch (BadLocationException e)
   {
@@ -807,8 +809,21 @@
 JTextComponent t = getTextComponent(event);
 if (t != null)
   {
-t.getCaret().setDot(Math.max(t.getCaret().getDot() - 1,
- t.getDocument().getStartPosition().getOffset()));
+int offs = t.getCaretPosition() - 1;
+if (offs = 0)
+  {
+Caret c = t.getCaret();
+c.setDot(offs);
+
+try
+  {
+c.setMagicCaretPosition(t.modelToView(offs).getLocation());
+  }
+catch (BadLocationException ble)
+  {
+// Should not happen.
+  }
+  }
   }
   }
 },
@@ -819,8 +834,68 @@
 

Re: [cp-patches] [Patch]

2006-02-15 Thread Mark Wielaard
Hi,

On Wed, 2006-02-15 at 00:12 +0100, Michael Koch wrote:
 2006-02-15  Michael Koch  [EMAIL PROTECTED]
 
   * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c
   (Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create):
   Make sure the embedded window gets no decorations.
   * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
   (window_get_frame_extents): Return early of the window has no
   decorations.

This introduced a small compile error with --enable-Werror. Please use
this configure option always when hacking on any C code. It isn't the
default since there are some systems where there are some warnings in
system headers, but on most modern systems we really shouldn't have any
C compiler warnings. And they almost always point out a possible
(portability) issue.

Fixed as follows:

2006-02-15  Mark Wielaard  [EMAIL PROTECTED]

* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c
(Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create):
gtk_plug_new() returns a GtkWindow.

Committed,

Mark
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c
===
RCS file: /cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c,v
retrieving revision 1.8
diff -u -r1.8 gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c	15 Feb 2006 09:00:25 -	1.8
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c	15 Feb 2006 12:07:58 -
@@ -44,14 +44,14 @@
 Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create
   (JNIEnv *env, jobject obj, jlong socket_id)
 {
-  GtkWidget *window;
+  GtkWindow *window;
   GtkWidget *fixed;
 
   gdk_threads_enter ();
 
   NSA_SET_GLOBAL_REF (env, obj);
 
-  window = gtk_plug_new ((GdkNativeWindow) socket_id);
+  window = GTK_WINDOW (gtk_plug_new ((GdkNativeWindow) socket_id));
 
   gtk_window_set_decorated (window, FALSE);
 


signature.asc
Description: This is a digitally signed message part


Re: [cp-patches] RFC: up and down movement selection

2006-02-15 Thread Roman Kennke
Hi Robert,

Am Mittwoch, den 15.02.2006, 12:32 +0100 schrieb Robert Schuster:
 Hi,
 with this patch JTextArea's caret learns to move and select up and down
 correctly. The patch mainly adds code that updates the so called magic caret
 position.
 
 In the respective actions this properties value is then used to determine the
 new location.
 
 The actions for up  down selections are, the other ones have been tweaked 
 only
 (to make use of the viewToModel related fix I committed a few days ago).
 
 Please comment.

Looks good to me. Please commit.

/Roman

 
 The ChangeLog:
 
 2006-02-15  Robert Schuster  [EMAIL PROTECTED]
 
 * javax/swing/text/JTextComponent.java:
 (replaceSelection): Added code to update the magic caret position.
 * javax/swing/text/DefaultEditorKit.java: Added code to update
 the magic caret position of the text component in all relevant
 movement actions, make use of the magic caret position in up
 and down movements and selections, simplified some actions
 (code-wise).
 
 cya
 Robert


signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil


[cp-patches] More datatype library implementation

2006-02-15 Thread Chris Burdess
I committed some more of the missing parts of the datatype library  
implementation.


2006-02-15  Chris Burdess  [EMAIL PROTECTED]

* gnu/xml/validation/datatype/BooleanType.java,
  gnu/xml/validation/datatype/ByteType.java,
  gnu/xml/validation/datatype/DateTimeType.java,
  gnu/xml/validation/datatype/DateType.java,
  gnu/xml/validation/datatype/DecimalType.java,
  gnu/xml/validation/datatype/DoubleType.java,
  gnu/xml/validation/datatype/DurationType.java,
  gnu/xml/validation/datatype/FloatType.java,
  gnu/xml/validation/datatype/GDayType.java,
  gnu/xml/validation/datatype/GMonthDayType.java,
  gnu/xml/validation/datatype/GMonthType.java,
  gnu/xml/validation/datatype/GYearMonthType.java,
  gnu/xml/validation/datatype/GYearType.java,
  gnu/xml/validation/datatype/IntType.java,
  gnu/xml/validation/datatype/IntegerType.java,
  gnu/xml/validation/datatype/LongType.java,
  gnu/xml/validation/datatype/MaxExclusiveFacet.java,
  gnu/xml/validation/datatype/MaxInclusiveFacet.java,
  gnu/xml/validation/datatype/MinExclusiveFacet.java,
  gnu/xml/validation/datatype/MinInclusiveFacet.java,
  gnu/xml/validation/datatype/NegativeIntegerType.java,
  gnu/xml/validation/datatype/NonNegativeIntegerType.java,
  gnu/xml/validation/datatype/NonPositiveIntegerType.java,
  gnu/xml/validation/datatype/PositiveIntegerType.java,
  gnu/xml/validation/datatype/ShortType.java,
  gnu/xml/validation/datatype/SimpleType.java,
  gnu/xml/validation/datatype/TimeType.java,
  gnu/xml/validation/datatype/TypeBuilder.java,
  gnu/xml/validation/datatype/UnsignedByteType.java,
  gnu/xml/validation/datatype/UnsignedIntType.java,
  gnu/xml/validation/datatype/UnsignedLongType.java,
  gnu/xml/validation/datatype/UnsignedShortType.java: Provide value
  objects for datatypes. Make  
maxExclusive,minExclusive,maxInclusive,

  minInclusive facets use the value space of the base type, and
  implement.

--
犬 Chris Burdess
  They that can give up essential liberty to obtain a little safety
  deserve neither liberty nor safety. - Benjamin Franklin



patch
Description: Binary data





PGP.sig
Description: This is a digitally signed message part


[cp-patches] FYI: JSpinner / BasicSpinnerUI fixes

2006-02-15 Thread David Gilbert

Hi,

This patch makes our JSpinner usable (it was broken) and more compatible with the 
reference implementation (I added a lot of Mauve tests to ensure this).  I also 
added a small demo app that I used for basic testing:


2006-02-15  David Gilbert  [EMAIL PROTECTED]

* javax/swing/JSpinner.java
(DefaultEditor.DefaultEditor(JSpinner)): Add self to text field as a
PropertyChangeListener,
(DefaultEditor.getSpinner): Updated API docs,
(DefaultEditor.dismiss): Likewise,
(DefaultEditor.getTextField): Likewise,
(DefaultEditor.layoutContainer): Likewise,
(DefaultEditor.minimumLayoutSize): Likewise,
(DefaultEditor.preferredLayoutSize): Likewise,
(DefaultEditor.propertyChange): Implemented,
(DefaultEditor.stateChanged): Implemented,
(DefaultEditor.removeLayoutComponent): Updated API docs,
(DefaultEditor.addLayoutComponent): Likewise,
(NumberEditor.NumberEditor(JSpinner)): Set formatter for text field,
(NumberEditor.NumberEditor(JSpinner, String)): Likewise,
(NumberEditor.getFormat): Implemented,
(NumberEditor.getModel): Updated API docs,
(NumberEditorFormatter): New static inner class,
(ListEditor.getModel): Updated API docs,
(DateEditor.dateFormat): Removed,
(DateEditor.DateEditor(JSpinner)): Set formatter for text field,
(DateEditor.DateEditor(JSpinner, String)): Likewise,
(DateEditor.init): Removed,
(DateEditor.getFormat): Reimplemented,
(DateEditorFormatter): New static inner class,
(ModelListener): New inner class,
(model): Updated API docs,
(editor): Likewise,
(listener): Removed,
(JSpinner()): Updated API docs,
(JSpinner(SpinnerModel)): Set up ModelListener,
(setEditor): Fire property change,
(getModel): Updated API docs,
(setModel): Removed check for null editor,
(setValue): Updated API docs,
(getUIClassID): Updated API docs,
(createEditor): Handle SpinnerListModel case,
* javax/swing/plaf/basic/BasicSpinnerUI.java
(createUI): Updated API docs,
(createPropertyChangeListener): Added FIXME,
(installDefaults): Set text field border to null,
(DefaultLayoutManager): Updated API docs,
(DefaultLayoutManager.layoutContainer): Modified layout,
(DefaultLayoutManager.minimumLayoutSize): Ignore button heights,
(DefaultLayoutManager.preferredLayoutSize): Likewise,
(DefaultLayoutManager.removeLayoutComponent): Removed tabs,
(DefaultLayoutManager.addLayoutComponent): Likewise,
(DefaultLayoutManager.minSize): Renamed prefSize,
(DefaultLayoutManager.setBounds): Reformatted,
(DefaultLayoutManager.editor): Added API docs,
(DefaultLayoutManager.next): Likewise,
(DefaultLayoutManager.previous): Likewise,
* javax/swing/plaf/metal/MetalLookAndFeel.java
(initComponentDefaults): Added entry for 'Spinner.border',
* examples/gnu/classpath/examples/swing/SpinnerDemo.java: New file.

There is still some work to do on this (e.g. font settings aren't reflected in the 
UI yet, setting the component to disabled doesn't work, etc.)...


Regards,

Dave
Index: examples/gnu/classpath/examples/swing/SpinnerDemo.java
===
RCS file: examples/gnu/classpath/examples/swing/SpinnerDemo.java
diff -N examples/gnu/classpath/examples/swing/SpinnerDemo.java
--- /dev/null   1 Jan 1970 00:00:00 -
+++ examples/gnu/classpath/examples/swing/SpinnerDemo.java  15 Feb 2006 
15:57:19 -
@@ -0,0 +1,230 @@
+/* SpinnerDemo.java -- An example showing various spinners in Swing.
+   Copyright (C) 2006,  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath examples.
+
+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.
+*/
+
+
+package gnu.classpath.examples.swing;
+
+import java.awt.BorderLayout;
+import java.awt.Font;
+import java.awt.GridLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Calendar;
+import java.util.Date;
+
+import javax.swing.BorderFactory;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JFrame;
+import 

Re: [cp-patches] FYI: JSpinner / BasicSpinnerUI fixes

2006-02-15 Thread Roman Kennke
Am Mittwoch, den 15.02.2006, 16:32 + schrieb David Gilbert:
 Hi,
 
 This patch makes our JSpinner usable (it was broken) and more compatible with 
 the 
 reference implementation (I added a lot of Mauve tests to ensure this).  I 
 also 
 added a small demo app that I used for basic testing:

Wow! Good work you do. :-) The demo is quite impressive. Is it linked
into the activity board (replace that old Spinner demo)?

Thank you very much for this, this has long been broken.

Cheers, Roman

 2006-02-15  David Gilbert  [EMAIL PROTECTED]
 
   * javax/swing/JSpinner.java
   (DefaultEditor.DefaultEditor(JSpinner)): Add self to text field as a
   PropertyChangeListener,
   (DefaultEditor.getSpinner): Updated API docs,
   (DefaultEditor.dismiss): Likewise,
   (DefaultEditor.getTextField): Likewise,
   (DefaultEditor.layoutContainer): Likewise,
   (DefaultEditor.minimumLayoutSize): Likewise,
   (DefaultEditor.preferredLayoutSize): Likewise,
   (DefaultEditor.propertyChange): Implemented,
   (DefaultEditor.stateChanged): Implemented,
   (DefaultEditor.removeLayoutComponent): Updated API docs,
   (DefaultEditor.addLayoutComponent): Likewise,
   (NumberEditor.NumberEditor(JSpinner)): Set formatter for text field,
   (NumberEditor.NumberEditor(JSpinner, String)): Likewise,
   (NumberEditor.getFormat): Implemented,
   (NumberEditor.getModel): Updated API docs,
   (NumberEditorFormatter): New static inner class,
   (ListEditor.getModel): Updated API docs,
   (DateEditor.dateFormat): Removed,
   (DateEditor.DateEditor(JSpinner)): Set formatter for text field,
   (DateEditor.DateEditor(JSpinner, String)): Likewise,
   (DateEditor.init): Removed,
   (DateEditor.getFormat): Reimplemented,
   (DateEditorFormatter): New static inner class,
   (ModelListener): New inner class,
   (model): Updated API docs,
   (editor): Likewise,
   (listener): Removed,
   (JSpinner()): Updated API docs,
   (JSpinner(SpinnerModel)): Set up ModelListener,
   (setEditor): Fire property change,
   (getModel): Updated API docs,
   (setModel): Removed check for null editor,
   (setValue): Updated API docs,
   (getUIClassID): Updated API docs,
   (createEditor): Handle SpinnerListModel case,
   * javax/swing/plaf/basic/BasicSpinnerUI.java
   (createUI): Updated API docs,
   (createPropertyChangeListener): Added FIXME,
   (installDefaults): Set text field border to null,
   (DefaultLayoutManager): Updated API docs,
   (DefaultLayoutManager.layoutContainer): Modified layout,
   (DefaultLayoutManager.minimumLayoutSize): Ignore button heights,
   (DefaultLayoutManager.preferredLayoutSize): Likewise,
   (DefaultLayoutManager.removeLayoutComponent): Removed tabs,
   (DefaultLayoutManager.addLayoutComponent): Likewise,
   (DefaultLayoutManager.minSize): Renamed prefSize,
   (DefaultLayoutManager.setBounds): Reformatted,
   (DefaultLayoutManager.editor): Added API docs,
   (DefaultLayoutManager.next): Likewise,
   (DefaultLayoutManager.previous): Likewise,
   * javax/swing/plaf/metal/MetalLookAndFeel.java
   (initComponentDefaults): Added entry for 'Spinner.border',
   * examples/gnu/classpath/examples/swing/SpinnerDemo.java: New file.
 
 There is still some work to do on this (e.g. font settings aren't reflected 
 in the 
 UI yet, setting the component to disabled doesn't work, etc.)...
 
 Regards,
 
 Dave
 einfaches Textdokument-Anlage (diff.txt)
 Index: examples/gnu/classpath/examples/swing/SpinnerDemo.java
 ===
 RCS file: examples/gnu/classpath/examples/swing/SpinnerDemo.java
 diff -N examples/gnu/classpath/examples/swing/SpinnerDemo.java
 --- /dev/null 1 Jan 1970 00:00:00 -
 +++ examples/gnu/classpath/examples/swing/SpinnerDemo.java15 Feb 2006 
 15:57:19 -
 @@ -0,0 +1,230 @@
 +/* SpinnerDemo.java -- An example showing various spinners in Swing.
 +   Copyright (C) 2006,  Free Software Foundation, Inc.
 +
 +This file is part of GNU Classpath examples.
 +
 +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.
 +*/
 +
 +
 +package gnu.classpath.examples.swing;
 +
 +import java.awt.BorderLayout;
 +import 

[cp-patches] FYI: JComponent fixes

2006-02-15 Thread Roman Kennke
This fixes a small but annoying painting issue that happens if some
components are invisible. Also, I removed some useless 'optimization'
from repaint() that caused unnecessary creation of Rectangle objects.

2006-02-15  Roman Kennke  [EMAIL PROTECTED]

* javax/swing/JComponent.java
(paintChildren): Also check for the visibility of a child
component
to avoid artifacts.
(repaint): Simply add this component to the RepaintManager rather
than
trying to do useless optimization here.

/Roman
Index: javax/swing/JComponent.java
===
RCS file: /cvsroot/classpath/classpath/javax/swing/JComponent.java,v
retrieving revision 1.100
diff -u -r1.100 JComponent.java
--- javax/swing/JComponent.java	14 Feb 2006 15:23:27 -	1.100
+++ javax/swing/JComponent.java	15 Feb 2006 17:17:13 -
@@ -1619,11 +1619,10 @@
 // optimizedDrawingEnabled (== it tiles its children).
 if (! isOptimizedDrawingEnabled())
   {
-Rectangle clip = g.getClipBounds();
 for (int i = 0; i  children.length; i++)
   {
 Rectangle childBounds = children[i].getBounds();
-if (children[i].isOpaque()
+if (children[i].isOpaque()  children[i].isVisible()
  SwingUtilities.isRectangleContainingRectangle(childBounds,
 g.getClipBounds()))
   {
@@ -2206,12 +2205,8 @@
*/
   public void repaint(long tm, int x, int y, int width, int height)
   {
-Rectangle dirty = new Rectangle(x, y, width, height);
-Rectangle vis = getVisibleRect();
-dirty = dirty.intersection(vis);
-RepaintManager.currentManager(this).addDirtyRegion(this, dirty.x, dirty.y,
-   dirty.width,
-   dirty.height);
+RepaintManager.currentManager(this).addDirtyRegion(this, x, y, width,
+   height);
   }
 
   /**
@@ -2223,8 +2218,7 @@
*/
   public void repaint(Rectangle r)
   {
-repaint((long) 0, (int) r.getX(), (int) r.getY(), (int) r.getWidth(),
-(int) r.getHeight());
+repaint(0, r.x, r.y, r.width, r.height);
   }
 
   /**


[cp-patches] FYI: JInternal frame fixlet

2006-02-15 Thread Roman Kennke
In JInternalFrame we should not call hide() but call setVisible(false)
instead. The difference is that we override setVisible() in JComponent
and queue a repaint request for the parent, so that the hiding actually
becomes visible.

2006-02-15  Roman Kennke  [EMAIL PROTECTED]

* javax/swing/JInternalFrame.java
(dispose): Call setVisible(false) instead of hide.
(doDefaultCloseOperation): Likewise.

/Roman
Index: javax/swing/JInternalFrame.java
===
RCS file: /cvsroot/classpath/classpath/javax/swing/JInternalFrame.java,v
retrieving revision 1.23
diff -u -r1.23 JInternalFrame.java
--- javax/swing/JInternalFrame.java	22 Dec 2005 20:58:29 -	1.23
+++ javax/swing/JInternalFrame.java	15 Feb 2006 17:21:07 -
@@ -616,7 +616,7 @@
*/
   public void dispose()
   {
-hide();
+setVisible(false);
 JDesktopPane pane = getDesktopPane();
 if (pane != null)
   pane.setSelectedFrame(null);
@@ -647,11 +647,11 @@
 switch (getDefaultCloseOperation())
   {
   case HIDE_ON_CLOSE:
-	hide();
-	break;
+	setVisible(false);
+	break;
   case DISPOSE_ON_CLOSE:
-	dispose();
-	break;
+	dispose();
+	break;
   }
   }
 


[cp-patches] FYI: JInternalFrame closing

2006-02-15 Thread Roman Kennke
This fixes the setClosed() method on JInternalFrame to actually close the
frame. From what I read from the specs of this method, this should call
dispose() to do so.

2006-02-15  Roman Kennke  [EMAIL PROTECTED]

* javax/swing/JInternalFrame.java
(setClosed): Call dispose to actually make the frame invisible
and unselected.

/Roman
Index: javax/swing/JInternalFrame.java
===
RCS file: /cvsroot/classpath/classpath/javax/swing/JInternalFrame.java,v
retrieving revision 1.24
diff -u -r1.24 JInternalFrame.java
--- javax/swing/JInternalFrame.java	15 Feb 2006 17:22:27 -	1.24
+++ javax/swing/JInternalFrame.java	15 Feb 2006 17:31:22 -
@@ -1257,13 +1257,14 @@
   {
 if (b  ! isClosed())
   {
-	fireInternalFrameEvent(InternalFrameEvent.INTERNAL_FRAME_CLOSING);
-	fireVetoableChange(IS_CLOSED_PROPERTY, false, true);
+fireInternalFrameEvent(InternalFrameEvent.INTERNAL_FRAME_CLOSING);
+fireVetoableChange(IS_CLOSED_PROPERTY, false, true);
 
-	isClosed = b;
+isClosed = b;
+dispose();
 
-	firePropertyChange(IS_CLOSED_PROPERTY, false, true);
-	fireInternalFrameEvent(InternalFrameEvent.INTERNAL_FRAME_CLOSED);
+firePropertyChange(IS_CLOSED_PROPERTY, false, true);
+fireInternalFrameEvent(InternalFrameEvent.INTERNAL_FRAME_CLOSED);
   }
   }
 


Re: [cp-patches] [Patch]

2006-02-15 Thread Tom Tromey
 Mark == Mark Wielaard [EMAIL PROTECTED] writes:

Mark This introduced a small compile error with --enable-Werror. Please use
Mark this configure option always when hacking on any C code.

Anybody have an objection to adding this option to the Eclipse
configure launcher?  Is anybody using Eclipse to develop Classpath on
an OS with bad system headers?  (I assume everybody using Eclipse is
using Linux, but I really have no idea...)

Tom



Re: [cp-patches] [Patch]

2006-02-15 Thread Thomas Fitzsimmons

 -  GtkWidget *window;
 +  GtkWindow *window;
GtkWidget *fixed;
  
gdk_threads_enter ();
  
NSA_SET_GLOBAL_REF (env, obj);
  
 -  window = gtk_plug_new ((GdkNativeWindow) socket_id);
 +  window = GTK_WINDOW (gtk_plug_new ((GdkNativeWindow) socket_id));
  
gtk_window_set_decorated (window, FALSE);

A simpler fix and one more in line with the rest of the peer code is to
change the added line to:

gtk_window_set_decorated (GTK_WINDOW (window), FALSE);

Tom





Re: [cp-patches] Patch: GtkDialogPeer fix

2006-02-15 Thread Thomas Fitzsimmons
On Tue, 2006-02-14 at 17:49 -0500, Lillian Angel wrote:
 On Tue, 2006-02-14 at 14:41 -0500, Lillian Angel wrote:
  When the location of a Dialog is changed before it is visible, it does
  not take any effect. The Dialog would appear at some arbitrary location.
  This is now fixed.
  
  2006-02-14  Lillian Angel  [EMAIL PROTECTED]
  
  * gnu/java/awt/peer/gtk/GtkDialogPeer.java
  (setVisible): New method to override super. Need to set the
  native bounds of the component, so it appears at the
  correct location.
  
 
 This patch caused some problems, because if the bounds is set before we
 make the Dialog visible, it could be resized to 0x0. We just want to
 make sure that the location is correct for all Windows. I made this
 patch, but I would like approval before I commit it.

Can you run the gnu.testlet.java.awt tests from Mauve as well as the
Window/Frame/Dialog related vte tests?  I think we found that we needed
to set the width and height, as well as the location (i.e. we needed to
call setBounds) before showing the window.

Tom

 
 Thanks
 Lillian
 
 2006-02-14  Lillian Angel  [EMAIL PROTECTED]
   
   * gnu/java/awt/peer/gtk/GtkDialogPeer.java
   (setVisible): Removed method.
   * gnu/java/awt/peer/gtk/GtkWindowPeer.java
   (setLocation): New method.
   (setLocationUnlocked): New method.
   (show): Changed to use setLocation instead of setBounds.
   * java/awt/Component.java
   (show): Should call peer.show(), not peer.setVisible(), so the
   location of the component is correctly set.
   * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
   (Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetLocation): 
   New function.
   (Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSet
   LocationUnlocked): New function.
   * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h:
   Added declarations for Java_gnu_java_awt_peer_gtk_
   GtkWindowPeer_nativeSetLocation and 
   Java_gnu_java_awt_peer_gtk_GtkWindowPeer
   _nativeSetLocationUnlocked.
 




Re: [cp-patches] [Patch]

2006-02-15 Thread Mark Wielaard
Hi Tom,

On Wed, 2006-02-15 at 12:49 -0500, Thomas Fitzsimmons wrote:
  -  GtkWidget *window;
  +  GtkWindow *window;
  [...] 
  -  window = gtk_plug_new ((GdkNativeWindow) socket_id);
  +  window = GTK_WINDOW (gtk_plug_new ((GdkNativeWindow) socket_id));

 A simpler fix and one more in line with the rest of the peer code is to
 change the added line to:
 
 gtk_window_set_decorated (GTK_WINDOW (window), FALSE);

OK. I'll change it in a minute.
What is precisely the rational/rule here?

The reason I made the change this way was that we expect to get a
GtkWindow for gtk_plug_new and always use it as GtkWindow.

Cheers,

Mark


signature.asc
Description: This is a digitally signed message part


[cp-patches] Request for approval in deserialization fix

2006-02-15 Thread Olivier Jolly
Hi,
  as discussed on irc, I request the approval of this fix in the
deserialization part with the following changelog :

2006-02-15  Olivier jolly  [EMAIL PROTECTED]

Fixed bug #14144
* java/io/ObjectInputStream.java (readClassDescriptor)
Class doesn't have to be abstract for first_nonserial

Thx in advance

Olivier
Index: ObjectInputStream.java
===
RCS file: /sources/classpath/classpath/java/io/ObjectInputStream.java,v
retrieving revision 1.74
diff -u -r1.74 ObjectInputStream.java
--- ObjectInputStream.java	6 Feb 2006 11:50:46 -	1.74
+++ ObjectInputStream.java	13 Feb 2006 18:57:08 -
@@ -1,5 +1,5 @@
 /* ObjectInputStream.java -- Class used to read serialized objects
-   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006
Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
@@ -555,8 +555,7 @@
 classLookupTable.put(clazz, osc);
 setBlockDataMode(oldmode);
 
-// find the first non-serializable, non-abstract
-// class in clazz's inheritance hierarchy
+// find the first non-serializable class in clazz's inheritance hierarchy
 Class first_nonserial = clazz.getSuperclass();
 // Maybe it is a primitive class, those don't have a super class,
 // or Object itself.  Otherwise we can keep getting the superclass
@@ -565,9 +564,8 @@
 if (first_nonserial == null)
   first_nonserial = clazz;
 else
-  while (Serializable.class.isAssignableFrom(first_nonserial)
-	 || Modifier.isAbstract(first_nonserial.getModifiers()))
-	first_nonserial = first_nonserial.getSuperclass();
+  while (Serializable.class.isAssignableFrom(first_nonserial))
+first_nonserial = first_nonserial.getSuperclass();
 
 final Class local_constructor_class = first_nonserial;
 


[cp-patches] Request for approval in serialization fix

2006-02-15 Thread Olivier Jolly
Hi,
  here is another individual fix proposition in the serialization area,
but in the serialization process itself this time. I propose to commit
it with the following changelog :
2006-02-15  Olivier Jolly  [EMAIL PROTECTED]

* java/io/ObjectOutputStream.java (writeClassDescriptor):
Call assignNewHandle() after writing Proxy class.

Thx for comments

Olivier
Index: ObjectOutputStream.java
===
RCS file: /sources/classpath/classpath/java/io/ObjectOutputStream.java,v
retrieving revision 1.65
diff -u -r1.65 ObjectOutputStream.java
--- ObjectOutputStream.java	17 Dec 2005 16:29:45 -	1.65
+++ ObjectOutputStream.java	13 Feb 2006 18:56:30 -
@@ -1,5 +1,5 @@
 /* ObjectOutputStream.java -- Class used to write serialized objects
-   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
@@ -421,6 +421,8 @@
 	for (int i = 0; i  intfs.length; i++)
 	  realOutput.writeUTF(intfs[i].getName());
 
+assignNewHandle(osc);
+
 boolean oldmode = setBlockDataMode(true);
 annotateProxyClass(osc.forClass());
 setBlockDataMode(oldmode);


Re: [cp-patches] Request for approval in serialization fix

2006-02-15 Thread Mark Wielaard
Hi Olivier,

On Wed, 2006-02-15 at 19:23 +0100, Olivier Jolly wrote:
 2006-02-15  Olivier Jolly  [EMAIL PROTECTED]
 
 * java/io/ObjectOutputStream.java (writeClassDescriptor):
 Call assignNewHandle() after writing Proxy class.

Look great. Please commit.

Thanks,

Mark


signature.asc
Description: This is a digitally signed message part


Re: [cp-patches] [Patch]

2006-02-15 Thread Mark Wielaard
Hi Tom,

On Wed, 2006-02-15 at 13:30 -0500, Thomas Fitzsimmons wrote:
   A simpler fix and one more in line with the rest of the peer code is to
   change the added line to:
   
   gtk_window_set_decorated (GTK_WINDOW (window), FALSE);
  
  OK. I'll change it in a minute.
  What is precisely the rational/rule here?
 
 The GTK coding convention is to always use GtkWidgets and downcast when
 necessary.

Aha. OK, fixed as follows:

2006-02-15  Mark Wielaard  [EMAIL PROTECTED]

   * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c
   (Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create):
   Downcast gtk_plug_new result when used.

Committed,

Mark
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c
===
RCS file: /cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c,v
retrieving revision 1.9
diff -u -r1.9 gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c	15 Feb 2006 12:09:06 -	1.9
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c	15 Feb 2006 18:55:47 -
@@ -44,16 +44,16 @@
 Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create
   (JNIEnv *env, jobject obj, jlong socket_id)
 {
-  GtkWindow *window;
+  GtkWidget *window;
   GtkWidget *fixed;
 
   gdk_threads_enter ();
 
   NSA_SET_GLOBAL_REF (env, obj);
 
-  window = GTK_WINDOW (gtk_plug_new ((GdkNativeWindow) socket_id));
+  window = gtk_plug_new ((GdkNativeWindow) socket_id);
 
-  gtk_window_set_decorated (window, FALSE);
+  gtk_window_set_decorated (GTK_WINDOW (window), FALSE);
 
   fixed = gtk_fixed_new ();
   gtk_container_add (GTK_CONTAINER (window), fixed);


signature.asc
Description: This is a digitally signed message part


Re: [cp-patches] FYI: GtkDialogPeer fix

2006-02-15 Thread Lillian Angel

 Can you run the gnu.testlet.java.awt tests from Mauve as well as the
 Window/Frame/Dialog related vte tests?  I think we found that we needed
 to set the width and height, as well as the location (i.e. we needed to
 call setBounds) before showing the window.

These tests still pass. I also found a problem with preferredSize in
Component, This is now fixed.

2006-02-15  Lillian Angel  [EMAIL PROTECTED]

* gnu/java/awt/peer/gtk/GtkDialogPeer.java
(setVisible): Removed method.
* gnu/java/awt/peer/gtk/GtkWindowPeer.java
(setLocation): New method.
(setLocationUnlocked): New method.
(show): Changed to use setLocation instead of setBounds.
* java/awt/Component.java
(show): Should call peer.show(), not peer.setVisible(), so the
location of the component is correctly set.
(preferredSize): Added curly braces so else statements are
properly associated with if's.
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
(Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetLocation):
New function.
(Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSet
LocationUnlocked): New function.
* include/gnu_java_awt_peer_gtk_GtkWindowPeer.h:
Added declarations for Java_gnu_java_awt_peer_gtk_
GtkWindowPeer_nativeSetLocation and
Java_gnu_java_awt_peer_gtk_GtkWindowPeer
_nativeSetLocationUnlocked.

Committed.

Thanks,
Lillian

Index: gnu/java/awt/peer/gtk/GtkDialogPeer.java
===
RCS file: /sources/classpath/classpath/gnu/java/awt/peer/gtk/GtkDialogPeer.java,v
retrieving revision 1.31
diff -u -r1.31 GtkDialogPeer.java
--- gnu/java/awt/peer/gtk/GtkDialogPeer.java	14 Feb 2006 19:40:07 -	1.31
+++ gnu/java/awt/peer/gtk/GtkDialogPeer.java	15 Feb 2006 18:17:34 -
@@ -62,16 +62,6 @@
 g.translate (-insets.left, -insets.top);
 return g;
   }  
-
-  public void setVisible (boolean b)
-  {
-// Prevent the window manager from automatically placing this
-// window when it is shown.
-setBounds(awtComponent.getX(), awtComponent.getY(),
-  awtComponent.getWidth(), awtComponent.getHeight());
-
-super.setVisible(b);
-  }
   
   protected void postMouseEvent(int id, long when, int mods, int x, int y, 
 int clickCount, boolean popupTrigger)
Index: gnu/java/awt/peer/gtk/GtkWindowPeer.java
===
RCS file: /sources/classpath/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java,v
retrieving revision 1.45
diff -u -r1.45 GtkWindowPeer.java
--- gnu/java/awt/peer/gtk/GtkWindowPeer.java	13 Feb 2006 14:32:53 -	1.45
+++ gnu/java/awt/peer/gtk/GtkWindowPeer.java	15 Feb 2006 18:17:34 -
@@ -126,7 +126,23 @@
 
   native void nativeSetBounds (int x, int y, int width, int height);
   native void nativeSetBoundsUnlocked (int x, int y, int width, int height);
+  native void nativeSetLocation (int x, int y);
+  native void nativeSetLocationUnlocked (int x, int y);
 
+  public void setLocation (int x, int y)
+  {
+// prevent window_configure_cb - awtComponent.setSize -
+// peer.setBounds - nativeSetBounds self-deadlock on GDK lock.
+if (Thread.currentThread() == GtkToolkit.mainThread)
+  return;
+nativeSetLocation (x, y);
+  }
+
+  public void setLocationUnlocked (int x, int y)
+  {
+nativeSetLocationUnlocked (x, y);
+  }
+  
   public void setBounds (int x, int y, int width, int height)
   {
 // prevent window_configure_cb - awtComponent.setSize -
@@ -195,12 +211,7 @@
 
   public void show ()
   {
-// Prevent the window manager from automatically placing this
-// window when it is shown.
-setBounds (awtComponent.getX(),
-	   awtComponent.getY(),
-	   awtComponent.getWidth(),
-	   awtComponent.getHeight());
+setLocation(awtComponent.getX(), awtComponent.getY());
 setVisible (true);
   }
 
Index: include/gnu_java_awt_peer_gtk_GtkWindowPeer.h
===
RCS file: /sources/classpath/classpath/include/gnu_java_awt_peer_gtk_GtkWindowPeer.h,v
retrieving revision 1.19
diff -u -r1.19 gnu_java_awt_peer_gtk_GtkWindowPeer.h
--- include/gnu_java_awt_peer_gtk_GtkWindowPeer.h	26 Aug 2005 04:35:49 -	1.19
+++ include/gnu_java_awt_peer_gtk_GtkWindowPeer.h	15 Feb 2006 18:17:34 -
@@ -22,6 +22,8 @@
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkWindowPeer_toFront (JNIEnv *env, jobject);
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetBounds (JNIEnv *env, jobject, jint, jint, jint, jint);
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetBoundsUnlocked (JNIEnv *env, jobject, jint, jint, jint, jint);
+JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetLocation (JNIEnv *env, jobject, jint, jint);
+JNIEXPORT void JNICALL 

[cp-patches] One of the recent patches breaks JTable editing

2006-02-15 Thread Audrius Meskauskas
One of the recently (today) introduced patches completely breaks the 
JTable editing, as it is seen in the Swing activity board. This blocks 
our work on JTable, please do not leave in such condition for long.


Audrius




Re: [cp-patches] FYI: JComponent fixes

2006-02-15 Thread Audrius Meskauskas
This introduces regressions on the JTable editing that starts working 
again after
reverting. Also, the painting seems slower and sometimes I observe the 
window

parts painted larger than expected.

Roman Kennke wrote:


This fixes a small but annoying painting issue that happens if some
components are invisible. Also, I removed some useless 'optimization'
from repaint() that caused unnecessary creation of Rectangle objects.

2006-02-15  Roman Kennke  [EMAIL PROTECTED]

   * javax/swing/JComponent.java
   (paintChildren): Also check for the visibility of a child
component
   to avoid artifacts.
   (repaint): Simply add this component to the RepaintManager rather
than
   trying to do useless optimization here.

/Roman
 




Index: javax/swing/JComponent.java
===
RCS file: /cvsroot/classpath/classpath/javax/swing/JComponent.java,v
retrieving revision 1.100
diff -u -r1.100 JComponent.java
--- javax/swing/JComponent.java 14 Feb 2006 15:23:27 -  1.100
+++ javax/swing/JComponent.java 15 Feb 2006 17:17:13 -
@@ -1619,11 +1619,10 @@
// optimizedDrawingEnabled (== it tiles its children).
if (! isOptimizedDrawingEnabled())
  {
-Rectangle clip = g.getClipBounds();
for (int i = 0; i  children.length; i++)
  {
Rectangle childBounds = children[i].getBounds();
-if (children[i].isOpaque()
+if (children[i].isOpaque()  children[i].isVisible()
 SwingUtilities.isRectangleContainingRectangle(childBounds,
g.getClipBounds()))
  {
@@ -2206,12 +2205,8 @@
   */
  public void repaint(long tm, int x, int y, int width, int height)
  {
-Rectangle dirty = new Rectangle(x, y, width, height);
-Rectangle vis = getVisibleRect();
-dirty = dirty.intersection(vis);
-RepaintManager.currentManager(this).addDirtyRegion(this, dirty.x, dirty.y,
-   dirty.width,
-   dirty.height);
+RepaintManager.currentManager(this).addDirtyRegion(this, x, y, width,
+   height);
  }

  /**
@@ -2223,8 +2218,7 @@
   */
  public void repaint(Rectangle r)
  {
-repaint((long) 0, (int) r.getX(), (int) r.getY(), (int) r.getWidth(),
-(int) r.getHeight());
+repaint(0, r.x, r.y, r.width, r.height);
  }

  /**
 






[cp-patches] FYI: Implementing the column resizing with mouse for JTable

2006-02-15 Thread Audrius Meskauskas
This patch adds the table column resizing possibility by dragging the 
column boundary
in the header (same as in Sun's version).  The existing column resizing 
algorithm
was not suitable as the by resizing the column boundary was drifting 
away from

the current position of the mouse cursor, and we needed to introduce another
spill distribution method in JTable.

The patch calls Component.setCursor where applicable to change the 
cursor in the

resize shape when positioned over the column boundary. Unfortunatley this
finally goes to GLightweightPeer.setCursor that returns without action.

2006-02-15  Audrius Meskauskas  [EMAIL PROTECTED]

   * javax/swing/JTable.java (distributeSpillResizing): New method.
   (doLayout): Use distributeSpillResizing when resizing.
   * javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler):
   Rewritten. (installListeners): Add mouse motion listener.
   (uninstallListeners): Remove mouse motion listener.
Index: javax/swing/JTable.java
===
RCS file: /sources/classpath/classpath/javax/swing/JTable.java,v
retrieving revision 1.73
diff -u -r1.73 JTable.java
--- javax/swing/JTable.java	15 Feb 2006 08:50:58 -	1.73
+++ javax/swing/JTable.java	15 Feb 2006 19:48:46 -
@@ -3030,7 +3030,31 @@
   cols[i].setWidth(cols[i].getPreferredWidth() + average);
   }
   }
-
+  
+  /**
+   * This distributes the superfluous width in a table, setting the width of the
+   * column being resized strictly to its preferred width.
+   */
+  private void distributeSpillResizing(TableColumn[] cols, int spill,
+   TableColumn resizeIt)
+  {
+int average = spill / (cols.length-1);
+for (int i = 0; i  cols.length; i++)
+  {
+if (cols[i] != null  !cols[i].equals(resizeIt))
+  cols[i].setWidth(cols[i].getPreferredWidth() + average);
+  }
+resizeIt.setWidth(resizeIt.getPreferredWidth());
+  }  
+  
+  /**
+   * Set the widths of all columns, taking they preferred widths into
+   * consideration. The excess space, if any, will be distrubuted between
+   * all columns. This method also handles special cases when one of the
+   * collumns is currently being resized.
+   * 
+   * @see TableColumn#setPreferredWidth(int)
+   */
   public void doLayout()
   {
 TableColumn resizingColumn = null;
@@ -3079,14 +3103,14 @@
 cols = new TableColumn[ncols];
 for (int i = 0; i  ncols; ++i)
   cols[i] = columnModel.getColumn(i);
-distributeSpill(cols, spill);
+distributeSpillResizing(cols, spill, resizingColumn);
 break;
 
   case AUTO_RESIZE_SUBSEQUENT_COLUMNS:
 cols = new TableColumn[ncols];
 for (int i = rCol; i  ncols; ++i)
   cols[i] = columnModel.getColumn(i);
-distributeSpill(cols, spill);
+distributeSpillResizing(cols, spill, resizingColumn);
 break;
 
   case AUTO_RESIZE_OFF:
Index: javax/swing/plaf/basic/BasicTableHeaderUI.java
===
RCS file: /sources/classpath/classpath/javax/swing/plaf/basic/BasicTableHeaderUI.java,v
retrieving revision 1.12
diff -u -r1.12 BasicTableHeaderUI.java
--- javax/swing/plaf/basic/BasicTableHeaderUI.java	18 Nov 2005 22:01:14 -	1.12
+++ javax/swing/plaf/basic/BasicTableHeaderUI.java	15 Feb 2006 19:48:48 -
@@ -39,14 +39,18 @@
 package javax.swing.plaf.basic;
 
 import java.awt.Component;
+import java.awt.Cursor;
 import java.awt.Dimension;
 import java.awt.Graphics;
 import java.awt.Rectangle;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
 import java.awt.event.MouseEvent;
 
 import javax.swing.CellRendererPane;
 import javax.swing.JComponent;
 import javax.swing.LookAndFeel;
+import javax.swing.Timer;
 import javax.swing.UIManager;
 import javax.swing.border.Border;
 import javax.swing.event.MouseInputListener;
@@ -59,7 +63,12 @@
 
 public class BasicTableHeaderUI extends TableHeaderUI
 {
-
+  /**
+   * The width of the space (in both direction) around the column boundary,
+   * where mouse cursor changes shape into resize
+   */
+  static int COLUMN_BOUNDARY_TOLERANCE = 3;
+  
   public static ComponentUI createUI(JComponent h)
   {
 return new BasicTableHeaderUI();
@@ -70,41 +79,172 @@
   protected CellRendererPane rendererPane;
   protected Border cellBorder;
 
-  public class MouseInputHandler implements MouseInputListener
-  {
+  /**
+   * Handles column movement and rearrangement by mouse. The same instance works
+   * both as mouse listener and the mouse motion listner.
+   */
+  public class MouseInputHandler
+  implements MouseInputListener
+  {
+/**
+ * If true, the cursor is being already shown in the alternative resize
+ * shape.
+ */
+boolean showingResizeCursor;
+
+/**
+ * The position, from where the cursor is 

[cp-patches] Patch: gnu_java_awt_peer_gtk_GtkWindowPeer fix

2006-02-15 Thread Lillian Angel
For some odd reason there were so many definitions of the same methods
in gnu_java_awt_peer_gtk_GtkWindowPeer.c. I removed them. This may have
been my fault, I just cant recall how they would have got in there!

2006-02-15  Lillian Angel  [EMAIL PROTECTED]

* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c:
Removed duplicate methods.

Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
===
RCS file: /sources/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c,v
retrieving revision 1.64
diff -u -r1.64 gnu_java_awt_peer_gtk_GtkWindowPeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c	15 Feb 2006 19:29:25 -	1.64
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c	15 Feb 2006 20:53:18 -
@@ -1394,44 +1394,6 @@
 }
 
 JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetLocation
-  (JNIEnv *env, jobject obj, jint x, jint y)
-{
-  gdk_threads_enter ();
-
-  Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetLocationUnlocked
-(env, obj, x, y);
-
-  gdk_threads_leave ();
-}
-
-JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetLocationUnlocked
-  (JNIEnv *env, jobject obj, jint x, jint y)
-{
-  void *ptr;
-
-  ptr = NSA_GET_PTR (env, obj);
-
-  gtk_window_move (GTK_WINDOW(ptr), x, y);
-
-  if (GTK_WIDGET (ptr)-window != NULL)
-gdk_window_move (GTK_WIDGET (ptr)-window, x, y);
-}
-
-JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetLocation
-  (JNIEnv *env, jobject obj, jint x, jint y)
-{
-  gdk_threads_enter ();
-
-  Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetLocationUnlocked
-(env, obj, x, y);
-
-  gdk_threads_leave ();
-}
-
-JNIEXPORT void JNICALL
 Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetLocationUnlocked
   (JNIEnv *env, jobject obj, jint x, jint y)
 {
@@ -1458,20 +1420,6 @@
 }
 
 JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetLocationUnlocked
-  (JNIEnv *env, jobject obj, jint x, jint y)
-{
-  void *ptr;
-
-  ptr = NSA_GET_PTR (env, obj);
-
-  gtk_window_move (GTK_WINDOW(ptr), x, y);
-
-  if (GTK_WIDGET (ptr)-window != NULL)
-gdk_window_move (GTK_WIDGET (ptr)-window, x, y);
-}
-
-JNIEXPORT void JNICALL
 Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetBoundsUnlocked
   (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)
 {


[cp-patches] FYI: Documenting some methods in javax.swing

2006-02-15 Thread Audrius Meskauskas

2006-02-15  Audrius Meskauskas  [EMAIL PROTECTED]

   * javax/swing/JTable.java,
   javax/swing/plaf/basic/BasicTableHeaderUI.java,
   javax/swing/table/DefaultTableModel.java: Documented.
Index: javax/swing/JTable.java
===
RCS file: /sources/classpath/classpath/javax/swing/JTable.java,v
retrieving revision 1.74
diff -u -r1.74 JTable.java
--- javax/swing/JTable.java	15 Feb 2006 20:29:32 -	1.74
+++ javax/swing/JTable.java	15 Feb 2006 21:43:25 -
@@ -1702,8 +1702,11 @@
   
   /**
* Add the new table column. The table column class allows to specify column
-   * features more precisely. You do not need the add columns to the table if
-   * the default column handling is sufficient.
+   * features more precisely, setting the preferred width, column data type
+   * (column class) and table headers.
+   * 
+   * There is no need the add columns to the table if the default column 
+   * handling is sufficient.
* 
* @param column
*  the new column to add.
@@ -3183,48 +3186,109 @@
 revalidate();
 repaint();
   }
-
+  
+  /**
+   * Get the class (datatype) of the column. The cells are rendered and edited
+   * differently, depending from they data type.
+   * 
+   * @param column the column
+   * 
+   * @return the class, defining data type of that column (String.class for
+   * String, Boolean.class for boolean and so on).
+   */
   public Class getColumnClass(int column)
   {
 return getModel().getColumnClass(column);
   }
   
+  /**
+   * Get the name of the column. If the column has the column identifier set,
+   * the return value is the result of the .toString() method call on that
+   * identifier. If the identifier is not explicitly set, the returned value
+   * is calculated by 
+   * [EMAIL PROTECTED] javax.swing.table.AbstractTableModel#getColumnName(int)}.
+   * 
+   * @param column the column
+   * 
+   * @return the name of that column.
+   */
   public String getColumnName(int column)
   {
 int modelColumn = columnModel.getColumn(column).getModelIndex();
 return dataModel.getColumnName(modelColumn);
   }
-
+  
+  /**
+   * Get the column, currently being edited
+   * 
+   * @return the column, currently being edited.
+   */
   public int getEditingColumn()
   {
 return editingColumn;
   }
-
+  
+  /**
+   * Set the column, currently being edited
+   * 
+   * @param column the column, currently being edited.
+   */
   public void setEditingColumn(int column)
   {
 editingColumn = column;
   }
   
+  /**
+   * Get the row currently being edited.
+   * 
+   * @return the row, currently being edited.
+   */
   public int getEditingRow()
   {
 return editingRow;
   }
-
-  public void setEditingRow(int column)
+  
+  /**
+   * Set the row currently being edited.
+   * 
+   * @param row the row, that will be edited
+   */
+  public void setEditingRow(int row)
   {
-editingRow = column;
+editingRow = row;
   }
   
+  /**
+   * Get the editor component that is currently editing one of the cells
+   * 
+   * @return the editor component or null, if none of the cells is being
+   * edited.
+   */
   public Component getEditorComponent()
   {
 return editorComp;
   }
   
+  /**
+   * Check if one of the table cells is currently being edited.
+   * 
+   * @return true if there is a cell being edited.
+   */
   public boolean isEditing()
   {
 return editorComp != null;
   }
-
+  
+  /**
+   * Set the default editor for the given column class (column data type).
+   * By default, String is handled by text field and Boolean is handled by
+   * the check box.
+   *  
+   * @param columnClass the column data type
+   * @param editor the editor that will edit this data type
+   * 
+   * @see TableModel#getColumnClass(int)
+   */
   public void setDefaultEditor(Class columnClass, TableCellEditor editor)
   {
 if (editor != null)
@@ -3232,7 +3296,7 @@
 else
   defaultEditorsByColumnClass.remove(columnClass);
   }
-
+  
   public void addColumnSelectionInterval(int index0, int index1)
   {
 if ((index0  0 || index0  (getColumnCount()-1)
@@ -3287,21 +3351,49 @@
 getSelectionModel().removeSelectionInterval(index0, index1);
   }
   
+  /**
+   * Checks if the given column is selected.
+   * 
+   * @param column the column
+   * 
+   * @return true if the column is selected (as reported by the selection
+   * model, associated with the column model), false otherwise.
+   */
   public boolean isColumnSelected(int column)
   {
 return getColumnModel().getSelectionModel().isSelectedIndex(column);
   }
-
+  
+  /**
+   * Checks if the given row is selected.
+   * 
+   * @param row the row
+   * 
+   * @return true if the row is selected (as reported by the selection model),
+   * false otherwise.
+   */
   public boolean isRowSelected(int row)
   {
 return getSelectionModel().isSelectedIndex(row);
   }
-
+  
+  /**
+   * Checks if the given cell is selected. 

Re: [cp-patches] FYI: JComponent fixes

2006-02-15 Thread Audrius Meskauskas

Roman Kennke wrote:


Index: javax/swing/JComponent.java
 


@@ -2206,12 +2205,8 @@


   */
  public void repaint(long tm, int x, int y, int width, int height)
  {
-Rectangle dirty = new Rectangle(x, y, width, height);
-Rectangle vis = getVisibleRect();
-dirty = dirty.intersection(vis);
-RepaintManager.currentManager(this).addDirtyRegion(this, dirty.x, dirty.y,
-   dirty.width,
-   dirty.height);
+RepaintManager.currentManager(this).addDirtyRegion(this, x, y, width,
+   height);
  }

 


This change causes the following exception message to appear:
(.:6021): Gdk-CRITICAL **: gdk_draw_pixbuf: assertion `GDK_IS_PIXBUF 
(pixbuf)' failed
java.lang.InternalError: Gdk: gdk_draw_pixbuf: assertion `GDK_IS_PIXBUF 
(pixbuf)' failed

  at gnu.java.awt.peer.gtk.GtkImage.drawPixelsScaledFlipped (Native Method)
  at gnu.java.awt.peer.gtk.GtkImage.drawImage (GtkImage.java:545)
  at gnu.java.awt.peer.gtk.GdkGraphics.drawImage (GdkGraphics.java:253)
  at gnu.java.awt.peer.gtk.GdkGraphics.drawImage (GdkGraphics.java:266)
  at javax.swing.RepaintManager.commitBuffer (RepaintManager.java:623)
  at javax.swing.RepaintManager.commitRemainingBuffers 
(RepaintManager.java:657)

  at javax.swing.RepaintManager.paintDirtyRegions (RepaintManager.java:565)
  at javax.swing.RepaintManager$RepaintWorker.run (RepaintManager.java:120)
  at java.awt.event.InvocationEvent.dispatch (InvocationEvent.java:200)
  at java.awt.EventQueue.dispatchEvent (EventQueue.java:465)
  at java.awt.EventDispatchThread.run (EventDispatchThread.java:75)




[cp-patches] RFC: Menu(Peer) related cleanups

2006-02-15 Thread Mark Wielaard
Hi,

The following patch cleans up the last awt Menu related bits. It is
mainly a documentation of the gtk+ peer infrastructure and a few tweaks
to make the parent MenuContainer always responsible for the MenuItems it
contains. This finally makes my MenuMenu testcase and the hsqldb
DatabaseManager recent commands menu work without any warnings or
errors.

2006-02-15  Mark Wielaard  [EMAIL PROTECTED]

* java/awt/Menu.java (add(MenuItem)): Use item.getParent() to get
parent field.
(insert): Likewise.
(addNotify): Add the item after addNotifying it.
* java/awt/MenuBar.java (setHelpMenu): Only call removeNotify() when
there is a peer. Use getParent() and setParent() to manipulate parent
field.
(add(Menu)): Use getParent() and setParent() to manipulate parent
field. Call addNotify() and addMenu() when there is a peer.
(remove(int)): Call removeNotify() and delMenu() when there is a peer.
(addNotify): Use getPeer()/setPeer(). Call addMenu() and addHelpMenu()
when there is a peer.
* gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java (create): Document.
(GtkMenuComponentPeer): Document. Take MenuComponent as argument.
(setFont): Call setFont(Font).
(setFont(Font)): Document. Only set font when not null.
* gnu/java/awt/peer/gtk/GtkMenuItemPeer.java (create): Document. Made
protected.
(connectSignals): Likewise.
(GtkMenuItemPeer): Document. Don't try to add item. Always call
connectSignals().
* gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java (create): Make
protected.
(postMenuActionEvent): Document.
* gnu/java/awt/peer/gtk/GtkMenuPeer.java (create): Document. Made
protected.
(addItem): Document. Made private.
(addTearOff): Made private.
(connectSignals): New protected overridden method.
(GtkMenuPeer): Correctly cast setupAccelGroup() arguments.
* gnu/java/awt/peer/gtk/GtkMenuBarPeer.java (hasHelpMenu): New field.
(create): Document.
(addMenu): Made private, take GtkMenuPeer as argument and document.
(GtkMenuBarPeer): Document.
(nativeSetHelpMenu): Removed.
(addHelpMenu): Implement.
(delMenu): Document.
(addMenu): Implement.
* gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java (setParent): Removed.
* include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h: Regenerated.
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c
(Java_gnu_java_awt_peer_gtk_GtkMenuBarPeer_nativeSetHelpMenu):
Removed.

Does this look good?

Also tested with the vte (although that doesn't contain many menu
related tests. It could probably need another cleanup round. Especially
for the PopupMenu stuff. I have to admit that I don't completely get how
Popups are supposed to work. But the vte test still works as expected.

Cheers,

Mark
Index: gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java
===
RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java,v
retrieving revision 1.9
diff -u -r1.9 GtkCheckboxMenuItemPeer.java
--- gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java	2 Jul 2005 20:32:12 -	1.9
+++ gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java	15 Feb 2006 23:55:17 -
@@ -1,5 +1,5 @@
 /* GtkCheckboxMenuItemPeer.java -- Implements CheckboxMenuItemPeer with GTK+
-   Copyright (C) 1999, 2005  Free Software Foundation, Inc.
+   Copyright (C) 1999, 2005, 2006  Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -46,7 +46,7 @@
 public class GtkCheckboxMenuItemPeer extends GtkMenuItemPeer
   implements CheckboxMenuItemPeer
 {
-  native void create (String label);
+  protected native void create (String label);
 
   public GtkCheckboxMenuItemPeer (CheckboxMenuItem menu)
   {
@@ -56,6 +56,11 @@
 
   public native void setState(boolean t);
 
+  /**
+   * Called from the signal handler of the gtk widget.  Posts a
+   * ItemEvent to indicate a state changed, then calls super to post
+   * an ActionEvent.
+   */
   protected void postMenuActionEvent ()
   {
 CheckboxMenuItem item = (CheckboxMenuItem)awtWidget;
Index: gnu/java/awt/peer/gtk/GtkMenuBarPeer.java
===
RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkMenuBarPeer.java,v
retrieving revision 1.12
diff -u -r1.12 GtkMenuBarPeer.java
--- gnu/java/awt/peer/gtk/GtkMenuBarPeer.java	13 Feb 2006 18:57:03 -	1.12
+++ gnu/java/awt/peer/gtk/GtkMenuBarPeer.java	15 Feb 2006 23:55:17 -
@@ -48,29 +48,69 @@
 public class GtkMenuBarPeer extends GtkMenuComponentPeer
   implements MenuBarPeer
 {
+  /** Whether we already have an help menu set on this peer. */
+  private boolean hasHelpMenu;
 
-  protected native void create ();
-  native void addMenu (MenuPeer menu);
-
-  public GtkMenuBarPeer (MenuBar target)
+  /**
+   * Creates the gtk+ widget for this peer and puts it in the nsa
+   * table. Called from the (super class) constructor.

[cp-testresults] FAIL: classpath build with gcj (4.0) on Wed Feb 15 10:55:58 UTC 2006

2006-02-15 Thread cpdev
then mv -f .deps/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.Tpo 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.Plo; else rm -f 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.Tpo; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I../../../../classpath/native/jni/gtk-peer 
-I../../../include -I../../../../classpath/include 
-I../../../../classpath/native/jni/classpath 
-I../../../../classpath/native/target/Linux 
-I../../../../classpath/native/target/generic -pedantic -W -Wall 
-Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long 
-Werror -DXTHREADS -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include 
-I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 
-I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include 
-I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include -g -O2 -MT 
gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.lo -MD -MP -MF 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.Tpo -c 
../../../../classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c
  -fPIC -DPIC -o .libs/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.o
if /bin/sh ../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. 
-I../../../../classpath/native/jni/gtk-peer -I../../../include  
-I../../../../classpath/include -I../../../../classpath/native/jni/classpath 
-I../../../../classpath/native/target/Linux 
-I../../../../classpath/native/target/generic  -pedantic -W -Wall 
-Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long 
-Werror -DXTHREADS -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include 
-I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 
-I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include  -g -O2 -MT 
gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.lo -MD -MP -MF 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.Tpo -c -o 
gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.lo 
../../../../classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c;
 \
then mv -f .deps/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.Tpo 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.Plo; else rm -f 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.Tpo; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I../../../../classpath/native/jni/gtk-peer 
-I../../../include -I../../../../classpath/include 
-I../../../../classpath/native/jni/classpath 
-I../../../../classpath/native/target/Linux 
-I../../../../classpath/native/target/generic -pedantic -W -Wall 
-Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long 
-Werror -DXTHREADS -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include 
-I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 
-I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include 
-I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include -g -O2 -MT 
gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.lo -MD -MP -MF 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.Tpo -c 
../../../../classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c
  -fPIC -DPIC -o .libs/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.o
if /bin/sh ../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. 
-I../../../../classpath/native/jni/gtk-peer -I../../../include  
-I../../../../classpath/include -I../../../../classpath/native/jni/classpath 
-I../../../../classpath/native/target/Linux 
-I../../../../classpath/native/target/generic  -pedantic -W -Wall 
-Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long 
-Werror -DXTHREADS -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include 
-I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 
-I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include  -g -O2 -MT 
gnu_java_awt_peer_gtk_GtkCheckboxPeer.lo -MD -MP -MF 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxPeer.Tpo -c -o 
gnu_java_awt_peer_gtk_GtkCheckboxPeer.lo 
../../../../classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c;
 \
then mv -f .deps/gnu_java_awt_peer_gtk_GtkCheckboxPeer.Tpo 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxPeer.Plo; else rm -f 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxPeer.Tpo; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I../../../../classpath/native/jni/gtk-peer 
-I../../../include -I../../../../classpath/include 
-I../../../../classpath/native/jni/classpath 
-I../../../../classpath/native/target/Linux 
-I../../../../classpath/native/target/generic -pedantic -W -Wall 
-Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long 
-Werror -DXTHREADS -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include 
-I/usr/X11R6/include 

[cp-testresults] FAIL: classpath build with jikes on Wed Feb 15 11:11:46 UTC 2006

2006-02-15 Thread cpdev
then mv -f .deps/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.Tpo 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.Plo; else rm -f 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.Tpo; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I../../../../classpath/native/jni/gtk-peer 
-I../../../include -I../../../../classpath/include 
-I../../../../classpath/native/jni/classpath 
-I../../../../classpath/native/target/Linux 
-I../../../../classpath/native/target/generic -pedantic -W -Wall 
-Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long 
-Werror -DXTHREADS -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include 
-I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 
-I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include 
-I/usr/local/include/cairo -I/usr/include/pango-1.0 -I/usr/include/freetype2 
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 -MT 
gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.lo -MD -MP -MF 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.Tpo -c 
../../../../classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c
  -fPIC -DPIC -o .libs/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.o
if /bin/sh ../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. 
-I../../../../classpath/native/jni/gtk-peer -I../../../include  
-I../../../../classpath/include -I../../../../classpath/native/jni/classpath 
-I../../../../classpath/native/target/Linux 
-I../../../../classpath/native/target/generic  -pedantic -W -Wall 
-Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long 
-Werror -DXTHREADS -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include 
-I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 
-I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   
-I/usr/local/include/cairo   -I/usr/include/pango-1.0 -I/usr/include/freetype2 
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  -g -O2 -MT 
gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.lo -MD -MP -MF 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.Tpo -c -o 
gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.lo 
../../../../classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c;
 \
then mv -f .deps/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.Tpo 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.Plo; else rm -f 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.Tpo; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I../../../../classpath/native/jni/gtk-peer 
-I../../../include -I../../../../classpath/include 
-I../../../../classpath/native/jni/classpath 
-I../../../../classpath/native/target/Linux 
-I../../../../classpath/native/target/generic -pedantic -W -Wall 
-Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long 
-Werror -DXTHREADS -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include 
-I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 
-I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include 
-I/usr/local/include/cairo -I/usr/include/pango-1.0 -I/usr/include/freetype2 
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 -MT 
gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.lo -MD -MP -MF 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.Tpo -c 
../../../../classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c
  -fPIC -DPIC -o .libs/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.o
if /bin/sh ../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. 
-I../../../../classpath/native/jni/gtk-peer -I../../../include  
-I../../../../classpath/include -I../../../../classpath/native/jni/classpath 
-I../../../../classpath/native/target/Linux 
-I../../../../classpath/native/target/generic  -pedantic -W -Wall 
-Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long 
-Werror -DXTHREADS -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include 
-I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 
-I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   
-I/usr/local/include/cairo   -I/usr/include/pango-1.0 -I/usr/include/freetype2 
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  -g -O2 -MT 
gnu_java_awt_peer_gtk_GtkCheckboxPeer.lo -MD -MP -MF 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxPeer.Tpo -c -o 
gnu_java_awt_peer_gtk_GtkCheckboxPeer.lo 
../../../../classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c;
 \
then mv -f .deps/gnu_java_awt_peer_gtk_GtkCheckboxPeer.Tpo 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxPeer.Plo; else rm -f 
.deps/gnu_java_awt_peer_gtk_GtkCheckboxPeer.Tpo; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I../../../../classpath/native/jni/gtk-peer 
-I../../../include -I../../../../classpath/include 
-I../../../../classpath/native/jni/classpath 
-I../../../../classpath/native/target/Linux 
-I../../../../classpath/native/target/generic -pedantic -W -Wall 
-Wmissing-declarations -Wwrite-strings -Wmissing-prototypes 

[cp-testresults] FAIL: regressions for libgcj on Wed Feb 15 16:02:35 UTC 2006

2006-02-15 Thread cpdev
Baseline from: Wed Feb 15 11:48:17 UTC 2006

Regressions:
FAIL: Thread_Sleep -O3 output - bytecode-native test
FAIL: Thread_Sleep -O3 output - source compiled test

Totals:
PASS: 3391
XPASS: 0
FAIL: 2
XFAIL: 10


___
Classpath-testresults mailing list
Classpath-testresults@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath-testresults


[cp-testresults] FAIL: regressions for libgcj on Thu Feb 16 00:53:13 UTC 2006

2006-02-15 Thread cpdev
Baseline from: Wed Feb 15 11:48:17 UTC 2006

Regressions:
FAIL: Thread_Sleep -O3 output - bytecode-native test

Totals:
PASS: 3392
XPASS: 0
FAIL: 1
XFAIL: 10


___
Classpath-testresults mailing list
Classpath-testresults@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath-testresults


Re: Ldap support in classpath

2006-02-15 Thread Robert Schuster
Hi.

Erwin Rol wrote:
 Hey all,
 
 I am trying to get Open Xchange working with gcj, and so far things are
 going OK. Now i ran into a problem with LDAP. OX uses
 InitialLdapContext(...) to create a initial context. Later it uses
 javax.naming.InitialContext.getNameInNamespace(...) and that always seem
 to throw a javax.naming.OperationNotSupportedException. After looking
 into the classpath source code it seems most methodes in .naming.* just
 throw a not supported error.
Ouch. You found what we call a silent stub. A method that will not show up in
the JAPI scores.

They are a legacy of the time when classpath was much less complete and the
easiest way to get a Java app to compile was by providing empty methods.

 Is this simply because nobody had time yet to implement the real code,
Yes.

 or is this a real design decision ?
Of course, not. GNU Classpath is about being compatible with Java in every 
aspect.

I think what is missing here is someone with good knowledge on the details of
javax.naming.

Naturally volunteers are more than welcome. :)

 Also OX needs LdapName which i found in the apache directory sources,
 are there any plans to add a LdapName implementation to classpath ?
Is this a publc class of the java or javax namespace? If so we should provide 
it.

cya
Robert


signature.asc
Description: OpenPGP digital signature


Re: Ldap support in classpath

2006-02-15 Thread Chris Burdess

Erwin Rol wrote:
I am trying to get Open Xchange working with gcj, and so far things  
are

going OK. Now i ran into a problem with LDAP. OX uses
InitialLdapContext(...) to create a initial context. Later it uses
javax.naming.InitialContext.getNameInNamespace(...) and that always  
seem

to throw a javax.naming.OperationNotSupportedException. After looking
into the classpath source code it seems most methodes in .naming.*  
just

throw a not supported error.
Is this simply because nobody had time yet to implement the real code,
or is this a real design decision ?


The former.

There is the basis of an LDAP client in inetlib. This was developed  
with the intention of becoming the protocol handler for an LDAP JNDI  
implementation. There isn't any DirContext implementation yet, it  
would be great if someone found the time to do it.


Our only current JNDI implementation is a filesystem-based one which  
is still in the ether somewhere; Mark was going to review it but I  
guess hasn't had the time yet.



Also OX needs LdapName which i found in the apache directory sources,
are there any plans to add a LdapName implementation to classpath ?


I don't know what you're referring to.
--
犬 Chris Burdess
  They that can give up essential liberty to obtain a little safety
  deserve neither liberty nor safety. - Benjamin Franklin






PGP.sig
Description: This is a digitally signed message part


Re: Ldap support in classpath

2006-02-15 Thread Erwin Rol
On Wed, 2006-02-15 at 09:36 +0100, Robert Schuster wrote:

 I think what is missing here is someone with good knowledge on the details of
 javax.naming.

Well that isn't me, I am just trying to get OX working, and stumbled
over the naming thing.

 Naturally volunteers are more than welcome. :)

Well i will see if i can implement as much as is needed to get OX
working. Of course as soon as i start i will get a shit load of other
work to do and it will take for ever.

  Also OX needs LdapName which i found in the apache directory sources,
  are there any plans to add a LdapName implementation to classpath ?
 Is this a publc class of the java or javax namespace? If so we should provide 
 it.

It is new in 1.5 :
http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/ldap/LdapName.html

- Erwin





how do you run classpath?

2006-02-15 Thread simon place
while browsing, trying to solve a problem, came across classpath, but 
when i tried it i found a bug in the bit i wanted to use,( URL class ) 
which appeared easy to fix, wrote what i thought was a fix but now can't 
seem to find a nice way to run it.


i am trying NOT to set up another development environment and really 
just want to replace the existing class and run it.


here's what i've tried so far;

used IKVM, but the -xbootclasspath option doesn't override the existing 
classes. (this seems like a bug which i've posted.).


tried to compile classpath using jikes to run under sun JVM but get this;

   Found 1 semantic error compiling C:/Program
   Files/classpath/java/lang/ClassLoader.java:

   
 1097. new URLClassLoader(urls, parent)
   . . .
 1112. };
   
   *** Error: A constructor associated with this anonymous type does
   not throw the exception java/lang/SecurityException thrown by its
   super type, java/net/URLClassLoader.



and i'm only doing that because i can't find a runtime anywhere. ( is 
this because runtime's are somehow VM dependent, and it's too difficult 
to maintain a runtime for this VM? )


please help, getting a bit frustrated, a simple bit of hit and run 
contribution, has turned into a week of annoyance.


simon.



Re: Ldap support in classpath

2006-02-15 Thread Erwin Rol
On Wed, 2006-02-15 at 14:37 +0100, Mark Wielaard wrote:
 Hi Erwin,
 
 On Wed, 2006-02-15 at 14:08 +0100, Erwin Rol wrote:
  I am just trying to get OX working, and stumbled over the naming thing.
 
 This might be a new issue. I know that in the past some people did try
 to get it working already. There were a couple of small issues though.
 Upstream was aware of them, but might not have solved them all yet. See
 the following threads. Martin Kauss from OpenExchange was aware of the
 issues and might know a bit more about the current status and whether
 upstream has cleaned up some of these already:
 http://www.redhat.com/archives/fedora-devel-java-list/2005-July/thread.html#00095
 http://www.redhat.com/archives/fedora-devel-java-list/2005-July/thread.html#00076

There is no effort at all to remove com.sun. stuff from OX, at least all
the issues from those mails are still in the sourcecode, including the
BASE64, JNDI, javamail and ldap stuff.  

The BASE64 seems to have enough replacements, and was easy to fix. Not a
1:1 drop in but with a small OX patch.

The javamail should be doable with the latest class path if the methodes
that are used by OX are actually correctly implemented and are not dummy
exception throwing ones. 

the JNDI and ldap stuff seems the be a bit harder to fix. maybe the
jldap from Novell (now at openldap.org) could be used as a replacement,
but that will need some serious OX hacking. Or the missing naming stuff
should be implemented in classpath. The netscape jndi stuff might be
good enough also.

- Erwin





Re: Ldap support in classpath

2006-02-15 Thread Mark Wielaard
Hi Erwin,

On Wed, 2006-02-15 at 14:08 +0100, Erwin Rol wrote:
 I am just trying to get OX working, and stumbled over the naming thing.

This might be a new issue. I know that in the past some people did try
to get it working already. There were a couple of small issues though.
Upstream was aware of them, but might not have solved them all yet. See
the following threads. Martin Kauss from OpenExchange was aware of the
issues and might know a bit more about the current status and whether
upstream has cleaned up some of these already:
http://www.redhat.com/archives/fedora-devel-java-list/2005-July/thread.html#00095
http://www.redhat.com/archives/fedora-devel-java-list/2005-July/thread.html#00076

Cheers,

Mark


signature.asc
Description: This is a digitally signed message part


Re: Ldap support in classpath

2006-02-15 Thread Mark Wielaard
Hi Erwin,

On Wed, 2006-02-15 at 14:58 +0100, Erwin Rol wrote:
 There is no effort at all to remove com.sun. stuff from OX, at least all
 the issues from those mails are still in the sourcecode, including the
 BASE64, JNDI, javamail and ldap stuff.  

:( that is a pity.
That makes it a lot harder to support OX on free systems out of the box.

 the JNDI and ldap stuff seems the be a bit harder to fix. maybe the
 jldap from Novell (now at openldap.org) could be used as a replacement,
 but that will need some serious OX hacking. Or the missing naming stuff
 should be implemented in classpath. The netscape jndi stuff might be
 good enough also.

There is also the Fedora Directory Server Project
http://directory.fedora.redhat.com/ (this is actually the old netscape
stuff cleaned up and updated). And they seem very interested in gcj
compatibility. Although last time I looked they also still had some
proprietary dependencies left.

Cheers,

Mark


signature.asc
Description: This is a digitally signed message part


RE: how do you run classpath?

2006-02-15 Thread Jeroen Frijters
simon place wrote:
 while browsing, trying to solve a problem, came across classpath, but 
 when i tried it i found a bug in the bit i wanted to use,( 
 URL class ) 
 which appeared easy to fix, wrote what i thought was a fix 
 but now can't seem to find a nice way to run it.
 
 i am trying NOT to set up another development environment and really 
 just want to replace the existing class and run it.

I know how frustrating this is. Building an open source project can be a
real pain (especially on Windows). However, if you had asked on the
ikvm-developers list, I would have been happy to help you set up an ikvm
(including GNU Classpath) build environment.

 here's what i've tried so far;
 
 used IKVM, but the -xbootclasspath option doesn't override 
 the existing classes. (this seems like a bug which i've posted.).

This is not a bug, but a design decision.

 please help, getting a bit frustrated, a simple bit of hit and run 
 contribution, has turned into a week of annoyance.

I recommend you post your bug report (possibly including your suggested
fix) either here or to the ikvm-developers list, and if you ask me and
if it's a small issue, I'm usually fairly quick to include the fix in my
working tree and post a new ikvm snapshot that includes the fix.

Regards,
Jeroen



Re: Ldap support in classpath

2006-02-15 Thread Erwin Rol
On Wed, 2006-02-15 at 09:36 +0100, Robert Schuster wrote:
 Hi.
 
 Erwin Rol wrote:
  Hey all,
  
  I am trying to get Open Xchange working with gcj, and so far things are
  going OK. Now i ran into a problem with LDAP. OX uses
  InitialLdapContext(...) to create a initial context. Later it uses
  javax.naming.InitialContext.getNameInNamespace(...) and that always seem
  to throw a javax.naming.OperationNotSupportedException. After looking
  into the classpath source code it seems most methodes in .naming.* just
  throw a not supported error.
 Ouch. You found what we call a silent stub. A method that will not show up in
 the JAPI scores.
 

It seems the getNameInNamespace() correctly throws and
OperationNotSupportedException because the javax.nameing.InitialContext
does not know how about things to preform the action. The
LdapInitialContext is the one that knows this, but LdapInitialContext
does not have a getNameInNamespace() method, so the one of the base
class is used. 

How could it be made that those methods that LdapInitialContext should
overload show up as missing in the JAPI scores ?

- Erwin





[Bug swing/26301] JTableHeader needs possibility to change the cursor shape, but GLightweightPeer.setCursor is a silent stub.

2006-02-15 Thread audriusa at bluewin dot ch


--- Comment #1 from audriusa at bluewin dot ch  2006-02-15 11:49 ---
I am not sure, probably JTableHeader just needs another, more functional peer.


-- 

audriusa at bluewin dot ch changed:

   What|Removed |Added

Summary|GLightweightPeer.setCursor  |JTableHeader needs
   |is a silent stub.   |possibility to change the
   ||cursor shape, but
   ||GLightweightPeer.setCursor
   ||is a silent stub.


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26301



___
Bug-classpath mailing list
Bug-classpath@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-classpath


Re: Ldap support in classpath

2006-02-15 Thread Stuart Ballard
It can't and it shouldn't, it's a deliberate design decision of japi.

There's absolutely no possible conceivable way for japi to know that a
particular method *needs* to be overridden, because overriding a
method or not is purely an implementation decision.

For example, at first glance it's obvious that String needs to
override the equals method of Object. However, it could be that for
some bizarre optimization reason a particular implementation of the
Java API might want to do something like this:

public class Object {
  ...
  public boolean equals(Object o) {
if (this instanceof String) {
  // something special
} else {
  return o == this;
}
  }
}

in which case String wouldn't need an override at all. This is a silly
example because nobody would ever do it that way, but there are a lot
of methods in the API which might or might not need to be overridden.
Sometimes the behavior is identical so overriding isn't strictly
necessary but the subclass can provide a faster implementation.
Sometimes instead of an override the implementation might merely defer
some *parts* of the body of that method to internal virtual methods.

Japi's business is to check the API and not make any assumptions about
the implementation. Otherwise we get into tricky legal territory as to
whether we're actually creating a clean-room implementation or a
derived work of Sun's copyrighted one.

In this case, obviously we do need to override to get the behavior
right, but japi isn't about testing behavior. Instead, we should add a
Mauve test that confirms that LdapInitialContext actually does what
it's supposed to do.

Stuart.

PS In case you can't tell, I write variations this email often ;)

On 2/15/06, Erwin Rol [EMAIL PROTECTED] wrote:
 On Wed, 2006-02-15 at 09:36 +0100, Robert Schuster wrote:
  Hi.
 
  Erwin Rol wrote:
   Hey all,
  
   I am trying to get Open Xchange working with gcj, and so far things are
   going OK. Now i ran into a problem with LDAP. OX uses
   InitialLdapContext(...) to create a initial context. Later it uses
   javax.naming.InitialContext.getNameInNamespace(...) and that always seem
   to throw a javax.naming.OperationNotSupportedException. After looking
   into the classpath source code it seems most methodes in .naming.* just
   throw a not supported error.
  Ouch. You found what we call a silent stub. A method that will not show up 
  in
  the JAPI scores.
 

 It seems the getNameInNamespace() correctly throws and
 OperationNotSupportedException because the javax.nameing.InitialContext
 does not know how about things to preform the action. The
 LdapInitialContext is the one that knows this, but LdapInitialContext
 does not have a getNameInNamespace() method, so the one of the base
 class is used.

 How could it be made that those methods that LdapInitialContext should
 overload show up as missing in the JAPI scores ?

 - Erwin






--
http://sab39.dev.netreach.com/



Another minor japi change

2006-02-15 Thread Stuart Ballard
I just found and partially fixed a longstanding bug in japi - it was
ignoring members declared in non-public superclasses. Apparently these
members *are* accessible. I noticed this because the comparison
between jdk14 and jdk15 was reporting a bunch of methods in
StringBuffer as missing, because in jdk15 these were moved to a
non-public superclass shared between StringBuffer and StringBuilder.

I'm rerunning now with this bug fixed; if it causes any changes to the
results for Classpath, there'll be a diff email shortly.

There is one remaining problem that isn't quite so trivial to fix: a
field that's declared in a non-public superclass should be treated as
if it were declared in the first public subclass of that class (in the
cases where the declaring class matters). Theoretically, this could
produce erroneous results. If the new runs introduce any errors
claiming that fields ought to be declared in non-public classes,
please ignore those errors until I can fix the japi bug, at which
point they'll either go away or give a correct location where the
fields should be declared.

There's actually a really really obscure corner case where the fact
that it's declared in a non-public superclass might actually matter:

class Super {
  public static int value;
}
public class Sub1 extends Super {
}
public class Sub2 extends Super {
}

public void test() {
  Sub1.value = 1;
  System.out.println(Sub2.value);
}

However, since Super isn't part of the public API at all, I can't
think of any way for Japi to represent the fact that Sub1.value and
Sub2.value are actually the same field without ever mentioning (or
knowing about) the nonpublic class. Especially since it's only
actually an issue if more than one public subclass exists. Any
suggestions?

Stuart.
--
http://sab39.dev.netreach.com/



[Bug swing/26301] New: GLightweightPeer.setCursor is a silent stub.

2006-02-15 Thread audriusa at bluewin dot ch
It is not possible to set the alternative cursor shape with
Component.setCursor(..). The functionality is delegated to
GLightweightPeer.setCursor that returns without action.

The possibility to change the cursor is needed for the proper implementation of
the JTable column resizing.


-- 
   Summary: GLightweightPeer.setCursor is a silent stub.
   Product: classpath
   Version: 0.21
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: swing
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: audriusa at bluewin dot ch
OtherBugsDependingO 25774
 nThis:


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26301



___
Bug-classpath mailing list
Bug-classpath@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-classpath


Re: Another minor japi change

2006-02-15 Thread Stuart Ballard
False alarm (temporarily), this change doesn't seem to have actually
worked. I'll look into it later when I have more time.

Stuart.

On 2/15/06, Stuart Ballard [EMAIL PROTECTED] wrote:
 I just found and partially fixed a longstanding bug in japi - it was
 ignoring members declared in non-public superclasses. Apparently these
 members *are* accessible. I noticed this because the comparison
 between jdk14 and jdk15 was reporting a bunch of methods in
 StringBuffer as missing, because in jdk15 these were moved to a
 non-public superclass shared between StringBuffer and StringBuilder.

 I'm rerunning now with this bug fixed; if it causes any changes to the
 results for Classpath, there'll be a diff email shortly.

 There is one remaining problem that isn't quite so trivial to fix: a
 field that's declared in a non-public superclass should be treated as
 if it were declared in the first public subclass of that class (in the
 cases where the declaring class matters). Theoretically, this could
 produce erroneous results. If the new runs introduce any errors
 claiming that fields ought to be declared in non-public classes,
 please ignore those errors until I can fix the japi bug, at which
 point they'll either go away or give a correct location where the
 fields should be declared.

 There's actually a really really obscure corner case where the fact
 that it's declared in a non-public superclass might actually matter:

 class Super {
   public static int value;
 }
 public class Sub1 extends Super {
 }
 public class Sub2 extends Super {
 }

 public void test() {
   Sub1.value = 1;
   System.out.println(Sub2.value);
 }

 However, since Super isn't part of the public API at all, I can't
 think of any way for Japi to represent the fact that Sub1.value and
 Sub2.value are actually the same field without ever mentioning (or
 knowing about) the nonpublic class. Especially since it's only
 actually an issue if more than one public subclass exists. Any
 suggestions?

 Stuart.
 --
 http://sab39.dev.netreach.com/



--
http://sab39.dev.netreach.com/



Re: Japi diffs for classpath

2006-02-15 Thread Stuart Ballard
On 2/15/06, Stuart Ballard [EMAIL PROTECTED] wrote:
...
 +Total: 98.7% good, 1.06% missing
 +Fields: 160 missing.

Well, that's an interesting result I suppose.

Still having problems in this department; sorry for the spam. While
that change certainly made a difference there are still at least two
problems:

1) The classpath japis were created with a japitools version that
didn't have this change. D'oh. The changes are checked into japitools
CVS so they should be picked up by tonight's run. Until then the
results should be treated as suspect; sorry. Didn't think of that
until too late.

2) The problem that I was actually trying to target with this change
doesn't seem to be solved yet:
http://www.kaffe.org/~stuart/japi/htmlout/h-jdk14-jdk15.html#err_missing_java_lang
Still shows a whole bunch of methods missing from 1.5 that should be
present. Why that's happening requires further investigation.

Stuart.

--
http://sab39.dev.netreach.com/



[FOSDEM] Friday meeting?

2006-02-15 Thread Keith Seitz

Hello all,

The Classpath FOSDEM page mentions a Friday night gathering of 
attendees, requesting that anyone who knows Brussels suggest a place to 
meet.


Well, I don't know Brussels, but I do have a book or two on Brussels, 
and I know a beer/wine importer or two. :-)


So, I would like to propose two places that we might meet on Friday 
night. Both are near Gare Centrale:


A La Mort Subite - 7 rue Montagne aux Herbes Potageres
http://www.alamortsubite.com
Strongly recommended by importers, but also recommended in Fodor's 25 
Best for Brussels. They brew several of their own beers and have 
several trappist, abbey, and other Belgian beers on tap and in the 
bottle. Their website mentions that they serve sandwiches and omelets, 
but does not list a menu. Almost equidistant from Gare Centrale and 
DeBrouckere metro stops.


Le Bier Circus - 57 rue de l’Enseignement
http://www.biercircus.be
Recommended by beer snobs around the globe. Their web page has a large 
list of the beers they sell (including vintage beers). They also carry 
wine and have a decent looking menu (all on their website). Down the 
road from the Cirque Royale (which is at #81).


Any other ideas/opinions?
Keith



Re: [FOSDEM] Friday meeting?

2006-02-15 Thread Tom Tromey
 Keith == Keith Seitz [EMAIL PROTECTED] writes:

Keith A La Mort Subite - 7 rue Montagne aux Herbes Potageres

I like the name, I vote for here.

Tom



[Bug classpath/26312] New: ChunkedInputStream..read() returns incorrect values.

2006-02-15 Thread daney at gcc dot gnu dot org
Look at the code below, if the high bit in the byte is set read returns a
negitive number.  The is clearly in violation of the specification which says
the value must be between 0 - 255.


85 : public int read() 
86 :   throws IOException 
87 : { 
88 :   byte[] buf = new byte[1]; 
89 :   int len = read(buf, 0, 1); 
90 :   if (len == -1) 
91 : { 
92 :   return -1; 
93 : } 
94 :   int ret = (int) buf[0]; 
95 :   if (ret  0) 
96 : { 
97 :   ret += 0x100; 
98 : } 
99 :   return ret; 
100 : } 

Lines 94-99 should be replaced with: return 0xff  buf[0];


-- 
   Summary: ChunkedInputStream..read() returns incorrect values.
   Product: classpath
   Version: unspecified
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: classpath
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: daney at gcc dot gnu dot org
 GCC build triplet: *-*-*
  GCC host triplet: *-*-*
GCC target triplet: *-*-*


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26312



___
Bug-classpath mailing list
Bug-classpath@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-classpath


Re: [FOSDEM] Friday meeting?

2006-02-15 Thread Andrew Haley
Tom Tromey writes:
   Keith == Keith Seitz [EMAIL PROTECTED] writes:
  
  Keith A La Mort Subite - 7 rue Montagne aux Herbes Potageres
  
  I like the name, I vote for here.

A La Mort Subite is a great place.  It also has the advantage of being
pretty big.  If it doesn't work out there we can always make our way
to the cafe next to T'Kelderke on the Grand Place -- it has lots of
room upstairs.

Andrew.



[commit-cp] classpath ./ChangeLog native/jni/gtk-peer/gnu_j...

2006-02-15 Thread Roman Kennke
CVSROOT:/cvsroot/classpath
Module name:classpath
Branch: 
Changes by: Roman Kennke [EMAIL PROTECTED]06/02/15 09:00:25

Modified files:
.  : ChangeLog 
native/jni/gtk-peer: 
 gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c 
 gnu_java_awt_peer_gtk_GtkWindowPeer.c 

Log message:
2006-02-15  Michael Koch  [EMAIL PROTECTED]

* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c
(Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create):
Make sure the embedded window gets no decorations.
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
(window_get_frame_extents): Return early of the window has no
decorations.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6395tr2=1.6396r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c.diff?tr1=1.7tr2=1.8r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c.diff?tr1=1.62tr2=1.63r1=textr2=text




[commit-cp] classpath ./ChangeLog java/util/zip/ZipFile.java

2006-02-15 Thread Jeroen Frijters
CVSROOT:/cvsroot/classpath
Module name:classpath
Branch: 
Changes by: Jeroen Frijters [EMAIL PROTECTED] 06/02/15 09:25:40

Modified files:
.  : ChangeLog 
java/util/zip  : ZipFile.java 

Log message:
2006-02-15  Jeroen Frijters  [EMAIL PROTECTED]

* java/util/zip/ZipFile.java
(checkZipFile): Inlined readLeInt and rewritten for robustness.
(readLeShort(DataInput,byte[]), readLeInt(DataInput,byte[],
readLeShort(byte[],int), readLeInt(byte[],int)): Removed.
(readEntries): Rewritten to use PartialInputStream.
(locBuf, checkLocalHeader): Removed.
(getInputStream): Rewritten to use new PartialInputStream.
(PartialInputStream): Rewritten to do buffering.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6396tr2=1.6397r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/java/util/zip/ZipFile.java.diff?tr1=1.27tr2=1.28r1=textr2=text




[commit-cp] classpath javax/swing/plaf/basic/BasicTableUI.j...

2006-02-15 Thread Roman Kennke
CVSROOT:/cvsroot/classpath
Module name:classpath
Branch: 
Changes by: Roman Kennke [EMAIL PROTECTED]06/02/15 10:27:02

Modified files:
javax/swing/plaf/basic: BasicTableUI.java 
.  : ChangeLog 

Log message:
2006-02-15  Roman Kennke  [EMAIL PROTECTED]

* javax/swing/plaf/basic/BasicTableUI.java
(paint): Paint vertical and horizontal lines one pixel shifted
left/top.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/plaf/basic/BasicTableUI.java.diff?tr1=1.42tr2=1.43r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6397tr2=1.6398r1=textr2=text




[commit-cp] classpath ./ChangeLog javax/swing/SpinnerNumber...

2006-02-15 Thread David Gilbert
CVSROOT:/sources/classpath
Module name:classpath
Branch: 
Changes by: David Gilbert [EMAIL PROTECTED]   06/02/15 10:55:44

Modified files:
.  : ChangeLog 
javax/swing: SpinnerNumberModel.java 

Log message:
2006-02-15  David Gilbert  [EMAIL PROTECTED]

* javax/swing/SpinnerNumberModel.java
(getNextValue): Check for null maximum,
(getPreviousValue): Check for null minimum.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6398tr2=1.6399r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/SpinnerNumberModel.java.diff?tr1=1.10tr2=1.11r1=textr2=text




[commit-cp] classpath ./ChangeLog native/jni/gtk-peer/gnu_j...

2006-02-15 Thread Mark Wielaard
CVSROOT:/cvsroot/classpath
Module name:classpath
Branch: 
Changes by: Mark Wielaard [EMAIL PROTECTED]   06/02/15 12:09:06

Modified files:
.  : ChangeLog 
native/jni/gtk-peer: 
 gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c 

Log message:
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c
(Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create):
gtk_plug_new() returns a GtkWindow.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6399tr2=1.6400r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c.diff?tr1=1.8tr2=1.9r1=textr2=text




[commit-cp] classpath ./ChangeLog gnu/xml/validation/dataty...

2006-02-15 Thread Chris Burdess
CVSROOT:/cvsroot/classpath
Module name:classpath
Branch: 
Changes by: Chris Burdess [EMAIL PROTECTED]   06/02/15 14:37:10

Modified files:
.  : ChangeLog 
gnu/xml/validation/datatype: BooleanType.java ByteType.java 
 DateTimeType.java DateType.java 
 DecimalType.java DoubleType.java 
 DurationType.java FloatType.java 
 GDayType.java GMonthDayType.java 
 GMonthType.java GYearMonthType.java 
 GYearType.java IntType.java 
 IntegerType.java LongType.java 
 MaxExclusiveFacet.java 
 MaxInclusiveFacet.java 
 MinExclusiveFacet.java 
 MinInclusiveFacet.java 
 NegativeIntegerType.java 
 NonNegativeIntegerType.java 
 NonPositiveIntegerType.java 
 PositiveIntegerType.java 
 ShortType.java SimpleType.java 
 TimeType.java TypeBuilder.java 
 UnsignedByteType.java 
 UnsignedIntType.java 
 UnsignedLongType.java 
 UnsignedShortType.java 

Log message:
2006-02-15  Chris Burdess  [EMAIL PROTECTED]

* gnu/xml/validation/datatype/BooleanType.java,
gnu/xml/validation/datatype/ByteType.java,
gnu/xml/validation/datatype/DateTimeType.java,
gnu/xml/validation/datatype/DateType.java,
gnu/xml/validation/datatype/DecimalType.java,
gnu/xml/validation/datatype/DoubleType.java,
gnu/xml/validation/datatype/DurationType.java,
gnu/xml/validation/datatype/FloatType.java,
gnu/xml/validation/datatype/GDayType.java,
gnu/xml/validation/datatype/GMonthDayType.java,
gnu/xml/validation/datatype/GMonthType.java,
gnu/xml/validation/datatype/GYearMonthType.java,
gnu/xml/validation/datatype/GYearType.java,
gnu/xml/validation/datatype/IntType.java,
gnu/xml/validation/datatype/IntegerType.java,
gnu/xml/validation/datatype/LongType.java,
gnu/xml/validation/datatype/MaxExclusiveFacet.java,
gnu/xml/validation/datatype/MaxInclusiveFacet.java,
gnu/xml/validation/datatype/MinExclusiveFacet.java,
gnu/xml/validation/datatype/MinInclusiveFacet.java,
gnu/xml/validation/datatype/NegativeIntegerType.java,
gnu/xml/validation/datatype/NonNegativeIntegerType.java,
gnu/xml/validation/datatype/NonPositiveIntegerType.java,
gnu/xml/validation/datatype/PositiveIntegerType.java,
gnu/xml/validation/datatype/ShortType.java,
gnu/xml/validation/datatype/SimpleType.java,
gnu/xml/validation/datatype/TimeType.java,
gnu/xml/validation/datatype/TypeBuilder.java,
gnu/xml/validation/datatype/UnsignedByteType.java,
gnu/xml/validation/datatype/UnsignedIntType.java,
gnu/xml/validation/datatype/UnsignedLongType.java,
gnu/xml/validation/datatype/UnsignedShortType.java: Provide value
objects for datatypes. Make maxExclusive,minExclusive,maxInclusive,
minInclusive facets use the value space of the base type, and
implement.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6400tr2=1.6401r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/xml/validation/datatype/BooleanType.java.diff?tr1=1.1tr2=1.2r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/xml/validation/datatype/ByteType.java.diff?tr1=1.1tr2=1.2r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/xml/validation/datatype/DateTimeType.java.diff?tr1=1.1tr2=1.2r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/xml/validation/datatype/DateType.java.diff?tr1=1.1tr2=1.2r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/xml/validation/datatype/DecimalType.java.diff?tr1=1.1tr2=1.2r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/xml/validation/datatype/DoubleType.java.diff?tr1=1.1tr2=1.2r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/xml/validation/datatype/DurationType.java.diff?tr1=1.1tr2=1.2r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/xml/validation/datatype/FloatType.java.diff?tr1=1.1tr2=1.2r1=textr2=text

[commit-cp] classpath ./ChangeLog javax/swing/JSpinner.java...

2006-02-15 Thread David Gilbert
CVSROOT:/sources/classpath
Module name:classpath
Branch: 
Changes by: David Gilbert [EMAIL PROTECTED]   06/02/15 16:20:13

Modified files:
.  : ChangeLog 
javax/swing: JSpinner.java 
javax/swing/plaf/basic: BasicSpinnerUI.java 
javax/swing/plaf/metal: MetalLookAndFeel.java 
Added files:
examples/gnu/classpath/examples/swing: SpinnerDemo.java 

Log message:
2006-02-15  David Gilbert  [EMAIL PROTECTED]

* javax/swing/JSpinner.java
(DefaultEditor.DefaultEditor(JSpinner)): Add self to text field as a
PropertyChangeListener,
(DefaultEditor.getSpinner): Updated API docs,
(DefaultEditor.dismiss): Likewise,
(DefaultEditor.getTextField): Likewise,
(DefaultEditor.layoutContainer): Likewise,
(DefaultEditor.minimumLayoutSize): Likewise,
(DefaultEditor.preferredLayoutSize): Likewise,
(DefaultEditor.propertyChange): Implemented,
(DefaultEditor.stateChanged): Implemented,
(DefaultEditor.removeLayoutComponent): Updated API docs,
(DefaultEditor.addLayoutComponent): Likewise,
(NumberEditor.NumberEditor(JSpinner)): Set formatter for text field,
(NumberEditor.NumberEditor(JSpinner, String)): Likewise,
(NumberEditor.getFormat): Implemented,
(NumberEditor.getModel): Updated API docs,
(NumberEditorFormatter): New static inner class,
(ListEditor.getModel): Updated API docs,
(DateEditor.dateFormat): Removed,
(DateEditor.DateEditor(JSpinner)): Set formatter for text field,
(DateEditor.DateEditor(JSpinner, String)): Likewise,
(DateEditor.init): Removed,
(DateEditor.getFormat): Reimplemented,
(DateEditorFormatter): New static inner class,
(ModelListener): New inner class,
(model): Updated API docs,
(editor): Likewise,
(listener): Removed,
(JSpinner()): Updated API docs,
(JSpinner(SpinnerModel)): Set up ModelListener,
(setEditor): Fire property change,
(getModel): Updated API docs,
(setModel): Removed check for null editor,
(setValue): Updated API docs,
(getUIClassID): Updated API docs,
(createEditor): Handle SpinnerListModel case,
* javax/swing/plaf/basic/BasicSpinnerUI.java
(createUI): Updated API docs,
(createPropertyChangeListener): Added FIXME,
(installDefaults): Set text field border to null,
(DefaultLayoutManager): Updated API docs,
(DefaultLayoutManager.layoutContainer): Modified layout,
(DefaultLayoutManager.minimumLayoutSize): Ignore button heights,
(DefaultLayoutManager.preferredLayoutSize): Likewise,
(DefaultLayoutManager.removeLayoutComponent): Removed tabs,
(DefaultLayoutManager.addLayoutComponent): Likewise,
(DefaultLayoutManager.minSize): Renamed prefSize,
(DefaultLayoutManager.setBounds): Reformatted,
(DefaultLayoutManager.editor): Added API docs,
(DefaultLayoutManager.next): Likewise,
(DefaultLayoutManager.previous): Likewise,
* javax/swing/plaf/metal/MetalLookAndFeel.java
(initComponentDefaults): Added entry for 'Spinner.border',
* examples/gnu/classpath/examples/swing/SpinnerDemo.java: New file.
--

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6401tr2=1.6402r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/examples/gnu/classpath/examples/swing/SpinnerDemo.java?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/JSpinner.java.diff?tr1=1.14tr2=1.15r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/plaf/basic/BasicSpinnerUI.java.diff?tr1=1.7tr2=1.8r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/plaf/metal/MetalLookAndFeel.java.diff?tr1=1.77tr2=1.78r1=textr2=text




[commit-cp] classpath javax/swing/JInternalFrame.java ./Cha...

2006-02-15 Thread Roman Kennke
CVSROOT:/cvsroot/classpath
Module name:classpath
Branch: 
Changes by: Roman Kennke [EMAIL PROTECTED]06/02/15 17:22:27

Modified files:
javax/swing: JInternalFrame.java 
.  : ChangeLog 

Log message:
2006-02-15  Roman Kennke  [EMAIL PROTECTED]

* javax/swing/JInternalFrame.java
(dispose): Call setVisible(false) instead of hide.
(doDefaultCloseOperation): Likewise.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/JInternalFrame.java.diff?tr1=1.23tr2=1.24r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6403tr2=1.6404r1=textr2=text




[commit-cp] classpath javax/swing/JInternalFrame.java ./Cha...

2006-02-15 Thread Roman Kennke
CVSROOT:/cvsroot/classpath
Module name:classpath
Branch: 
Changes by: Roman Kennke [EMAIL PROTECTED]06/02/15 17:32:31

Modified files:
javax/swing: JInternalFrame.java 
.  : ChangeLog 

Log message:
2006-02-15  Roman Kennke  [EMAIL PROTECTED]

* javax/swing/JInternalFrame.java
(setClosed): Call dispose to actually make the frame invisible
and unselected.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/JInternalFrame.java.diff?tr1=1.24tr2=1.25r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6404tr2=1.6405r1=textr2=text




[commit-cp] classpath ./ChangeLog native/jni/gtk-peer/gnu_j...

2006-02-15 Thread Mark Wielaard
CVSROOT:/cvsroot/classpath
Module name:classpath
Branch: 
Changes by: Mark Wielaard [EMAIL PROTECTED]   06/02/15 18:56:17

Modified files:
.  : ChangeLog 
native/jni/gtk-peer: 
 gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c 

Log message:
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c
(Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create):
Downcast gtk_plug_new result when used.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6407tr2=1.6408r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c.diff?tr1=1.9tr2=1.10r1=textr2=text




[commit-cp] classpath ./ChangeLog java/io/ObjectInputStream...

2006-02-15 Thread Olivier Jolly
CVSROOT:/sources/classpath
Module name:classpath
Branch: 
Changes by: Olivier Jolly [EMAIL PROTECTED]   06/02/15 18:40:34

Modified files:
.  : ChangeLog 
java/io: ObjectInputStream.java 

Log message:
2006-02-15  Olivier jolly  [EMAIL PROTECTED]

Fixes bug #14144
* java/io/ObjectInputStream.java (readClassDescriptor):
Class doesn't have to be abstract for first_nonserial.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6405tr2=1.6406r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/java/io/ObjectInputStream.java.diff?tr1=1.74tr2=1.75r1=textr2=text




[commit-cp] classpath ./ChangeLog java/io/ObjectOutputStrea...

2006-02-15 Thread Olivier Jolly
CVSROOT:/sources/classpath
Module name:classpath
Branch: 
Changes by: Olivier Jolly [EMAIL PROTECTED]   06/02/15 18:43:04

Modified files:
.  : ChangeLog 
java/io: ObjectOutputStream.java 

Log message:
2006-02-15  Olivier Jolly  [EMAIL PROTECTED]

* java/io/ObjectOutputStream.java (writeClassDescriptor):
Call assignNewHandle() after writing Proxy class.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6406tr2=1.6407r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/java/io/ObjectOutputStream.java.diff?tr1=1.65tr2=1.66r1=textr2=text




[commit-cp] classpath ./ChangeLog gnu/java/awt/peer/gtk/Gtk...

2006-02-15 Thread Lillian Angel
CVSROOT:/sources/classpath
Module name:classpath
Branch: 
Changes by: Lillian Angel [EMAIL PROTECTED]   06/02/15 19:29:25

Modified files:
.  : ChangeLog 
gnu/java/awt/peer/gtk: GtkDialogPeer.java GtkWindowPeer.java 
include: gnu_java_awt_peer_gtk_GtkWindowPeer.h 
java/awt   : Component.java 
native/jni/gtk-peer: gnu_java_awt_peer_gtk_GtkWindowPeer.c 

Log message:
2006-02-15  Lillian Angel  [EMAIL PROTECTED]

* gnu/java/awt/peer/gtk/GtkDialogPeer.java
(setVisible): Removed method.
* gnu/java/awt/peer/gtk/GtkWindowPeer.java
(setLocation): New method.
(setLocationUnlocked): New method.
(show): Changed to use setLocation instead of setBounds.
* java/awt/Component.java
(show): Should call peer.show(), not peer.setVisible(), so the
location of the component is correctly set.
(preferredSize): Added curly braces so else statements are
properly associated with if's.
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
(Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetLocation):
New function.
(Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSet
LocationUnlocked): New function.
* include/gnu_java_awt_peer_gtk_GtkWindowPeer.h:
Added declarations for Java_gnu_java_awt_peer_gtk_
GtkWindowPeer_nativeSetLocation and
Java_gnu_java_awt_peer_gtk_GtkWindowPeer
_nativeSetLocationUnlocked.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6408tr2=1.6409r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/awt/peer/gtk/GtkDialogPeer.java.diff?tr1=1.31tr2=1.32r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java.diff?tr1=1.45tr2=1.46r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/include/gnu_java_awt_peer_gtk_GtkWindowPeer.h.diff?tr1=1.19tr2=1.20r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/java/awt/Component.java.diff?tr1=1.98tr2=1.99r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c.diff?tr1=1.63tr2=1.64r1=textr2=text




[commit-cp] classpath javax/swing/JComponent.java javax/swi...

2006-02-15 Thread Audrius Meskauskas
CVSROOT:/sources/classpath
Module name:classpath
Branch: 
Changes by: Audrius Meskauskas [EMAIL PROTECTED]  06/02/15 20:29:33

Modified files:
javax/swing: JComponent.java JTable.java 
javax/swing/plaf/basic: BasicTableHeaderUI.java 
.  : ChangeLog 

Log message:
2006-02-15  Audrius Meskauskas  [EMAIL PROTECTED]

* javax/swing/JTable.java (distributeSpillResizing): New method.
(doLayout): Use distributeSpillResizing when resizing.
* javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler):
Rewritten. (installListeners): Add mouse motion listener.
(uninstallListeners): Remove mouse motion listener.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/JComponent.java.diff?tr1=1.101tr2=1.102r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/JTable.java.diff?tr1=1.73tr2=1.74r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/plaf/basic/BasicTableHeaderUI.java.diff?tr1=1.12tr2=1.13r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6409tr2=1.6410r1=textr2=text




[commit-cp] classpath/javax/swing JComponent.java

2006-02-15 Thread Audrius Meskauskas
CVSROOT:/sources/classpath
Module name:classpath
Branch: 
Changes by: Audrius Meskauskas [EMAIL PROTECTED]  06/02/15 21:58:28

Modified files:
javax/swing: JComponent.java 

Log message:
Returning to the version 1.101. The revert to the 1.100 was introduced 
by chance.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/JComponent.java.diff?tr1=1.102tr2=1.103r1=textr2=text




[commit-cp] classpath javax/swing/plaf/basic/BasicTableHead...

2006-02-15 Thread Audrius Meskauskas
CVSROOT:/sources/classpath
Module name:classpath
Branch: 
Changes by: Audrius Meskauskas [EMAIL PROTECTED]  06/02/15 21:48:32

Modified files:
javax/swing/plaf/basic: BasicTableHeaderUI.java 
.  : ChangeLog 
javax/swing: JTable.java 
javax/swing/table: DefaultTableModel.java 

Log message:
2006-02-15  Audrius Meskauskas  [EMAIL PROTECTED]

* javax/swing/JTable.java,
javax/swing/plaf/basic/BasicTableHeaderUI.java,
javax/swing/table/DefaultTableModel.java: Documented.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/plaf/basic/BasicTableHeaderUI.java.diff?tr1=1.13tr2=1.14r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6411tr2=1.6412r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/JTable.java.diff?tr1=1.74tr2=1.75r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/table/DefaultTableModel.java.diff?tr1=1.13tr2=1.14r1=textr2=text




[commit-cp] classpath ./ChangeLog gnu/java/lang/CharData.ja...

2006-02-15 Thread Anthony Balkissoon
CVSROOT:/cvsroot/classpath
Module name:classpath
Branch: 
Changes by: Anthony Balkissoon [EMAIL PROTECTED]  06/02/15 23:00:38

Modified files:
.  : ChangeLog 
gnu/java/lang  : CharData.java 
java/lang  : Character.java String.java 
scripts: unicode-muncher.pl 

Log message:
2006-02-15  Anthony Balkissoon  [EMAIL PROTECTED]

* gnu/java/lang/CharData.java: Regenerated from
doc/unicode/UnicodeData-4.0.0.txt, doc/unicode/SpecialCasing-4.0.0.txt
and scripts/unicode-muncher.pl.
* java/lang/Character.java:
(PrivateUseCharacters): New private static class.
(UnassignedCharacters): Likewise.
(blocks): Changed from char[] to char[][] to reflect the changes in
gnu/java/lang/CharData.  There is now one char[] per Unicode code
plane.
(data): Likewise.
(numValue): Likewise.
(upper): Likewise.
(lower): Likewise.
(direction): Likewise.
(readChar): Replaced this method with new method readCodePoint.
(readCodePoint): New method.
(isLowerCase(char)): Redirected to new isLowerCase(int).
(isLowerCase(int)): New method.
(isUpperCase(char)): Redirected to new isUpperCase(int).
(isUpperCase(int)): New method.
(isTitleCase(char)): Redirected to new isTitleCase(int).
(isTitleCase(int)): New method.
(isDigit(char)): Redirected to new isDigit(int).
(isDigit(int)): New method.
(isDefined(char)): Redirected to new isDefined(int).
(isDefined(int)): New method.
(isLetter(char)): Redirected to new isLetter(int).
(isLetter(int)): New method.
(isLetterOrDigit(char)): Redirected to new isLetterOrDigit(int).
(isLetterOrDigit(int)): New method.
(isJavaIdentifierStart(char)): Redirected to new
isJavaIdentifierStart(int).
(isJavaIdentifierStart(int)): New method.
(isJavaIdentifierPart(char)): Redirected to new
isJavaIdentifierPart(int).
(isJavaIdentifierPart(int)): New method.
(isUnicodeIdentifierStart(char)): Redirected to new
isUnicodeIdentifierStart(int).
(isUnicodeIdentifierStart(int)): New method.
(isUnicodeIdentifierPart(char)): Redirected to new
isUnicodeIdentifierPart(int).
(isUnicodeIdentifierPart(int)): New method.
(isIdentifierIgnorable(char)): Redirected to new
isIdentifierIgnorable(int).
(isIdentifierIgnorable(int)): New method.
(toLowerCase(char)): Changed access to lower to correspond with new
char[][] type of lower.
(toLowerCase(int)) New method.
(toUpperCase(char)): Changed access to upper to correspond with new
char[][] type of upper.
(toUpperCase(int)): New method.
(toTitleCase(int)): New method.
(digit(char, int)): Replaced call to readChar with call to
readCodePoint and changed access to numValue to reflect new char[][]
type of numValue.
(digit(int, int)): New method.
(getNumericValue(char)): Changed access to numValue to reflect new
char[][] type of numValue.
(getNumericValue(int)): New method.
(isSpaceChar(char)): Redirected to new isSpaceChar(int).
(isSpaceChar(int)): New method.
(isWhitespace(char)): Redirected to new isWhitespace(int).
(isWhitespace(int)): New method.
(isISOControl(char)): Redirected to new isISOControl(int).
(isISOControl(int)): New method.
(getType(char)): Redirected to new getType(int).
(getType(int)): New method.
(getDirectionality(char)): Redirected to new getDirectionality(int).
(getDirectionality(int)): New method.
(isMirrored(char)): Changed call to readChar to readCodePoint.
(isMirrored(int)): New method.
* java/lang/String.java:
(upperCaseExpansion): Changed access to Character.direction to reflect
new char[][] type of direction.
(offsetByCodePoints): New method.
* scripts/unicode-muncher.pl: Adapted this script to handle Unicode
4.0.0 which introduced supplementary character assignments.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6412tr2=1.6413r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/lang/CharData.java.diff?tr1=1.7tr2=1.8r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/java/lang/Character.java.diff?tr1=1.44tr2=1.45r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/java/lang/String.java.diff?tr1=1.80tr2=1.81r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/scripts/unicode-muncher.pl.diff?tr1=1.5tr2=1.6r1=textr2=text