Make DocBook support more coherent.
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 19 Jul 2021 08:25:51 +0000 (10:25 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 19 Jul 2021 08:25:51 +0000 (10:25 +0200)
publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/AbstractDbkViewer.java
publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkContextMenu.java
publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkSectionTitle.java [new file with mode: 0644]
publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DocBookSectionTitle.java [deleted file]
publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/TextSection.java

index cde5c7fd74fbec68528937df76d4bb6a20da2c98..7c2b59b32905ea272622a7baba831bc2071f9729 100644 (file)
@@ -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);
index a07a1cb5089a0ac4b6a9cde58bfade6d6228c7df..6046bf2c9ce5c537761c43101131dff5ba789268 100644 (file)
@@ -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 (file)
index 0000000..92fd2b8
--- /dev/null
@@ -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 (file)
index 4a46fbb..0000000
+++ /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));
-//     }
-
-}
index d7fe97994532e503dba1aaa2006aaea72edb2a99..76ba661c3fd00461c962f023bd19fe7cff7f9c5d 100644 (file)
@@ -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) {