View Javadoc
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  /** Default editor to display and edit a document folder */
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  				// TODO rather directly use the jcrPath / an URI?
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  }