com.quinncurtis.chart2djava
Class ChartZoom

java.lang.Object
  extended by com.quinncurtis.chart2djava.ChartObj
      extended by com.quinncurtis.chart2djava.GraphObj
          extended by com.quinncurtis.chart2djava.ChartMouseListener
              extended by com.quinncurtis.chart2djava.ChartZoom
All Implemented Interfaces:
ChartConstants, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.lang.Cloneable, java.util.EventListener, javax.swing.event.MouseInputListener

public class ChartZoom
extends ChartMouseListener

This class implements a chart zoom class using the Java MouseInputListener interface. The mouse is used to define a zoom rectangle within one or more PhysicalCoordinates objects, and the PhysicalCoordinates objects are re-scaled to match the extents of the zoom rectangle.


Field Summary
 
Fields inherited from interface com.quinncurtis.chart2djava.ChartConstants
ABOVE_CENTERED_PLOTAREA, ABOVE_REFERENCED_TEXT, ABSTRACT_DATASET, ACTUAL_SIZE, ALARM_TRANSITION_DECREASING_FROM_HIGH, ALARM_TRANSITION_DECREASING_TO_LOW, ALARM_TRANSITION_INCREASING_FROM_LOW, ALARM_TRANSITION_INCREASING_TO_HIGH, ALARM_TRANSITION_NONE_HIGH, ALARM_TRANSITION_NONE_LOW, ALARM_TRANSITION_NONE_NORMAL, ALTBARMODE, APRIL, ARC2D_OBJ, ARROW, ARROWPLOT, AUGUST, AUTO_RESIZE_OBJECTS, AUTOAXES_EXACT, AUTOAXES_FAR, AUTOAXES_NEAR, AUTOAXES_STACKED, AUTOAXES_UNSTACKED, AUTOCHART, AUTOSCALE, AXIS, AXIS_CENTER, AXIS_MAX, AXIS_MIN, AXISLABELS, AXISTITLE, BACKGROUND, BACKGROUND_ELLIPSE, BACKGROUND_RECTANGLE, BACKGROUND_ROUNDEDRECTANGLE, BARDATAPOINTVALUE, BARPLOT, BELOW_CENTERED_PLOTAREA, BELOW_REFERENCED_TEXT, BOTH_AXES, BOTTOM_BORDER, BOTTOM_SIDE, BUBBLELEGEND, BUBBLEPLOT, BUBLELEGENDITEM, BUFFERED_IMAGE_RENDERING, BUFFEREDIMAGE, BUSINESSFORMAT, CANDLESTICK, CARTESIAN_COORDINATES, CELL_PLOT, CENTER_GRAPH, CENTER_PLOT, CENTER_RADIUS_BOTTOM, CENTER_RADIUS_LEFT, CENTER_RADIUS_RIGHT, CENTER_RADIUS_TOP, CENTERED_BAR, CHART_FOOTER, CHART_HEADER, CHART_SUBHEAD, CHARTATTRIBUTE, CHARTBRUSHES, CHARTCALENDAR, CHARTPENS, CIRCLE, COLUMN_MAJOR, COMBINE_DATASET_ADD, COMBINE_DATASET_DIVIDE, COMBINE_DATASET_MULTIPLY, COMBINE_DATASET_SUBTRACT, COMBINE_DATASET_X, COMBINE_DATASET_XY, COMBINE_DATASET_Y, CONTOUR_DATASET, CONTOUR_FILL, CONTOUR_LINE, CONTOUR_LINEANDFILL, CONTOUR_LINEPOLYGON, CONTOUR_LINEWALK, CONTOURLINE, COORD_SIZE, CROSS, CROSSOVER_DAY, CROSSOVER_MONTH, CROSSOVER_NONE, CROSSOVER_WEEK, CROSSOVER_YEAR, CURRENCYBUSINESSFORMAT, CURRENCYFORMAT, CUSTOM_POSITION, CUSTOMAXIS, CUSTOMSYMBOL, DATA_MOVEABLE, DATA_TOOLTIP_CUSTOM, DATA_TOOLTIP_GROUP_MULTILINE, DATA_TOOLTIP_OHLC, DATA_TOOLTIP_X, DATA_TOOLTIP_XY_ONELINE, DATA_TOOLTIP_XY_TWOLINE, DATA_TOOLTIP_Y, DATACOMPRESS_AVERAGE, DATACOMPRESS_MAX, DATACOMPRESS_MIN, DATACOMPRESS_MINMAX, DATACOMPRESS_NONE, DATACOMPRESS_SKIP, DATACOMPRESS_SUM, DATACURSOR, DATAVALUE_SYMBOL_SELECTON, DATE, DAY_OF_MONTH, DAY_OF_WEEK, DAY_OF_YEAR, DECEMBER, DECIMALFORMAT, DEFAULTFORMAT, DEV_POS, DIAMOND, DOWNTRIANGLE, EmptyColor, ENGINEERINGFORMAT, ERROR_ARRAY_NEW, ERROR_ARRAY_NEW_STRING, ERROR_AUTOSCALE, ERROR_AUTOSCALE_DATASET, ERROR_AUTOSCALE_DATASET_STRING, ERROR_AUTOSCALE_DATASETSARRAY, ERROR_AUTOSCALE_DATASETSARRAY_STRING, ERROR_AUTOSCALE_STRING, ERROR_AUTOSCALE_TRANSFORM, ERROR_AUTOSCALE_TRANSFORM_STRING, ERROR_AXIS, ERROR_AXIS_STRING, ERROR_AXISLABLES, ERROR_AXISLABLES_STRING, ERROR_AXISRANGE, ERROR_AXISRANGE_STRING, ERROR_AXISTICKS, ERROR_AXISTICKS_STRING, ERROR_BAD_POLYSURFACE, ERROR_BAD_POLYSURFACE_STRING, ERROR_BARDATAVALUE, ERROR_BARDATAVALUE_STRING, ERROR_BORDER, ERROR_BORDER_STRING, ERROR_COMPONENT, ERROR_COMPONENT_STRING, ERROR_CONTOURDATASET, ERROR_CONTOURDATASET_STRING, ERROR_DATASET, ERROR_DATASET_STRING, ERROR_DATASETSIZE, ERROR_DATASETSIZE_STRING, ERROR_DELAUNAY, ERROR_DELAUNAY_STRING, ERROR_FILECLOSE, ERROR_FILECLOSE_STRING, ERROR_FILEIO, ERROR_FILEIO_STRING, ERROR_FILEOPEN, ERROR_FILEOPEN_STRING, ERROR_FILEREAD, ERROR_FILEREAD_STRING, ERROR_FILEWRITE, ERROR_FILEWRITE_STRING, ERROR_FONT, ERROR_FONT_STRING, ERROR_GRID_ROW_COL, ERROR_GRID_ROW_COL_STRING, ERROR_GROUPDATASET, ERROR_GROUPDATASET_STRING, ERROR_IMAGE, ERROR_IMAGE_STRING, ERROR_INVALID_ALARM_EVENT_ARGUEMENT, ERROR_INVALID_ALARM_EVENT_ARGUEMENT_STRING, ERROR_INVALID_ROUNDED_RECTANGLE_ARGUEMENT, ERROR_INVALID_ROUNDED_RECTANGLE_ARGUEMENT_STRING, ERROR_LEGEND, ERROR_LEGEND_STRING, ERROR_LEGENDITEMSYMBOL, ERROR_LEGENDITEMSYMBOL_STRING, ERROR_LEGENDITEMTEXT, ERROR_LEGENDITEMTEXT_STRING, ERROR_NONE, ERROR_NONE_STRING, ERROR_NULL_ANNUNCIATOR_RECT, ERROR_NULL_ANNUNCIATOR_RECT_STRING, ERROR_NULL_METER_INDICATOR, ERROR_NULL_METER_INDICATOR_STRING, ERROR_NULL_PLOT_TEMPLATE, ERROR_NULL_PLOT_TEMPLATE_STRING, ERROR_NULL_PROCESSVAR, ERROR_NULL_PROCESSVAR_STRING, ERROR_NULLBASEAXIS, ERROR_NULLBASEAXIS_STRING, ERROR_NULLVIEWPORT, ERROR_NULLVIEWPORT_STRING, ERROR_OBJ_NEW, ERROR_OBJ_NEW_STRING, ERROR_OBJECTMISMATCH, ERROR_OBJECTMISMATCH_STRING, ERROR_PLOTOBJ, ERROR_PLOTOBJ_STRING, ERROR_POLARAXES, ERROR_POLARAXES_STRING, ERROR_SCALERANGE, ERROR_SCALERANGE_STRING, ERROR_SCALING, ERROR_SCALING_STRING, ERROR_SHAPE, ERROR_SHAPE_STRING, ERROR_SIMPLEDATASET, ERROR_SIMPLEDATASET_STRING, ERROR_SMALLVIEWPORT, ERROR_SMALLVIEWPORT_STRING, ERROR_SUPERZOOM, ERROR_SUPERZOOM_STRING, ERROR_SYMBOL, ERROR_SYMBOL_STRING, ERROR_TEXT, ERROR_TEXT_STRING, ERROR_TIMELABEL, ERROR_TIMELABEL_STRING, ERROR_WRONGAXISTYPE, ERROR_WRONGAXISTYPE_STRING, ERRORBAR, EXPONENTFORMAT, FASTCLIP_X, FASTCLIP_Y, FEBRUARY, FIXED_X_ASPECT_RATIO_CORRECTION, FIXED_Y_ASPECT_RATIO_CORRECTION, FLOATINGBAR, FNP_DIST, FNP_NORMDIST, FNP_NORMX, FNP_NORMY, FNP_X, FNP_Y, FRIDAY, FRONT_FACE_SELECTION, FULL_PLOTAREA_CLIPPING, FULL_POLYSURFACE_SELECTION, GRADIENT_MAPTO_GRAPH_NORMALIZED_COORDINATES, GRADIENT_MAPTO_OBJECT, GRADIENT_MAPTO_PLOT_NORMALIZED_COORDINATES, GRADIENT_MAPTO_PLOT_PHYSICAL_COORDINATES, GRADIENT_NONE, GRAPH_AREA_CLIPPING, GRAPH_BACKGROUND, GRAPHAREA_BOTTOM, GRAPHAREA_LEFT, GRAPHAREA_RIGHT, GRAPHAREA_TOP, GRAPHTITLE, GRID, GRID_ALL, GRID_MAJOR, GRID_MINOR, GROUP_DATASET, GROUPBAR, HBAR, HIGHLIGHT_COLOR, HISTOGRAMPLOT, HORIZ_DIR, HOUR, HOUR_OF_DAY, ICHARTOBJECTPLOT, IMAGE, INHERIT_CLIPPING, INSET_3D_LOOK, INSIDE_BAR, INSIDE_BARBASE, INSIDE_INDICATOR, INSIDE_PLOTAREA_MAX, INSIDE_PLOTAREA_MIN, INSIDE_RADIUS_BOTTOM, INSIDE_RADIUS_TOP, JANUARY, JULY, JUNE, JUSTIFY_CENTER, JUSTIFY_MAX, JUSTIFY_MIN, LABEL_ALL, LABEL_INTERCEPT, LABEL_MAX, LABEL_MIN, LABEL_ORIGIN, LEFT_BORDER, LEFT_BUTTON, LEFT_CENTERED_PLOTAREA, LEFT_REFERENCED_TEXT, LEFT_SIDE, LEGEND, LEGEND_FOOTER, LEGEND_HEADER, LEGEND_SUBHEAD, LEGENDITEM, LIGHT_LOWER_LEFT, LIGHT_LOWER_RIGHT, LIGHT_NONE, LIGHT_STRAIGHT_ON, LIGHT_UPPER_LEFT, LIGHT_UPPER_RIGHT, LINE, LINEAR_AUTOSCALE, LINEAR_SCALE, LINEAR_SCALE_OBJ, LINEARAXIS, LINEGAP, LINEMARKERPLOT, LINEPLOT, LM_S, LOG_AUTOSCALE, LOG_SCALE, LOG_SCALE_OBJ, LOGAXIS, LS_DASH_2_2, LS_DASH_4_2, LS_DASH_4_4, LS_DASH_8_4, LS_DASH_DOT, LS_DOT_1_1, LS_DOT_1_2, LS_DOT_1_4, LS_DOT_1_8, LS_SOLID, MANUAL_RESIZE_OBJECTS, MARCH, MARKER, MARKER_BOX, MARKER_CROSS, MARKER_HLINE, MARKER_HVLINE, MARKER_NULL, MARKER_VLINE, MAX_LOG_VALUE, MAY, METER_LABEL_HORIZONTAL, METER_LABEL_PERPENDICULAR, METER_LABEL_RADIAL_1, METER_LABEL_RADIAL_2, MILLISECOND, MIN_LOG_VALUE, MINUTE, MONDAY, MONTH, MOVE_X, MOVE_XY, MOVE_Y, MOVING_AVERAGE_X, MOVING_AVERAGE_XY, MOVING_AVERAGE_Y, MTICKS, MULTILINE, NEITHER_AXIS, NO_ASPECT_RATIO_CORRECTION, NO_AUTOSCALE, NO_CLIPPING, NO_DATECROSSOVER, NO_FASTCLIP, NO_RESIZE_OBJECTS, NO_SELECTION, NO_STEP, NOOBJECT, NORM_GRAPH_POS, NORM_PLOT_POS, NORM_PROBABILITY_SCALE_OBJ, NOSYMBOL, NOT_MOVEABLE, NOT_SPECIALCONTROL_TYPE, NOVEMBER, NUMERIC_COORDINATE, NUMERICAXISLABELS, NUMERICLABEL, OBJECT_DISABLE, OBJECT_ENABLE, OBJECT_ENABLE_NODRAW, OBJECT_MOVEABLE, OCTOBER, OHLC, OUTSET_3D_LOOK, OUTSIDE_BAR, OUTSIDE_BARBASE, OUTSIDE_INDICATOR, OUTSIDE_PLOTAREA_MAX, OUTSIDE_PLOTAREA_MIN, OUTSIDE_RADIUS_BOTTOM, OUTSIDE_RADIUS_TOP, OVERLAP_LABEL_DELETE, OVERLAP_LABEL_DRAW, OVERLAP_LABEL_STAGGER, PERCENT_NOPERCENTSIGN_FORMAT, PERCENTFORMAT, PHYS_POS, PHYSICAL_COORDINATES, PICTUREBOX_TYPE, PIECHART, PIELABEL_INSLICE, PIELABEL_NONE, PIELABEL_NUMVALUE, PIELABEL_OUTSLICE, PIELABEL_STRING, PIELABEL_STRINGNUMVAL, PLOT_AREA_CLIPPING, PLOT_BACKGROUND, PLOTAREA_CENTER, PLUS, POLAR_AXIS, POLAR_COORDINATES, POLAR_POS, POLARAXES, POLARAXESLABELS, POLARGRID, POLARLINEPLOT, POLARSCATTERPLOT, POLYSURFACE_SQUAREGRID, POLYSURFACE_TRIANGLEGRID, PRE_RENDER_ALL, PRE_RENDER_AXES, PRE_RENDER_NONE, PRE_RENDER_ZORDER_CHANGE, PRINTER_RENDERING, PROBABILITY_AUTOSCALE, PROBABILITY_AXIS, PROBABILITY_COORDINATES, PROBABILITY_SCALE, PROBABILITY_SIGMA_AXIS, PRT_EXACT, PRT_MAX, PRT_PROP, PRT_RECT, RADIOBUTTON_TYPE, RADIUS_BOTTOM, RADIUS_CENTER, RADIUS_LEFT, RADIUS_RIGHT, RADIUS_TOP, rBadDataValue, RENDER_HIGHQUALITY, RENDER_LOWQUALITY, RENDER_STANDARDQUALITY, REPLACE_DATECROSSOVER, RIGHT_BORDER, RIGHT_BUTTON, RIGHT_CENTERED_PLOTAREA, RIGHT_REFERENCED_TEXT, RIGHT_SIDE, ROUNDED_RECTANGLE2D, ROW_MAJOR, RT_3DFRAME, RT_ALARM, RT_ALARM_GREATERTHAN, RT_ALARM_INDICATOR, RT_ALARM_LIMIT_BACKGROUND_INDICATOR, RT_ALARM_LIMIT_LINE_INDICATOR, RT_ALARM_LIMIT_SYMBOL_INDICATOR, RT_ALARM_LOWERTHAN, RT_ALARM_NONE, RT_ALARM_PANEL_METER, RT_ANNUNCIATOR_PLOT, RT_AUTO_BARGRAPH, RT_AUTO_METER, RT_AUTO_SCROLL_GRAPH, RT_AUTOSCALE_X, RT_AUTOSCALE_X_CURRENT_SCALE, RT_AUTOSCALE_X_MAX, RT_AUTOSCALE_X_MIN, RT_AUTOSCALE_X_MINMAX, RT_AUTOSCALE_Y, RT_AUTOSCALE_Y_CURRENT_SCALE, RT_AUTOSCALE_Y_MAX, RT_AUTOSCALE_Y_MIN, RT_AUTOSCALE_Y_MINMAX, RT_BAR_INDICATOR, RT_BAR_NUMERIC_VALUE, RT_BAR_SEGMENTED_SUBTYPE, RT_BAR_SINGLE_SEGMENT_SUBTYPE, RT_BAR_SOLID_SUBTYPE, RT_BAR_TIME_VALUE, RT_BARTAG, RT_BOTTOM_HIGH_ALARM_SYMBOL, RT_BOTTOM_LOW_ALARM_SYMBOL, RT_BOTTOM_SETPOINT_SYMBOL, RT_CEILING_VALUE, RT_COMBO_PROCESSVAR, RT_CONTROL_BUTTON_TYPE, RT_CONTROL_MOMENTARYBUTTON_SUBTYPE, RT_CONTROL_RADIOBUTTON_SUBTYPE, RT_CONTROL_SCROLLBAR_TYPE, RT_CONTROL_TOGGLEBUTTON_SUBTYPE, RT_CONTROL_TRACKBAR_TYPE, RT_CUSTOM_STRING, RT_DATASET, RT_DETALED_DESCRIPTION_STRING, RT_DISPLAY_ALL_ALARMS, RT_DISPLAY_NO_ALARM, RT_DISPLAY_PRIMARY_ALARM, RT_FIXEDEXTENT_AUTOWRAP_AUTOSCROLL, RT_FIXEDEXTENT_MOVINGSTART_AUTOSCROLL, RT_FIXEDNUMPOINT_AUTOSCROLL, RT_FLOOR_VALUE, RT_FORM_CONTROL, RT_FORM_CONTROL_GRID, RT_FORM_CONTROL_PANEL_METER, RT_GEN_SHAPE, RT_GRAPH_OBJ, RT_GROUP_DATASET, RT_GROUP_MULTIVALUE_PLOT, RT_INDICATOR_COLOR_CHANGE_ON_ALARM, RT_INDICATOR_COLOR_NO_ALARM_CHANGE, RT_INDICATORRECT_CONTROL_SIZE, RT_LEFT_HIGH_ALARM_SYMBOL, RT_LEFT_LOW_ALARM_SYMBOL, RT_LEFT_SETPOINT_SYMBOL, RT_MAXEXTENT_FIXEDSTART_AUTOSCROLL, RT_METER_ARC_BAND_SUBTYPE, RT_METER_ARC_FLAT_CAP, RT_METER_ARC_INDICATOR, RT_METER_ARC_RADIUS_CAP, RT_METER_ARC_WEDGE_WIDTH_CAP, RT_METER_AXIS, RT_METER_AXIS_LABELS, RT_METER_COORDINATES, RT_METER_FACEPLATE, RT_METER_INDICATOR, RT_METER_NEEDLE_ARROW_SUBTYPE, RT_METER_NEEDLE_INDICATOR, RT_METER_NEEDLE_PIEWEDGE_SUBTYPE, RT_METER_NEEDLE_SIMPLE_SUBTYPE, RT_METER_SEGMENTED_ARC_SUBTYPE, RT_METER_SINGLE_SEGMENT_ARC_SUBTYPE, RT_METER_SINGLE_SYMBOL_SUBTYPE, RT_METER_STRING_AXIS_LABELS, RT_METER_SYMBOL_ARC_SUBTYPE, RT_METER_SYMBOL_INDICATOR, RT_MIN_CONTROL_SIZE, RT_MONOTONIC_X_MODE, RT_MULTIALARM_INDICATOR, RT_MULTIBAR_INDICATOR, RT_MULTIPOINTER_INDICATOR, RT_MULTIVALUE_ANNUNCIATOR, RT_MULTIVALUE_INDICATOR, RT_NMETER, RT_NO_ALARM_LIMIT_INDICATOR, RT_NO_AUTOSCALE_X, RT_NO_AUTOSCALE_Y, RT_NO_SYMBOL, RT_NOT_MONOTONIC_X_MODE, RT_NUMERIC_PANEL_METER, RT_ORIG_CONTROL_SIZE, RT_PIDCONTROL, RT_PLOT, RT_POINTER_INDICATOR, RT_POINTER_SUBTYPE, RT_PROCESSVAR, RT_PROCESSVAR_ALARM, RT_RIGHT_HIGH_ALARM_SYMBOL, RT_RIGHT_LOW_ALARM_SYMBOL, RT_RIGHT_SETPOINT_SYMBOL, RT_ROUND_VALUE, RT_SCROLL_FRAME, RT_SETPOINT_VALUE, RT_SHAPE_ELLIPSE, RT_SHAPE_RECTANGLE, RT_SHAPE_ROUNDEDRECTANGLE, RT_SHORT_DESCRIPTION_STRING, RT_SIMPLE_DATASET, RT_SIMPLE_SINGLEVALUE_PLOT, RT_SINGLE_CHANNEL_PANEL_METER, RT_SINGLE_VALUE_INDICATOR, RT_STRING_PANEL_METER, RT_SYMBOL, RT_TAG_STRING, RT_TEXT_BACKGROUND_COLOR_CHANGE_ON_ALARM, RT_TEXTFRAME, RT_TIME_GROUP_DATASET, RT_TIME_PANEL_METER, RT_TIME_SIMPLE_DATASET, RT_TOP_HIGH_ALARM_SYMBOL, RT_TOP_LOW_ALARM_SYMBOL, RT_TOP_SETPOINT_SYMBOL, RT_TRACKBAR_HORIZONTAL_CENTER_POINTER, RT_TRACKBAR_HORIZONTAL_DOWN_POINTER, RT_TRACKBAR_VERTICAL_CENTER_POINTER, RT_TRACKBAR_VERTICAL_RIGHT_POINTER, RT_UNIQUEID_STRING, RT_UNITS_STRING, RTPID_POSITIONCONTROL, RTPID_VELOCITYCONTROL, SATURDAY, SCALE_FACTOR_SIZE, SCATTERPLOT, SCIENTIFICFORMAT, SCREEN_RENDERING, SCROLLBAR_TYPE, SECOND, SECONDSPERDAY, SEPTEMBER, SHADOW_COLOR, SHAPE, SIGMA_FORMAT, SIMPLE_DATASET, SIMPLE_PLOTAREA_CLIPPING, SIMPLEBUTTON_TYPE, SIMPLECOLORMODE, SIMPLEGRADIENTMODE, SIZE_BUBBLE_AREA, SIZE_BUBBLE_RADIUS, sizeOfDouble, SQUARE, STACKEDBAR, STACKEDLINE, STAR, STEP_END, STEP_NO_RISE_LINE, STEP_START, STRINGAXISLABELS, STRINGLABEL, SUNDAY, SYMBOL, TEXT, THURSDAY, TICK_MAJOR, TICK_MINOR, TICKS, TIME_AUTOSCALE, TIME_COORDINATE, TIME_COORDINATES, TIME_GROUP_DATASET, TIME_SCALE, TIME_SCALE_OBJ, TIME_SIMPLE_DATASET, TIMEAXIS, TIMEAXIS_10MINUTEMINUTE, TIMEAXIS_10SECONDSECOND, TIMEAXIS_10YEARYEAR, TIMEAXIS_12HOURHOUR, TIMEAXIS_15MINUTEMINUTE, TIMEAXIS_15SECONDSECOND, TIMEAXIS_20YEAR5YEAR, TIMEAXIS_2HOURHOUR, TIMEAXIS_2MINUTEMINUTE, TIMEAXIS_2SECONDSECOND, TIMEAXIS_30MINUTEMINUTE, TIMEAXIS_30SECONDSECOND, TIMEAXIS_4HOURHOUR, TIMEAXIS_50YEAR10YEAR, TIMEAXIS_5MINUTEMINUTE, TIMEAXIS_5SECONDSECOND, TIMEAXIS_5YEARYEAR, TIMEAXIS_8HOURHOUR, TIMEAXIS_DAY, TIMEAXIS_DAY12HOUR, TIMEAXIS_DAY2HOUR, TIMEAXIS_DAY4HOUR, TIMEAXIS_DAY8HOUR, TIMEAXIS_DAYHOUR, TIMEAXIS_HOUR, TIMEAXIS_HOUR10MINUTE, TIMEAXIS_HOUR15MINUTE, TIMEAXIS_HOUR2MINUTE, TIMEAXIS_HOUR30MINUTE, TIMEAXIS_HOUR5MINUTE, TIMEAXIS_HOURMINUTE, TIMEAXIS_MILLISECOND, TIMEAXIS_MILLISECOND1, TIMEAXIS_MILLISECOND2, TIMEAXIS_MILLISECOND3, TIMEAXIS_MINUTE, TIMEAXIS_MINUTE10SECOND, TIMEAXIS_MINUTE15SECOND, TIMEAXIS_MINUTE2SECOND, TIMEAXIS_MINUTE30SECOND, TIMEAXIS_MINUTE5SECOND, TIMEAXIS_MINUTESECOND, TIMEAXIS_MONTH, TIMEAXIS_MONTHDAY, TIMEAXIS_MONTHWEEK, TIMEAXIS_QUARTER, TIMEAXIS_QUARTERMONTH, TIMEAXIS_SECOND, TIMEAXIS_SECONDMILLISECOND, TIMEAXIS_WEEK, TIMEAXIS_WEEKDAY, TIMEAXIS_YEAR, TIMEAXIS_YEARMONTH, TIMEAXIS_YEARQUARTER, TIMEAXISLABELS, TIMEBASE_DAY, TIMEBASE_HOUR, TIMEBASE_MILLISECOND, TIMEBASE_MINUTE, TIMEBASE_MONTH, TIMEBASE_SECOND, TIMEBASE_TICKS, TIMEBASE_WEEK, TIMEBASE_YEAR, TIMEDATEFORMAT, TIMEDATEFORMAT_12HM, TIMEDATEFORMAT_12HMS, TIMEDATEFORMAT_12HMSD, TIMEDATEFORMAT_12HMSDD, TIMEDATEFORMAT_24HM, TIMEDATEFORMAT_24HMS, TIMEDATEFORMAT_24HMSD, TIMEDATEFORMAT_24HMSDD, TIMEDATEFORMAT_D, TIMEDATEFORMAT_DDD, TIMEDATEFORMAT_DDDD, TIMEDATEFORMAT_DMY, TIMEDATEFORMAT_DMY2000, TIMEDATEFORMAT_M, TIMEDATEFORMAT_MDY, TIMEDATEFORMAT_MDY2000, TIMEDATEFORMAT_MMM, TIMEDATEFORMAT_MMMM, TIMEDATEFORMAT_MS, TIMEDATEFORMAT_MSD, TIMEDATEFORMAT_MSDD, TIMEDATEFORMAT_MSDDD, TIMEDATEFORMAT_MY, TIMEDATEFORMAT_MY2000, TIMEDATEFORMAT_NONE, TIMEDATEFORMAT_Q, TIMEDATEFORMAT_STANDARD, TIMEDATEFORMAT_Y, TIMEDATEFORMAT_Y2000, TIMELABEL, TOP_BORDER, TOP_SIDE, TRACKBAR_TYPE, TransparentColor, TUESDAY, UNDECIMBER, UNDER_DATECROSSOVER, UPTRIANGLE, USER_COORD_MAX, USER_COORDINATES, USER_POS, USERGRADIENTMODE, USERTEXTUREMODE, VBAR, VERT_DIR, WEDNESDAY, WEEK_5D, WEEK_7D, WEEK_OF_MONTH, WEEK_OF_YEAR, WORKING_COORDINATES, WORLD_COORDINATES, X_AXIS, XY_MAXZ_PLANE, XY_MINZ_PLANE, XY_PLANE, XZ_MAXY_PLANE, XZ_MINY_PLANE, XZ_PLANE, Y_AXIS, YEAR, YZ_MAXX_PLANE, YZ_MINX_PLANE, YZ_PLANE, Z_AXIS, ZOOM
 
