]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - gis/plugins/org.argeo.gis.ui/src/main/java/org/argeo/gis/ui/views/MapsView.java
Improve JCR and GIS
[lgpl/argeo-commons.git] / gis / plugins / org.argeo.gis.ui / src / main / java / org / argeo / gis / ui / views / MapsView.java
diff --git a/gis/plugins/org.argeo.gis.ui/src/main/java/org/argeo/gis/ui/views/MapsView.java b/gis/plugins/org.argeo.gis.ui/src/main/java/org/argeo/gis/ui/views/MapsView.java
new file mode 100644 (file)
index 0000000..b045340
--- /dev/null
@@ -0,0 +1,65 @@
+package org.argeo.gis.ui.views;
+
+import javax.jcr.Node;
+import javax.jcr.Session;
+
+import org.argeo.eclipse.ui.jcr.SimpleNodeContentProvider;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.part.ViewPart;
+
+public class MapsView extends ViewPart implements IDoubleClickListener {
+       public final static String ID = "org.argeo.gis.ui.mapsView";
+
+       private String mapsBasePath = "/gis/maps";
+
+       private Session session;
+
+       private TreeViewer viewer;
+
+       @Override
+       public void createPartControl(Composite parent) {
+               viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
+               String[] basePaths = { mapsBasePath };
+               viewer.setContentProvider(new SimpleNodeContentProvider(session,
+                               basePaths));
+               viewer.setLabelProvider(new MapsLabelProvider());
+               viewer.setInput(getViewSite());
+               viewer.addDoubleClickListener(this);
+       }
+
+       public void doubleClick(DoubleClickEvent event) {
+               if (!event.getSelection().isEmpty()) {
+                       Object obj = ((IStructuredSelection) event.getSelection())
+                                       .getFirstElement();
+                       if (obj instanceof Node) {
+                               Node node = (Node) obj;
+                       }
+
+               }
+
+       }
+
+       @Override
+       public void setFocus() {
+               viewer.getTree().setFocus();
+       }
+
+       public void refresh() {
+               viewer.refresh();
+       }
+
+       private class MapsLabelProvider extends LabelProvider {
+
+               @Override
+               public String getText(Object element) {
+                       return super.getText(element);
+               }
+
+       }
+}