blob: b928899b2ecd9e2373a2663ef6e49182af9c0d49 [file] [log] [blame]
/*
* Copyright 1996-2007 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code 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
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package java.awt.event;
import java.awt.Adjustable;
import java.awt.AWTEvent;
/**
* The adjustment event emitted by Adjustable objects.
* @see java.awt.Adjustable
* @see AdjustmentListener
*
* @author Amy Fowler
* @since 1.1
*/
public class AdjustmentEvent extends AWTEvent {
/**
* Marks the first integer id for the range of adjustment event ids.
*/
public static final int ADJUSTMENT_FIRST = 601;
/**
* Marks the last integer id for the range of adjustment event ids.
*/
public static final int ADJUSTMENT_LAST = 601;
/**
* The adjustment value changed event.
*/
public static final int ADJUSTMENT_VALUE_CHANGED = ADJUSTMENT_FIRST; //Event.SCROLL_LINE_UP
/**
* The unit increment adjustment type.
*/
public static final int UNIT_INCREMENT = 1;
/**
* The unit decrement adjustment type.
*/
public static final int UNIT_DECREMENT = 2;
/**
* The block decrement adjustment type.
*/
public static final int BLOCK_DECREMENT = 3;
/**
* The block increment adjustment type.
*/
public static final int BLOCK_INCREMENT = 4;
/**
* The absolute tracking adjustment type.
*/
public static final int TRACK = 5;
/**
* The adjustable object that fired the event.
*
* @serial
* @see #getAdjustable
*/
Adjustable adjustable;
/**
* <code>value</code> will contain the new value of the
* adjustable object. This value will always be in a
* range associated adjustable object.
*
* @serial
* @see #getValue
*/
int value;
/**
* The <code>adjustmentType</code> describes how the adjustable
* object value has changed.
* This value can be increased/decreased by a block or unit amount
* where the block is associated with page increments/decrements,
* and a unit is associated with line increments/decrements.
*
* @serial
* @see #getAdjustmentType
*/
int adjustmentType;
/**
* The <code>isAdjusting</code> is true if the event is one
* of the series of multiple adjustment events.
*
* @since 1.4
* @serial
* @see #getValueIsAdjusting
*/
boolean isAdjusting;
/*
* JDK 1.1 serialVersionUID
*/
private static final long serialVersionUID = 5700290645205279921L;
/**
* Constructs an <code>AdjustmentEvent</code> object with the
* specified <code>Adjustable</code> source, event type,
* adjustment type, and value.
* <p>Note that passing in an invalid <code>id</code> results in
* unspecified behavior. This method throws an
* <code>IllegalArgumentException</code> if <code>source</code>
* is <code>null</code>.
*
* @param source the <code>Adjustable</code> object where the
* event originated
* @param id the event type
* @param type the adjustment type
* @param value the current value of the adjustment
* @throws IllegalArgumentException if <code>source</code> is null
*/
public AdjustmentEvent(Adjustable source, int id, int type, int value) {
this(source, id, type, value, false);
}
/**
* Constructs an <code>AdjustmentEvent</code> object with the
* specified Adjustable source, event type, adjustment type, and value.
* <p>Note that passing in an invalid <code>id</code> results in
* unspecified behavior. This method throws an
* <code>IllegalArgumentException</code> if <code>source</code>
* is <code>null</code>.
*
* @param source the <code>Adjustable</code> object where the
* event originated
* @param id the event type
* @param type the adjustment type
* @param value the current value of the adjustment
* @param isAdjusting <code>true</code> if the event is one
* of a series of multiple adjusting events,
* otherwise <code>false</code>
* @throws IllegalArgumentException if <code>source</code> is null
* @since 1.4
*/
public AdjustmentEvent(Adjustable source, int id, int type, int value, boolean isAdjusting) {
super(source, id);
adjustable = source;
this.adjustmentType = type;
this.value = value;
this.isAdjusting = isAdjusting;
}
/**
* Returns the <code>Adjustable</code> object where this event originated.
*
* @return the <code>Adjustable</code> object where this event originated
*/
public Adjustable getAdjustable() {
return adjustable;
}
/**
* Returns the current value in the adjustment event.
*
* @return the current value in the adjustment event
*/
public int getValue() {
return value;
}
/**
* Returns the type of adjustment which caused the value changed
* event. It will have one of the following values:
* <ul>
* <li>{@link #UNIT_INCREMENT}
* <li>{@link #UNIT_DECREMENT}
* <li>{@link #BLOCK_INCREMENT}
* <li>{@link #BLOCK_DECREMENT}
* <li>{@link #TRACK}
* </ul>
* @return one of the adjustment values listed above
*/
public int getAdjustmentType() {
return adjustmentType;
}
/**
* Returns <code>true</code> if this is one of multiple
* adjustment events.
*
* @return <code>true</code> if this is one of multiple
* adjustment events, otherwise returns <code>false</code>
* @since 1.4
*/
public boolean getValueIsAdjusting() {
return isAdjusting;
}
public String paramString() {
String typeStr;
switch(id) {
case ADJUSTMENT_VALUE_CHANGED:
typeStr = "ADJUSTMENT_VALUE_CHANGED";
break;
default:
typeStr = "unknown type";
}
String adjTypeStr;
switch(adjustmentType) {
case UNIT_INCREMENT:
adjTypeStr = "UNIT_INCREMENT";
break;
case UNIT_DECREMENT:
adjTypeStr = "UNIT_DECREMENT";
break;
case BLOCK_INCREMENT:
adjTypeStr = "BLOCK_INCREMENT";
break;
case BLOCK_DECREMENT:
adjTypeStr = "BLOCK_DECREMENT";
break;
case TRACK:
adjTypeStr = "TRACK";
break;
default:
adjTypeStr = "unknown type";
}
return typeStr
+ ",adjType="+adjTypeStr
+ ",value="+value
+ ",isAdjusting="+isAdjusting;
}
}