From: Mathieu Baudier Date: Mon, 19 Jul 2021 08:25:51 +0000 (+0200) Subject: Make DocBook support more coherent. X-Git-Tag: argeo-suite-2.3.1~13 X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=commitdiff_plain;h=1b2f009d0bfd15571251e474ea1efb25e46c4679 Make DocBook support more coherent. --- 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 cde5c7f..7c2b59b 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 @@ -124,7 +124,7 @@ public abstract class AbstractDbkViewer extends AbstractPageViewer implements Ke if (showTitle) { if (section.getHeader() == null) section.createHeader(); - DocBookSectionTitle title = newSectionTitle(textSection, titleNode); + DbkSectionTitle title = newSectionTitle(textSection, titleNode); title.setLayoutData(CmsUiUtils.fillWidth()); updateContent(title); } @@ -241,12 +241,12 @@ public abstract class AbstractDbkViewer extends AbstractPageViewer implements Ke } } - protected DocBookSectionTitle newSectionTitle(TextSection parent, Node titleNode) throws RepositoryException { + protected DbkSectionTitle newSectionTitle(TextSection parent, Node titleNode) throws RepositoryException { int style = parent.getStyle(); Composite titleParent = newSectionHeader(parent); if (parent.isTitleReadOnly()) style = style | SWT.READ_ONLY; - DocBookSectionTitle title = new DocBookSectionTitle(titleParent, style, titleNode); + DbkSectionTitle title = new DbkSectionTitle(titleParent, style, titleNode); updateContent(title); title.setMouseListener(getMouseListener()); title.setFocusListener(getFocusListener()); @@ -257,20 +257,20 @@ public abstract class AbstractDbkViewer extends AbstractPageViewer implements Ke * To be overridden in order to provide additional processing at the section * level. * - * @return the parent to use for the {@link DocBookSectionTitle}, by default + * @return the parent to use for the {@link DbkSectionTitle}, by default * {@link Section#getHeader()} */ protected Composite newSectionHeader(TextSection section) { return section.getHeader(); } - protected DocBookSectionTitle prepareSectionTitle(Section newSection, String titleText) throws RepositoryException { + protected DbkSectionTitle prepareSectionTitle(Section newSection, String titleText) throws RepositoryException { Node sectionNode = newSection.getNode(); Node titleNode = DbkUtils.getOrAddDbk(sectionNode, DbkType.title); getTextInterpreter().write(titleNode, titleText); if (newSection.getHeader() == null) newSection.createHeader(); - DocBookSectionTitle sectionTitle = newSectionTitle((TextSection) newSection, sectionNode); + DbkSectionTitle sectionTitle = newSectionTitle((TextSection) newSection, sectionNode); return sectionTitle; } @@ -305,8 +305,8 @@ public abstract class AbstractDbkViewer extends AbstractPageViewer implements Ke DbkVideo video = (DbkVideo) part; video.load(part.getControl()); } - } else if (part instanceof DocBookSectionTitle) { - DocBookSectionTitle title = (DocBookSectionTitle) part; + } else if (part instanceof DbkSectionTitle) { + DbkSectionTitle title = (DbkSectionTitle) part; title.setStyle(title.getSection().getTitleStyle()); // use control AFTER setting style if (title == getEdited()) @@ -539,8 +539,8 @@ public abstract class AbstractDbkViewer extends AbstractPageViewer implements Ke Paragraph secondParagraph = paragraphSplitted(paragraph, secondNode); edit(secondParagraph, 0); - } else if (getEdited() instanceof DocBookSectionTitle) { - DocBookSectionTitle sectionTitle = (DocBookSectionTitle) getEdited(); + } else if (getEdited() instanceof DbkSectionTitle) { + DbkSectionTitle sectionTitle = (DbkSectionTitle) getEdited(); Text text = (Text) sectionTitle.getControl(); String txt = text.getText(); int caretPosition = text.getCaretPosition(); @@ -666,7 +666,7 @@ public abstract class AbstractDbkViewer extends AbstractPageViewer implements Ke // main title if (section == mainSection && section instanceof TextSection && paragraphNode.getIndex() == 1 && !sectionNode.hasNode(DbkType.title.get())) { - DocBookSectionTitle sectionTitle = prepareSectionTitle(section, txt); + DbkSectionTitle sectionTitle = prepareSectionTitle(section, txt); edit(sectionTitle, 0); return; } @@ -702,8 +702,8 @@ public abstract class AbstractDbkViewer extends AbstractPageViewer implements Ke newSection.getParent().layout(); layout(newSection); persistChanges(sectionNode); - } else if (getEdited() instanceof DocBookSectionTitle) { - DocBookSectionTitle sectionTitle = (DocBookSectionTitle) getEdited(); + } else if (getEdited() instanceof DbkSectionTitle) { + DbkSectionTitle sectionTitle = (DbkSectionTitle) getEdited(); Section section = sectionTitle.getSection(); Section parentSection = section.getParentSection(); if (parentSection == null) @@ -734,8 +734,8 @@ public abstract class AbstractDbkViewer extends AbstractPageViewer implements Ke try { if (getEdited() instanceof Paragraph) { upload(getEdited()); - } else if (getEdited() instanceof DocBookSectionTitle) { - DocBookSectionTitle sectionTitle = (DocBookSectionTitle) getEdited(); + } else if (getEdited() instanceof DbkSectionTitle) { + DbkSectionTitle sectionTitle = (DbkSectionTitle) getEdited(); Section section = sectionTitle.getSection(); Node sectionNode = section.getNode(); Section parentSection = section.getParentSection(); @@ -807,7 +807,7 @@ public abstract class AbstractDbkViewer extends AbstractPageViewer implements Ke return newParagraph; } - protected Paragraph sectionTitleSplitted(DocBookSectionTitle sectionTitle, Node newNode) + protected Paragraph sectionTitleSplitted(DbkSectionTitle sectionTitle, Node newNode) throws RepositoryException { updateContent(sectionTitle); Paragraph newParagraph = newParagraph(sectionTitle.getSection(), newNode); diff --git a/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkContextMenu.java b/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkContextMenu.java index a07a1cb..6046bf2 100644 --- a/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkContextMenu.java +++ b/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkContextMenu.java @@ -66,8 +66,8 @@ class DbkContextMenu { insertMediaB(parent, img); insertParagraphB(parent, DbkMsg.insertParagraph.lead(), img); - } else if (editablePart instanceof DocBookSectionTitle) { - DocBookSectionTitle sectionTitle = (DocBookSectionTitle) editablePart; + } else if (editablePart instanceof DbkSectionTitle) { + DbkSectionTitle sectionTitle = (DbkSectionTitle) editablePart; TextSection section = sectionTitle.getSection(); if (!section.isTitleReadOnly()) { Label deleteB = new Label(shell, SWT.NONE); diff --git a/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkSectionTitle.java b/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkSectionTitle.java new file mode 100644 index 0000000..92fd2b8 --- /dev/null +++ b/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkSectionTitle.java @@ -0,0 +1,30 @@ +package org.argeo.docbook.ui; + +import javax.jcr.Node; +import javax.jcr.RepositoryException; + +import org.argeo.cms.ui.viewers.EditablePart; +import org.argeo.cms.ui.viewers.NodePart; +import org.argeo.cms.ui.widgets.EditableText; +import org.eclipse.swt.widgets.Composite; + +/** The title of a section, based on an XML text node. */ +public class DbkSectionTitle extends EditableText implements EditablePart, NodePart { + private static final long serialVersionUID = -1787983154946583171L; + + private final TextSection section; + + public DbkSectionTitle(Composite parent, int swtStyle, Node titleNode) throws RepositoryException { + super(parent, swtStyle, titleNode); + section = (TextSection) TextSection.findSection(this); + } + + public TextSection getSection() { + return section; + } + + @Override + public Node getItem() throws RepositoryException { + return getNode(); + } +} diff --git a/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DocBookSectionTitle.java b/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DocBookSectionTitle.java deleted file mode 100644 index 4a46fbb..0000000 --- a/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DocBookSectionTitle.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.argeo.docbook.ui; - -import javax.jcr.Node; -import javax.jcr.RepositoryException; - -import org.argeo.cms.ui.viewers.EditablePart; -import org.argeo.cms.ui.viewers.NodePart; -import org.argeo.cms.ui.widgets.EditableText; -import org.eclipse.swt.widgets.Composite; - -/** The title of a section, based on an XML text node. */ -public class DocBookSectionTitle extends EditableText implements EditablePart, NodePart { - private static final long serialVersionUID = -1787983154946583171L; - - private final TextSection section; - - public DocBookSectionTitle(Composite parent, int swtStyle, Node titleNode) throws RepositoryException { - super(parent, swtStyle, titleNode); - section = (TextSection) TextSection.findSection(this); - } - -// @Override - public TextSection getSection() { - return section; - } - - @Override - public Node getItem() throws RepositoryException { - return getNode(); - } - -// @Override -// public String getPartId() { -// return getNodeId(); -// } - -// @Override -// protected void setControlLayoutData(Control control) { -// super.setControlLayoutData(control); -// control.setLayoutData(new GridData(SWT.LEAD, SWT.CENTER, true, false)); -// } -// -// @Override -// protected void setContainerLayoutData(Composite composite) { -// super.setContainerLayoutData(composite); -// composite.setLayoutData(new GridData(SWT.LEAD, SWT.BOTTOM, true, false)); -// } - -} diff --git a/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/TextSection.java b/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/TextSection.java index d7fe979..76ba661 100644 --- a/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/TextSection.java +++ b/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/TextSection.java @@ -60,8 +60,8 @@ public class TextSection extends Section { return titleStyle; // TODO make base H styles configurable // Integer relativeDepth = getRelativeDepth(); -// System.out.println("Level: "+getLevel()); - return getLevel() == 0 ? TextStyles.TEXT_TITLE : "h" + getLevel(); +// System.out.println("Level: " + getLevel()); + return "h" + (getLevel() + 1); } public void setDefaultTextStyle(String defaultTextStyle) {