uk.ac.starlink.table.gui
Class ViewHugeSelectionModel

java.lang.Object
  extended by uk.ac.starlink.table.gui.ViewHugeSelectionModel
All Implemented Interfaces:
javax.swing.ListSelectionModel

public class ViewHugeSelectionModel
extends java.lang.Object
implements javax.swing.ListSelectionModel

ListSelectionModel to use in conjunction with a ViewHugeTableModel for tracking row selection of very large tables. Since the rows of the ViewHugeTableModel keep changing which rows of the underlying huge model they are talking about, the selection model has to understand how that happens if you want to have row selection that persists as the scroll bar is moved around. This is the model which should be installed on the JTable.

Since:
16 Jul 2014
See Also:
ViewHugeTableModel

Field Summary
 
Fields inherited from interface javax.swing.ListSelectionModel
MULTIPLE_INTERVAL_SELECTION, SINGLE_INTERVAL_SELECTION, SINGLE_SELECTION
 
Constructor Summary
ViewHugeSelectionModel(javax.swing.ListSelectionModel hugeModel, ViewHugeTableModel tmodel)
          Constructor.
 
Method Summary
 void addListSelectionListener(javax.swing.event.ListSelectionListener viewLnr)
           
 void addSelectionInterval(int index0, int index1)
           
 void clearSelection()
           
 int getAnchorSelectionIndex()
           
 int getLeadSelectionIndex()
           
 int getMaxSelectionIndex()
           
 int getMinSelectionIndex()
           
 int getSelectionMode()
           
 boolean getValueIsAdjusting()
           
 void insertIndexInterval(int index, int length, boolean before)
           
 boolean isSelectedIndex(int index)
           
 boolean isSelectionEmpty()
           
 void removeIndexInterval(int index0, int index1)
           
 void removeListSelectionListener(javax.swing.event.ListSelectionListener viewLnr)
           
 void removeSelectionInterval(int index0, int index1)
           
 void setAnchorSelectionIndex(int index)
           
 void setLeadSelectionIndex(int index)
           
 void setSelectionInterval(int index0, int index1)
           
 void setSelectionMode(int selectionMode)
           
 void setValueIsAdjusting(boolean valueIsAdjusting)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ViewHugeSelectionModel

public ViewHugeSelectionModel(javax.swing.ListSelectionModel hugeModel,
                              ViewHugeTableModel tmodel)
Constructor.

Parameters:
hugeModel - list selection model corresonding to the table model underlying the supplied tmodel
tmodel - ViewHugeTableModel presenting an underlying huge table to a JTable
Method Detail

setSelectionInterval

public void setSelectionInterval(int index0,
                                 int index1)
Specified by:
setSelectionInterval in interface javax.swing.ListSelectionModel

addSelectionInterval

public void addSelectionInterval(int index0,
                                 int index1)
Specified by:
addSelectionInterval in interface javax.swing.ListSelectionModel

removeSelectionInterval

public void removeSelectionInterval(int index0,
                                    int index1)
Specified by:
removeSelectionInterval in interface javax.swing.ListSelectionModel

getMinSelectionIndex

public int getMinSelectionIndex()
Specified by:
getMinSelectionIndex in interface javax.swing.ListSelectionModel

getMaxSelectionIndex

public int getMaxSelectionIndex()
Specified by:
getMaxSelectionIndex in interface javax.swing.ListSelectionModel

isSelectedIndex

public boolean isSelectedIndex(int index)
Specified by:
isSelectedIndex in interface javax.swing.ListSelectionModel

getAnchorSelectionIndex

public int getAnchorSelectionIndex()
Specified by:
getAnchorSelectionIndex in interface javax.swing.ListSelectionModel

setAnchorSelectionIndex

public void setAnchorSelectionIndex(int index)
Specified by:
setAnchorSelectionIndex in interface javax.swing.ListSelectionModel

getLeadSelectionIndex

public int getLeadSelectionIndex()
Specified by:
getLeadSelectionIndex in interface javax.swing.ListSelectionModel

setLeadSelectionIndex

public void setLeadSelectionIndex(int index)
Specified by:
setLeadSelectionIndex in interface javax.swing.ListSelectionModel

clearSelection

public void clearSelection()
Specified by:
clearSelection in interface javax.swing.ListSelectionModel

isSelectionEmpty

public boolean isSelectionEmpty()
Specified by:
isSelectionEmpty in interface javax.swing.ListSelectionModel

insertIndexInterval

public void insertIndexInterval(int index,
                                int length,
                                boolean before)
Specified by:
insertIndexInterval in interface javax.swing.ListSelectionModel

removeIndexInterval

public void removeIndexInterval(int index0,
                                int index1)
Specified by:
removeIndexInterval in interface javax.swing.ListSelectionModel

setValueIsAdjusting

public void setValueIsAdjusting(boolean valueIsAdjusting)
Specified by:
setValueIsAdjusting in interface javax.swing.ListSelectionModel

getValueIsAdjusting

public boolean getValueIsAdjusting()
Specified by:
getValueIsAdjusting in interface javax.swing.ListSelectionModel

setSelectionMode

public void setSelectionMode(int selectionMode)
Specified by:
setSelectionMode in interface javax.swing.ListSelectionModel

getSelectionMode

public int getSelectionMode()
Specified by:
getSelectionMode in interface javax.swing.ListSelectionModel

addListSelectionListener

public void addListSelectionListener(javax.swing.event.ListSelectionListener viewLnr)
Specified by:
addListSelectionListener in interface javax.swing.ListSelectionModel

removeListSelectionListener

public void removeListSelectionListener(javax.swing.event.ListSelectionListener viewLnr)
Specified by:
removeListSelectionListener in interface javax.swing.ListSelectionModel