/* * @(#)BasicViewRange.java * * Copyright 2002 EGANTT LLP. All rights reserved. * PROPRIETARY/QPL. Use is subject to license terms. */ package com.egantt.model.scrolling.range.view; import com.egantt.model.drawing.DrawingTransform; import com.egantt.model.drawing.axis.AxisInterval; public class BasicViewRange extends AbstractViewRange { protected int range; public BasicViewRange(int range) { this.range = range; } public BasicViewRange() { this (Integer.MAX_VALUE); } // __________________________________________________________________________ public int getRange() { return range; } // __________________________________________________________________________ public int getExtent() { AxisInterval interval = manager.getView().getInterval(); DrawingTransform transform = manager.getAxis().getTransform(); int x1 = transform.transform(interval.getStart(), range); int x2 = transform.transform(interval.getFinish(), range); return x2 - x1; } public int getValue() { AxisInterval interval = manager.getView().getInterval(); DrawingTransform transform = manager.getAxis().getTransform(); return transform.transform(interval.getStart(), range); } //___________________________________________________________________________ public void setValue(int value) { DrawingTransform transform = manager.getAxis().getTransform(); manager.setStart(transform.inverseTransform(value, range)); } public int getBlockIncrement() { return getExtent() / 100; } public int getUnitIncrement() { AxisInterval interval = manager.getView().getInterval(); DrawingTransform transform = manager.getAxis().getTransform(); int start = transform.transform(interval.getStart(), range); int finish = transform.transform(interval.getFinish(), range); return finish - start; } }