X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.suite.ui%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fui%2FDefaultHeader.java;fp=org.argeo.suite.ui%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fui%2FDefaultHeader.java;h=de38c44af65c27871b59cb91d017fa6455d2ac6a;hb=5ace611de7a12d74a6b606861b89a2d3517514b0;hp=0000000000000000000000000000000000000000;hpb=5efb7665bbe5bf4cc4f4f24ee3bd02b07840aad5;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultHeader.java b/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultHeader.java new file mode 100644 index 0000000..de38c44 --- /dev/null +++ b/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultHeader.java @@ -0,0 +1,48 @@ +package org.argeo.suite.ui; + +import java.util.Dictionary; +import java.util.Map; +import java.util.TreeMap; + +import javax.jcr.Node; +import javax.jcr.RepositoryException; + +import org.argeo.cms.LocaleUtils; +import org.argeo.cms.ui.CmsUiProvider; +import org.argeo.cms.ui.util.CmsUiUtils; +import org.argeo.util.LangUtils; +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Label; +import org.osgi.service.cm.ConfigurationException; +import org.osgi.service.cm.ManagedService; + +public class DefaultHeader implements CmsUiProvider, ManagedService { + public final static String TITLE_PROPERTY = "argeo.work.header.title"; + private Map properties; + + @Override + public Control createUi(Composite parent, Node context) throws RepositoryException { + parent.setLayout(new GridLayout()); + Label lbl = new Label(parent, SWT.NONE); + String title = properties.get(TITLE_PROPERTY); + lbl.setText(LocaleUtils.isLocaleKey(title) ? LocaleUtils.local(title, getClass().getClassLoader()).toString() + : title); + CmsUiUtils.style(lbl, WorkStyles.header); + lbl.setLayoutData(CmsUiUtils.fillWidth()); + return lbl; + } + + public void init(Map properties) { + this.properties = new TreeMap<>(properties); + } + + @Override + public void updated(Dictionary properties) throws ConfigurationException { + if (properties != null) + this.properties.putAll(LangUtils.dictToStringMap(properties)); + } + +}