X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.app.ui%2Fsrc%2Forg%2Fargeo%2Fapp%2Fui%2FSuiteUiUtils.java;h=9d9395bb051950dbba4b6fde3f908b20a2ce420a;hb=23cb953f1408398ee2eb3fdbb82166a6aaa3bd33;hp=504fbd2e3ed72d54d979aa50b822f03e57a0ecd0;hpb=070108136c569aeb0d070ae2e9c41597ea390012;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUiUtils.java b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUiUtils.java index 504fbd2..9d9395b 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUiUtils.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUiUtils.java @@ -5,24 +5,27 @@ import java.io.InputStream; import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Paths; +import java.util.Objects; import javax.jcr.Node; import javax.jcr.RepositoryException; import javax.jcr.Session; import org.apache.commons.io.IOUtils; -import org.argeo.api.cms.CmsEditable; +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; @@ -43,7 +46,6 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; -import org.osgi.service.event.Event; /** UI utilities related to the APAF project. */ public class SuiteUiUtils { @@ -358,8 +360,13 @@ public class SuiteUiUtils { 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) @@ -386,22 +393,23 @@ public class SuiteUiUtils { return lbl; } - public static boolean isCoworker(CmsView cmsView) { - boolean coworker = cmsView.doAs(() -> CurrentUser.isInRole(SuiteRole.coworker.dn())); - return coworker; - } +// public static boolean isCoworker(CmsView cmsView) { +// boolean coworker = cmsView.doAs(() -> CurrentUser.isInRole(SuiteRole.coworker.dn())); +// return coworker; +// } - public static boolean isTopic(Event event, CmsEvent cmsEvent) { - return event.getTopic().equals(cmsEvent.topic()); + public static boolean isTopic(String topic, CmsEvent cmsEvent) { + Objects.requireNonNull(topic); + return topic.equals(cmsEvent.topic()); } 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) {