[kaffe] CVS kaffe (robilad): Resynced with classpath: awt cleanups

Kaffe CVS cvs-commits at kaffe.org
Sun May 15 02:58:16 PDT 2005


PatchSet 6476 
Date: 2005/05/15 09:46:06
Author: robilad
Branch: HEAD
Tag: (none) 
Log:
Resynced with classpath: awt cleanups

Members: 
	ChangeLog:1.4003->1.4004 
	libraries/javalib/gnu/java/awt/peer/gtk/GdkGraphics2D.java:1.17->1.18 
	libraries/javalib/gnu/java/beans/decoder/PersistenceParser.java:1.1->1.2 
	libraries/javalib/gnu/javax/swing/text/html/parser/support/Parser.java:1.1->1.2 
	libraries/javalib/java/awt/Button.java:INITIAL->1.12 
	libraries/javalib/java/awt/Checkbox.java:INITIAL->1.9 
	libraries/javalib/java/awt/Choice.java:INITIAL->1.8 
	libraries/javalib/java/awt/Frame.java:INITIAL->1.26 
	libraries/javalib/java/awt/MenuComponent.java:INITIAL->1.17 
	libraries/javalib/java/awt/MenuItem.java:INITIAL->1.20 
	libraries/javalib/java/awt/TextComponent.java:INITIAL->1.6 
	libraries/javalib/java/awt/Window.java:INITIAL->1.32 
	libraries/javalib/java/awt/geom/Arc2D.java:INITIAL->1.9 
	libraries/javalib/java/awt/geom/Area.java:INITIAL->1.6 
	libraries/javalib/java/awt/geom/GeneralPath.java:INITIAL->1.8 
	libraries/javalib/javax/swing/JColorChooser.java:1.3->1.4 
	libraries/javalib/javax/swing/JFormattedTextField.java:1.8->1.9 
	libraries/javalib/javax/swing/RepaintManager.java:1.6->1.7 
	libraries/javalib/javax/swing/Timer.java:1.9->1.10 
	libraries/javalib/javax/swing/ToolTipManager.java:1.7->1.8 
	libraries/javalib/javax/swing/TransferHandler.java:1.6->1.7 
	libraries/javalib/javax/swing/colorchooser/DefaultHSBChooserPanel.java:1.3->1.4 
	libraries/javalib/javax/swing/colorchooser/DefaultRGBChooserPanel.java:1.4->1.5 
	libraries/javalib/javax/swing/colorchooser/DefaultSwatchChooserPanel.java:1.3->1.4 
	libraries/javalib/javax/swing/plaf/basic/BasicArrowButton.java:1.7->1.8 
	libraries/javalib/javax/swing/plaf/basic/BasicColorChooserUI.java:1.2->1.3 
	libraries/javalib/javax/swing/plaf/basic/BasicComboBoxUI.java:1.5->1.6 
	libraries/javalib/javax/swing/plaf/basic/BasicDesktopIconUI.java:1.2->1.3 
	libraries/javalib/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java:1.4->1.5 
	libraries/javalib/javax/swing/plaf/basic/BasicListUI.java:1.9->1.10 
	libraries/javalib/javax/swing/plaf/basic/BasicOptionPaneUI.java:1.6->1.7 
	libraries/javalib/javax/swing/plaf/basic/BasicPopupMenuUI.java:1.5->1.6 
	libraries/javalib/javax/swing/plaf/basic/BasicScrollBarUI.java:1.11->1.12 
	libraries/javalib/javax/swing/plaf/basic/BasicSliderUI.java:1.8->1.9 
	libraries/javalib/javax/swing/plaf/basic/BasicSplitPaneDivider.java:1.6->1.7 
	libraries/javalib/javax/swing/plaf/basic/BasicTabbedPaneUI.java:1.9->1.10 
	libraries/javalib/javax/swing/plaf/basic/BasicToolBarUI.java:1.8->1.9 
	libraries/javalib/javax/swing/text/JTextComponent.java:1.13->1.14 
	libraries/javalib/javax/swing/text/StringContent.java:1.2->1.3 
	libraries/javalib/javax/swing/text/html/parser/DocumentParser.java:1.3->1.4 
	libraries/javalib/javax/swing/text/html/parser/ParserDelegator.java:1.3->1.4 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4003 kaffe/ChangeLog:1.4004
