1 |
package skrueger.geotools.selection; |
2 |
|
3 |
import java.beans.PropertyChangeListener; |
4 |
|
5 |
import javax.swing.ListSelectionModel; |
6 |
|
7 |
import org.apache.log4j.Logger; |
8 |
|
9 |
import skrueger.geotools.selection.StyledLayerSelectionModel; |
10 |
|
11 |
/** |
12 |
* The {@link StyledLayerSelectionModelSynchronizer} is the super class for all |
13 |
* |
14 |
* @author mojays |
15 |
* |
16 |
* @param <E> |
17 |
*/ |
18 |
public abstract class StyledLayerSelectionModelSynchronizer<E extends StyledLayerSelectionModel<?>> implements PropertyChangeListener{ |
19 |
protected final Logger LOGGER = Logger.getLogger(this.getClass()); |
20 |
|
21 |
/** Flag to avoid event circles between {@link DpLayerVectorSelectionModel} |
22 |
* and {@link ListSelectionModel} of the feature table. */ |
23 |
protected boolean selectionChangeCausedByMe = false; |
24 |
/** Holds the selection model of the layer to keep synchronized |
25 |
* with the feature table. */ |
26 |
protected final E layerSelModel; |
27 |
|
28 |
/** |
29 |
* Creates a new synchronizer |
30 |
* |
31 |
* @param layerSelModel |
32 |
* layer selection model to keep synchronized with |
33 |
*/ |
34 |
protected StyledLayerSelectionModelSynchronizer(E layerSelModel) { |
35 |
|
36 |
this.layerSelModel = layerSelModel; |
37 |
} |
38 |
|
39 |
} |