1 package org
.argeo
.gis
.ui
.rcp
.swing
;
8 import org
.argeo
.geotools
.jcr
.GeoJcrMapper
;
9 import org
.argeo
.gis
.ui
.AbstractMapViewer
;
10 import org
.eclipse
.swt
.SWT
;
11 import org
.eclipse
.swt
.awt
.SWT_AWT
;
12 import org
.eclipse
.swt
.widgets
.Composite
;
13 import org
.geotools
.data
.FeatureSource
;
14 import org
.geotools
.map
.DefaultMapContext
;
15 import org
.geotools
.renderer
.lite
.StreamingRenderer
;
16 import org
.geotools
.swing
.JMapPane
;
17 import org
.opengis
.feature
.simple
.SimpleFeature
;
18 import org
.opengis
.feature
.simple
.SimpleFeatureType
;
20 public class SwingMapViewer
extends AbstractMapViewer
{
21 private Composite embedded
;
22 private JMapPane mapPane
;
23 private VersatileZoomTool versatileZoomTool
;
25 public SwingMapViewer(Node context
, GeoJcrMapper geoJcrMapper
,
27 super(context
, geoJcrMapper
);
29 embedded
= new Composite(parent
, SWT
.EMBEDDED
| SWT
.NO_BACKGROUND
);
30 Frame frame
= SWT_AWT
.new_Frame(embedded
);
32 mapPane
= new JMapPane(new StreamingRenderer(), new DefaultMapContext());
33 versatileZoomTool
= new VersatileZoomTool();
34 mapPane
.setCursorTool(versatileZoomTool
);
35 mapPane
.setBackground(Color
.WHITE
);
43 protected void addFeatureSource(String path
,
44 FeatureSource
<SimpleFeatureType
, SimpleFeature
> featureSource
) {
45 // TODO: deal with style and rasters
46 mapPane
.getMapContext().addLayer(featureSource
, null);