--- kaffe/ChangeLog:1.4003	Sun May 15 09:40:45 2005
+++ kaffe/ChangeLog	Sun May 15 09:46:06 2005
@@ -2,6 +2,102 @@
 
 	Resynced with GNU Classpath.
 
+	2005-04-26  Tom Tromey  <tromey at redhat.com>
+
+        * javax/swing/text/html/parser/ParserDelegator.java (callBack,
+        gnu): Now package-private.
+        * javax/swing/text/html/parser/DocumentParser.java (parser,
+        callBack, gnu): Now package-private.
+        * javax/swing/text/StringContent.java (content, setOffset,
+        checkLocation): Now package-private.
+        * javax/swing/text/JTextComponent.java (doc): Now
+        package-private.
+        * javax/swing/plaf/basic/BasicToolBarUI.java (owner,
+        lastGoodOrientation, origParent, borders, cachedBounds,
+        cachedOrientation, DragWindow): Now package-private.
+        * javax/swing/plaf/basic/BasicTabbedPaneUI.java (incrButton,
+        decrButton, viewport, panel, currentScrollLocation, layoutManager,
+        tabAreaRect, contentRect, createIncreaseButton,
+        createDecreaseButton, findPointForIndex): Now package-private.
+        * javax/swing/plaf/basic/BasicSplitPaneDivider.java
+        (currentDividerLocation, moveDividerTo): Now package-private.
+        * javax/swing/plaf/basic/BasicSliderUI.java (findClosestTick): Now
+        package-private.
+        * javax/swing/plaf/basic/BasicScrollBarUI.java
+        (calculatePreferredSize, valueForYPosition, valueForXPosition):
+        Now package-private.
+        * javax/swing/plaf/basic/BasicPopupMenuUI.java
+        (topWindowListener): Now package-private.
+        * javax/swing/plaf/basic/BasicOptionPaneUI.java (iconSize,
+        OK_STRING, YES_STRING, NO_STRING, CANCEL_STRING): Now constants.
+        (messageAreaContainer, buttonContainer, resetSelectedValue): Now
+        package-private.
+        * javax/swing/plaf/basic/BasicListUI.java (damageLayout): Now
+        package-private.
+        * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java (title):
+        Now package-private.
+        * javax/swing/plaf/basic/BasicDesktopIconUI.java (button): Now
+        package-private.
+        * javax/swing/plaf/basic/BasicComboBoxUI.java (largestItemSize,
+        borderInsets): Now package-private.
+        (arrowButtonWidth): Likewise.  Now a constant.
+        * javax/swing/plaf/basic/BasicColorChooserUI.java (chooser, pane,
+        makeTabs, updatePreviewPanel): Now package-private.
+        * javax/swing/plaf/basic/BasicArrowButton.java (shadow,
+        darkShadow, highlight): Now package-private.
+        * javax/swing/colorchooser/DefaultSwatchChooserPanel.java
+        (addColorToQueue): Now package-private.
+        * javax/swing/colorchooser/DefaultRGBChooserPanel.java
+        (spinnerChange, sliderChange, updateChange, R, G, B, RSpinner,
+        GSpinner, BSpinner): Now package-private.
+        * javax/swing/colorchooser/DefaultHSBChooserPanel.java
+        (gradientImage, trackImage, slider, hRadio, sRadio, bRadio,
+        hSpinner, sSpinner, bSpinner, gradientPoint, internalChange,
+        spinnerTrigger, locked, handlingMouse, updateImage, updateSlider,
+        updateTrack): Now package-private.
+        * javax/swing/TransferHandler.java (clipboard): Now
+        package-private.
+        * javax/swing/ToolTipManager.java (showTip, hideTip): Now
+        package-private.
+        * javax/swing/Timer.java (drainEvents, queueEvent): Now
+        package-private.
+        * javax/swing/RepaintManager.java (globalManager): Now
+        package-private.
+        * javax/swing/JFormattedTextField.java (editValid): Now
+        package-private.
+        * javax/swing/JColorChooser.java (makeModal): Now
+        package-private.
+        * java/awt/geom/GeneralPath.java (rule, types, xpoints, ypoints,
+        index, path): Now package-private.
+        * java/awt/geom/Area.java (solids, holes, cubicCubicIntersect,
+        lineQuadIntersect, lineCubicIntersect, linesIntersect,
+        pointEquals): Now package-private.
+        * java/awt/geom/Arc2D.java (type): Now package-private.
+        * java/awt/Window.java (windowFocusOwner): Now package-private.
+        * java/awt/TextComponent.java (editable, selectionStart,
+        selectionEnd, text, getIndexAtPoint, getCharacterBounds): Now
+        package-private.
+        * java/awt/MenuItem.java (actionCommand, enabled, label): Now
+        package-private.
+        * java/awt/MenuComponent.java (focusListener): Now
+        package-private.
+        * java/awt/Frame.java (state): Now package-private.
+        * java/awt/Choice.java (pItems): Now package-private.
+        * java/awt/Checkbox.java (state): Now package-private.
+        * java/awt/Button.java (actionCommand, label): Now
+        package-private.
+        * gnu/javax/swing/text/html/parser/support/Parser.java
+        (attributes, _handleEndTag_remaining, _handleStartTag): Now
+        package-private.
+        * gnu/java/beans/decoder/PersistenceParser.java (javaHandler): Now
+        package-private.
+        * gnu/java/awt/peer/gtk/GdkGraphics2D.java (paint, stroke, fg, bg,
+        clip, transform, font, comp): Now package-private.
+
+2005-05-15  Dalibor Topic  <robilad at kaffe.org>
+
+	Resynced with GNU Classpath.
+
 	2005-04-26  Chris Burdess  <dog at gnu.org>
 
         * gnu/java/net/protocol/http/HTTPURLConnection.java: Throw
