uk.ac.starlink.topcat
Class RestrictedColumnComboBoxModel

java.lang.Object
  extended by javax.swing.AbstractListModel
      extended by uk.ac.starlink.topcat.ColumnComboBoxModel
          extended by uk.ac.starlink.topcat.RestrictedColumnComboBoxModel
All Implemented Interfaces:
Serializable, EventListener, ComboBoxModel, TableColumnModelListener, 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 the acceptColumn(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
 
Fields inherited from class javax.swing.AbstractListModel
listenerList
 
Constructor Summary
RestrictedColumnComboBoxModel(TableColumnModel colModel, boolean hasNone)
           
 
Method Summary
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.
 void columnAdded(TableColumnModelEvent evt)
           
 void columnMoved(TableColumnModelEvent evt)
           
 void columnRemoved(TableColumnModelEvent evt)
           
 Object getElementAt(int index)
           
 int getSize()
           
static RestrictedColumnComboBoxModel makeClassColumnComboBoxModel(TableColumnModel colModel, boolean hasNone, 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.swing.ListModel
addListDataListener, removeListDataListener
 

Constructor Detail

RestrictedColumnComboBoxModel

public RestrictedColumnComboBoxModel(TableColumnModel colModel,
                                     boolean hasNone)
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 Object getElementAt(int index)
Specified by:
getElementAt in interface ListModel
Overrides:
getElementAt in class ColumnComboBoxModel

getSize

public int getSize()
Specified by:
getSize in interface ListModel
Overrides:
getSize in class ColumnComboBoxModel

columnAdded

public void columnAdded(TableColumnModelEvent evt)
Specified by:
columnAdded in interface TableColumnModelListener
Overrides:
columnAdded in class ColumnComboBoxModel

columnRemoved

public void columnRemoved(TableColumnModelEvent evt)
Specified by:
columnRemoved in interface TableColumnModelListener
Overrides:
columnRemoved in class ColumnComboBoxModel

columnMoved

public void columnMoved(TableColumnModelEvent evt)
Specified by:
columnMoved in interface TableColumnModelListener
Overrides:
columnMoved in class ColumnComboBoxModel

makeClassColumnComboBoxModel

public static RestrictedColumnComboBoxModel makeClassColumnComboBoxModel(TableColumnModel colModel,
                                                                         boolean hasNone,
                                                                         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 model
hasNone - true if you want a NO_COLUMN entry
clazz - the class that available columns have to have data assignable to


Copyright © 2003-2018 CCLRC: Council for the Central Laboratory of the Research Councils. All Rights Reserved.