Add CMS link
authorMathieu Baudier <mbaudier@argeo.org>
Sun, 25 Jun 2023 05:44:03 +0000 (07:44 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Sun, 25 Jun 2023 05:44:03 +0000 (07:44 +0200)
swt/org.argeo.app.swt/src/org/argeo/app/swt/ux/SuiteSwtUtils.java

index 36e018ea4411785dfa818aecefe653664c354c33..dbcb3d8cd21c76be3410404ab7a49a640c8d121f 100644 (file)
@@ -7,11 +7,13 @@ import javax.xml.namespace.QName;
 import org.argeo.api.acr.Content;
 import org.argeo.api.acr.QNamed;
 import org.argeo.api.cms.ux.CmsEditable;
+import org.argeo.api.cms.ux.CmsStyle;
 import org.argeo.app.ux.SuiteStyle;
 import org.argeo.cms.Localized;
 import org.argeo.cms.swt.CmsSwtUtils;
 import org.argeo.cms.swt.dialogs.CmsFeedback;
 import org.argeo.cms.swt.widgets.EditableText;
+import org.argeo.cms.swt.widgets.CmsLink;
 import org.argeo.eclipse.ui.EclipseUiUtils;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.FocusEvent;
@@ -317,6 +319,13 @@ public class SuiteSwtUtils {
                return txt;
        }
 
+       /** Add a link to an internal content. */
+       public static Control addLink(Composite parent, String label, Content node, CmsStyle style) {
+               String target = toLink(node);
+               CmsLink link = new CmsLink(label, target, style);
+               return link.createUi(parent);
+       }
+
        /** singleton */
        private SuiteSwtUtils() {
        }