Index: kaffe/libraries/javalib/gnu/java/awt/peer/gtk/GdkGraphics2D.java
diff -u kaffe/libraries/javalib/gnu/java/awt/peer/gtk/GdkGraphics2D.java:1.17 kaffe/libraries/javalib/gnu/java/awt/peer/gtk/GdkGraphics2D.java:1.18
--- kaffe/libraries/javalib/gnu/java/awt/peer/gtk/GdkGraphics2D.java:1.17	Sat Feb 19 15:30:25 2005
+++ kaffe/libraries/javalib/gnu/java/awt/peer/gtk/GdkGraphics2D.java	Sun May 15 09:46:12 2005
@@ -114,19 +114,22 @@
   
   private final int native_state = GtkGenericPeer.getUniqueInteger();  
 
-  private Paint paint;
-  private Stroke stroke;
-  private Color fg;
-  private Color bg;
-  private Shape clip;
-  private AffineTransform transform;
+  // These are package-private to avoid accessor methods.
+  Paint paint;
+  Stroke stroke;
+  Color fg;
+  Color bg;
+  Shape clip;
+  AffineTransform transform;
   private GtkComponentPeer component;
-  private Font font;
+  // This is package-private to avoid an accessor method.
+  Font font;
   private RenderingHints hints;
   private BufferedImage bimage;
   private boolean pixelConversionRequired;
   private int[] pixelBuffer;
-  private Composite comp;
+  // This is package-private to avoid an accessor method.
+  Composite comp;
   private Stack stateStack;
 
   private native void initState(GtkComponentPeer component);
Index: kaffe/libraries/javalib/gnu/java/beans/decoder/PersistenceParser.java
diff -u kaffe/libraries/javalib/gnu/java/beans/decoder/PersistenceParser.java:1.1 kaffe/libraries/javalib/gnu/java/beans/decoder/PersistenceParser.java:1.2
--- kaffe/libraries/javalib/gnu/java/beans/decoder/PersistenceParser.java:1.1	Thu Jan  6 22:38:54 2005
+++ kaffe/libraries/javalib/gnu/java/beans/decoder/PersistenceParser.java	Sun May 15 09:46:13 2005
@@ -1,5 +1,5 @@
 /* gnu.java.beans.PersistenceParser
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -83,8 +83,9 @@
 	private ElementHandler currentHandler;
 
 	/** The real root element that stores all objects created during parsing.
+	 * Package-private to avoid an accessor method.
 	 */
