private boolean fixedEntryArea = false;
private boolean singleTab = false;
private Localized title = null;
+ private Localized singleTabTitle = null;
@Override
public Control createUiPart(Composite parent, Content context) {
title = new Localized.Untranslated(titleStr);
}
}
+
+ String singleTabTitleStr = (String) properties.get(SuiteLayer.Property.singleTabTitle.name());
+ if (singleTabTitleStr != null) {
+ if (singleTabTitleStr.startsWith("%")) {
+ singleTabTitle = new Localized() {
+
+ @Override
+ public String name() {
+ return singleTabTitleStr;
+ }
+
+ @Override
+ public ClassLoader getL10nClassLoader() {
+ return bundleContext != null
+ ? bundleContext.getBundle().adapt(BundleWiring.class).getClassLoader()
+ : getClass().getClassLoader();
+ }
+ };
+ } else {
+ singleTabTitle = new Localized.Untranslated(singleTabTitleStr);
+ }
+ }
+
}
public void destroy(BundleContext bundleContext, Map<String, String> properties) {
SwtTabbedArea createTabbedArea(Composite parent, CmsSwtTheme theme) {
SwtTabbedArea tabbedArea = new SwtTabbedArea(parent, SWT.NONE);
tabbedArea.setSingleTab(singleTab);
+ if (singleTabTitle != null)
+ tabbedArea.setSingleTabTitle(singleTabTitle.lead());
tabbedArea.setBodyStyle(SuiteStyle.mainTabBody.style());
tabbedArea.setTabStyle(SuiteStyle.mainTab.style());
tabbedArea.setTabSelectedStyle(SuiteStyle.mainTabSelected.style());
/** An UI layer for the main work area. */
public interface SuiteLayer extends SwtUiProvider {
static enum Property {
- title, icon, weights, startMaximized, singleTab, fixedEntryArea;
+ title, icon, weights, startMaximized, singleTab, singleTabTitle, fixedEntryArea;
}
String getId();