public class SelectionTableModel extends javax.swing.table.AbstractTableModel implements DataSelectionListener, MainLayerManager.ActiveLayerChangeListener, LayerManager.LayerChangeListener
DataSelectionListener.AbstractSelectionEvent, DataSelectionListener.SelectionAddEvent, DataSelectionListener.SelectionChangeEvent, DataSelectionListener.SelectionRemoveEvent, DataSelectionListener.SelectionReplaceEvent, DataSelectionListener.SelectionToggleEvent| 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()
Returns the selected primitives.
|
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).
|
private void |
selectionChanged(java.util.Collection<? extends OsmPrimitive> newSelection) |
void |
selectionChanged(DataSelectionListener.SelectionChangeEvent event)
Called whenever the selection is 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, setValueAtprivate 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.TableModelpublic int getRowCount()
getRowCount in interface javax.swing.table.TableModelpublic java.lang.Object getValueAt(int rowIndex, int columnIndex)
getValueAt in interface javax.swing.table.TableModelpublic void activeOrEditLayerChanged(MainLayerManager.ActiveLayerChangeEvent e)
MainLayerManager.ActiveLayerChangeListenerYou 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.ActiveLayerChangeListenere - The change event.public void layerAdded(LayerManager.LayerAddEvent e)
LayerManager.LayerChangeListenerListeners are called in the EDT thread. You should not do blocking or long-running tasks in this method.
layerAdded in interface LayerManager.LayerChangeListenere - 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.LayerChangeListenere - The layer to be removed (as event)public void layerOrderChanged(LayerManager.LayerOrderChangeEvent e)
LayerManager.LayerChangeListenerListeners are called in the EDT thread. You should not do blocking or long-running tasks in this method.
layerOrderChanged in interface LayerManager.LayerChangeListenere - The order change event.public void selectionChanged(DataSelectionListener.SelectionChangeEvent event)
DataSelectionListenerselectionChanged in interface DataSelectionListenerevent - The selection change event.DataSelectionListener.SelectionChangeEventprivate void selectionChanged(java.util.Collection<? extends OsmPrimitive> newSelection)
public java.util.List<OsmPrimitive> getSelection()
protected void populateSelectedPrimitives(OsmDataLayer layer)
layerlayer - the data layerpublic OsmPrimitive getPrimitive(int row)
row in this modelrow - the rowrow in this modeljava.lang.ArrayIndexOutOfBoundsException - if index is invalid