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