-	private JavaHandler javaHandler;
+	JavaHandler javaHandler;
 
 	/** Stores the decoded objects. */
 	private List objects = new LinkedList();
Index: kaffe/libraries/javalib/gnu/javax/swing/text/html/parser/support/Parser.java
diff -u kaffe/libraries/javalib/gnu/javax/swing/text/html/parser/support/Parser.java:1.1 kaffe/libraries/javalib/gnu/javax/swing/text/html/parser/support/Parser.java:1.2
--- kaffe/libraries/javalib/gnu/javax/swing/text/html/parser/support/Parser.java:1.1	Fri Mar 11 20:04:52 2005
+++ kaffe/libraries/javalib/gnu/javax/swing/text/html/parser/support/Parser.java	Sun May 15 09:46:14 2005
@@ -157,8 +157,9 @@
 
   /**
    * The attributes of the current HTML element.
+   * Package-private to avoid an accessor method.
    */
-  private htmlAttributeSet attributes =
+  htmlAttributeSet attributes =
     htmlAttributeSet.EMPTY_HTML_ATTRIBUTE_SET;
 
   /**
@@ -1154,9 +1155,10 @@
 
   /**
    * Actions that are also required if the closing action was
-   * intiated by the tag validator.
+   * initiated by the tag validator.
+   * Package-private to avoid an accessor method.
    */
