X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=gis%2Fplugins%2Forg.argeo.gis.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fgis%2Fui%2Fviews%2FFeatureSourcesView.java;fp=gis%2Fplugins%2Forg.argeo.gis.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fgis%2Fui%2Fviews%2FFeatureSourcesView.java;h=a534d4745f8dcb797737c1098ef1579b687bc427;hb=7fe4a16dad045373bb014724733c1bbb175d44b5;hp=76ea5dd5600dace7af4fc04c6cbc0f0f77aad68e;hpb=d2ed44a6c5968200c6ba18809dc0845749072b7f;p=lgpl%2Fargeo-commons.git diff --git a/gis/plugins/org.argeo.gis.ui/src/main/java/org/argeo/gis/ui/views/FeatureSourcesView.java b/gis/plugins/org.argeo.gis.ui/src/main/java/org/argeo/gis/ui/views/FeatureSourcesView.java index 76ea5dd56..a534d4745 100644 --- a/gis/plugins/org.argeo.gis.ui/src/main/java/org/argeo/gis/ui/views/FeatureSourcesView.java +++ b/gis/plugins/org.argeo.gis.ui/src/main/java/org/argeo/gis/ui/views/FeatureSourcesView.java @@ -6,8 +6,8 @@ import javax.jcr.Session; import org.argeo.ArgeoException; import org.argeo.eclipse.ui.jcr.SimpleNodeContentProvider; -import org.argeo.geotools.jcr.GeoJcrMapper; import org.argeo.gis.ui.editors.DefaultMapEditor; +import org.argeo.gis.ui.editors.MapFormPage; import org.argeo.jcr.gis.GisTypes; import org.eclipse.jface.viewers.DoubleClickEvent; import org.eclipse.jface.viewers.IDoubleClickListener; @@ -17,10 +17,9 @@ import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.forms.editor.FormEditor; +import org.eclipse.ui.forms.editor.IFormPage; import org.eclipse.ui.part.ViewPart; -import org.geotools.data.FeatureSource; -import org.opengis.feature.simple.SimpleFeature; -import org.opengis.feature.simple.SimpleFeatureType; public class FeatureSourcesView extends ViewPart implements IDoubleClickListener { @@ -32,14 +31,14 @@ public class FeatureSourcesView extends ViewPart implements private TreeViewer viewer; - private GeoJcrMapper geoJcrMapper; - @Override public void createPartControl(Composite parent) { viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); String[] basePaths = { dataStoresBasePath }; - viewer.setContentProvider(new SimpleNodeContentProvider(session, - basePaths)); + SimpleNodeContentProvider sncp = new SimpleNodeContentProvider(session, + basePaths); + sncp.setMkdirs(true); + viewer.setContentProvider(sncp); viewer.setLabelProvider(new MapsLabelProvider()); viewer.setInput(getViewSite()); viewer.addDoubleClickListener(this); @@ -52,18 +51,22 @@ public class FeatureSourcesView extends ViewPart implements if (obj instanceof Node) { Node node = (Node) obj; try { - if (!node.getPrimaryNodeType().isNodeType( - GisTypes.GIS_FEATURE_SOURCE)) + if (!node.isNodeType(GisTypes.GIS_FEATURE_SOURCE)) return; } catch (RepositoryException e) { throw new ArgeoException("Cannot check type of " + node, e); } - FeatureSource featureSource = geoJcrMapper - .getFeatureSource(node); IEditorPart ed = getSite().getWorkbenchWindow().getActivePage() .getActiveEditor(); if (ed instanceof DefaultMapEditor) { - ((DefaultMapEditor) ed).addLayer(featureSource); + ((DefaultMapEditor) ed).getMapViewer().addLayer(node); + } else if (ed instanceof FormEditor) { + IFormPage activePage = ((FormEditor) ed) + .getActivePageInstance(); + if (activePage instanceof MapFormPage) { + ((MapFormPage) activePage).getMapViewer() + .addLayer(node); + } } } @@ -71,10 +74,6 @@ public class FeatureSourcesView extends ViewPart implements } - public void setGeoJcrMapper(GeoJcrMapper geoJcrMapper) { - this.geoJcrMapper = geoJcrMapper; - } - @Override public void setFocus() { viewer.getTree().setFocus();