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
.CmsLink
;
10 import org
.argeo
.cms
.ui
.util
.CmsUiUtils
;
11 import org
.argeo
.cms
.ui
.viewers
.JcrVersionCmsEditable
;
12 import org
.argeo
.cms
.ui
.widgets
.ScrolledPage
;
13 import org
.argeo
.docbook
.DbkType
;
14 import org
.argeo
.docbook
.ui
.AbstractDbkViewer
;
15 import org
.argeo
.docbook
.ui
.DocumentTextEditor
;
16 import org
.eclipse
.swt
.SWT
;
17 import org
.eclipse
.swt
.browser
.Browser
;
18 import org
.eclipse
.swt
.widgets
.Composite
;
19 import org
.eclipse
.swt
.widgets
.Control
;
21 public class DocumentUiProvider
implements CmsUiProvider
{
24 public Control
createUi(Composite parent
, Node context
) throws RepositoryException
{
25 CmsEditable cmsEditable
= new JcrVersionCmsEditable(context
);
26 if (context
.hasNode(DbkType
.article
.get())) {
27 Node textNode
= context
.getNode(DbkType
.article
.get());
29 parent
.setLayout(CmsUiUtils
.noSpaceGridLayout());
31 CmsLink toHtml
= new CmsLink("To HTML", "/html/dbk" + textNode
.getPath());
32 toHtml
.createUiPart(parent
, context
);
34 ScrolledPage page
= new ScrolledPage(parent
, SWT
.NONE
);
35 page
.setLayoutData(CmsUiUtils
.fillAll());
36 page
.setLayout(CmsUiUtils
.noSpaceGridLayout());
38 AbstractDbkViewer dbkEditor
= new DocumentTextEditor(page
, SWT
.NONE
, textNode
, cmsEditable
);
41 } else if (context
.isNodeType(NodeType
.NT_FILE
)) {
42 String fileName
= context
.getName();
43 if (fileName
.endsWith(".pdf")) {
44 Browser browser
= new Browser(parent
, SWT
.NONE
);
45 String dataPath
= CmsUiUtils
.getDataPath(context
);
46 browser
.setUrl(dataPath
);
47 browser
.setLayoutData(CmsUiUtils
.fillAll());