Constructor Summary
ChartZoom()
          The default ChartZoom constructor.
ChartZoom(ChartView component, PhysicalCoordinates[] transforms, int numtransforms, boolean brescale)
          This constructor creates a new ChartZoom object using the specified component and scales.
ChartZoom(ChartView component, PhysicalCoordinates transform, boolean brescale)
          This constructor creates a new ChartZoom object using the specified component and scale.
 
Method Summary
 void addZoomListener()
          This method installs the Zoom object by adding it to the mouse listener list of the ChartView component.
 boolean checkIntersection(ChartPoint2D testpoint, NearestPointData np)
          The checkIntersection method.
 java.lang.Object clone()
           Returns an object that is a clone of this ChartZoom object.
 void copy(ChartZoom source)
          Copies the source zoom object.
 void draw(java.awt.Graphics2D g2)
          The draw method for this class.
 int errorCheck(int nerror)
          Checks the zoom object for common errors.
 int getButtonMask()
          This method returns what mouse button is trapped as the mouse zoom button.
 boolean getZoomEnable()
          This method return true if the Zoom object event listener is active.
 ChartPoint2D getZoomMax(int nmode)
          This method returns the final zoom rectangle maximum values using the coordinate system specified by nmode.
 ChartPoint2D getZoomMin(int nmode)
          This method returns the final zoom rectangle minimum values using the coordinate system specified by nmode.
 boolean getZoomObjActive()
          Returns True if a zoom operation underway.
 ChartDimension getZoomRangeLimitsRatio()
          This method returns the zoom range limits ratio placed on the zoom operation.
 boolean getZoomStackEnable()
          Returns True if the zoom stack is on.
 boolean getZoomXEnable()
          Returns true if the x dimension is affected by the zoom operation.
 int getZoomXRoundMode()
          Returns the zoom rounding mode for x dimension.
 boolean getZoomYEnable()
          Returns true if the y dimension is affected by the zoom operation.
 int getZoomYRoundMode()
          Returns the zoom rounding mode for y dimension.
 void mouseClicked(java.awt.event.MouseEvent event)
          The dummy mouseClicked event method for this object.
 void mouseDragged(java.awt.event.MouseEvent event)
          The mouseDragged event listener for this object.
 void mouseEntered(java.awt.event.MouseEvent event)
          The dummy mouseEntered event method for this object.
 void mouseExited(java.awt.event.MouseEvent event)
          Dummy event listener for this object.
 void mouseMoved(java.awt.event.MouseEvent event)
          The dummy mouseMoved event method for this object.
 void mousePressed(java.awt.event.MouseEvent event)
          The mousePressed event listener for this object.
 void mouseReleased(java.awt.event.MouseEvent event)
          The mouseReleased event listener for this object.
 int popZoomStack()
          Pop a set of zoom coordinate systems from the zoom stack and initialize the current scale with these value, and re-scale the associated axes to match.
 int pushZoomStack()
          Push a set of coordinate systems onto the zoom stack.
 void removeZoomListener()
          This method uninstalls the Zoom object by removing it from the mouse listener list of the ChartView component.
 void setButtonMask(int buttonmask)
          This method specifies what mouse button is trapped as the mouse zoom button.
 void setZoomEnable(boolean enable)
          Once the Zoom object is created and installed using the addMouseMoveListener method, it can be turned on/off using this method.
 void setZoomRangeLimits(ChartDimension limits)
          This method sets the zoom range limits placed on the zoom operation.
 void setZoomRangeLimits(double x, double y)
          This method sets the zoom range limits placed on the zoom operation.
 void setZoomRangeLimitsRatio(ChartDimension ratio)
          This method sets the zoom range limits placed on the zoom operation.
 void setZoomStackEnable(boolean on)
          Turns on/off the zoom stack.
 void setZoomXEnable(boolean bzoomx)
          True signifies that the x dimension is affected by the zoom operation.
 void setZoomXRoundMode(int nzoomx)
          Sets the zoom rounding mode for x dimension.
 void setZoomYEnable(boolean bzoomy)
          True signifies that the y dimension is affected by the zoom operation.
 void setZoomYRoundMode(int nzoomy)
          Sets the zoom rounding mode for y dimension.
 
