X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=publishing%2Forg.argeo.publishing.ui%2Fsrc%2Forg%2Fargeo%2Fdocbook%2Fui%2FAbstractDbkViewer.java;h=e9000936128b2f94f850475471b28161399911dc;hb=752a7b2614895002a3d184be166ef4162caf0d05;hp=8e18b3232b29782cfa570a967ec9b860a05bc928;hpb=d3a20494b99046cd9f67491064333ba56fbe5772;p=gpl%2Fargeo-suite.git 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 8e18b32..e900093 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 @@ -99,6 +99,7 @@ public abstract class AbstractDbkViewer extends AbstractPageViewer implements Ke protected void refresh(Control control) throws RepositoryException { if (!(control instanceof Section)) return; + long begin = System.currentTimeMillis(); Section section = (Section) control; if (section instanceof TextSection) { CmsUiUtils.clear(section); @@ -123,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); } @@ -173,6 +174,8 @@ public abstract class AbstractDbkViewer extends AbstractPageViewer implements Ke refresh(s); } // section.layout(true, true); + long duration = System.currentTimeMillis() - begin; +// System.out.println(duration + " ms - " + DbkUtils.getTitle(section.getNode())); } /** To be overridden in order to provide additional SectionPart types */ @@ -218,38 +221,32 @@ public abstract class AbstractDbkViewer extends AbstractPageViewer implements Ke protected DbkVideo newVideo(TextSection parent, Node node) { try { -// node.getSession(); -// Composite wrapper = new Composite(parent, SWT.NONE); -// new Label(wrapper,SWT.NONE).setText("TEST"); - DbkVideo video = new DbkVideo(parent, SWT.BORDER, node); + DbkVideo video = new DbkVideo(parent, getCmsEditable().canEdit() ? SWT.NONE : SWT.READ_ONLY, node); GridData gd; if (maxMediaWidth != null) { gd = new GridData(SWT.CENTER, SWT.FILL, false, false); // TODO, manage size - gd.widthHint = maxMediaWidth; - gd.heightHint = (int) (gd.heightHint * 0.5625); -// img.setPreferredSize(new Point(maxMediaWidth, 0)); +// gd.widthHint = maxMediaWidth; +// gd.heightHint = (int) (gd.heightHint * 0.5625); } else { gd = new GridData(SWT.CENTER, SWT.FILL, false, false); - gd.widthHint = video.getWidth(); - gd.heightHint = video.getHeight(); -// gd = new GridData(video.getWidth(),video.getHeight()); +// gd.widthHint = video.getWidth(); +// gd.heightHint = video.getHeight(); } -// wrapper.setLayoutData(gd); video.setLayoutData(gd); updateContent(video); - return null; + return video; } catch (RepositoryException e) { throw new JcrException("Cannot add new image " + node, e); } } - 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()); @@ -260,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; } @@ -302,13 +299,14 @@ public abstract class AbstractDbkViewer extends AbstractPageViewer implements Ke paragraph.setText(textInterpreter.readSimpleHtml(partNode)); } else if (part instanceof DbkImg) { DbkImg editableImage = (DbkImg) part; - imageManager.load(partNode, part.getControl(), editableImage.getPreferredImageSize()); + // imageManager.load(partNode, part.getControl(), + // editableImage.getPreferredImageSize()); } else if (part instanceof DbkVideo) { 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()) @@ -541,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(); @@ -668,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; } @@ -704,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) @@ -736,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(); @@ -809,8 +807,7 @@ public abstract class AbstractDbkViewer extends AbstractPageViewer implements Ke return newParagraph; } - protected Paragraph sectionTitleSplitted(DocBookSectionTitle sectionTitle, Node newNode) - throws RepositoryException { + protected Paragraph sectionTitleSplitted(DbkSectionTitle sectionTitle, Node newNode) throws RepositoryException { updateContent(sectionTitle); Paragraph newParagraph = newParagraph(sectionTitle.getSection(), newNode); // we assume beforeFirst is not null since there was a sectionTitle