]> git.argeo.org Git - lgpl/argeo-commons.git/blob - CmsUserApp.java
ca98f69beda3ee9f0e21addb445d9fc3a3990980
[lgpl/argeo-commons.git] / CmsUserApp.java
1 package org.argeo.cms.swt.app;
2
3 import java.net.URI;
4 import java.nio.file.Path;
5 import java.nio.file.spi.FileSystemProvider;
6 import java.util.HashSet;
7 import java.util.Set;
8
9 import org.argeo.api.acr.Content;
10 import org.argeo.api.acr.ContentRepository;
11 import org.argeo.api.cms.ux.CmsUi;
12 import org.argeo.api.cms.ux.CmsView;
13 import org.argeo.cms.AbstractCmsApp;
14 import org.argeo.cms.swt.CmsSwtUi;
15 import org.argeo.cms.swt.CmsSwtUtils;
16 import org.argeo.cms.swt.auth.CmsLogin;
17 import org.argeo.eclipse.ui.fs.SimpleFsBrowser;
18 import org.eclipse.swt.SWT;
19 import org.eclipse.swt.widgets.Composite;
20
21 public class CmsUserApp extends AbstractCmsApp {
22 private ContentRepository contentRepository;
23
24 private FileSystemProvider cmsFileSystemProvider;
25
26 @Override
27 public Set<String> getUiNames() {
28 Set<String> uiNames = new HashSet<>();
29 uiNames.add("login");
30 uiNames.add("data");
31 return uiNames;
32 }
33
34 @Override
35 public CmsUi initUi(Object uiParent) {
36 Composite parent = (Composite) uiParent;
37 String uiName = parent.getData(UI_NAME_PROPERTY) != null ? parent.getData(UI_NAME_PROPERTY).toString() : null;
38 CmsSwtUi cmsUi = new CmsSwtUi(parent, SWT.NONE);
39 if ("login".equals(uiName)) {
40 CmsView cmsView = CmsSwtUtils.getCmsView(cmsUi);
41 CmsLogin cmsLogin = new CmsLogin(cmsView, getCmsContext());
42 cmsLogin.createUi(cmsUi);
43
44 } else if ("data".equals(uiName)) {
45 Content rootContent = contentRepository.get().get("/");
46 AcrContentTreeView view = new AcrContentTreeView(cmsUi, 0, rootContent);
47 view.setLayoutData(CmsSwtUtils.fillAll());
48
49 } else if ("app".equals(uiName)) {
50 Path rootPath = cmsFileSystemProvider.getPath(URI.create("cms:///"));
51 SimpleFsBrowser view = new SimpleFsBrowser(cmsUi, 0);
52 view.setInput(rootPath);
53 view.setLayoutData(CmsSwtUtils.fillAll());
54
55 }
56 return cmsUi;
57 }
58
59 @Override
60 public void refreshUi(CmsUi cmsUi, String state) {
61 }
62
63 @Override
64 public void setState(CmsUi cmsUi, String state) {
65 // TODO Auto-generated method stub
66
67 }
68
69 public void setContentRepository(ContentRepository contentRepository) {
70 this.contentRepository = contentRepository;
71 }
72
73 public void setCmsFileSystemProvider(FileSystemProvider cmsFileSystemProvider) {
74 this.cmsFileSystemProvider = cmsFileSystemProvider;
75 }
76
77 }