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;
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<String, String> 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
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());