package org.argeo.gis.ui.rap.openlayers;
-import org.argeo.gis.ui.MapContextProvider;
+import javax.jcr.Node;
+
+import org.argeo.geotools.jcr.GeoJcrMapper;
import org.argeo.gis.ui.MapControlCreator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
+import org.argeo.gis.ui.MapViewer;
import org.eclipse.swt.widgets.Composite;
-import org.polymap.openlayers.rap.widget.OpenLayersWidget;
-import org.polymap.openlayers.rap.widget.base_types.OpenLayersMap;
-import org.polymap.openlayers.rap.widget.controls.KeyboardDefaultsControl;
-import org.polymap.openlayers.rap.widget.controls.LayerSwitcherControl;
-import org.polymap.openlayers.rap.widget.controls.MouseDefaultsControl;
-import org.polymap.openlayers.rap.widget.controls.PanZoomBarControl;
-import org.polymap.openlayers.rap.widget.controls.ScaleControl;
-import org.polymap.openlayers.rap.widget.layers.OSMLayer;
-import org.polymap.openlayers.rap.widget.layers.WMSLayer;
public class OpenLayersMapControlCreator implements MapControlCreator {
- public Composite createMapControl(Composite parent,
- MapContextProvider mapContextProvider) {
-
- // OpenLayersWidget openLayersWidget = new OpenLayersWidget(parent,
- // SWT.MULTI | SWT.WRAP, "/js_lib/OpenLayers/OpenLayers.js");
- OpenLayersWidget openLayersWidget = new OpenLayersWidget(parent,
- SWT.MULTI | SWT.WRAP);
- openLayersWidget.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- OpenLayersMap map = openLayersWidget.getMap();
-
- map.addControl(new LayerSwitcherControl());
- map.addControl(new MouseDefaultsControl());
- map.addControl(new KeyboardDefaultsControl());
- map.addControl(new PanZoomBarControl());
- map.addControl(new ScaleControl());
-
-// WMSLayer baseLayer = new WMSLayer("argeo_dev",
-// "https://dev.argeo.org/geoserver/wms?",
-// "naturalearth:10m_admin_0_countries");
-
- OSMLayer baseLayer = new OSMLayer("OSM",
- "http://tile.openstreetmap.org/${z}/${x}/${y}.png", 19);
- map.addLayer(baseLayer);
+ private GeoJcrMapper geoJcrMapper;
+
+ public MapViewer createMapControl(Node context,Composite parent) {
+ return new OpenLayersMapViewer(context,geoJcrMapper,parent);
+ }
- MapContextAdapter mapContextAdapter = new MapContextAdapter(
- mapContextProvider.getMapContext(), map);
- // FIXME: find a better way to register it
- openLayersWidget.setData(mapContextAdapter);
- return openLayersWidget;
+ public void setGeoJcrMapper(GeoJcrMapper geoJcrMapper) {
+ this.geoJcrMapper = geoJcrMapper;
}
+
}