/*
* @(#)BasicScrollManager.java
*
* Copyright 2002 EGANTT LLP. All rights reserved.
* PROPRIETARY/QPL. Use is subject to license terms.
*/
package com.egantt.swing.scroll.manager;
import com.egantt.model.scrolling.ScrollingRange;
import com.egantt.model.scrolling.range.event.RangeEvent;
import com.egantt.model.scrolling.range.event.RangeListener;
import javax.swing.event.ChangeEvent;
public class BasicScrollManager extends AbstractScrollManager
{
protected RangeListener listener;
protected ScrollingRange model;
// ________________________________________________________________________
public void setRangeModel(ScrollingRange model)
{
if (this.model != null)
model.removeRangeListener(listener);
else
this.listener = new LocalRangeListener();
this.model = model;
model.addRangeListener(listener);
}
// ________________________________________________________________________
public int getMinimum()
{
return 0;
}
public int getMaximum()
{
return model.getRange();
}
// ________________________________________________________________________
public int getExtent()
{
return model.getExtent();
}
public int getValue()
{
return model.getValue();
}
// ________________________________________________________________________
public void setValue(int value)
{
model.setValue(value);
}
// ________________________________________________________________________
public int getBlockIncrement() {
return model.getBlockIncrement();
}
public int getUnitIncrement() {
return model.getUnitIncrement();
}
// ________________________________________________________________________
protected class LocalRangeListener implements RangeListener
{
public void stateChanged(RangeEvent event)
{
fireChanged(new ChangeEvent(event.getSource()));
}
}
}