X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=org.argeo.app.ui%2Fsrc%2Forg%2Fargeo%2Fapp%2Fui%2Flibrary%2FContentEntryArea.java;h=42c7e69867cf946e8c20f3d8de448bf5f51bdeef;hb=c6b561fc1d45dd5abcbf86f99ae546bdc3b42b8d;hp=af31ac59c9f0cfff3f4ab610e79ec4b0650f8b08;hpb=942fd932e1f6ed3319575c4c1d944912dfca9fa5;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/library/ContentEntryArea.java b/org.argeo.app.ui/src/org/argeo/app/ui/library/ContentEntryArea.java index af31ac5..42c7e69 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/library/ContentEntryArea.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/library/ContentEntryArea.java @@ -10,11 +10,14 @@ import javax.jcr.Session; import javax.jcr.nodetype.NodeType; import javax.jcr.query.Query; -import org.argeo.api.cms.CmsTheme; +import org.argeo.api.acr.Content; +import org.argeo.api.cms.CmsConstants; import org.argeo.app.api.EntityType; import org.argeo.app.ui.SuiteEvent; import org.argeo.app.ui.SuiteIcon; import org.argeo.app.ui.widgets.TreeOrSearchArea; +import org.argeo.cms.jcr.acr.JcrContentProvider; +import org.argeo.cms.swt.CmsSwtTheme; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.ui.CmsUiProvider; import org.argeo.jcr.Jcr; @@ -34,10 +37,11 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; public class ContentEntryArea implements CmsUiProvider { + private JcrContentProvider jcrContentProvider; @Override - public Control createUi(Composite parent, Node context) throws RepositoryException { - CmsTheme theme = CmsSwtUtils.getCmsTheme(parent); + public Control createUiPart(Composite parent, Content context) { + CmsSwtTheme theme = CmsSwtUtils.getCmsTheme(parent); parent.setLayout(new GridLayout()); Ui ui = new Ui(parent, SWT.NONE); @@ -58,15 +62,15 @@ public class ContentEntryArea implements CmsUiProvider { Node node = (Node) element; Image icon; if (Jcr.isNodeType(node, NodeType.NT_FOLDER)) { - icon = SuiteIcon.folder.getSmallIcon(theme); + icon = theme.getSmallIcon(SuiteIcon.folder); } else if (Jcr.isNodeType(node, NodeType.NT_FILE)) { // TODO check recognized document types - icon = SuiteIcon.document.getSmallIcon(theme); + icon = theme.getSmallIcon(SuiteIcon.document); } else if (Jcr.isNodeType(node, EntityType.document.get())) { - icon = SuiteIcon.document.getSmallIcon(theme); + icon = theme.getSmallIcon(SuiteIcon.document); } else { if (!isLeaf(node)) - icon = SuiteIcon.folder.getSmallIcon(theme); + icon = theme.getSmallIcon(SuiteIcon.folder); else icon = null; } @@ -98,7 +102,8 @@ public class ContentEntryArea implements CmsUiProvider { }); ui.getTreeViewer().setContentProvider(new SpacesContentProvider()); - ui.getTreeViewer().setInput(context.getSession()); + Session session = jcrContentProvider.getJcrSession(context, CmsConstants.SYS_WORKSPACE); + ui.getTreeViewer().setInput(session); return ui; } @@ -107,6 +112,10 @@ public class ContentEntryArea implements CmsUiProvider { || Jcr.isNodeType(node, NodeType.NT_FILE); } + public void setJcrContentProvider(JcrContentProvider jcrContentProvider) { + this.jcrContentProvider = jcrContentProvider; + } + class Ui extends TreeOrSearchArea { public Ui(Composite parent, int style) {