-  private void _handleEndTag_remaining(TagElement tag)
+  void _handleEndTag_remaining(TagElement tag)
   {
     HTML.Tag h = tag.getHTMLTag();
 
@@ -1183,9 +1185,10 @@
    * A hooks for operations, preceeding call to handleStartTag().
    * The method is called when the HTML opening tag ((like &lt;table&gt;)
    * is found.
+   * Package-private to avoid an accessor method.
    * @param The tag
    */
-  private void _handleStartTag(TagElement tag)
+  void _handleStartTag(TagElement tag)
   {
     validator.openTag(tag, attributes);
     startingTag(tag);
===================================================================
Checking out kaffe/libraries/javalib/java/awt/Button.java
RCS:  /home/cvs/kaffe/kaffe/libraries/javalib/java/awt/Button.java,v
VERS: 1.12
***************
--- /dev/null	Sun Aug  4 19:57:58 2002
+++ kaffe/libraries/javalib/java/awt/Button.java	Sun May 15 09:58:15 2005
@@ -0,0 +1,466 @@
+/* Button.java -- AWT button widget
+   Copyright (C) 1999, 2002, 2004, 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;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.peer.ButtonPeer;
+import java.lang.reflect.Array;
+import java.util.EventListener;
+
+import javax.accessibility.Accessible;
+import javax.accessibility.AccessibleAction;
+import javax.accessibility.AccessibleContext;
+import javax.accessibility.AccessibleRole;
+import javax.accessibility.AccessibleValue;
+
+/**
+  * This class provides a button widget for the AWT. 
+  *
+  * @author Aaron M. Renn (arenn at urbanophile.com)
+  * @author Tom Tromey (tromey at cygnus.com)
+  */
+public class Button extends Component
+  implements java.io.Serializable, Accessible
+{
+
+/*
+ * Static Variables
+ */
+
+// FIXME: Need readObject/writeObject for serialization
+
+// Serialization version constant
+private static final long serialVersionUID = -8774683716313001058L;
+
+/*************************************************************************/
+
+/*
+ * Instance Variables
+ */
+
+/**
+  * @serial The action command name for this button.
+  * This is package-private to avoid an accessor method.
+  */
+String actionCommand;
+
+/**
+  * @serial The label for this button.
+  * This is package-private to avoid an accessor method.
+  */
+String label;
+
+// List of ActionListeners for this class.
+private transient ActionListener action_listeners;
+
+  /*
+   * The number used to generate the name returned by getName.
+   */
+  private static transient long next_button_number;
+  
+  protected class AccessibleAWTButton extends AccessibleAWTComponent
+    implements AccessibleAction, AccessibleValue
+  {
+    protected AccessibleAWTButton()
+    {
+      // Do nothing here.
+    }
+
+    /* (non-Javadoc)
+     * @see javax.accessibility.AccessibleAction#getAccessibleActionCount()
+     */
+    public int getAccessibleActionCount()
+    {
+      // Only 1 action possible
+      return 1;
+    }
+
+    /* (non-Javadoc)
+     * @see javax.accessibility.AccessibleAction#getAccessibleActionDescription(int)
+     */
+    public String getAccessibleActionDescription(int i)
+    {
+      // JDK 1.4.2 returns the string "click" for action 0.  However, the API
+      // docs don't say what the string to be returned is, beyond being a
+      // description of the action.  So we return the same thing for
+      // compatibility with 1.4.2.
+      if (i == 0)
+        return "click";
+      return null;
+    }
+
+    /* (non-Javadoc)
+     * @see javax.accessibility.AccessibleAction#doAccessibleAction(int)
+     */
+    public boolean doAccessibleAction(int i)
+    {
+      if (i != 0)
+        return false;
+      processActionEvent(new ActionEvent(this, ActionEvent.ACTION_PERFORMED, actionCommand));
+      return true;
+    }
+    
+    public String getAccessibleName()
+    {
+      return label;
+    }
+    
+    public AccessibleAction getAccessibleAction()
+    {
+      return this;
+    }
+    
+    public AccessibleValue getAccessibleValue()
+    {
+      return this;
+    }
+
+    /* (non-Javadoc)
+     * @see javax.accessibility.AccessibleValue#getCurrentAccessibleValue()
+     */
+    public Number getCurrentAccessibleValue()
+    {
+      // Docs say return 1 if selected, but buttons can't be selected, right?
+      return new Integer(0);
+    }
+
+    /* (non-Javadoc)
+     * @see javax.accessibility.AccessibleValue#setCurrentAccessibleValue(java.lang.Number)
+     */
+    public boolean setCurrentAccessibleValue(Number number)
+    {
+      // Since there's no selection with buttons, we're ignoring this.
+      // TODO someone who knows shoulw check this.
+      return false;
+    }
+
+    /* (non-Javadoc)
+     * @see javax.accessibility.AccessibleValue#getMinimumAccessibleValue()
+     */
+    public Number getMinimumAccessibleValue()
+    {
+      return new Integer(0);
+    }
+
+    /* (non-Javadoc)
+     * @see javax.accessibility.AccessibleValue#getMaximumAccessibleValue()
+     */
+    public Number getMaximumAccessibleValue()
+    {
+      return new Integer(0);
+    }
+    
+    public AccessibleRole getAccessibleRole()
+    {
+      return AccessibleRole.PUSH_BUTTON;
+    }
+  }
+
+/*************************************************************************/
+
+/*
+ * Constructors
+ */
+
+/**
+  * Initializes a new instance of <code>Button</code> with no label.
+  *
+  * @exception HeadlessException If GraphicsEnvironment.isHeadless()
+  * returns true
+  */
+public
+Button()
+{
+  this("");
+}
+
+/*************************************************************************/
+
+/**
+  * Initializes a new instance of <code>Button</code> with the specified
+  * label.  The action command name is also initialized to this value.
+  *
+  * @param label The label to display on the button.
+  *
+  * @exception HeadlessException If GraphicsEnvironment.isHeadless()
+  * returns true
+  */
+public
+Button(String label)
+{
+  this.label = label;
+  actionCommand = label;
+
+  if (GraphicsEnvironment.isHeadless ())
+    throw new HeadlessException ();
+}
+
+/*************************************************************************/
+
+/*
+ * Instance Variables
+ */
+
+/**
+  * Returns the label for this button.
+  *
+  * @return The label for this button.
+  */
+public String
+getLabel()
+{
+  return(label);
+}
+
+/*************************************************************************/
+
+/**
+  * Sets the label for this button to the specified value.
+  *
+  * @param label The new label for this button.
+  */
+public synchronized void
+setLabel(String label)
+{
+  this.label = label;
+  actionCommand = label;
+  if (peer != null)
+    {
+      ButtonPeer bp = (ButtonPeer) peer;
+      bp.setLabel (label);
+    }
+}
+
+/*************************************************************************/
+
+/**
+  * Returns the action command name for this button.
+  *
+  * @return The action command name for this button.
+  */
+public String
+getActionCommand()
+{
+  return(actionCommand);
+}
+
+/*************************************************************************/
+
+/**
+  * Sets the action command name for this button to the specified value.
+  *
+  * @param actionCommand The new action command name.
+  */
+public void
+setActionCommand(String actionCommand)
+{
+  this.actionCommand = actionCommand == null ? label : actionCommand;
+}
+
+/*************************************************************************/
+
+/**
+  * Adds a new entry to the list of listeners that will receive
+  * action events from this button.
+  *
+  * @param listener The listener to add.
+  */
+public synchronized void
+addActionListener(ActionListener listener)
+{
+  action_listeners = AWTEventMulticaster.add(action_listeners, listener);
+}
+
+/*************************************************************************/
+
+/**
+  * Removes the specified listener from the list of listeners that will
+  * receive action events from this button.
+  * 
+  * @param listener The listener to remove.
+  */
+public synchronized void
+removeActionListener(ActionListener listener)
+{
+  action_listeners = AWTEventMulticaster.remove(action_listeners, listener);
+}
+
+  /**
+   * Returns all added <code>ActionListener</code> objects.
+   *
+   * @return an array of listeners
+   *
+   * @since 1.4
+   */
+  public synchronized ActionListener[] getActionListeners()
+  {
+    return (ActionListener[])
+      AWTEventMulticaster.getListeners(action_listeners,
+                                       ActionListener.class);
+  }
+
+/**
+ * Returns all registered EventListers of the given listenerType. 
+ * listenerType must be a subclass of EventListener, or a 
+ * ClassClassException is thrown.
+ *
+ * @param listenerType the listener type to return
+ *
+ * @return an array of listeners
+ * 
+ * @exception ClassCastException If listenerType doesn't specify a class or
+ * interface that implements @see java.util.EventListener.
+ *
+ * @since 1.3 
+ */
+  public EventListener[] getListeners(Class listenerType)
+  {
+    if (listenerType == ActionListener.class)
+      return getActionListeners();
+    return (EventListener[]) Array.newInstance(listenerType, 0);
+  }
+
+/*************************************************************************/
+
+/**
+  * Notifies this button that it should create its native peer object.
+  */
+public void
+addNotify()
+{
+  if (peer == null)
+    peer = getToolkit ().createButton (this);
+  super.addNotify();
+}
+
+/*************************************************************************/
+
+/**
+  * Processes an event for this button.  If the specified event is an
+  * instance of <code>ActionEvent</code>, then the
+  * <code>processActionEvent()</code> method is called to dispatch it
+  * to any registered listeners.  Otherwise, the superclass method
+  * will be invoked.  Note that this method will not be called at all
+  * unless <code>ActionEvent</code>'s are enabled.  This will be done
+  * implicitly if any listeners are added.
+  *
+  * @param event The event to process.
+  */
+protected void
+processEvent(AWTEvent event)
+{
+  if (event instanceof ActionEvent)
+    processActionEvent((ActionEvent)event);
+  else
+    super.processEvent(event);
+}
+
+/*************************************************************************/
+
+/**
+  * This method dispatches an action event for this button to any
+  * registered listeners.
+  *
+  * @param event The event to process.
+  */
+protected void
+processActionEvent(ActionEvent event)
+{
+  if (action_listeners != null)
+    action_listeners.actionPerformed(event);
+}
+
+void
+dispatchEventImpl(AWTEvent e)
+{
+  if (e.id <= ActionEvent.ACTION_LAST 
+      && e.id >= ActionEvent.ACTION_FIRST
+      && (action_listeners != null 
+	  || (eventMask & AWTEvent.ACTION_EVENT_MASK) != 0))
+    processEvent(e);
+  else
+    super.dispatchEventImpl(e);
+}
+
+/*************************************************************************/
+
+/**
+  * Returns a debugging string for this button.
+  *
+  * @return A debugging string for this button.
+  */
+protected String
+paramString()
+{
+  return getName () + "," + getX () + "," + getY () + ","
+    + getWidth () + "x" + getHeight () + ",label=" + getLabel ();
+}
+
+/**
+ * Gets the AccessibleContext associated with this <code>Button</code>.
+ * The context is created, if necessary.
+ *
+ * @return the associated context
+ */
+public AccessibleContext getAccessibleContext()
+{
+  /* Create the context if this is the first request */
+  if (accessibleContext == null)
+    accessibleContext = new AccessibleAWTButton();
+  return accessibleContext;
+}
+
+  /**
+   * Generate a unique name for this button.
+   *
+   * @return A unique name for this button.
+   */
+  String generateName ()
+  {
+    return "button" + getUniqueLong ();
+  }
+
+  private static synchronized long getUniqueLong ()
+  {
+    return next_button_number++;
+  }
+
+} // class Button 
+
===================================================================
Checking out kaffe/libraries/javalib/java/awt/Checkbox.java
RCS:  /home/cvs/kaffe/kaffe/libraries/javalib/java/awt/Checkbox.java,v
VERS: 1.9
***************
--- /dev/null	Sun Aug  4 19:57:58 2002
+++ kaffe/libraries/javalib/java/awt/Checkbox.java	Sun May 15 09:58:16 2005
@@ -0,0 +1,649 @@
+/* Checkbox.java -- An AWT checkbox widget
+   Copyright (C) 1999, 2000, 2001, 2002, 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;
+
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.awt.peer.CheckboxPeer;
+import java.io.Serializable;
+
+import javax.accessibility.Accessible;
+import javax.accessibility.AccessibleAction;
+import javax.accessibility.AccessibleContext;
+import javax.accessibility.AccessibleRole;
+import javax.accessibility.AccessibleState;
+import javax.accessibility.AccessibleStateSet;
+import javax.accessibility.AccessibleValue;
+
+/**
+ * This class implements a component which has an on/off state.  Two
+ * or more Checkboxes can be grouped by a CheckboxGroup.
+ *
+ * @author Aaron M. Renn (arenn at urbanophile.com)
+ * @author Tom Tromey (tromey at redhat.com)
+ */
+public class Checkbox extends Component
+  implements ItemSelectable, Accessible, Serializable
+{
+
+// FIXME: Need readObject/writeObject for this.
+
+/*
+ * Static Variables
+ */
+
+// Serialization Constant
+private static final long serialVersionUID = 7270714317450821763L;
+
+/*************************************************************************/
+
+/*
+ * Instance Variables
+ */
+
+/**
+  * @serial The checkbox group for this checkbox.
+  */
+private CheckboxGroup group;
+
+/**
+  * @serial The label on this checkbox.
+  */
+private String label;
+
+/**
+  * @serial The state of this checkbox.
+  * This is package-private to avoid an accessor method.
+  */
+boolean state;
+
+// The list of listeners for this object.
+private transient ItemListener item_listeners;
+
+  /*
+   * The number used to generate the name returned by getName.
+   */
+  private static transient long next_checkbox_number;
+
+/**
+ * This class provides accessibility support for the
+ * checkbox.
+ *
+ * @author Jerry Quinn  (jlquinn at optonline.net)
+ * @author Andrew John Hughes (gnu_andrew at member.fsf.org)
+ */
+protected class AccessibleAWTCheckbox
+  extends AccessibleAWTComponent
+  implements ItemListener, AccessibleAction, AccessibleValue
+{
+  /**
+   * Serialization constant to match JDK 1.5
+   */
+  private static final long serialVersionUID = 7881579233144754107L;
+
+  /**
+   * Default constructor which simply calls the
+   * super class for generic component accessibility
+   * handling.
+   */
+  public AccessibleAWTCheckbox()
+  {
+    super();
+  }
+
+  /**
+   * Captures changes to the state of the checkbox and
+   * fires appropriate accessible property change events.
+   *
+   * @param event the event fired.
+   * @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent)
+   */
+  public void itemStateChanged(ItemEvent event)
+  {
+    firePropertyChange(ACCESSIBLE_STATE_PROPERTY,
+		       state ? null : AccessibleState.CHECKED,
+                       state ? AccessibleState.CHECKED : null);
+  }
+  
+  /**
+   * Returns an implementation of the <code>AccessibleAction</code>
+   * interface for this accessible object.  In this case, the
+   * current instance is simply returned (with a more appropriate
+   * type), as it also implements the accessible action as well as
+   * the context.
+   *
+   * @return the accessible action associated with this context.
+   * @see javax.accessibility.AccessibleAction
+   */
+  public AccessibleAction getAccessibleAction()
+  {
+    return this;
+  }
+  
+  /**
+   * Returns an implementation of the <code>AccessibleValue</code>
+   * interface for this accessible object.  In this case, the
+   * current instance is simply returned (with a more appropriate
+   * type), as it also implements the accessible value as well as
+   * the context.
+   *
+   * @return the accessible value associated with this context.
+   * @see javax.accessibility.AccessibleValue
+   */
+  public AccessibleValue getAccessibleValue()
+  {
+    return this;
+  }
+  
+  /* 
+   * The following methods are implemented in the JDK (up to
+   * 1.5) as stubs.  We do likewise here.
+   */
+
+  /**
+   * Returns the number of actions associated with this accessible
+   * object.  This default implementation returns 0.
+   *
+   * @return the number of accessible actions available.
+   * @see javax.accessibility.AccessibleAction#getAccessibleActionCount()
+   */
+  public int getAccessibleActionCount()
+  {
+    // 1.4.1 and 1.5 do this
+    return 0;
+  }
+
+  /**
+   * Returns a description of the action with the supplied id.
+   * This default implementation always returns null.
+   *
+   * @param i the id of the action whose description should be
+   *          retrieved.
+   * @return a <code>String</code> describing the action.
+   * @see javax.accessibility.AccessibleAction#getAccessibleActionDescription(int)
+   */
+  public String getAccessibleActionDescription(int i)
+  {
+    // 1.5 does this
+    return null;
+  }
+
+  /**
+   * Executes the action with the specified id.  This
+   * default implementation simply returns false.
+   *
+   * @param i the id of the action to perform.
+   * @return true if the action was performed.
+   * @see javax.accessibility.AccessibleAction#doAccessibleAction(int)
+   */
+  public boolean doAccessibleAction(int i)
+  {
+    // 1.5 does this
+    return false;
+  }
+
+  /**
+   * Returns the current value of this accessible object.
+   * If no value has been set, null is returned.  This
+   * default implementation always returns null, regardless.
+   *
+   * @return the numeric value of this object, or null if
+   *         no value has been set.
+   * @see javax.accessibility.AccessibleValue#getCurrentAccessibleValue()
+   */
+  public Number getCurrentAccessibleValue()
+  {
+    // 1.5 does this
+    return null;
+  }
+
+  /**
+   * Sets the current value of this accessible object
+   * to that supplied.  In this default implementation,
+   * the value is never set and the method always returns
+   * false.
+   *
+   * @param number the new accessible value.
+   * @return true if the value was set.
+   * @see javax.accessibility.AccessibleValue#setCurrentAccessibleValue(java.lang.Number)
+   */
+  public boolean setCurrentAccessibleValue(Number number)
+  {
+    // 1.5 does this
+    return false;
+  }
+
+  /**
+   * Returns the minimum acceptable accessible value used
+   * by this object, or null if no minimum value exists.
+   * This default implementation always returns null.
+   *
+   * @return the minimum acceptable accessible value, or null
+   *         if there is no minimum.
+   * @see javax.accessibility.AccessibleValue#getMinimumAccessibleValue()
+   */
+  public Number getMinimumAccessibleValue()
+  {
+    return null;

*** Patch too long, truncated ***




More information about the kaffe mailing list