Package uk.ac.starlink.topcat.plot

# Class OrderedSelectionRecorder

java.lang.Object
uk.ac.starlink.topcat.plot.OrderedSelectionRecorder

All Implemented Interfaces:
  `EventListener`, `ListSelectionListener`

public abstract class OrderedSelectionRecorder extends Object implements ListSelectionListener
ListSelectionListener implementation which can tell you what order items have been selected in.

Since:
  16 Jun 2004
Author:
  Mark Taylor (Starlink)

## Constructor Summary

Constructors
Constructor
Description
`OrderedSelectionRecorder()`
Constructs a new recorder with no items selected.
`OrderedSelectionRecorder(boolean[] state)`
Constructs a new recorder with a given initial state.

## Method Summary

Modifier and Type
Method
Description
`protected abstract boolean[]`
`getModelState()`
Returns the state of the selection model given the source of a selection event.
`int[]`
`getOrderedSelection()`
Returns a list of the currently-selected indices in the selection model in the order in which they were (most recently) added to the selection.
`void`
`updateState(boolean[] state)`
Sets the new selection state.
`void`
`valueChanged(ListSelectionEvent evt)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### OrderedSelectionRecorder

public OrderedSelectionRecorder()
Constructs a new recorder with no items selected.

### OrderedSelectionRecorder

public OrderedSelectionRecorder(boolean[] state)
Constructs a new recorder with a given initial state.

Parameters:
  `state` - mask of flags, one true for each selected item

## Method Details

### getOrderedSelection

public int[] getOrderedSelection()
Returns a list of the currently-selected indices in the selection model in the order in which they were (most recently) added to the selection.

Returns:
  ordered selection model indices

### valueChanged

public void valueChanged(ListSelectionEvent evt)

Specified by:
  `valueChanged` in interface `ListSelectionListener`

### updateState

public void updateState(boolean[] state)
Sets the new selection state.

Parameters:
  `state` - mask of flags, one true for each selected item

### getModelState

protected abstract boolean[] getModelState()
Returns the state of the selection model given the source of a selection event.

Returns:
  mask of flags, one true for each selected item