package uk.co.mmscomputing.device.sane.option;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

import uk.co.mmscomputing.device.sane.*;

public class StringListPanel extends DescriptorPanel{

  public StringListPanel(StringList od){
    super(od);

    JComboBox combo=new JComboBox(od.list);
    combo.setMinimumSize(new Dimension(200,100));
    combo.setMaximumRowCount(5);
    combo.addActionListener(this);
    checkCapabilities(combo);

    addValuePanel(combo);

/*
    String valstr="Value";
    if(od.unit!=0){ valstr+=" in ["+SANE_UNIT[od.unit]+"]";}
    combo.setBorder(new TitledBorder(valstr));
    add(combo,BorderLayout.NORTH);     
*/
    combo.setSelectedItem(od.getStringValue());       
  }

  public void actionPerformed(ActionEvent e){
    JComboBox combo=(JComboBox)e.getSource();
    String str=combo.getSelectedItem().toString();
    try{
      str=od.setStringValue(str);
      combo.setSelectedItem(str);
    }catch(SaneIOException sioe){
      sioe.printStackTrace();
    }
  }

}
