PatchSet 6630 
Date: 2005/06/11 21:09:29
Author: robilad
Branch: HEAD
Tag: (none) 
Log:
Resynced with GNU Classpath: awt and swing fixes

Members: 
        ChangeLog:1.4156->1.4157 
        libraries/javalib/gnu/java/awt/peer/gtk/GtkImage.java:1.5->1.6 
        libraries/javalib/java/awt/image/RGBImageFilter.java:INITIAL->1.10 
        libraries/javalib/javax/swing/event/TreeSelectionEvent.java:1.2->1.3 
        libraries/javalib/javax/swing/plaf/basic/BasicCheckBoxUI.java:1.1->1.2 
        
libraries/javalib/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java:1.6->1.7
 
        
libraries/javalib/javax/swing/plaf/basic/BasicInternalFrameUI.java:1.4->1.5 
        libraries/javalib/javax/swing/plaf/basic/BasicListUI.java:1.11->1.12 
        libraries/javalib/javax/swing/plaf/basic/BasicMenuUI.java:1.5->1.6 
        
libraries/javalib/javax/swing/plaf/basic/BasicOptionPaneUI.java:1.9->1.10 
        
libraries/javalib/javax/swing/plaf/basic/BasicProgressBarUI.java:1.6->1.7 
        libraries/javalib/javax/swing/plaf/basic/BasicSliderUI.java:1.9->1.10 
        libraries/javalib/javax/swing/plaf/basic/BasicSplitPaneUI.java:1.5->1.6 
        
libraries/javalib/javax/swing/plaf/basic/BasicTabbedPaneUI.java:1.10->1.11 
        libraries/javalib/javax/swing/tree/TreePath.java:1.2->1.3 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4156 kaffe/ChangeLog:1.4157
--- kaffe/ChangeLog:1.4156      Sat Jun 11 20:59:45 2005
+++ kaffe/ChangeLog     Sat Jun 11 21:09:29 2005
@@ -2,6 +2,67 @@
 
        Resynced with GNU Classpath.
        
+       2005-06-06  Sven de Marothy <[EMAIL PROTECTED]>
+
+       * gnu/java/awt/peer/gtk/GtkImage.java
+       (getSource, deliver): Added null checks.
+       * java/awt/image/RGBImageFilter.java
+       (filterRGBPixels): Reimplement.
+
+       2005-06-05  Ka-Hing Cheung  <[EMAIL PROTECTED]>
+
+       * javax/swing/event/TreeSelectionEvent.java
+       (getPaths): Return a cloned copy.
+       (isAddedPath): Implemented.
+       (cloneWithSource): Likewise.
+
+       2005-06-05  Ka-Hing Cheung  <[EMAIL PROTECTED]>
+
+       * javax/swing/event/TreeSelectionEvent.java:
+       Reformatted.
+
+       2005-06-05  Ka-Hing Cheung  <[EMAIL PROTECTED]>
+
+       * javax/swing/tree/TreePath.java
+       (toString): Implemented.
+       
+       2005-06-04  Tom Tromey  <[EMAIL PROTECTED]>
+
+       * javax/swing/plaf/basic/BasicListUI.java (focusListener): Use
+       correct type.
+       (listDataListener, listSelectionListener, mouseInputListener,
+       propertyChangeListener): Likewise.
+       * javax/swing/plaf/basic/BasicMenuUI.java (ChangeHandler): Now
+       public and deprecated.
+       * javax/swing/plaf/basic/BasicTabbedPaneUI.java
+       (TabbedPaneLayout): Now public.
+       * javax/swing/plaf/basic/BasicOptionPaneUI.java
+       (ButtonActionListener): Now public.
+       (PropertyChangeHandler): Likewise.
+       (ButtonAreaLayout): Likewise.
+       * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java
+       (TitlePaneLayout): Now public.
+       (PropertyChangeHandler): Likewise.
+       * javax/swing/plaf/basic/BasicCheckBoxUI.java
+       (getPropertyPrefix): New method.
+       * javax/swing/plaf/basic/BasicProgressBarUI.java (ChangeHandler):
+       Now public.
+       * javax/swing/plaf/basic/BasicSliderUI.java (ComponentHandler):
+       Now public.
+       * javax/swing/plaf/basic/BasicSplitPaneUI.java
+       (BasicVerticalLayoutManager): Now public.
+       (FocusHandler): Likewise.
+       (BasicHorizontalLayoutManager): Likewise.
+       * javax/swing/plaf/basic/BasicFileChooserUI.java
+       (AcceptAllFileFilter): New public constructor.
+       (BasicFileView): Likewise.
+       * javax/swing/plaf/basic/BasicInternalFrameUI.java
+       (BorderListener.RESIZE_NONE): Now final.
+
+2005-06-11  Dalibor Topic  <[EMAIL PROTECTED]>
+
+       Resynced with GNU Classpath.
+       
        2005-06-03  Roman Kennke  <[EMAIL PROTECTED]>
 
        * javax/swing/plaf/basic/BasicListUI.java
