From: Mathieu Baudier Date: Tue, 27 Oct 2020 08:51:31 +0000 (+0100) Subject: Introduce publishing styles. X-Git-Tag: argeo-suite-2.1.16~51 X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=commitdiff_plain;h=3f1e729ef4c76d9c946906a0983e62013945c1ef Introduce publishing styles. --- diff --git a/publishing/org.argeo.publishing.ui/src/org/argeo/cms/text/TextSection.java b/publishing/org.argeo.publishing.ui/src/org/argeo/cms/text/TextSection.java index b7b0779..ef4bb0f 100644 --- a/publishing/org.argeo.publishing.ui/src/org/argeo/cms/text/TextSection.java +++ b/publishing/org.argeo.publishing.ui/src/org/argeo/cms/text/TextSection.java @@ -1,7 +1,6 @@ package org.argeo.cms.text; import javax.jcr.Node; -import javax.jcr.RepositoryException; import org.argeo.cms.ui.util.CmsUiUtils; import org.argeo.cms.ui.viewers.Section; @@ -13,18 +12,15 @@ public class TextSection extends Section implements CmsNames { private String defaultTextStyle = TextStyles.TEXT_DEFAULT; private String titleStyle; - public TextSection(Composite parent, int style, Node node) - throws RepositoryException { + public TextSection(Composite parent, int style, Node node) { this(parent, findSection(parent), style, node); } - public TextSection(TextSection section, int style, Node node) - throws RepositoryException { + public TextSection(TextSection section, int style, Node node) { this(section, section.getParentSection(), style, node); } - private TextSection(Composite parent, Section parentSection, int style, - Node node) throws RepositoryException { + private TextSection(Composite parent, Section parentSection, int style, Node node) { super(parent, parentSection, style, node); CmsUiUtils.style(this, TextStyles.TEXT_SECTION); } @@ -38,8 +34,7 @@ public class TextSection extends Section implements CmsNames { return titleStyle; // TODO make base H styles configurable Integer relativeDepth = getRelativeDepth(); - return relativeDepth == 0 ? TextStyles.TEXT_TITLE : TextStyles.TEXT_H - + relativeDepth; + return relativeDepth == 0 ? TextStyles.TEXT_TITLE : TextStyles.TEXT_H + relativeDepth; } public void setDefaultTextStyle(String defaultTextStyle) { diff --git a/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/AbstractDbkViewer.java b/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/AbstractDbkViewer.java index a00c316..39ae080 100644 --- a/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/AbstractDbkViewer.java +++ b/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/AbstractDbkViewer.java @@ -20,9 +20,9 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.cms.CmsException; import org.argeo.cms.text.Paragraph; +import org.argeo.cms.text.SectionTitle; import org.argeo.cms.text.TextInterpreter; import org.argeo.cms.text.TextSection; -import org.argeo.cms.text.SectionTitle; import org.argeo.cms.ui.CmsEditable; import org.argeo.cms.ui.CmsImageManager; import org.argeo.cms.ui.CmsView; diff --git a/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DocumentTextEditor.java b/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DocumentTextEditor.java index 9dc7e10..7bb5132 100644 --- a/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DocumentTextEditor.java +++ b/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DocumentTextEditor.java @@ -13,8 +13,7 @@ import org.eclipse.swt.widgets.Composite; public class DocumentTextEditor extends AbstractDbkViewer { private static final long serialVersionUID = 6049661610883342325L; - public DocumentTextEditor(Composite parent, int style, Node textNode, CmsEditable cmsEditable) - throws RepositoryException { + public DocumentTextEditor(Composite parent, int style, Node textNode, CmsEditable cmsEditable) { super(new TextSection(parent, style, textNode), style, cmsEditable); refresh(); getMainSection().setLayoutData(CmsUiUtils.fillWidth()); diff --git a/publishing/org.argeo.publishing.ui/src/org/argeo/publishing/ui/PublishingApp.java b/publishing/org.argeo.publishing.ui/src/org/argeo/publishing/ui/PublishingApp.java index 00deae9..22bd2bb 100644 --- a/publishing/org.argeo.publishing.ui/src/org/argeo/publishing/ui/PublishingApp.java +++ b/publishing/org.argeo.publishing.ui/src/org/argeo/publishing/ui/PublishingApp.java @@ -13,6 +13,7 @@ import org.apache.commons.logging.LogFactory; import org.argeo.api.NodeUtils; import org.argeo.cms.ui.AbstractCmsApp; import org.argeo.cms.ui.CmsApp; +import org.argeo.cms.ui.CmsUiProvider; import org.argeo.docbook.ui.DocBookTypes; import org.argeo.docbook.ui.DocumentPage; import org.argeo.jcr.Jcr; @@ -32,6 +33,8 @@ public class PublishingApp extends AbstractCmsApp { private String pid; private String defaultThemeId; + private CmsUiProvider landingPage; + public void init(Map properties) { defaultThemeId = properties.get("defaultThemeId"); pid = properties.get(Constants.SERVICE_PID); @@ -63,7 +66,13 @@ public class PublishingApp extends AbstractCmsApp { } catch (RepositoryException e) { throw new IllegalStateException(e); } - Control page = new DocumentPage().createUiPart(parent, indexNode); + + Control page; + if (landingPage != null) { + page = landingPage.createUiPart(parent, indexNode); + } else { + page = new DocumentPage().createUiPart(parent, indexNode); + } return (Composite) page; } @@ -82,4 +91,9 @@ public class PublishingApp extends AbstractCmsApp { protected String getThemeId(String uiName) { return defaultThemeId; } + + public void setLandingPage(CmsUiProvider landingPage) { + this.landingPage = landingPage; + } + } diff --git a/publishing/org.argeo.publishing.ui/src/org/argeo/publishing/ui/PublishingStyle.java b/publishing/org.argeo.publishing.ui/src/org/argeo/publishing/ui/PublishingStyle.java new file mode 100644 index 0000000..825ae66 --- /dev/null +++ b/publishing/org.argeo.publishing.ui/src/org/argeo/publishing/ui/PublishingStyle.java @@ -0,0 +1,14 @@ +package org.argeo.publishing.ui; + +import org.argeo.cms.ui.util.CmsStyle; + +/** Publishing styles. */ +public enum PublishingStyle implements CmsStyle { + page; + + @Override + public String getClassPrefix() { + return "argeo-publishing"; + } + +}