public class SelectionTableModel extends javax.swing.table.AbstractTableModel implements SelectionChangedListener, MainLayerManager.ActiveLayerChangeListener, LayerManager.LayerChangeListener
Modifier and Type | Field and Description |
---|---|
private java.util.List<OsmPrimitive> |
cache |
private OsmDataLayer |
layer
this selection table model only displays selected primitives in this layer
|
Constructor and Description |
---|
SelectionTableModel(OsmDataLayer layer)
Creates a new
SelectionTableModel for a given layer |
Modifier and Type | Method and Description |
---|---|
void |
activeOrEditLayerChanged(MainLayerManager.ActiveLayerChangeEvent e)
Called whenever the active or edit layer changed.
|
int |
getColumnCount() |
OsmPrimitive |
getPrimitive(int row)
Replies the primitive at row
row in this model |
int |
getRowCount() |
java.util.List<OsmPrimitive> |
getSelection() |
java.lang.Object |
getValueAt(int rowIndex,
int columnIndex) |
void |
layerAdded(LayerManager.LayerAddEvent e)
Notifies this listener that a layer has been added.
|
void |
layerOrderChanged(LayerManager.LayerOrderChangeEvent e)
Notifies this listener that the order of layers was changed.
|
void |
layerRemoving(LayerManager.LayerRemoveEvent e)
Notifies this listener that a alayer was just removed.
|
protected void |
populateSelectedPrimitives(OsmDataLayer layer)
populates the model with the primitives currently selected in
layer |
void |
register()
Registers listeners (selection change and layer change).
|
void |
selectionChanged(java.util.Collection<? extends OsmPrimitive> newSelection)
Informs the listener that the selection in the dataset has changed.
|
void |
unregister()
Unregisters listeners (selection change and layer change).
|
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getColumnName, getListeners, getTableModelListeners, isCellEditable, removeTableModelListener, setValueAt
private final transient OsmDataLayer layer
private final transient java.util.List<OsmPrimitive> cache
public SelectionTableModel(OsmDataLayer layer)
SelectionTableModel
for a given layerlayer
- the data layer. Must not be null.java.lang.IllegalArgumentException
- if layer is nullpublic void register()
public void unregister()
public int getColumnCount()
getColumnCount
in interface javax.swing.table.TableModel
public int getRowCount()
getRowCount
in interface javax.swing.table.TableModel
public java.lang.Object getValueAt(int rowIndex, int columnIndex)
getValueAt
in interface javax.swing.table.TableModel
public void activeOrEditLayerChanged(MainLayerManager.ActiveLayerChangeEvent e)
MainLayerManager.ActiveLayerChangeListener
You can be sure that this layer is still contained in this set.
Listeners are called in the EDT thread and you can manipulate the layer manager in the current thread.
activeOrEditLayerChanged
in interface MainLayerManager.ActiveLayerChangeListener
e
- The change event.public void layerAdded(LayerManager.LayerAddEvent e)
LayerManager.LayerChangeListener
Listeners are called in the EDT thread. You should not do blocking or long-running tasks in this method.
layerAdded
in interface LayerManager.LayerChangeListener
e
- The new added layer eventpublic void layerRemoving(LayerManager.LayerRemoveEvent e)
LayerManager.LayerChangeListener
Listeners are called in the EDT thread after the layer was removed.
Use LayerManager.LayerRemoveEvent.scheduleRemoval(Collection)
to remove more layers.
You should not do blocking or long-running tasks in this method.
layerRemoving
in interface LayerManager.LayerChangeListener
e
- The layer to be removed (as event)public void layerOrderChanged(LayerManager.LayerOrderChangeEvent e)
LayerManager.LayerChangeListener
Listeners are called in the EDT thread. You should not do blocking or long-running tasks in this method.
layerOrderChanged
in interface LayerManager.LayerChangeListener
e
- The order change event.public void selectionChanged(java.util.Collection<? extends OsmPrimitive> newSelection)
SelectionChangedListener
selectionChanged
in interface SelectionChangedListener
newSelection
- The new selection.public java.util.List<OsmPrimitive> getSelection()
protected void populateSelectedPrimitives(OsmDataLayer layer)
layer
layer
- the data layerpublic OsmPrimitive getPrimitive(int row)
row
in this modelrow
- the rowrow
in this modeljava.lang.ArrayIndexOutOfBoundsException
- if index is invalid