Methods inherited from class com.quinncurtis.chart2djava.ChartMouseListener
addChartMouseListener, copy, getEnable, getMouseListenerEnable, removeChartMouseListener, setEnable, setMouseListenerEnable
 
Methods inherited from class com.quinncurtis.chart2djava.GraphObj
addInternalObjects, copy, defaultcheckIntersection, getBoundingBox, getChartObjAttributes, getChartObjClipping, getChartObjComponent, getChartObjEnable, getChartObjScale, getColor, getDefaultChartFont, getIntersectionTestDistance, getLineColor, getLineStyle, getLineWidth, getLocation, getLocation, getLocation, getMoveableType, getPositionType, getResizeMultiplier, getUpdateFlag, getZOrder, moveRel, prePlot, setChartObjAttributes, setChartObjClipping, setChartObjComponent, setChartObjEnable, setChartObjScale, setColor, setDefaultChartFont, setIntersectionTestDistance, setLineColor, setLineStyle, setLineWidth, setLocation, setLocation, setLocation, setLocation, setLocation, setPositionType, setResizeMultiplier, setUpdateFlag, setZOrder, TypeSafeVectorCopy
 
Methods inherited from class com.quinncurtis.chart2djava.ChartObj
copy, getChartObjIDCntr, getChartObjType, getThisChartObjID, TypeSafeVectorCopy
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ChartZoom

