42 |
**/ |
**/ |
43 |
package skrueger.geotools.selection; |
package skrueger.geotools.selection; |
44 |
|
|
|
import java.awt.RenderingHints; |
|
45 |
import java.beans.PropertyChangeEvent; |
import java.beans.PropertyChangeEvent; |
46 |
import java.beans.PropertyChangeListener; |
import java.beans.PropertyChangeListener; |
47 |
import java.io.File; |
import java.io.File; |
|
import java.util.HashMap; |
|
48 |
import java.util.HashSet; |
import java.util.HashSet; |
49 |
import java.util.Iterator; |
import java.util.Iterator; |
50 |
import java.util.Set; |
import java.util.Set; |
58 |
import org.geotools.feature.FeatureIterator; |
import org.geotools.feature.FeatureIterator; |
59 |
import org.geotools.filter.FidFilterImpl; |
import org.geotools.filter.FidFilterImpl; |
60 |
import org.geotools.map.MapLayer; |
import org.geotools.map.MapLayer; |
|
import org.geotools.renderer.GTRenderer; |
|
|
import org.geotools.renderer.label.LabelCacheImpl; |
|
|
import org.geotools.renderer.lite.StreamingRenderer; |
|
61 |
import org.geotools.styling.FeatureTypeStyle; |
import org.geotools.styling.FeatureTypeStyle; |
62 |
import org.geotools.styling.Style; |
import org.geotools.styling.Style; |
63 |
import org.geotools.styling.visitor.DuplicatingStyleVisitor; |
import org.geotools.styling.visitor.DuplicatingStyleVisitor; |
68 |
import org.opengis.filter.identity.FeatureId; |
import org.opengis.filter.identity.FeatureId; |
69 |
|
|
70 |
import schmitzm.geotools.FilterUtil; |
import schmitzm.geotools.FilterUtil; |
|
import schmitzm.geotools.GTUtil; |
|
71 |
import schmitzm.geotools.gui.SelectableXMapPane; |
import schmitzm.geotools.gui.SelectableXMapPane; |
72 |
|
import schmitzm.geotools.gui.XMapPaneEvent; |
73 |
import schmitzm.geotools.map.event.FeatureSelectedEvent; |
import schmitzm.geotools.map.event.FeatureSelectedEvent; |
74 |
import schmitzm.geotools.map.event.JMapPaneListener; |
import schmitzm.geotools.map.event.JMapPaneListener; |
|
import schmitzm.geotools.map.event.MapPaneEvent; |
|
75 |
import schmitzm.geotools.styling.StylingUtil; |
import schmitzm.geotools.styling.StylingUtil; |
76 |
import skrueger.geotools.MapPaneToolBar; |
import skrueger.geotools.MapPaneToolBar; |
77 |
import skrueger.geotools.StyledFeaturesInterface; |
import skrueger.geotools.StyledFeaturesInterface; |
262 |
} else { |
} else { |
263 |
Set<FeatureId> fids = new HashSet<FeatureId>(); |
Set<FeatureId> fids = new HashSet<FeatureId>(); |
264 |
for (String fid : newSelection) { |
for (String fid : newSelection) { |
265 |
fids.add(FilterUtil.FILTER_FAC2.featureId(fid)); |
if (fid != null) |
266 |
|
fids.add(FilterUtil.FILTER_FAC2.featureId(fid)); |
267 |
} |
} |
268 |
|
|
269 |
selectionFTStyle.rules().get(0).setFilter( |
selectionFTStyle.rules().get(0).setFilter( |
417 |
* {@link StyledFeatureLayerSelectionModel} |
* {@link StyledFeatureLayerSelectionModel} |
418 |
*/ |
*/ |
419 |
@Override |
@Override |
420 |
public void performMapPaneEvent(MapPaneEvent e) { |
public void performMapPaneEvent(XMapPaneEvent e) { |
421 |
|
|
422 |
// Ignore event if it is caused by us or the synchronizer is disabled. |
// Ignore event if it is caused by us or the synchronizer is disabled. |
423 |
if (!isEnabled() || selectionChangeCausedByMe) |
if (!isEnabled() || selectionChangeCausedByMe) |