/*
* Licensed Materials - Property of Rogue Wave Software, Inc.
* © Copyright Rogue Wave Software, Inc. 2014, 2017
* © Copyright IBM Corp. 2009, 2014
* © Copyright ILOG 1996, 2009
* All Rights Reserved.
*
* Note to U.S. Government Users Restricted Rights:
* The Software and Documentation were developed at private expense and
* are "Commercial Items" as that term is defined at 48 CFR 2.101,
* consisting of "Commercial Computer Software" and
* "Commercial Computer Software Documentation", as such terms are
* used in 48 CFR 12.212 or 48 CFR 227.7202-1 through 227.7202-4,
* as applicable.
*/
package interactor;
import java.awt.event.*;
import java.util.Locale;
import ilog.views.chart.IlvAxis;
import ilog.views.chart.IlvChartInteractor;
import ilog.views.util.IlvResourceUtil;
/**
* An interactor that handles the scroll along the Y-axis using the keyboard.
* <p>The registered name of this interactor is "YScroll".
* @see IlvChartScrollInteractor
*/
public class IlvChartYScrollInteractor extends IlvChartScrollInteractor
{
// ============================ Metainformation ============================
static {
IlvChartInteractor.register("YScroll", IlvChartYScrollInteractor.class);
}
/**
* Returns a localized name for this interactor class.
*/
public static String getLocalizedName(Locale locale)
{
return IlvResourceUtil.getBundle("messages",
IlvChartYScrollInteractor.class,
locale)
.getString("IlvChartYScrollInteractor");
}
// ================ Overrides from IlvChartScrollInteractor ================
/**
* Returns the axis scrolled by this interactor. The default implementation
* returns the y-axis.
*/
Override
protected IlvAxis getAxis()
{
return getYAxis();
}
/**
* Scrolls the chart along the Y-axis in the given direction.
*/
Override
protected void scroll(int direction)
{
if (direction == IlvChartScrollInteractor.NEGATIVE_DIR) {
getChart().scroll(0, -getDelta(), getYAxisIndex());
} else {
getChart().scroll(0, getDelta(), getYAxisIndex());
}
}
// ============================= Constructors =============================
/**
* Creates a new <code>IlvChartYScrollInteractor</code> object with the
* negative direction associated with VK_DOWN and the positive direction
* associated with VK_UP that scrolls 2 steps or 2 percent of the current
* visible range, whether a steps definition for the Y-axis scale is
* available.
*/
public IlvChartYScrollInteractor()
{
this(0, KeyEvent.VK_DOWN, KeyEvent.VK_UP, DEFAULT_STEP_VALUE);
}
/**
* Creates a new <code>IlvChartYScrollInteractor</code> object.
* @param yAxisIndex The Y-axis index.
* @param negativeDirKey The key associated with a scroll in the negative
* direction.
* @param positiveDirKey The key associated with a scroll in the positive
* direction.
* @param step The number of Y-scale steps to scroll or the percentage of
* the visible range to scroll whether a steps definition for
* the Y-axis scale is available.
*/
public IlvChartYScrollInteractor(int yAxisIndex,
int negativeDirKey,
int positiveDirKey,
int step)
{
super(yAxisIndex, negativeDirKey, positiveDirKey, step);
}
}