1 package org
.argeo
.publishing
.ui
;
4 import javax
.jcr
.RepositoryException
;
5 import javax
.jcr
.nodetype
.NodeType
;
7 import org
.argeo
.cms
.ui
.CmsEditable
;
8 import org
.argeo
.cms
.ui
.CmsUiProvider
;
9 import org
.argeo
.cms
.ui
.util
.CmsUiUtils
;
10 import org
.argeo
.cms
.ui
.viewers
.JcrVersionCmsEditable
;
11 import org
.argeo
.cms
.ui
.widgets
.ScrolledPage
;
12 import org
.argeo
.docbook
.DbkType
;
13 import org
.argeo
.docbook
.ui
.AbstractDbkViewer
;
14 import org
.argeo
.docbook
.ui
.DocumentTextEditor
;
15 import org
.eclipse
.swt
.SWT
;
16 import org
.eclipse
.swt
.browser
.Browser
;
17 import org
.eclipse
.swt
.widgets
.Composite
;
18 import org
.eclipse
.swt
.widgets
.Control
;
20 public class DocumentUiProvider
implements CmsUiProvider
{
23 public Control
createUi(Composite parent
, Node context
) throws RepositoryException
{
24 CmsEditable cmsEditable
= new JcrVersionCmsEditable(context
);
25 if (context
.hasNode(DbkType
.article
.get())) {
26 Node textNode
= context
.getNode(DbkType
.article
.get());
28 parent
.setLayout(CmsUiUtils
.noSpaceGridLayout());
30 ScrolledPage page
= new ScrolledPage(parent
, SWT
.NONE
);
31 page
.setLayoutData(CmsUiUtils
.fillAll());
32 page
.setLayout(CmsUiUtils
.noSpaceGridLayout());
34 AbstractDbkViewer dbkEditor
= new DocumentTextEditor(page
, SWT
.NONE
, textNode
, cmsEditable
);
37 } else if (context
.isNodeType(NodeType
.NT_FILE
)) {
38 String fileName
= context
.getName();
39 if (fileName
.endsWith(".pdf")) {
40 Browser browser
= new Browser(parent
, SWT
.NONE
);
41 String dataPath
= CmsUiUtils
.getDataPath(context
);
42 browser
.setUrl(dataPath
);
43 browser
.setLayoutData(CmsUiUtils
.fillAll());