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.ui.CmsUiProvider;
import org.argeo.cms.ui.CmsView;
import org.argeo.cms.ui.util.CmsUiUtils;
-import org.argeo.util.LangUtils;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
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;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.wiring.BundleWiring;
-/** HEader of a standard Argeo Suite application. */
-public class DefaultHeader implements CmsUiProvider, ManagedService {
+/** Header of a standard Argeo Suite application. */
+public class DefaultHeader implements CmsUiProvider {
public final static String TITLE_PROPERTY = "argeo.suite.ui.header.title";
- private Map<String, String> properties;
-
private Localized title = null;
@Override
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
return lbl;
}
- public void init(Map<String, String> properties) {
- this.properties = new TreeMap<>(properties);
+ public void init(BundleContext bundleContext, Map<String, String> properties) {
+ 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 bundleContext != null
+ ? bundleContext.getBundle().adapt(BundleWiring.class).getClassLoader()
+ : getClass().getClassLoader();
+ }
+ };
+ } else {
+ title = new Localized.Untranslated(titleStr);
+ }
+ }
+ }
+
+ public void destroy(BundleContext bundleContext, Map<String, String> properties) {
+
}
- @Override
- public void updated(Dictionary<String, ?> properties) throws ConfigurationException {
- if (properties != null)
- this.properties.putAll(LangUtils.dictToStringMap(properties));
+ public Localized getTitle() {
+ return title;
}
}