public ChartZoom()
The default ChartZoom constructor.


ChartZoom

public ChartZoom(ChartView component,
                 PhysicalCoordinates[] transforms,
                 int numtransforms,
                 boolean brescale)
This constructor creates a new ChartZoom object using the specified component and scales. Since an array of PhysicalCoordinates objects are specified this constructor implements super zooming.

Parameters:
component - A reference to the ChartView object that the chart is placed in.
transforms - An array, size numtransforms, of the PhysicalCoordinates objects associated with the zoom operation.
numtransforms - The number of PhysicalCoordinates objects in the transforms array.
brescale - True designates that the all of the scales should be re-scaled, once the final zoom rectangle is ascertained.

ChartZoom

public ChartZoom(ChartView component,
                 PhysicalCoordinates transform,
                 boolean brescale)
This constructor creates a new ChartZoom object using the specified component and scale. Since only one PhysicalCoordinates object is specified this constructor implements simple zooming.

Parameters:
component - A reference to the ChartView object that the chart is placed in.
transform - The PhysicalCoordinates object associated with the scale being zoomed.
brescale - True designates that the scale should be re-scaled, once the final zoom rectangle is ascertained.
Method Detail

addZoomListener

public void addZoomListener()
This method installs the Zoom object by adding it to the mouse listener list of the ChartView component.