@@ -71,6 +132,19 @@
 
        Resynced with GNU Classpath.
        
+       2005-06-05  Sven de Marothy  <[EMAIL PROTECTED]>
+
+       * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c
+       (getPixels): Handle pixbufs which don't have alpha.
+
+       2005-06-04  Michael Koch  <[EMAIL PROTECTED]>
+
+       * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c
+       (Java_gnu_java_awt_peer_gtk_GtkImage_loadPixbuf):
+       Fixed method declaration format.
+       (Java_gnu_java_awt_peer_gtk_GtkImage_drawPixelsScaled):
+       Likewise.
+
        2005-06-02  Sven de Marothy  <[EMAIL PROTECTED]>
 
        * gnu/java/awt/peer/gtk/GdkGraphics.java:
Index: kaffe/libraries/javalib/gnu/java/awt/peer/gtk/GtkImage.java
diff -u kaffe/libraries/javalib/gnu/java/awt/peer/gtk/GtkImage.java:1.5 
kaffe/libraries/javalib/gnu/java/awt/peer/gtk/GtkImage.java:1.6
--- kaffe/libraries/javalib/gnu/java/awt/peer/gtk/GtkImage.java:1.5     Sat Jun 
11 20:23:07 2005
+++ kaffe/libraries/javalib/gnu/java/awt/peer/gtk/GtkImage.java Sat Jun 11 
21:09:32 2005
@@ -281,6 +281,8 @@
    */
   public ImageProducer getSource ()
   {
+    if (!isLoaded)
+      return null;
     return new MemoryImageSource(width, height, nativeModel, getPixels(), 
                                 0, width);
   }
@@ -433,7 +435,8 @@
       ImageObserver.PROPERTIES |
       ImageObserver.ALLBITS;
 
-    for(int i=0; i < observers.size(); i++)
+    if (observers != null)
+      for(int i=0; i < observers.size(); i++)
        ((ImageObserver)observers.elementAt(i)).
          imageUpdate(this, flags, 0, 0, width, height);
 
