1 package org
.argeo
.app
.ui
.library
;
3 import org
.argeo
.api
.acr
.Content
;
4 import org
.argeo
.api
.acr
.spi
.ProvidedContent
;
5 import org
.argeo
.api
.cms
.CmsLog
;
6 import org
.argeo
.api
.cms
.ux
.CmsView
;
7 import org
.argeo
.app
.api
.EntityType
;
8 import org
.argeo
.app
.ui
.SuiteEvent
;
9 import org
.argeo
.cms
.swt
.CmsSwtUtils
;
10 import org
.argeo
.cms
.swt
.acr
.SwtUiProvider
;
11 import org
.argeo
.cms
.swt
.widgets
.SwtTreeView
;
12 import org
.argeo
.cms
.ux
.acr
.ContentHierarchicalPart
;
13 import org
.eclipse
.swt
.layout
.GridLayout
;
14 import org
.eclipse
.swt
.widgets
.Composite
;
15 import org
.eclipse
.swt
.widgets
.Control
;
16 import org
.eclipse
.swt
.widgets
.Label
;
18 public class ContentEntryArea
implements SwtUiProvider
{
19 private final static CmsLog log
= CmsLog
.getLog(ContentEntryArea
.class);
22 public Control
createUiPart(Composite parent
, Content context
) {
23 CmsView cmsView
= CmsSwtUtils
.getCmsView(parent
);
25 parent
.setLayout(new GridLayout());
27 new Label(parent
, 0).setText(context
.toString());
29 Content rootContent
= ((ProvidedContent
) context
).getSession().getRepository().get().get("/srv");
31 ContentHierarchicalPart contentPart
= new ContentHierarchicalPart() {
34 protected boolean isLeaf(Content content
) {
35 if (content
.hasContentClass(EntityType
.document
.qName()))
37 return super.isLeaf(content
);
40 contentPart
.setInput(rootContent
);
42 SwtTreeView
<Content
> view
= new SwtTreeView
<>(parent
, 0, contentPart
);
43 view
.setLayoutData(CmsSwtUtils
.fillAll());
45 contentPart
.setInput(rootContent
);
46 contentPart
.onSelected((o
) -> {
47 Content c
= (Content
) o
;
48 log
.debug(c
.getPath());
49 cmsView
.sendEvent(SuiteEvent
.refreshPart
.topic(), SuiteEvent
.eventProperties(c
));