checkIntersection

public boolean checkIntersection(ChartPoint2D testpoint,
                                 NearestPointData np)
The checkIntersection method. Always returns false for zoom objects.

Overrides:
checkIntersection in class ChartMouseListener
Parameters:
np - Nearest point information for data based objects.
testpoint - The test point.
Returns:
Returns true if the test point intersects the object.

clone

public java.lang.Object clone()
 Returns an object that is a clone of this ChartZoom object.

Overrides:
clone in class ChartMouseListener
Returns:
Returns a clone of this ChartZoom object.

copy

public void copy(ChartZoom source)
Copies the source zoom object.

Parameters:
source - The source zoom object.

draw

public void draw(java.awt.Graphics2D g2)
The draw method for this class. It is called to draw the zoom rectangle while the mouse button is held down and the mouse dragged.

Overrides:
draw in class ChartMouseListener
Parameters:
g2 - The graphics context.

errorCheck

public int errorCheck(int nerror)
Checks the zoom object for common errors.

Overrides:
errorCheck in class ChartMouseListener
Parameters:
nerror - Current error state
Returns:
Returns an error code.

getButtonMask

public int getButtonMask()
This method returns what mouse button is trapped as the mouse zoom button.

Overrides:
getButtonMask in class ChartMouseListener
Returns:
Returns what mouse button is trapped as the mouse zoom button.

