]> git.argeo.org Git - gpl/argeo-jcr.git/blob - JcrDClickListener.java
1707681b4e725aa181df93e0a0e12e8f5a4c80c6
[gpl/argeo-jcr.git] / JcrDClickListener.java
1 package org.argeo.cms.ui.jcr;
2
3 import javax.jcr.Node;
4
5 import org.argeo.cms.ui.jcr.model.RepositoryElem;
6 import org.argeo.cms.ui.jcr.model.SingleJcrNodeElem;
7 import org.argeo.cms.ui.jcr.model.WorkspaceElem;
8 import org.eclipse.jface.viewers.DoubleClickEvent;
9 import org.eclipse.jface.viewers.IDoubleClickListener;
10 import org.eclipse.jface.viewers.IStructuredSelection;
11 import org.eclipse.jface.viewers.TreeViewer;
12
13 /** Centralizes the management of double click on a NodeTreeViewer */
14 public class JcrDClickListener implements IDoubleClickListener {
15 // private final static Log log = LogFactory
16 // .getLog(GenericNodeDoubleClickListener.class);
17
18 private TreeViewer nodeViewer;
19
20 // private JcrFileProvider jfp;
21 // private FileHandler fileHandler;
22
23 public JcrDClickListener(TreeViewer nodeViewer) {
24 this.nodeViewer = nodeViewer;
25 // jfp = new JcrFileProvider();
26 // Commented out. see https://www.argeo.org/bugzilla/show_bug.cgi?id=188
27 // fileHandler = null;
28 // fileHandler = new FileHandler(jfp);
29 }
30
31 public void doubleClick(DoubleClickEvent event) {
32 if (event.getSelection() == null || event.getSelection().isEmpty())
33 return;
34 Object obj = ((IStructuredSelection) event.getSelection()).getFirstElement();
35 if (obj instanceof RepositoryElem) {
36 RepositoryElem rpNode = (RepositoryElem) obj;
37 if (rpNode.isConnected()) {
38 rpNode.logout();
39 } else {
40 rpNode.login();
41 }
42 nodeViewer.refresh(obj);
43 } else if (obj instanceof WorkspaceElem) {
44 WorkspaceElem wn = (WorkspaceElem) obj;
45 if (wn.isConnected())
46 wn.logout();
47 else
48 wn.login();
49 nodeViewer.refresh(obj);
50 } else if (obj instanceof SingleJcrNodeElem) {
51 SingleJcrNodeElem sjn = (SingleJcrNodeElem) obj;
52 Node node = sjn.getNode();
53 openNode(node);
54 }
55 }
56
57 protected void openNode(Node node) {
58 // TODO implement generic behaviour
59 }
60 }