1 package org.argeo.documents.e4.parts;
2
3 import java.nio.file.Path;
4
5 import javax.annotation.PostConstruct;
6 import javax.jcr.Node;
7 import javax.jcr.Session;
8
9 import org.argeo.connect.util.ConnectJcrUtils;
10 import org.argeo.documents.composites.DocumentsFolderComposite;
11 import org.argeo.eclipse.ui.EclipseUiUtils;
12 import org.eclipse.e4.ui.services.EMenuService;
13 import org.eclipse.swt.SWT;
14 import org.eclipse.swt.widgets.Composite;
15
16
17 public class FolderEditor extends AbstractDocumentsEditor {
18 @PostConstruct
19 public void createPartControl(Composite parent, EMenuService menuService) {
20 init();
21 parent.setLayout(EclipseUiUtils.noSpaceGridLayout());
22 DocumentsFolderComposite dfc = new DocumentsFolderComposite(parent, SWT.NO_FOCUS, getNode(),
23 getDocumentsService()) {
24 private static final long serialVersionUID = 4880354934421639754L;
25
26 @Override
27 protected void externalNavigateTo(Path path) {
28
29 Session session = ConnectJcrUtils.getSession(getNode());
30 Node currNode = ConnectJcrUtils.getNode(session, path.toString());
31 getSystemWorkbenchService().openEntityEditor(currNode);
32 }
33 };
34 dfc.setLayoutData(EclipseUiUtils.fillAll());
35 String jcrPath = ConnectJcrUtils.getPath(getNode());
36 Path path = getDocumentsService().getPath(getNodeFileSystemProvider(), jcrPath);
37 dfc.populate(path);
38 parent.layout(true, true);
39 }
40 }