getZoomEnable

public boolean getZoomEnable()
This method return true if the Zoom object event listener is active.


getZoomMax

public ChartPoint2D getZoomMax(int nmode)
This method returns the final zoom rectangle maximum values using the coordinate system specified by nmode.

Parameters:
nmode - The coordinate system of the returned values. Use one of the coordinate system constants: DEV_POS, PHYS_POS, NORM_GRAPH_POS, NORM_PLOT_POS.

getZoomMin

public ChartPoint2D getZoomMin(int nmode)
This method returns the final zoom rectangle minimum values using the coordinate system specified by nmode.

Parameters:
nmode - The coordinate system of the returned values. Use one of the coordinate system constants: DEV_POS, PHYS_POS, NORM_GRAPH_POS, NORM_PLOT_POS.

getZoomObjActive

public boolean getZoomObjActive()
Returns True if a zoom operation underway. In multi-threaded applications useful to avoid updates from other threads.


getZoomRangeLimitsRatio

public ChartDimension getZoomRangeLimitsRatio()
This method returns the zoom range limits ratio placed on the zoom operation. Unless explicitly set, these values are set to 0.001.

Returns:
Returns the zoom range limits.

getZoomStackEnable

public boolean getZoomStackEnable()
Returns True if the zoom stack is on.

