diff options
Diffstat (limited to 'libjava/java/awt/event/AdjustmentEvent.java')
-rw-r--r-- | libjava/java/awt/event/AdjustmentEvent.java | 253 |
1 files changed, 190 insertions, 63 deletions
diff --git a/libjava/java/awt/event/AdjustmentEvent.java b/libjava/java/awt/event/AdjustmentEvent.java index 9da9993a794..48b208b5d86 100644 --- a/libjava/java/awt/event/AdjustmentEvent.java +++ b/libjava/java/awt/event/AdjustmentEvent.java @@ -1,95 +1,222 @@ -/* Copyright (C) 2000 Free Software Foundation +/* AdjustmentEvent.java -- an adjustable value was changed + Copyright (C) 1999, 2002 Free Software Foundation, Inc. - This file is part of libjava. +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. */ -This software is copyrighted work licensed under the terms of the -Libjava License. Please consult the file "LIBJAVA_LICENSE" for -details. */ package java.awt.event; -import java.awt.*; + +import java.awt.Adjustable; +import java.awt.AWTEvent; /** - * @author Tom Tromey <tromey@cygnus.com> - * @date April 8, 2000 + * This class represents an event that is generated when an adjustable + * value is changed. + * + * @author Aaron M. Renn <arenn@urbanophile.com> + * @see Adjustable + * @see AdjustmentListener + * @since 1.1 + * @status updated to 1.4 */ - -/* Status: Believed complete and correct to JDK 1.2. */ - public class AdjustmentEvent extends AWTEvent { + /** + * Compatible with JDK 1.1+. + */ + private static final long serialVersionUID = 5700290645205279921L; + + /** This is the first id in the range of ids used by adjustment events. */ public static final int ADJUSTMENT_FIRST = 601; + + /** This is the last id in the range of ids used by adjustment events. */ public static final int ADJUSTMENT_LAST = 601; + + /** This is the id indicating an adjustment value changed. */ public static final int ADJUSTMENT_VALUE_CHANGED = 601; + + /** Adjustment type for unit increments. */ + public static final int UNIT_INCREMENT = 1; + + /** Adjustment type for unit decrements. */ + public static final int UNIT_DECREMENT = 2; + + /** Adjustment type for block decrements. */ public static final int BLOCK_DECREMENT = 3; + + /** Adjustment type for block increments. */ public static final int BLOCK_INCREMENT = 4; + + /** Adjustment type for tracking adjustments. */ public static final int TRACK = 5; - public static final int UNIT_DECREMENT = 2; - public static final int UNIT_INCREMENT = 1; - public AdjustmentEvent (Adjustable source, int id, int type, int value) + /** + * The adjustable object that caused the event. + * + * @see #getAdjustable() + * @serial the cause + */ + private final Adjustable adjustable; + + /** + * The type of adjustment, one of {@link #UNIT_INCREMENT}, + * {@link #UNIT_DECREMENT}, {@link #BLOCK_INCREMENT}, + * {@link #BLOCK_DECREMENT}, or {@link #TRACK}. + * + * @see #getAdjustmentType() + * @serial the adjustment type + */ + private final int adjustmentType; + + /** + * The new value of the adjustable; it should be in the range of the + * adjustable cause. + * + * @see #getValue() + * @serial the adjustment value + */ + private final int value; + + /** + * True if this is in a series of multiple adjustment events. + * + * @see #getValueIsAdjusting() + * @serial true if this is not the last adjustment + * @since 1.4 + */ + private final boolean isAdjusting; + + /** + * Initializes an instance of <code>AdjustmentEvent</code> with the + * specified source, id, type, and value. Note that an invalid id leads to + * unspecified results. + * + * @param source the source of the event + * @param id the event id + * @param type the event type, one of the constants of this class + * @param value the value of the adjustment + * @throws IllegalArgumentException if source is null + */ + public AdjustmentEvent(Adjustable source, int id, int type, int value) { - super (source, id); - this.adjType = type; - this.value = value; + this(source, id, type, value, false); } - public Adjustable getAdjustable () + /** + * Initializes an instance of <code>AdjustmentEvent</code> with the + * specified source, id, type, and value. Note that an invalid id leads to + * unspecified results. + * + * @param source the source of the event + * @param id the event id + * @param type the event type, one of the constants of this class + * @param value the value of the adjustment + * @param isAdjusting if this event is in a chain of adjustments + * @throws IllegalArgumentException if source is null + * @since 1.4 + */ + public AdjustmentEvent(Adjustable source, int id, int type, int value, + boolean isAdjusting) { - return (Adjustable) source; + super(source, id); + this.adjustmentType = type; + this.value = value; + adjustable = source; + this.isAdjusting = isAdjusting; } - public int getAdjustmentType () + /** + * This method returns the source of the event as an <code>Adjustable</code>. + * + * @return the <code>Adjustable</code> source of the event + */ + public Adjustable getAdjustable() { - return adjType; + return adjustable; } - public int getValue () + /** + * Returns the new value of the adjustable object. + * + * @return the value of the event + */ + public int getValue() { return value; } - public String paramString () + /** + * Returns the type of the event, which will be one of + * {@link #UNIT_INCREMENT}, {@link #UNIT_DECREMENT}, + * {@link #BLOCK_INCREMENT}, {@link #BLOCK_DECREMENT}, or {@link #TRACK}. + * + * @return the type of the event + */ + public int getAdjustmentType() { - String r; - switch (id) - { - case ADJUSTMENT_VALUE_CHANGED: - r = "ADJUSTMENT_VALUE_CHANGED"; - break; - default: - r = "unknown id"; - break; - } - - r += ",adjType="; - - switch (adjType) - { - case BLOCK_DECREMENT: - r += "BLOCK_DECREMENT"; - break; - case BLOCK_INCREMENT: - r += "BLOCK_INCREMENT"; - break; - case TRACK: - r += "TRACK"; - break; - case UNIT_DECREMENT: - r += "UNIT_DECREMENT"; - break; - case UNIT_INCREMENT: - r += "UNIT_INCREMENT"; - break; - default: - r += "unknown type"; - break; - } - - r += ",value=" + value; - return r; + return adjustmentType; } - private int adjType; - private int value; -} + /** + * Test if this event is part of a sequence of multiple adjustements. + * + * @return true if this is not the last adjustment + * @since 1.4 + */ + public boolean getValueIsAdjusting() + { + return isAdjusting; + } + + /** + * Returns a string that describes the event. This is in the format + * <code>"ADJUSTMENT_VALUE_CHANGED,adjType=" + <type> + ",value=" + * + getValue() + ",isAdjusting=" + getValueIsAdjusting()</code>, where + * type is the name of the constant returned by getAdjustmentType(). + * + * @return a string that describes the event + */ + public String paramString() + { + return (id == ADJUSTMENT_VALUE_CHANGED + ? "ADJUSTMENT_VALUE_CHANGED,adjType=" : "unknown type,adjType=") + + (adjustmentType == UNIT_INCREMENT ? "UNIT_INCREMENT,value=" + : adjustmentType == UNIT_DECREMENT ? "UNIT_DECREMENT,value=" + : adjustmentType == BLOCK_INCREMENT ? "BLOCK_INCREMENT,value=" + : adjustmentType == BLOCK_DECREMENT ? "BLOCK_DECREMENT,value=" + : adjustmentType == TRACK ? "TRACK,value=" : "unknown type,value=") + + value + ",isAdjusting=" + isAdjusting; + } +} // class AdjustmentEvent |