/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
package de.cismet.tools.gui.autocomplete;
import java.util.Vector;
import javax.swing.ComboBoxModel;
import javax.swing.JComboBox;
/**
* An editable combo class that will autocomplete the user entered text to the entries in the combo drop down.
*
* <p>You can directly add auto-complete to existing JComboBox derived classes using:
* ComboCompleterFilter.addCompletion(yourCombo);</p>
*
* @version $Revision$, $Date$
*/
public class CompleterComboBox extends JComboBox {
//~ Instance fields --------------------------------------------------------
private ComboCompleterFilter filter;
//~ Constructors -----------------------------------------------------------
/**
* Creates a new CompleterComboBox object.
*/
public CompleterComboBox() {
super();
// TODO Auto-generated constructor stub
}
/**
* Creates a new CompleterComboBox object.
*
* @param aModel DOCUMENT ME!
*/
public CompleterComboBox(final ComboBoxModel aModel) {
super(aModel);
// TODO Auto-generated constructor stub
}
/**
* Creates a new CompleterComboBox object.
*
* @param items DOCUMENT ME!
*/
public CompleterComboBox(final Object[] items) {
super(items);
init();
}
/**
* Creates a new CompleterComboBox object.
*
* @param items DOCUMENT ME!
*/
public CompleterComboBox(final Vector<?> items) {
super(items);
// TODO Auto-generated constructor stub
}
//~ Methods ----------------------------------------------------------------
/**
* DOCUMENT ME!
*/
private void init() {
setEditable(true);
filter = ComboCompleterFilter.addCompletionMechanism(this);
}
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public boolean isCaseSensitive() {
return filter.isCaseSensitive();
}
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public boolean isCorrectingCase() {
return filter.isCorrectingCase();
}
/**
* DOCUMENT ME!
*
* @param caseSensitive DOCUMENT ME!
*/
public void setCaseSensitive(final boolean caseSensitive) {
filter.setCaseSensitive(caseSensitive);
}
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public boolean isStrict() {
return filter.isStrict();
}
/**
* DOCUMENT ME!
*
* @param strict DOCUMENT ME!
*/
public void setStrict(final boolean strict) {
filter.setStrict(strict);
}
/**
* DOCUMENT ME!
*
* @param correctCase DOCUMENT ME!
*/
public void setCorrectCase(final boolean correctCase) {
filter.setCorrectCase(correctCase);
}
}