]> git.argeo.org Git - lgpl/argeo-commons.git/blob - MapsView.java
b04534074d99a037b8949a6eb43aa9ba13dd44dc
[lgpl/argeo-commons.git] / MapsView.java
1 package org.argeo.gis.ui.views;
2
3 import javax.jcr.Node;
4 import javax.jcr.Session;
5
6 import org.argeo.eclipse.ui.jcr.SimpleNodeContentProvider;
7 import org.eclipse.jface.viewers.DoubleClickEvent;
8 import org.eclipse.jface.viewers.IDoubleClickListener;
9 import org.eclipse.jface.viewers.IStructuredSelection;
10 import org.eclipse.jface.viewers.LabelProvider;
11 import org.eclipse.jface.viewers.TreeViewer;
12 import org.eclipse.swt.SWT;
13 import org.eclipse.swt.widgets.Composite;
14 import org.eclipse.ui.part.ViewPart;
15
16 public class MapsView extends ViewPart implements IDoubleClickListener {
17 public final static String ID = "org.argeo.gis.ui.mapsView";
18
19 private String mapsBasePath = "/gis/maps";
20
21 private Session session;
22
23 private TreeViewer viewer;
24
25 @Override
26 public void createPartControl(Composite parent) {
27 viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
28 String[] basePaths = { mapsBasePath };
29 viewer.setContentProvider(new SimpleNodeContentProvider(session,
30 basePaths));
31 viewer.setLabelProvider(new MapsLabelProvider());
32 viewer.setInput(getViewSite());
33 viewer.addDoubleClickListener(this);
34 }
35
36 public void doubleClick(DoubleClickEvent event) {
37 if (!event.getSelection().isEmpty()) {
38 Object obj = ((IStructuredSelection) event.getSelection())
39 .getFirstElement();
40 if (obj instanceof Node) {
41 Node node = (Node) obj;
42 }
43
44 }
45
46 }
47
48 @Override
49 public void setFocus() {
50 viewer.getTree().setFocus();
51 }
52
53 public void refresh() {
54 viewer.refresh();
55 }
56
57 private class MapsLabelProvider extends LabelProvider {
58
59 @Override
60 public String getText(Object element) {
61 return super.getText(element);
62 }
63
64 }
65 }