===================================================================
Checking out kaffe/libraries/javalib/java/awt/image/RGBImageFilter.java
RCS:  
/home/cvs/kaffe/kaffe/libraries/javalib/java/awt/image/RGBImageFilter.java,v
VERS: 1.10
***************
--- /dev/null   Sun Aug  4 19:57:58 2002
+++ kaffe/libraries/javalib/java/awt/image/RGBImageFilter.java  Sat Jun 11 
21:14:02 2005
@@ -0,0 +1,267 @@
+/* RGBImageFilter.java -- Java class for filtering Pixels by RGB values
+   Copyright (C) 1999, 2005  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.image;
+
+/**
+ * A filter designed to filter images in the default RGBColorModel regardless 
of 
+ * the ImageProducer's ColorModel.
+ *
+ * @author Mark Benvenuto ([EMAIL PROTECTED])
+ */
+public abstract class RGBImageFilter extends ImageFilter
+{
+    protected ColorModel origmodel;
+
+    protected ColorModel newmodel;
+    
+    /**
+       Specifies whether to apply the filter to the index entries of the 
+       IndexColorModel. Subclasses should set this to true if the filter 
+       does not depend on the pixel's coordinate.
+     */
+    protected boolean canFilterIndexColorModel = false;
+
+    /**
+       Construct new RGBImageFilter.
+     */
+    public RGBImageFilter() 
+    {
+    }
+
+    /**
+     * Sets the ColorModel used to filter with. If the specified ColorModel is 
IndexColorModel 
+     * and canFilterIndexColorModel is true, we subsitute the ColorModel for a 
filtered one
+     * here and in setPixels whenever the original one appears. Otherwise 
overrides the default
+     * ColorModel of ImageProducer and specifies the default RGBColorModel
+     *
+     * @param model the color model to be used most often by setPixels
+     * @see ColorModel */
+    public void setColorModel(ColorModel model) 
+    {
+       origmodel = model;
+       newmodel = model;
+
+       if( ( model instanceof IndexColorModel) && canFilterIndexColorModel  ) {
+               newmodel = filterIndexColorModel( (IndexColorModel) model );
+               consumer.setColorModel(newmodel);
+           }
+       else {
+               consumer.setColorModel(ColorModel.getRGBdefault());
+       }
+    }
+    
+    /**
+       Registers a new ColorModel to subsitute for the old ColorModel when 
+       setPixels encounters the a pixel with the old ColorModel. The pixel 
+       remains unchanged except for a new ColorModel.
+       
+       @param oldcm the old ColorModel
+       @param newcm the new ColorModel
+     */
+    public void substituteColorModel(ColorModel oldcm,
+                                    ColorModel newcm)
+    {
+       origmodel = oldcm;
+       newmodel = newcm;
+    }
+
+    /**
+       Filters an IndexColorModel through the filterRGB function. Uses
+       coordinates of -1 to indicate its filtering an index and not a pixel.
+
+       @param icm an IndexColorModel to filter
+     */
+    public IndexColorModel filterIndexColorModel(IndexColorModel icm) 
+    {
+       int len = icm.getMapSize(), rgb;
+       byte reds[] = new byte[len], greens[] = new byte[len], blues[] = new 
byte[len], alphas[]  = new byte[len];
+       
+       icm.getAlphas( alphas );
+       icm.getReds( reds );
+       icm.getGreens( greens );
+       icm.getBlues( blues );
+
+       for( int i = 0; i < len; i++ )
+           {
+               rgb = filterRGB( -1, -1, makeColor ( alphas[i], reds[i], 
greens[i], blues[i] ) );
+               alphas[i] = (byte)(( 0xff000000 & rgb ) >> 24);
+               reds[i] = (byte)(( 0xff0000 & rgb ) >> 16);
+               greens[i] = (byte)(( 0xff00 & rgb ) >> 8);
+               blues[i] = (byte)(0xff & rgb);
+           }
+       return new IndexColorModel( icm.getPixelSize(), len, reds, greens, 
blues, alphas );
+    }
+
+    private int makeColor( byte a, byte r, byte g, byte b )
+    {
+       return ( 0xff000000 & (a << 24) | 0xff0000 & (r << 16) | 0xff00 & (g << 
8) | 0xff & b ); 
+    }
+
+    /**
+       This functions filters a set of RGB pixels through filterRGB.
+
+       @param x the x coordinate of the rectangle
+       @param y the y coordinate of the rectangle
+       @param w the width of the rectangle
+       @param h the height of the rectangle
+       @param pixels the array of pixel values
+       @param offset the index of the first pixels in the <code>pixels</code> 
array
+       @param scansize the width to use in extracting pixels from the 
<code>pixels</code> array
+    */
+    public void filterRGBPixels(int x, int y, int w, int h, int[] pixels,
+                               int offset, int scansize)
+    {
+      for (int yp = 0; yp < h; yp++)
+       {
+         for (int xp = 0; xp < w; xp++)
+           {
+             pixels[offset + xp] = filterRGB(xp + x, yp + y, pixels[offset + 
xp]);
+           }
+         offset += scansize;
+       }
+    }
+
+
+    /**
+     * If the ColorModel is the same ColorModel which as already converted 
+     * then it converts it the converted ColorModel. Otherwise it passes the 
+     * array of pixels through filterRGBpixels.
+     *
+     * @param x the x coordinate of the rectangle
+     * @param y the y coordinate of the rectangle
+     * @param w the width of the rectangle
+     * @param h the height of the rectangle
+     * @param model the <code>ColorModel</code> used to translate the pixels
+     * @param pixels the array of pixel values
+     * @param offset the index of the first pixels in the <code>pixels</code> 
array
+     * @param scansize the width to use in extracting pixels from the 
<code>pixels</code> array
+     */
+    public void setPixels(int x, int y, int w, int h, 
+                          ColorModel model, byte[] pixels,
+                          int offset, int scansize)
+    {
+       if(model == origmodel && (model instanceof IndexColorModel) && 
canFilterIndexColorModel)
+       {
+           consumer.setPixels(x, y, w, h, newmodel, pixels, offset, scansize);
+       }
+       else
+       {
+           int intPixels[] =
+               convertColorModelToDefault( x, y, w, h, model, pixels, offset, 
scansize );
+           filterRGBPixels( x, y, w, h, intPixels, offset, scansize );
+           consumer.setPixels(x, y, w, h, ColorModel.getRGBdefault(), 
intPixels, offset, scansize);
+       }
+    }
+
+    /**
+     * This function delivers a rectangle of pixels where any
+     * pixel(m,n) is stored in the array as an <code>int</code> at
+     * index (n * scansize + m + offset).  
+     *
+     * @param x the x coordinate of the rectangle
+     * @param y the y coordinate of the rectangle
+     * @param w the width of the rectangle
+     * @param h the height of the rectangle
+     * @param model the <code>ColorModel</code> used to translate the pixels
+     * @param pixels the array of pixel values
+     * @param offset the index of the first pixels in the <code>pixels</code> 
array
+     * @param scansize the width to use in extracting pixels from the 
<code>pixels</code> array
+     */
+    public void setPixels(int x, int y, int w, int h, 
+                          ColorModel model, int[] pixels,
+                          int offset, int scansize)
+    {
+       if(model == origmodel && (model instanceof IndexColorModel) && 
canFilterIndexColorModel)
+       {
+           consumer.setPixels(x, y, w, h, newmodel, pixels, offset, scansize);
+       }
+       else
+       {
+           //FIXME: Store the filtered pixels in a separate temporary buffer?
+         convertColorModelToDefault( x, y, w, h, model, pixels, offset, 
scansize );
+         filterRGBPixels( x, y, w, h, pixels, offset, scansize );
+         consumer.setPixels(x, y, w, h, ColorModel.getRGBdefault(), pixels, 
offset, scansize);
+       }
+    }
+
+    private int[] convertColorModelToDefault(int x, int y, int w, int h, 
+                                            ColorModel model, byte pixels[],
+                                            int offset, int scansize)
+    {
+       int intPixels[] = new int[pixels.length];
+       for (int i = 0; i < pixels.length; i++)
+           intPixels[i] = makeColorbyDefaultCM(model, pixels[i]);
+       return intPixels;
+    }
+
+    private void convertColorModelToDefault(int x, int y, int w, int h, 
+                                            ColorModel model, int pixels[],
+                                            int offset, int scansize)
+    {
+       for (int i = 0; i < pixels.length; i++)
+           pixels[i] = makeColorbyDefaultCM(model, pixels[i]);
+    }
+
+    private int makeColorbyDefaultCM(ColorModel model, byte rgb) 
+    {
+       return makeColor( model.getAlpha( rgb ) * 4, model.getRed( rgb ) * 4, 
model.getGreen( rgb ) * 4, model.getBlue( rgb ) * 4 );
+    }
+
+    private int makeColorbyDefaultCM(ColorModel model, int rgb) 
+    {
+       return makeColor( model.getAlpha( rgb ), model.getRed( rgb ), 
model.getGreen( rgb ), model.getBlue( rgb ) );
+    }
+
+    private int makeColor( int a, int r, int g, int b )
+    {
+       return (int)( 0xff000000 & (a << 24) | 0xff0000 & (r << 16) | 0xff00 & 
(g << 8) | 0xff & b ); 
+    }
+
+
+    /**
+       Filters a single pixel from the default ColorModel.
+
+       @param x x-coordinate
+       @param y y-coordinate
+       @param rgb color
+     */
+    public abstract int filterRGB(int x,
+                                 int y,
+                                 int rgb);
+}
Index: kaffe/libraries/javalib/javax/swing/event/TreeSelectionEvent.java
diff -u kaffe/libraries/javalib/javax/swing/event/TreeSelectionEvent.java:1.2 
kaffe/libraries/javalib/javax/swing/event/TreeSelectionEvent.java:1.3
--- kaffe/libraries/javalib/javax/swing/event/TreeSelectionEvent.java:1.2       
Sun Oct 24 13:39:17 2004
+++ kaffe/libraries/javalib/javax/swing/event/TreeSelectionEvent.java   Sat Jun 
11 21:09:33 2005
@@ -1,5 +1,5 @@
 /* TreeSelectionEvent.java --
-   Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -49,142 +49,151 @@
  */
 public class TreeSelectionEvent extends EventObject {
 
-       //-------------------------------------------------------------
-       // Variables --------------------------------------------------
-       //-------------------------------------------------------------
-
-       /**
-        * paths
-        */
-       protected TreePath[] paths;
-
-       /**
-        * areNew
-        */
-       protected boolean[] areNew;
-
-       /**
-        * oldLeadSelectionPath
-        */
-       protected TreePath oldLeadSelectionPath;
-
-       /**
-        * newLeadSelectionPath
-        */
-       protected TreePath newLeadSelectionPath;
-
-
-       //-------------------------------------------------------------
-       // Initialization ---------------------------------------------
-       //-------------------------------------------------------------
-
-       /**
-        * Constructor TreeSelectionEvent
-        * @param source TODO
-        * @param paths TODO
-        * @param areNew TODO
-        * @param oldLeadSelectionPath TODO
-        * @param newLeadSelectionPath TODO
-        */
-       public TreeSelectionEvent(Object source, TreePath[] paths,
-                               boolean[] areNew, TreePath oldLeadSelectionPath,
-                               TreePath newLeadSelectionPath) {
-               super(source);
-               this.paths                                      = paths;
-               this.areNew                                     = areNew;
-               this.oldLeadSelectionPath       = oldLeadSelectionPath;
-               this.newLeadSelectionPath       = newLeadSelectionPath;
-       } // TreeSelectionEvent()
-
-       /**
-        * Constructor TreeSelectionEvent
-        * @param source TODO
-        * @param paths TODO
-        * @param areNew TODO
-        * @param oldLeadSelectionPath TODO
-        * @param newLeadSelectionPath TODO
-        */
-       public TreeSelectionEvent(Object source, TreePath path,
-                               boolean isNew, TreePath oldLeadSelectionPath,
-                               TreePath newLeadSelectionPath) {
-               super(source);
-//TODO         this.paths                                      = new 
TreePath[1]{path};
-//TODO         this.areNew                                     = new 
boolean[1]{isNew};
-               this.oldLeadSelectionPath       = oldLeadSelectionPath;
-               this.newLeadSelectionPath       = newLeadSelectionPath;
-       } // TreeSelectionEvent()
-
-
-       //-------------------------------------------------------------
-       // Methods ----------------------------------------------------
-       //-------------------------------------------------------------
-
-       /**
-        * getPath
-        * @returns TreePath
-        */
-       public TreePath getPath() {
-               return paths[0];
-       } // getPath()
-
-       /**
-        * getPaths
-        * @returns TreePath[]
-        */
-       public TreePath[] getPaths() {
-               return paths;
-       } // getPaths()
-
-       /**
-        * isAddedPath
-        * @returns boolean
-        */
-       public boolean isAddedPath() {
-               return false; // TODO
-       } // isAddedPath()
-
-       /**
-        * isAddedPath
-        * @param path TODO
-        * @returns boolean
-        */
-       public boolean isAddedPath(TreePath path) {
-               return false; // TODO
-       } // isAddedPath()
-
-       /**
-        * isAddedPath
-        * @param index TODO
-        * @returns boolean
-        */
-       public boolean isAddedPath(int index) {
-               return false; // TODO
-       } // isAddedPath()
-
-       /**
-        * getOldLeadSelectionPath
-        * @returns TreePath
-        */
-       public TreePath getOldLeadSelectionPath() {
-               return oldLeadSelectionPath;
-       } // getOldLeadSelectionPath()
-
-       /**
-        * getNewLeadSelectionPath
-        * @returns TreePath
-        */
-       public TreePath getNewLeadSelectionPath() {
-               return newLeadSelectionPath;
-       } // getNewLeadSelectionPath()
-
-       /**
-        * cloneWithSource
-        * @param source TODO
-        * @returns Object
-        */
-       public Object cloneWithSource(Object source) {
-               return null; // TODO
-       } // cloneWithSource()
+  //-------------------------------------------------------------
+  // Variables --------------------------------------------------
+  //-------------------------------------------------------------
+
+  /**
+   * paths
+   */
+  protected TreePath[] paths;
+
+  /**
+   * areNew
+   */
+  protected boolean[] areNew;
+
+  /**
+   * oldLeadSelectionPath
+   */
+  protected TreePath oldLeadSelectionPath;
+
+  /**
+   * newLeadSelectionPath
+   */
+  protected TreePath newLeadSelectionPath;
+
+
+  //-------------------------------------------------------------
+  // Initialization ---------------------------------------------
+  //-------------------------------------------------------------
+
+  /**
+   * Constructor TreeSelectionEvent
+   * @param source TODO
+   * @param paths TODO
+   * @param areNew TODO
+   * @param oldLeadSelectionPath TODO
+   * @param newLeadSelectionPath TODO
+   */
+  public TreeSelectionEvent(Object source, TreePath[] paths,
+                           boolean[] areNew, TreePath oldLeadSelectionPath,
+                           TreePath newLeadSelectionPath)
+  {
+    super(source);
+    this.paths                                 = paths;
+    this.areNew                                        = areNew;
+    this.oldLeadSelectionPath  = oldLeadSelectionPath;
+    this.newLeadSelectionPath  = newLeadSelectionPath;
+  } // TreeSelectionEvent()
+
+  /**
+   * Constructor TreeSelectionEvent
+   * @param source TODO
+   * @param paths TODO
+   * @param areNew TODO
+   * @param oldLeadSelectionPath TODO
+   * @param newLeadSelectionPath TODO
+   */
+  public TreeSelectionEvent(Object source, TreePath path,
+                           boolean isNew, TreePath oldLeadSelectionPath,
+                           TreePath newLeadSelectionPath)
+  {
+    super(source);
+    this.paths = new TreePath[]{path};
+    this.areNew = new boolean[]{isNew};
+    this.oldLeadSelectionPath  = oldLeadSelectionPath;
+    this.newLeadSelectionPath  = newLeadSelectionPath;
+  } // TreeSelectionEvent()
+
+
+  //-------------------------------------------------------------
+  // Methods ----------------------------------------------------
+  //-------------------------------------------------------------
+
+  /**
+   * @returns the first path element
+   */
+  public TreePath getPath()
+  {
+    return paths[0];
+  } // getPath()
+
+  /**
+   * 
+   * @returns the paths with selection changed
+   */
+  public TreePath[] getPaths()
+  {
+    return (TreePath[]) paths.clone();
+  } // getPaths()
+
+  /**
+   * @return true if the first path is added to the selection, false otherwise
+   */
+  public boolean isAddedPath()
+  {
+    return areNew[0];
+  } // isAddedPath()
+
+  /**
+   * @param path the path to check
+   * @return true if the path is added to the selection, false otherwise
+   */
+  public boolean isAddedPath(TreePath path)
+  {
+    for (int i = paths.length - 1; i >= 0; i--)
+      if (paths[i].equals(path))
+       return areNew[i];
+
+    return false;
+  } // isAddedPath()
+
+  /**
+   * @param index the index'th path
+   * @return true if the path is added to the selection, false otherwise
+   */
+  public boolean isAddedPath(int index)
+  {
+    return areNew[index];
+  } // isAddedPath()
+
+  /**
+   * @return the previous lead selection path
+   */
+  public TreePath getOldLeadSelectionPath()
+  {
+    return oldLeadSelectionPath;
+  } // getOldLeadSelectionPath()
+
+  /**
+   * @returns the current lead selection path
+   */
+  public TreePath getNewLeadSelectionPath()
+  {
+    return newLeadSelectionPath;
+  } // getNewLeadSelectionPath()
+
+  /**
+   * @param source the new event source
+   * @return a cloned event with another event source
+   */
+  public Object cloneWithSource(Object source)
+  {
+    return new TreeSelectionEvent (source, paths, areNew,
+                                  oldLeadSelectionPath,
+                                  newLeadSelectionPath);
+  } // cloneWithSource()
 
 
 } // TreeSelectionEvent
