X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=library%2Forg.argeo.documents.ui%2Fsrc%2Forg%2Fargeo%2Fdocuments%2Fui%2FDocumentsFolderUiProvider.java;fp=library%2Forg.argeo.documents.ui%2Fsrc%2Forg%2Fargeo%2Fdocuments%2Fui%2FDocumentsFolderUiProvider.java;h=2210b9fec8ac3b420f59cad3eabc87b08a1ebf86;hp=0000000000000000000000000000000000000000;hb=f21589b7f2a19a79edcc213b867c47130faa76cd;hpb=dec8c11591d7525c4be934406326823348daa461 diff --git a/library/org.argeo.documents.ui/src/org/argeo/documents/ui/DocumentsFolderUiProvider.java b/library/org.argeo.documents.ui/src/org/argeo/documents/ui/DocumentsFolderUiProvider.java new file mode 100644 index 0000000..2210b9f --- /dev/null +++ b/library/org.argeo.documents.ui/src/org/argeo/documents/ui/DocumentsFolderUiProvider.java @@ -0,0 +1,33 @@ +package org.argeo.documents.ui; + +import java.nio.file.spi.FileSystemProvider; + +import javax.jcr.Node; +import javax.jcr.RepositoryException; + +import org.argeo.cms.fs.CmsFsUtils; +import org.argeo.cms.ui.CmsUiProvider; +import org.argeo.cms.ui.CmsView; +import org.argeo.cms.ui.util.CmsUiUtils; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; + +/** UI provider of a document folder. */ +public class DocumentsFolderUiProvider implements CmsUiProvider { + private FileSystemProvider nodeFileSystemProvider; + + @Override + public Control createUi(Composite parent, Node context) throws RepositoryException { + CmsView cmsView = CmsView.getCmsView(parent); + DocumentsFolderComposite dfc = new DocumentsFolderComposite(parent, SWT.NONE, context); + dfc.setLayoutData(CmsUiUtils.fillAll()); + dfc.populate(cmsView.doAs(() -> CmsFsUtils.getPath(nodeFileSystemProvider, context))); + return dfc; + } + + public void setNodeFileSystemProvider(FileSystemProvider nodeFileSystemProvider) { + this.nodeFileSystemProvider = nodeFileSystemProvider; + } + +}