import java.io.IOException;
import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.file.Files;
+import java.nio.file.Paths;
import javax.jcr.Node;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
-import org.argeo.api.cms.CmsEditable;
+import org.apache.commons.io.IOUtils;
+import org.argeo.api.acr.Content;
import org.argeo.api.cms.CmsEvent;
-import org.argeo.api.cms.CmsStyle;
-import org.argeo.api.cms.CmsTheme;
-import org.argeo.api.cms.CmsView;
+import org.argeo.api.cms.ux.CmsEditable;
+import org.argeo.api.cms.ux.CmsIcon;
+import org.argeo.api.cms.ux.CmsStyle;
+import org.argeo.api.cms.ux.CmsView;
import org.argeo.app.api.EntityNames;
import org.argeo.app.api.EntityType;
import org.argeo.app.api.SuiteRole;
import org.argeo.cms.LocaleUtils;
import org.argeo.cms.Localized;
import org.argeo.cms.auth.CurrentUser;
-import org.argeo.cms.swt.CmsIcon;
+import org.argeo.cms.jcr.acr.JcrContent;
+import org.argeo.cms.swt.CmsSwtTheme;
import org.argeo.cms.swt.CmsSwtUtils;
import org.argeo.cms.swt.dialogs.LightweightDialog;
import org.argeo.cms.ui.util.CmsLink;
import org.argeo.cms.ui.util.CmsUiUtils;
import org.argeo.eclipse.ui.EclipseUiUtils;
import org.argeo.jcr.Jcr;
-import org.argeo.jcr.JcrException;
import org.argeo.jcr.JcrUtils;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ScrolledComposite;
public static Label addPicture(Composite parent, Node fileNode, Integer maxWidth, Node link)
throws RepositoryException {
Node content = fileNode.getNode(Node.JCR_CONTENT);
+
+ boolean test = false;
+ if (test) {
+ try (InputStream in = JcrUtils.getFileAsStream(fileNode);
+ OutputStream out = Files.newOutputStream(Paths.get("/home/mbaudier/tmp/" + fileNode.getName()));) {
+// BufferedImage img = ImageIO.read(in);
+// System.out.println(fileNode.getName() + ": width=" + img.getWidth() + ", height=" + img.getHeight());
+ IOUtils.copy(in, out);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+
+// try (InputStream in = JcrUtils.getFileAsStream(fileNode);) {
+// ImageData imageData = new ImageData(in);
+// System.out.println(fileNode.getName() + ": width=" + imageData.width + ", height=" + imageData.height);
+// } catch (IOException e) {
+// throw new RuntimeException(e);
+// }
+ }
// TODO move it deeper in the middleware.
if (!content.isNodeType(EntityType.box.get())) {
if (content.getSession().hasPermission(content.getPath(), Session.ACTION_SET_PROPERTY)) {
return img;
}
+ public static String toLink(Content node) {
+ return node != null ? "#" + CmsSwtUtils.cleanPathForUrl(SuiteApp.nodeToState(node)) : null;
+ }
+
public static String toLink(Node node) {
- return node != null ? "#" + CmsUiUtils.cleanPathForUrl(SuiteApp.nodeToState(node)) : null;
+ return node != null ? "#" + CmsSwtUtils.cleanPathForUrl(SuiteApp.nodeToState(JcrContent.nodeToContent(node)))
+ : null;
}
public static Control addLink(Composite parent, String label, Node node, CmsStyle style)
public static Button createLayerButton(Composite parent, String layer, Localized msg, CmsIcon icon,
ClassLoader l10nClassLoader) {
- CmsTheme theme = CmsSwtUtils.getCmsTheme(parent);
+ CmsSwtTheme theme = CmsSwtUtils.getCmsTheme(parent);
Button button = new Button(parent, SWT.PUSH);
CmsSwtUtils.style(button, SuiteStyle.leadPane);
if (icon != null)
- button.setImage(icon.getBigIcon(theme));
+ button.setImage(theme.getBigIcon(icon));
button.setLayoutData(new GridData(SWT.CENTER, SWT.BOTTOM, true, false));
// button.setToolTipText(msg.lead());
if (msg != null) {