Index: kaffe/libraries/javalib/javax/swing/plaf/basic/BasicCheckBoxUI.java
diff -u kaffe/libraries/javalib/javax/swing/plaf/basic/BasicCheckBoxUI.java:1.1 
kaffe/libraries/javalib/javax/swing/plaf/basic/BasicCheckBoxUI.java:1.2
--- kaffe/libraries/javalib/javax/swing/plaf/basic/BasicCheckBoxUI.java:1.1     
Thu Jul 22 19:37:33 2004
+++ kaffe/libraries/javalib/javax/swing/plaf/basic/BasicCheckBoxUI.java Sat Jun 
11 21:09:33 2005
@@ -1,5 +1,5 @@
 /* BasicCheckBoxUI.java
-   Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -59,7 +59,13 @@
   
   public void installUI(final JComponent c)  {
     super.installUI(c);
-  }  
+  }
+
+  // Overridden to change method access.
+  public String getPropertyPrefix()
+  {
+    return super.getPropertyPrefix();
+  }
 }
 
 
Index: 
kaffe/libraries/javalib/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java
diff -u 
kaffe/libraries/javalib/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java:1.6
 
kaffe/libraries/javalib/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java:1.7
--- 
kaffe/libraries/javalib/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java:1.6
 Sat May 21 15:13:43 2005
+++ 
kaffe/libraries/javalib/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java 
    Sat Jun 11 21:09:33 2005
@@ -77,6 +77,10 @@
 {
   /**
    * The Action responsible for closing the JInternalFrame.
+   *
+   * @specnote Apparently this class was intended to be protected,
+   *           but was made public by a compiler bug and is now
+   *           public for compatibility.
    */
   public class CloseAction extends AbstractAction
   {
@@ -102,6 +106,10 @@
 
   /**
    * This Action is responsible for iconifying the JInternalFrame.
+   *
+   * @specnote Apparently this class was intended to be protected,
+   *           but was made public by a compiler bug and is now
+   *           public for compatibility.
    */
   public class IconifyAction extends AbstractAction
   {
@@ -128,6 +136,10 @@
 
   /**
    * This Action is responsible for maximizing the JInternalFrame.
+   *
+   * @specnote Apparently this class was intended to be protected,
+   *           but was made public by a compiler bug and is now
+   *           public for compatibility.
    */
   public class MaximizeAction extends AbstractAction
   {
@@ -154,6 +166,10 @@
 
   /**
    * This Action is responsible for dragging the JInternalFrame.
+   *
+   * @specnote Apparently this class was intended to be protected,
+   *           but was made public by a compiler bug and is now
+   *           public for compatibility.
    */
   public class MoveAction extends AbstractAction
   {
@@ -171,6 +187,10 @@
   /**
    * This Action is responsible for restoring the JInternalFrame. Restoring
    * the JInternalFrame is the same as setting the maximum property to false.
+   *
+   * @specnote Apparently this class was intended to be protected,
+   *           but was made public by a compiler bug and is now
+   *           public for compatibility.
    */
   public class RestoreAction extends AbstractAction
   {
@@ -197,6 +217,10 @@
 
   /**
    * This action is responsible for sizing the JInternalFrame.
+   *
+   * @specnote Apparently this class was intended to be protected,
+   *           but was made public by a compiler bug and is now
+   *           public for compatibility.
    */
   public class SizeAction extends AbstractAction
   {
@@ -214,8 +238,12 @@
   /**
    * This class is responsible for handling property change events from the
    * JInternalFrame and adjusting the Title Pane as necessary.
+   *
+   * @specnote Apparently this class was intended to be protected,
+   *           but was made public by a compiler bug and is now
+   *           public for compatibility.
    */
-  protected class PropertyChangeHandler implements PropertyChangeListener
+  public class PropertyChangeHandler implements PropertyChangeListener
   {
     /**
      * This method is called when a PropertyChangeEvent is received by the
@@ -236,6 +264,10 @@
   /**
    * This class acts as the MenuBar for the TitlePane. Clicking on the Frame
    * Icon in the top left corner will activate it.
+   *
+   * @specnote Apparently this class was intended to be protected,
+   *           but was made public by a compiler bug and is now
+   *           public for compatibility.
    */
   public class SystemMenuBar extends JMenuBar
   {
@@ -284,8 +316,12 @@
 
   /**
    * This class acts as the Layout Manager for the TitlePane.
+   *
+   * @specnote Apparently this class was intended to be protected,
+   *           but was made public by a compiler bug and is now
+   *           public for compatibility.
    */
-  protected class TitlePaneLayout implements LayoutManager
+  public class TitlePaneLayout implements LayoutManager
   {
     /**
      * Creates a new <code>TitlePaneLayout</code> object.
Index: kaffe/libraries/javalib/javax/swing/plaf/basic/BasicInternalFrameUI.java
diff -u 
kaffe/libraries/javalib/javax/swing/plaf/basic/BasicInternalFrameUI.java:1.4 
kaffe/libraries/javalib/javax/swing/plaf/basic/BasicInternalFrameUI.java:1.5
--- 
kaffe/libraries/javalib/javax/swing/plaf/basic/BasicInternalFrameUI.java:1.4    
    Sun Oct 24 10:44:37 2004
+++ kaffe/libraries/javalib/javax/swing/plaf/basic/BasicInternalFrameUI.java    
Sat Jun 11 21:09:33 2005
@@ -1,5 +1,5 @@
 /* BasicInternalFrameUI.java --
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -162,7 +162,7 @@
     implements SwingConstants
   {
     /** FIXME: Use for something. */
-    protected int RESIZE_NONE;
+    protected final int RESIZE_NONE = 0;
 
     /** The x offset from the top left corner of the JInternalFrame. */
     private transient int xOffset = 0;
Index: kaffe/libraries/javalib/javax/swing/plaf/basic/BasicListUI.java
diff -u kaffe/libraries/javalib/javax/swing/plaf/basic/BasicListUI.java:1.11 
kaffe/libraries/javalib/javax/swing/plaf/basic/BasicListUI.java:1.12
--- kaffe/libraries/javalib/javax/swing/plaf/basic/BasicListUI.java:1.11        
Sat Jun 11 20:59:50 2005
+++ kaffe/libraries/javalib/javax/swing/plaf/basic/BasicListUI.java     Sat Jun 
11 21:09:33 2005
@@ -304,19 +304,20 @@
   }
 
   /** The current focus listener. */
-  protected FocusHandler focusListener;
+  protected FocusListener focusListener;
 
   /** The data listener listening to the model. */
-  protected ListDataHandler listDataListener;
+  protected ListDataListener listDataListener;
 
   /** The selection listener listening to the selection model. */
-  protected ListSelectionHandler listSelectionListener;
+  protected ListSelectionListener listSelectionListener;
 
   /** The mouse listener listening to the list. */
-  protected MouseInputHandler mouseInputListener;
+  protected MouseInputListener mouseInputListener;
 
   /** The property change listener listening to the list. */
-  protected PropertyChangeHandler propertyChangeListener;
+  protected PropertyChangeListener propertyChangeListener;
+
 
   /** The component listener that receives notification for resizing the
    * JList component.*/
Index: kaffe/libraries/javalib/javax/swing/plaf/basic/BasicMenuUI.java
diff -u kaffe/libraries/javalib/javax/swing/plaf/basic/BasicMenuUI.java:1.5 
kaffe/libraries/javalib/javax/swing/plaf/basic/BasicMenuUI.java:1.6
--- kaffe/libraries/javalib/javax/swing/plaf/basic/BasicMenuUI.java:1.5 Tue Apr 
19 18:08:11 2005
+++ kaffe/libraries/javalib/javax/swing/plaf/basic/BasicMenuUI.java     Sat Jun 
11 21:09:33 2005
@@ -1,5 +1,5 @@
 /* BasicMenuUI.java
-   Copyright (C) 2002, 2004  Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2005  Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -424,7 +424,10 @@
     }
   }
 
-  protected class ChangeHandler implements ChangeListener
+  /**
+   * @deprecated
+   */
+  public class ChangeHandler implements ChangeListener
   {
     public void stateChanged(ChangeEvent e)
     {
Index: kaffe/libraries/javalib/javax/swing/plaf/basic/BasicOptionPaneUI.java
diff -u 
kaffe/libraries/javalib/javax/swing/plaf/basic/BasicOptionPaneUI.java:1.9 
kaffe/libraries/javalib/javax/swing/plaf/basic/BasicOptionPaneUI.java:1.10
--- kaffe/libraries/javalib/javax/swing/plaf/basic/BasicOptionPaneUI.java:1.9   
Sun May 15 18:29:36 2005
+++ kaffe/libraries/javalib/javax/swing/plaf/basic/BasicOptionPaneUI.java       
Sat Jun 11 21:09:33 2005
@@ -85,8 +85,12 @@
   /**
    * This is a helper class that listens to the buttons located at the bottom
    * of the JOptionPane.
+   *
+   * @specnote Apparently this class was intended to be protected,
+   *           but was made public by a compiler bug and is now
+   *           public for compatibility.
    */
-  protected class ButtonActionListener implements ActionListener
+  public class ButtonActionListener implements ActionListener
   {
     /** The index of the option this button represents. */
     protected int buttonIndex;
@@ -152,8 +156,13 @@
    * This helper layout manager is responsible for the layout of the button
    * area. The button area is the panel that holds the buttons which
    * represent the options.
+   *
+   * @specnote Apparently this class was intended to be protected,
+   *           but was made public by a compiler bug and is now
+   *           public for compatibility.
    */
-  protected class ButtonAreaLayout implements LayoutManager
+  // FIXME: should be static
+  public class ButtonAreaLayout implements LayoutManager
   {
     /** Whether this layout will center the buttons. */
     protected boolean centersChildren = true;
@@ -366,6 +375,10 @@
 
   /**
    * This helper class handles property change events from the JOptionPane.
+   *
+   * @specnote Apparently this class was intended to be protected,
+   *           but was made public by a compiler bug and is now
+   *           public for compatibility.
    */
   public class PropertyChangeHandler implements PropertyChangeListener
   {
@@ -453,19 +466,15 @@
   private transient Border buttonBorder;
 
   /** The string used to describe OK buttons. */
-  // FIXME: wrong name for a constant.
   private static final String OK_STRING = "OK";
 
   /** The string used to describe Yes buttons. */
-  // FIXME: wrong name for a constant.
   private static final String YES_STRING = "Yes";
 
   /** The string used to describe No buttons. */
-  // FIXME: wrong name for a constant.
   private static final String NO_STRING = "No";
 
   /** The string used to describe Cancel buttons. */
-  // FIXME: wrong name for a constant.
   private static final String CANCEL_STRING = "Cancel";
 
   /** The container for the message area.
Index: kaffe/libraries/javalib/javax/swing/plaf/basic/BasicProgressBarUI.java
diff -u 
kaffe/libraries/javalib/javax/swing/plaf/basic/BasicProgressBarUI.java:1.6 
kaffe/libraries/javalib/javax/swing/plaf/basic/BasicProgressBarUI.java:1.7
--- kaffe/libraries/javalib/javax/swing/plaf/basic/BasicProgressBarUI.java:1.6  
Sat May 21 15:13:43 2005
+++ kaffe/libraries/javalib/javax/swing/plaf/basic/BasicProgressBarUI.java      
Sat Jun 11 21:09:33 2005
@@ -75,8 +75,12 @@
   /**
    * A helper class that listens for ChangeEvents 
    * from the progressBar's model.
+   *
+   * @specnote Apparently this class was intended to be protected,
+   *           but was made public by a compiler bug and is now
+   *           public for compatibility.
    */
-  protected class ChangeHandler implements ChangeListener

*** Patch too long, truncated ***

_______________________________________________
kaffe mailing list
[email protected]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to