package uk.co.mmscomputing.device.sane.option;
import uk.co.mmscomputing.device.sane.SaneIOException;
public class IntRange extends IntDesc{
int min,max,quant;
public IntRange(
int handle,
int no,
String name,
String title,
String desc,
int type,
int unit,
int size,
int cap,
int min,
int max,
int quant,
int[] values
){
super(handle,no,name,title,desc,type,unit,size,cap,values);
this.min=min;this.max=max;this.quant=quant;
}
public int setWordValue(int i, int val)throws SaneIOException{
if(quant!=0){
val+=quant/2;
val/=quant;
val =Math.abs(val);
val*=quant;
}
if(val<min){
val=min;
}else if(max<val){
val=max;
}
return super.setWordValue(i, val);
}
public int getMinValue(){ return min;}
public int getMaxValue(){ return max;}
public int getMinQuant(){ return quant;}
public String toString(){
String s=super.toString();
s+="\n min "+min;
s+="\n max "+max;
s+="\n quant "+quant;
return s;
}
public DescriptorPanel getGUI(){
gui=new IntRangePanel(this);
return gui;
}
}