Make single tab title configurable
authorMathieu <mbaudier@argeo.org>
Sat, 19 Nov 2022 12:09:19 +0000 (13:09 +0100)
committerMathieu <mbaudier@argeo.org>
Sat, 19 Nov 2022 12:09:19 +0000 (13:09 +0100)
swt/org.argeo.cms.swt/src/org/argeo/cms/swt/acr/SwtTabbedArea.java

index cd4e37d1937f49e15990585acd5bd4949b0d46a9..b65bc3b6a3a28171ff0719e69dd9c2739d1e4e0c 100644 (file)
@@ -40,6 +40,7 @@ public class SwtTabbedArea extends Composite {
        private StackLayout stackLayout;
 
        private boolean singleTab = false;
+       private String singleTabTitle = null;
 
        public SwtTabbedArea(Composite parent, int style) {
                super(parent, SWT.NONE);
@@ -86,13 +87,15 @@ public class SwtTabbedArea extends Composite {
                        Button title = new Button(sectionHeader, SWT.FLAT);
                        CmsSwtUtils.style(title, selected ? tabSelectedStyle : tabStyle);
                        title.setLayoutData(CmsSwtUtils.fillWidth());
-                       title.addSelectionListener((Selected) (e) -> showTab(tabIndex(section.getNode())));
+                       title.addSelectionListener((Selected) (e) -> showTab(tabIndex(section.getContent())));
                        Content node = section.getContent();
 
                        // FIXME find a standard way to display titles
                        String titleStr = node.getName().getLocalPart();
-                       
-                       // TODO internationalize
+                       if (singleTab && singleTabTitle != null)
+                               titleStr = singleTabTitle;
+
+                       // TODO internationalise
                        title.setText(titleStr);
                        if (!singleTab) {
                                ToolBar toolBar = new ToolBar(sectionHeader, SWT.NONE);
@@ -119,7 +122,7 @@ public class SwtTabbedArea extends Composite {
                        return;
                }
                SwtSection section = (SwtSection) body.getChildren()[0];
-               previousNode = (ProvidedContent) section.getNode();
+               previousNode = (ProvidedContent) section.getContent();
                if (previousNode == null) {// empty state
                        previousNode = (ProvidedContent) context;
                        previousUiProvider = uiProvider;
@@ -229,7 +232,7 @@ public class SwtTabbedArea extends Composite {
        public Content getCurrentContext() {
                SwtSection section = getCurrentSection();
                if (section != null) {
-                       return section.getNode();
+                       return section.getContent();
                } else {
                        return null;
                }
@@ -255,4 +258,8 @@ public class SwtTabbedArea extends Composite {
                this.singleTab = singleTab;
        }
 
+       public void setSingleTabTitle(String singleTabTitle) {
+               this.singleTabTitle = singleTabTitle;
+       }
+
 }