X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=publishing%2Forg.argeo.publishing.ui%2Fsrc%2Forg%2Fargeo%2Fdocbook%2Fui%2FDbkImageManager.java;fp=publishing%2Forg.argeo.publishing.ui%2Fsrc%2Forg%2Fargeo%2Fdocbook%2Fui%2FDbkImageManager.java;h=2e72a3e767249711de4dd30c4a57fea505342f7b;hp=0000000000000000000000000000000000000000;hb=06db6a211a46ba994d007e30f62704165c413177;hpb=4f4e2b4985cc4cc910da83398e8a9cd37645ef9c diff --git a/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkImageManager.java b/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkImageManager.java new file mode 100644 index 0000000..2e72a3e --- /dev/null +++ b/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkImageManager.java @@ -0,0 +1,37 @@ +package org.argeo.docbook.ui; + +import java.io.IOException; + +import javax.jcr.Binary; +import javax.jcr.Node; +import javax.jcr.RepositoryException; + +import org.argeo.cms.ui.CmsImageManager; +import org.argeo.cms.ui.util.DefaultImageManager; +import org.argeo.entity.EntityNames; +import org.eclipse.swt.graphics.ImageData; +import org.eclipse.swt.graphics.Point; + +/** Add DocBook images support to {@link CmsImageManager}. */ +public class DbkImageManager extends DefaultImageManager { + @Override + public Binary getImageBinary(Node node) throws RepositoryException { + Binary binary = super.getImageBinary(node); + return binary; + } + + public Point getImageSize(Node node) throws RepositoryException { + int width = node.hasProperty(EntityNames.SVG_WIDTH) ? (int) node.getProperty(EntityNames.SVG_WIDTH).getLong() + : 0; + int height = node.hasProperty(EntityNames.SVG_HEIGHT) ? (int) node.getProperty(EntityNames.SVG_HEIGHT).getLong() + : 0; + return new Point(width, height); + } + + @Override + protected void processNewImageFile(Node fileNode, ImageData id) throws RepositoryException, IOException { + fileNode.setProperty(EntityNames.SVG_WIDTH, id.width); + fileNode.setProperty(EntityNames.SVG_HEIGHT, id.height); + } + +}