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; } }