X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=swt%2Forg.argeo.cms.swt%2Fsrc%2Forg%2Fargeo%2Fcms%2Fswt%2FAbstractSwtImageManager.java;h=30d6bc907b54229a2d00a4263878c13e3ccbaf22;hb=5724ab347ddfba8f2b21cdcc2fa0b8e1e2b4e527;hp=00a51ef921f9cc62a27e6bd6609b78b5f549b414;hpb=d2bca81ff63496bf1d879f4cbcd6a531f598e69c;p=lgpl%2Fargeo-commons.git diff --git a/swt/org.argeo.cms.swt/src/org/argeo/cms/swt/AbstractSwtImageManager.java b/swt/org.argeo.cms.swt/src/org/argeo/cms/swt/AbstractSwtImageManager.java index 00a51ef92..30d6bc907 100644 --- a/swt/org.argeo.cms.swt/src/org/argeo/cms/swt/AbstractSwtImageManager.java +++ b/swt/org.argeo.cms.swt/src/org/argeo/cms/swt/AbstractSwtImageManager.java @@ -1,24 +1,29 @@ package org.argeo.cms.swt; +import java.net.URI; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; + import org.argeo.api.cms.ux.Cms2DSize; import org.argeo.cms.ux.AbstractImageManager; -import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.ImageData; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; /** Manages only public images so far. */ public abstract class AbstractSwtImageManager extends AbstractImageManager { - protected abstract Image getSwtImage(M node); + protected abstract ImageData getSwtImageData(M node); protected abstract String noImg(Cms2DSize size); - public Boolean load(M node, Control control, Cms2DSize preferredSize) { + @Override + public Boolean load(M node, Control control, Cms2DSize preferredSize, URI link) { Cms2DSize imageSize = getImageSize(node); Cms2DSize size; String imgTag = null; - if (preferredSize == null || imageSize.getWidth() == 0 || imageSize.getHeight() == 0 - || (preferredSize.getWidth() == 0 && preferredSize.getHeight() == 0)) { - if (imageSize.getWidth() != 0 && imageSize.getHeight() != 0) { + if (preferredSize == null || imageSize.width() == 0 || imageSize.height() == 0 + || (preferredSize.width() == 0 && preferredSize.height() == 0)) { + if (imageSize.width() != 0 && imageSize.height() != 0) { // actual image size if completely known size = imageSize; } else { @@ -27,15 +32,15 @@ public abstract class AbstractSwtImageManager extends AbstractImageManager extends AbstractImageManager"); + sb.append(imgTag); + if (link != null) + sb.append(""); + lbl.setText(imgTag); // lbl.setSize(size); // } else if (control instanceof FileUpload) { @@ -70,8 +82,8 @@ public abstract class AbstractSwtImageManager extends AbstractImageManager