X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=gis%2Fplugins%2Forg.argeo.gis.ui.rcp.swing%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fgis%2Fui%2Frcp%2Fswing%2FSwingMapViewer.java;fp=gis%2Fplugins%2Forg.argeo.gis.ui.rcp.swing%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fgis%2Fui%2Frcp%2Fswing%2FSwingMapViewer.java;h=0000000000000000000000000000000000000000;hb=c3be9f8db8a79e159d6a057758dfc7f3580efc2d;hp=32d03c19285d656e6b99a0a3fa9c119c83ed87fa;hpb=29e52f028cae17c2918fd3f5c691bce26090e969;p=lgpl%2Fargeo-commons.git diff --git a/gis/plugins/org.argeo.gis.ui.rcp.swing/src/main/java/org/argeo/gis/ui/rcp/swing/SwingMapViewer.java b/gis/plugins/org.argeo.gis.ui.rcp.swing/src/main/java/org/argeo/gis/ui/rcp/swing/SwingMapViewer.java deleted file mode 100644 index 32d03c192..000000000 --- a/gis/plugins/org.argeo.gis.ui.rcp.swing/src/main/java/org/argeo/gis/ui/rcp/swing/SwingMapViewer.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.argeo.gis.ui.rcp.swing; - -import java.awt.Color; -import java.awt.Frame; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -import javax.jcr.Node; - -import org.argeo.ArgeoException; -import org.argeo.geotools.jcr.GeoJcrMapper; -import org.argeo.geotools.styling.StylingUtils; -import org.argeo.gis.ui.AbstractMapViewer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.awt.SWT_AWT; -import org.eclipse.swt.widgets.Composite; -import org.geotools.data.FeatureSource; -import org.geotools.geometry.jts.ReferencedEnvelope; -import org.geotools.map.DefaultMapContext; -import org.geotools.map.DefaultMapLayer; -import org.geotools.map.MapContext; -import org.geotools.map.MapLayer; -import org.geotools.referencing.CRS; -import org.geotools.renderer.lite.StreamingRenderer; -import org.geotools.styling.Style; -import org.geotools.swing.JMapPane; -import org.opengis.feature.simple.SimpleFeature; -import org.opengis.feature.simple.SimpleFeatureType; -import org.opengis.referencing.crs.CoordinateReferenceSystem; - -/** Map viewer implementation based on GeoTools Swing components. */ -public class SwingMapViewer extends AbstractMapViewer { - private Composite embedded; - private JMapPane mapPane; - private VersatileZoomTool versatileZoomTool; - - private Map mapLayers = Collections - .synchronizedMap(new HashMap()); - - public SwingMapViewer(Node context, GeoJcrMapper geoJcrMapper, - Composite parent) { - super(context, geoJcrMapper); - - embedded = new Composite(parent, SWT.EMBEDDED | SWT.NO_BACKGROUND); - Frame frame = SWT_AWT.new_Frame(embedded); - - MapContext mapContext = new DefaultMapContext(); - // dummy call to make sure that the layers are initialized - mapContext.layers(); - mapPane = new JMapPane(new StreamingRenderer(), mapContext); - versatileZoomTool = new VersatileZoomTool(); - mapPane.setCursorTool(versatileZoomTool); - mapPane.setBackground(Color.WHITE); - frame.add(mapPane); - - setControl(embedded); - } - - @Override - protected void addFeatureSource(String layerId, - FeatureSource featureSource, - Object style) { - if (style == null) - style = StylingUtils.createLineStyle("BLACK", 1); - - MapLayer mapLayer = new DefaultMapLayer(featureSource, (Style) style); - addMapLayer(layerId, mapLayer); - } - - protected void addMapLayer(String layerId, MapLayer mapLayer) { - mapLayers.put(layerId, mapLayer); - mapPane.getMapContext().addLayer(mapLayer); - } - - public void addLayer(String layerId, Collection collection, Object style) { - if (style == null) - style = StylingUtils.createLineStyle("BLACK", 1); - MapLayer mapLayer = new DefaultMapLayer(collection, (Style) style); - addMapLayer(layerId, mapLayer); - } - - public void setStyle(String layerId, Object style) { - mapLayers.get(layerId).setStyle((Style) style); - } - - public void setAreaOfInterest(ReferencedEnvelope areaOfInterest) { - // mapPane.getMapContext().setAreaOfInterest(areaOfInterest); - CoordinateReferenceSystem crs = mapPane.getMapContext() - .getCoordinateReferenceSystem(); - - ReferencedEnvelope toDisplay; - if (crs != null) - try { - toDisplay = areaOfInterest.transform(crs, true); - } catch (Exception e) { - throw new ArgeoException("Cannot reproject " + areaOfInterest, - e); - } - else - toDisplay = areaOfInterest; - mapPane.setDisplayArea(toDisplay); - } - - public void setCoordinateReferenceSystem(String crs) { - try { - CoordinateReferenceSystem crsObj = CRS.decode(crs); - mapPane.getMapContext().setCoordinateReferenceSystem(crsObj); - mapPane.repaint(); - } catch (Exception e) { - throw new ArgeoException("Cannot set CRS '" + crs + "'", e); - } - - } - -}