1 package org
.argeo
.publishing
.ui
;
4 import javax
.jcr
.RepositoryException
;
5 import javax
.jcr
.nodetype
.NodeType
;
7 import org
.argeo
.api
.cms
.CmsEditable
;
8 import org
.argeo
.api
.cms
.CmsView
;
9 import org
.argeo
.cms
.swt
.CmsSwtUtils
;
10 import org
.argeo
.cms
.ui
.CmsUiProvider
;
11 import org
.argeo
.cms
.ui
.util
.CmsLink
;
12 import org
.argeo
.cms
.ui
.util
.CmsUiUtils
;
13 import org
.argeo
.cms
.ui
.viewers
.JcrVersionCmsEditable
;
14 import org
.argeo
.cms
.ui
.widgets
.ScrolledPage
;
15 import org
.argeo
.docbook
.DbkType
;
16 import org
.argeo
.docbook
.ui
.AbstractDbkViewer
;
17 import org
.argeo
.docbook
.ui
.DocumentTextEditor
;
18 import org
.eclipse
.swt
.SWT
;
19 import org
.eclipse
.swt
.browser
.Browser
;
20 import org
.eclipse
.swt
.widgets
.Composite
;
21 import org
.eclipse
.swt
.widgets
.Control
;
23 public class DocumentUiProvider
implements CmsUiProvider
{
26 public Control
createUi(Composite parent
, Node context
) throws RepositoryException
{
27 CmsView cmsView
= CmsSwtUtils
.getCmsView(parent
);
28 CmsEditable cmsEditable
= new JcrVersionCmsEditable(context
);
29 if (context
.hasNode(DbkType
.article
.get())) {
30 Node textNode
= context
.getNode(DbkType
.article
.get());
32 parent
.setLayout(CmsSwtUtils
.noSpaceGridLayout());
34 CmsLink toHtml
= new CmsLink("To HTML", "/html/dbk" + context
.getPath()+"/index.html");
35 toHtml
.createUiPart(parent
, context
);
37 ScrolledPage page
= new ScrolledPage(parent
, SWT
.NONE
);
38 page
.setLayoutData(CmsSwtUtils
.fillAll());
39 page
.setLayout(CmsSwtUtils
.noSpaceGridLayout());
42 AbstractDbkViewer dbkEditor
= new DocumentTextEditor(page
, SWT
.NONE
, textNode
, cmsEditable
);
47 } else if (context
.isNodeType(NodeType
.NT_FILE
)) {
48 String fileName
= context
.getName();
49 if (fileName
.endsWith(".pdf")) {
50 Browser browser
= new Browser(parent
, SWT
.NONE
);
51 String dataPath
= CmsUiUtils
.getDataPath(context
);
52 browser
.setUrl(dataPath
);
53 browser
.setLayoutData(CmsSwtUtils
.fillAll());