Package uk.ac.starlink.topcat
Class RestrictedColumnComboBoxModel
- java.lang.Object
-
- javax.swing.AbstractListModel
-
- uk.ac.starlink.topcat.ColumnComboBoxModel
-
- uk.ac.starlink.topcat.RestrictedColumnComboBoxModel
-
- All Implemented Interfaces:
java.io.Serializable,java.util.EventListener,javax.swing.ComboBoxModel,javax.swing.event.TableColumnModelListener,javax.swing.ListModel
public abstract class RestrictedColumnComboBoxModel extends ColumnComboBoxModel
Does a similar job as for ColumnComboBoxModel, but when only a subset of the available columns should show up in the combobox. Use it in the same way as ColumnComboBoxModel, but implement theacceptColumn(uk.ac.starlink.table.ColumnInfo)method appropriately. In the case that acceptColumn accepts everything, this will behave just the same as a ColumnComboBoxModel (though perhaps less efficiently).- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class uk.ac.starlink.topcat.ColumnComboBoxModel
NO_COLUMN
-
-
Constructor Summary
Constructors Constructor Description RestrictedColumnComboBoxModel(javax.swing.table.TableColumnModel colModel, boolean hasNone)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract booleanacceptColumn(uk.ac.starlink.table.ColumnInfo cinfo)Determines whether a column with given metadata in the column model should show up in the combobox.voidcolumnAdded(javax.swing.event.TableColumnModelEvent evt)voidcolumnMoved(javax.swing.event.TableColumnModelEvent evt)voidcolumnRemoved(javax.swing.event.TableColumnModelEvent evt)java.lang.ObjectgetElementAt(int index)intgetSize()static RestrictedColumnComboBoxModelmakeClassColumnComboBoxModel(javax.swing.table.TableColumnModel colModel, boolean hasNone, java.lang.Class<?> clazz)Returns a column combo box model which checks for compatibility with a given class.-
Methods inherited from class uk.ac.starlink.topcat.ColumnComboBoxModel
columnMarginChanged, columnSelectionChanged, getColumnModel, getSelectedItem, makeComboBox, setHasNone, setSelectedItem
-
Methods inherited from class javax.swing.AbstractListModel
addListDataListener, fireContentsChanged, fireIntervalAdded, fireIntervalRemoved, getListDataListeners, getListeners, removeListDataListener
-
-
-
-
Method Detail
-
acceptColumn
public abstract boolean acceptColumn(uk.ac.starlink.table.ColumnInfo cinfo)
Determines whether a column with given metadata in the column model should show up in the combobox.- Parameters:
cinfo- column metadata to assess- Returns:
- true iff the column is to be used
-
getElementAt
public java.lang.Object getElementAt(int index)
- Specified by:
getElementAtin interfacejavax.swing.ListModel- Overrides:
getElementAtin classColumnComboBoxModel
-
getSize
public int getSize()
- Specified by:
getSizein interfacejavax.swing.ListModel- Overrides:
getSizein classColumnComboBoxModel
-
columnAdded
public void columnAdded(javax.swing.event.TableColumnModelEvent evt)
- Specified by:
columnAddedin interfacejavax.swing.event.TableColumnModelListener- Overrides:
columnAddedin classColumnComboBoxModel
-
columnRemoved
public void columnRemoved(javax.swing.event.TableColumnModelEvent evt)
- Specified by:
columnRemovedin interfacejavax.swing.event.TableColumnModelListener- Overrides:
columnRemovedin classColumnComboBoxModel
-
columnMoved
public void columnMoved(javax.swing.event.TableColumnModelEvent evt)
- Specified by:
columnMovedin interfacejavax.swing.event.TableColumnModelListener- Overrides:
columnMovedin classColumnComboBoxModel
-
makeClassColumnComboBoxModel
public static RestrictedColumnComboBoxModel makeClassColumnComboBoxModel(javax.swing.table.TableColumnModel colModel, boolean hasNone, java.lang.Class<?> clazz)
Returns a column combo box model which checks for compatibility with a given class. Class matching is not strict in the following sense: any numeric class (Number) is considered assignable to any other numeric class.- Parameters:
colModel- the column modelhasNone- true if you want a NO_COLUMN entryclazz- the class that available columns have to have data assignable to
-
-