package jalview.ws.uimodel; import java.util.ArrayList; import java.util.List; import javax.swing.DefaultListModel; import javax.swing.JComboBox; @SuppressWarnings( { "unchecked", "serial", "rawtypes" }) public class PDBSearchOptionListModel extends DefaultListModel implements Comparable { private String name; private String code; private boolean showInSummary; private boolean searchFilter; private FieldType type; public enum FieldType { INT, STRING, BOOLEAN; }; public PDBSearchOptionListModel(String name, String code, FieldType type) { this.name = name; this.code = code; this.type = type; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public boolean isShowInSummary() { return showInSummary; } public void setShowInSummary(boolean showInSummary) { this.showInSummary = showInSummary; } public boolean isSearchFilter() { return searchFilter; } public void setSearchFilter(boolean searchFilter) { this.searchFilter = searchFilter; } public FieldType getFieldType() { return type; } public void setFieldType(FieldType type) { this.type = type; } public String toString() { return name; } public PDBSearchOptionListModel() { } public static void populateCombo(JComboBox searchItems) { List searchOptions = new ArrayList(); searchOptions.add(new PDBSearchOptionListModel("PDB ID", "pdb_id", PDBSearchOptionListModel.FieldType.STRING)); searchOptions.add(new PDBSearchOptionListModel("PFAM Name", "pfam_name", PDBSearchOptionListModel.FieldType.STRING)); searchOptions.add(new PDBSearchOptionListModel("ALL", "text", PDBSearchOptionListModel.FieldType.STRING)); searchOptions.add(new PDBSearchOptionListModel("Molecule Type", "molecule_type", PDBSearchOptionListModel.FieldType.STRING)); searchOptions.add(new PDBSearchOptionListModel("Title", "title", PDBSearchOptionListModel.FieldType.STRING)); searchOptions.add(new PDBSearchOptionListModel("Molecule Name", "molecule_name", PDBSearchOptionListModel.FieldType.STRING)); searchOptions.add(new PDBSearchOptionListModel("Tax ID", "tax_id", PDBSearchOptionListModel.FieldType.STRING)); searchOptions.add(new PDBSearchOptionListModel("UniProt Accession", "uniprot_accession", PDBSearchOptionListModel.FieldType.STRING)); searchOptions.add(new PDBSearchOptionListModel("Gene Name", "gene_name", PDBSearchOptionListModel.FieldType.STRING)); searchOptions.add(new PDBSearchOptionListModel("Genus", "genus", PDBSearchOptionListModel.FieldType.STRING)); java.util.Collections.sort(searchOptions); for (PDBSearchOptionListModel pdbSO : searchOptions) { searchItems.addItem(pdbSO); } } @Override public int compareTo(Object o) { return this.name.compareTo(((PDBSearchOptionListModel) o).getName()); } }