X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=core%2Forg.argeo.suite.ui%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fui%2FDefaultHeader.java;h=d3b474000e1ed57b13b65940b867163e5b597817;hp=692a23badf2c4c1f3c5d2446420a5404ddb676d5;hb=3afd052c9c380355ebfce9455e8fa3993f168fe0;hpb=141bd601f003f607bfa3dda6c74d4220ca63a2d3 diff --git a/core/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultHeader.java b/core/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultHeader.java index 692a23b..d3b4740 100644 --- a/core/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultHeader.java +++ b/core/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultHeader.java @@ -7,7 +7,7 @@ import java.util.TreeMap; import javax.jcr.Node; import javax.jcr.RepositoryException; -import org.argeo.cms.LocaleUtils; +import org.argeo.cms.Localized; import org.argeo.cms.auth.CurrentUser; import org.argeo.cms.ui.CmsTheme; import org.argeo.cms.ui.CmsUiProvider; @@ -26,16 +26,38 @@ import org.eclipse.swt.widgets.Label; import org.osgi.service.cm.ConfigurationException; import org.osgi.service.cm.ManagedService; -/** HEader of a standard Argeo Suite applicaiton. */ +/** HEader of a standard Argeo Suite application. */ public class DefaultHeader implements CmsUiProvider, ManagedService { public final static String TITLE_PROPERTY = "argeo.suite.ui.header.title"; private Map properties; + private Localized title = null; + @Override public Control createUi(Composite parent, Node context) throws RepositoryException { CmsView cmsView = CmsView.getCmsView(parent); CmsTheme theme = CmsTheme.getCmsTheme(parent); + String titleStr = (String) properties.get(TITLE_PROPERTY); + if (titleStr != null) { + if (titleStr.startsWith("%")) { + title = new Localized() { + + @Override + public String name() { + return titleStr; + } + + @Override + public ClassLoader getL10nClassLoader() { + return getClass().getClassLoader(); + } + }; + } else { + title = new Localized.Untranslated(titleStr); + } + } + parent.setLayout(CmsUiUtils.noSpaceGridLayout(new GridLayout(3, true))); // TODO right to left @@ -44,9 +66,11 @@ public class DefaultHeader implements CmsUiProvider, ManagedService { lead.setLayoutData(new GridData(SWT.LEAD, SWT.CENTER, true, false)); lead.setLayout(new GridLayout()); Label lbl = new Label(lead, SWT.NONE); - String title = properties.get(TITLE_PROPERTY); - lbl.setText(LocaleUtils.isLocaleKey(title) ? LocaleUtils.local(title, getClass().getClassLoader()).toString() - : title); +// String title = properties.get(TITLE_PROPERTY); +// // TODO expose the localized +// lbl.setText(LocaleUtils.isLocaleKey(title) ? LocaleUtils.local(title, getClass().getClassLoader()).toString() +// : title); + lbl.setText(title.lead()); CmsUiUtils.style(lbl, SuiteStyle.headerTitle); lbl.setLayoutData(CmsUiUtils.fillWidth());