/*
* @(#)AxisView.java
*
* Copyright 2002 EGANTT LLP. All rights reserved.
* PROPRIETARY/QPL. Use is subject to license terms.
*/
package com.egantt.model.drawing.axis;
import com.egantt.model.drawing.DrawingAxis;
import com.egantt.model.drawing.DrawingTransform;
import com.egantt.model.drawing.axis.view.event.ViewListener;
public interface AxisView
{
/**
* Indicates that the <code>Adjustable</code> has horizontal orientation.
*/
int HORIZONTAL = 0;
/**
* Indicates that the <code>Adjustable</code> has vertical orientation.
*/
int VERTICAL = 1;
/**
* Indicates that the <code>Adjustable</code> has no orientation.
*/
int NO_ORIENTATION = 2;
// ________________________________________________________________________
/**
* Returns the underlying interval
*/
AxisInterval getInterval();
/**
* Returns the transform
*/
DrawingTransform getTransform();
/**
* Returns the underlying transform
*/
DrawingAxis getAxis();
// _______________________________________________________________________
int getOrientation();
// _________________________________________________________________________
/**
* Ensures that this interval is visible: how the visibility is set is not
* specified by this interface.
*/
boolean setVisible(AxisInterval interval);
// __________________________________________________________________________
/**
* Add a new listener
*/
boolean addViewListener(ViewListener listener);
/**
* Remove an existing listener
*/
boolean removeViewListener(ViewListener listener);
}