59 |
import org.geotools.renderer.GTRenderer; |
import org.geotools.renderer.GTRenderer; |
60 |
import org.geotools.renderer.label.LabelCacheImpl; |
import org.geotools.renderer.label.LabelCacheImpl; |
61 |
import org.geotools.renderer.lite.StreamingRenderer; |
import org.geotools.renderer.lite.StreamingRenderer; |
|
import org.geotools.renderer.shape.ShapefileRenderer; |
|
62 |
import org.geotools.styling.FeatureTypeStyle; |
import org.geotools.styling.FeatureTypeStyle; |
63 |
import org.geotools.styling.Style; |
import org.geotools.styling.Style; |
64 |
import org.geotools.styling.visitor.DuplicatingStyleVisitor; |
import org.geotools.styling.visitor.DuplicatingStyleVisitor; |
66 |
import org.opengis.filter.identity.FeatureId; |
import org.opengis.filter.identity.FeatureId; |
67 |
|
|
68 |
import schmitzm.geotools.FilterUtil; |
import schmitzm.geotools.FilterUtil; |
69 |
|
import schmitzm.geotools.GTUtil; |
70 |
import schmitzm.geotools.gui.JMapPane; |
import schmitzm.geotools.gui.JMapPane; |
71 |
import schmitzm.geotools.map.event.FeatureSelectedEvent; |
import schmitzm.geotools.map.event.FeatureSelectedEvent; |
72 |
import schmitzm.geotools.map.event.JMapPaneEvent; |
import schmitzm.geotools.map.event.JMapPaneEvent; |
181 |
*/ |
*/ |
182 |
private void changeLayerStyle(final Vector<String> newSelection) { |
private void changeLayerStyle(final Vector<String> newSelection) { |
183 |
try { |
try { |
|
// GTRenderer r = mapPane.getRenderer(); |
|
|
// if (r instanceof ShapefileRenderer) { |
|
|
// ShapefileRenderer sfr = (ShapefileRenderer)r; |
|
|
// sfr.setCaching(false); |
|
|
// } |
|
|
// |
|
|
|
|
|
|
|
184 |
|
|
185 |
Style originalStyle = mapLayer.getStyle(); |
Style originalStyle = mapLayer.getStyle(); |
186 |
if (newSelection.isEmpty()) { |
if (newSelection.isEmpty()) { |
271 |
|
|
272 |
replaceRenderer(); |
replaceRenderer(); |
273 |
} |
} |
|
// |
|
|
// if (r instanceof ShapefileRenderer) { |
|
|
// ShapefileRenderer sfr = (ShapefileRenderer)r; |
|
|
// sfr.setCaching(true); |
|
|
// } |
|
|
|
|
274 |
|
|
275 |
} catch (Exception e) { |
} catch (Exception e) { |
276 |
LOGGER.error("Error while trying to create a selection style", e); |
LOGGER.error("Error while trying to create a selection style", e); |
291 |
* SK 9.7.09: It's not enought to user LabelCache.clear(). We can not |
* SK 9.7.09: It's not enought to user LabelCache.clear(). We can not |
292 |
* reuse the old Renderer - better to create a new one! |
* reuse the old Renderer - better to create a new one! |
293 |
*/ |
*/ |
294 |
final GTRenderer newRenderer = new ShapefileRenderer(); |
final GTRenderer newRenderer = GTUtil.createGTRenderer(); |
295 |
|
|
296 |
final HashMap<Object, Object> rendererHints = defaultGTRenderingHints; |
final HashMap<Object, Object> rendererHints = defaultGTRenderingHints; |
297 |
rendererHints.put(StreamingRenderer.LABEL_CACHE_KEY, |
rendererHints.put(StreamingRenderer.LABEL_CACHE_KEY, |
304 |
|
|
305 |
RenderingHints java2DHints = oldRenderer.getJava2DHints(); |
RenderingHints java2DHints = oldRenderer.getJava2DHints(); |
306 |
if (java2DHints != null) { |
if (java2DHints != null) { |
307 |
newRenderer.setRendererHints(java2DHints); |
newRenderer.setJava2DHints(java2DHints); |
308 |
} |
} |
309 |
|
|
310 |
oldRenderer.setContext(null); |
oldRenderer.setContext(null); |