Returns:
Returns True if the zoom stack is on.

getZoomXEnable

public boolean getZoomXEnable()
Returns true if the x dimension is affected by the zoom operation.

Returns:
True signifies that the x dimension is affected by the zoom operation.

getZoomXRoundMode

public int getZoomXRoundMode()
Returns the zoom rounding mode for x dimension.

Returns:
Returns the zoom rounding mode for x dimension.

getZoomYEnable

public boolean getZoomYEnable()
Returns true if the y dimension is affected by the zoom operation.

Returns:
True signifies that the y dimension is affected by the zoom operation.

getZoomYRoundMode

public int getZoomYRoundMode()
Returns the zoom rounding mode for y dimension.

Returns:
Returns the zoom rounding mode for y dimension.

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent event)
The dummy mouseClicked event method for this object.

Specified by:
mouseClicked in interface java.awt.event.MouseListener
Overrides:
mouseClicked in class ChartMouseListener
Parameters:
event - The mouse event contains status information about the mouse.

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent event)
The mouseDragged event listener for this object. It causes the current zoom rectangle object to track the mouse cursor.

Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener
Overrides:
mouseDragged in class ChartMouseListener
Parameters:
event - The mouse event contains status information about the mouse.

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent event)
The dummy mouseEntered event method for this object.

