package uk.co.mmscomputing.device.sane.option;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
import uk.co.mmscomputing.device.sane.*;
public class BoolPanel extends DescriptorPanel{
public BoolPanel(Descriptor od){
super(od);
boolean selected=(od.getWordValue(0)==SANE_TRUE);
JCheckBox cb=new JCheckBox(od.name,selected);
cb.addActionListener(this);
checkCapabilities(cb);
addValuePanel(cb);
/*
JPanel p=new JPanel();
p.setLayout(new BorderLayout());
p.add(cb,BorderLayout.CENTER);
String valstr="Value";
if(od.unit!=0){ valstr+=" in ["+SANE_UNIT[od.unit]+"]";}
p.setBorder(new TitledBorder(valstr));
add(p,BorderLayout.NORTH);
*/
}
public void actionPerformed(ActionEvent e){
JCheckBox cb=(JCheckBox)e.getSource();
int value=(cb.isSelected())?SANE_TRUE:SANE_FALSE;
try{
value=od.setWordValue(0,value);
cb.setSelected(value==SANE_TRUE);
}catch(SaneIOException sioe){
sioe.printStackTrace();
}
}
}