Specified by:
mouseEntered in interface java.awt.event.MouseListener
Overrides:
mouseEntered in class ChartMouseListener
Parameters:
event - The mouse event contains status information about the mouse.

mouseExited

public void mouseExited(java.awt.event.MouseEvent event)
Dummy event listener for this object. In the current implementation mouse messages are only trapped while a mouse button is held down (dragged).

Specified by:
mouseExited in interface java.awt.event.MouseListener
Overrides:
mouseExited in class ChartMouseListener
Parameters:
event - The mouse event contains status information about the mouse.

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent event)
The dummy mouseMoved event method for this object.

Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener
Overrides:
mouseMoved in class ChartMouseListener
Parameters:
event - The mouse event contains status information about the mouse.

mousePressed

public void mousePressed(java.awt.event.MouseEvent event)
The mousePressed event listener for this object. Once the specified mouse button is pressed, the zoom rectangle starts tracking the mouse cursor.

Specified by:
mousePressed in interface java.awt.event.MouseListener
Overrides:
mousePressed in class ChartMouseListener
Parameters:
event - The mouse event contains status information about the mouse.

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent event)
The mouseReleased event listener for this object. Once the specified mouse button is pressed, then released, the zoom rectangle tracking the mouse cursor disappears.

Specified by:
mouseReleased in interface java.awt.event.MouseListener
Overrides:
mouseReleased in class ChartMouseListener
Parameters:
event - The mouse event contains status information about the mouse.

popZoomStack

public int popZoomStack()
Pop a set of zoom coordinate systems from the zoom stack and initialize the current scale with these value, and re-scale the associated axes to match.

Returns:
Returns the current number of levels in the zoom stack.

pushZoomStack

public int pushZoomStack()
Push a set of coordinate systems onto the zoom stack. Handles both simple and super zooming.

Returns:
Returns the current number of scales in the zoom stack.

removeZoomListener

public void removeZoomListener()
This method uninstalls the Zoom object by removing it from the mouse listener list of the ChartView component.


setButtonMask

public void setButtonMask(int buttonmask)
This method specifies what mouse button is trapped as the mouse zoom button.

Overrides:
setButtonMask in class ChartMouseListener
Parameters:
buttonmask - Specifies what mouse button is trapped as the mouse zoom button.

setZoomEnable

public void setZoomEnable(boolean enable)
Once the Zoom object is created and installed using the addMouseMoveListener method, it can be turned on/off using this method.

Parameters:
enable - True turns the mouse listener on.

setZoomRangeLimits

public void setZoomRangeLimits(ChartDimension limits)
This method sets the zoom range limits placed on the zoom operation. Unless explicitly set, these values are set to 1/1000 of the initial x and y scale range.

Parameters:
limits - Sets the zoom range limits.

setZoomRangeLimits

public void setZoomRangeLimits(double x,
                               double y)
This method sets the zoom range limits placed on the zoom operation. Unless explicitly set, these values are set to 1/1000 of the initial x and y scale range.

Parameters:
x - Sets the x-value of the zoom range limits.
y - Sets the y-value of the zoom range limits.

setZoomRangeLimitsRatio

public void setZoomRangeLimitsRatio(ChartDimension ratio)
This method sets the zoom range limits placed on the zoom operation. Unless explicitly set, these values are set to 0.001.

Parameters:
ratio - Sets the zoom range limits.

setZoomStackEnable

public void setZoomStackEnable(boolean on)
Turns on/off the zoom stack.

Parameters:
on - True turns on the zoom stack.

setZoomXEnable

public void setZoomXEnable(boolean bzoomx)
True signifies that the x dimension is affected by the zoom operation.

Parameters:
bzoomx - True signifies that the x dimension is affected by the zoom operation.

setZoomXRoundMode

public void setZoomXRoundMode(int nzoomx)
Sets the zoom rounding mode for x dimension.

Parameters:
nzoomx - Sets the zoom rounding mode for x dimension. Use one of the auto axis rounding constants: AUTOAXES_NEAR, AUTOAXES_FAR, or AUTOAXES_EXACT.

setZoomYEnable

public void setZoomYEnable(boolean bzoomy)
True signifies that the y dimension is affected by the zoom operation.

Parameters:
bzoomy - True signifies that the y dimension is affected by the zoom operation.

setZoomYRoundMode

public void setZoomYRoundMode(int nzoomy)
Sets the zoom rounding mode for y dimension.

Parameters:
nzoomy - Sets the zoom rounding mode for y dimension. Use one of the auto axis rounding constants: AUTOAXES_NEAR, AUTOAXES_FAR, or AUTOAXES_EXACT.