Remove extra vertical spaces.
Change-Id: Idd694805066975f7f3cfe68d8bf5c71612b86811
Signed-off-by: Nicolas PERANSIN <nicolas.peransin@obeo.fr>
diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/AbstractEEFWidgetLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/AbstractEEFWidgetLifecycleManager.java
index a6ef481..978299b 100644
--- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/AbstractEEFWidgetLifecycleManager.java
+++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/AbstractEEFWidgetLifecycleManager.java
@@ -127,7 +127,7 @@
* {@inheritDoc}
*
* @see org.eclipse.eef.ide.ui.api.widgets.AbstractEEFLifecycleManager#createControl(org.eclipse.swt.widgets.Composite,
- * org.eclipse.eef.common.ui.api.IEEFFormContainer)
+ * org.eclipse.eef.common.ui.api.IEEFFormContainer)
*/
@Override
public void createControl(Composite parent, IEEFFormContainer formContainer) {
@@ -164,6 +164,9 @@
numColumn = numColumn + 1;
}
GridLayout layout = new GridLayout(numColumn, false);
+ // As this composite is "invisible", it must not add border.
+ layout.marginHeight = 0;
+ layout.marginWidth = 0;
composite.setLayout(layout);
GridData layoutData = new GridData(GridData.FILL_HORIZONTAL);
diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFGroupLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFGroupLifecycleManager.java
index ac6200e..b500aa6 100644
--- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFGroupLifecycleManager.java
+++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFGroupLifecycleManager.java
@@ -125,7 +125,7 @@
* {@inheritDoc}
*
* @see org.eclipse.eef.ide.ui.api.widgets.AbstractEEFLifecycleManager#createControl(org.eclipse.swt.widgets.Composite,
- * org.eclipse.eef.common.ui.api.IEEFFormContainer)
+ * org.eclipse.eef.common.ui.api.IEEFFormContainer)
*/
@Override
public void createControl(Composite parent, IEEFFormContainer formContainer) {
@@ -223,7 +223,9 @@
this.controller = new EEFControllersFactory().createGroupController(this.description, this.variableManager, this.interpreter,
this.editingContextAdapter);
- this.createSectionToolBar(this.section, this.description.getActions());
+ if (!this.description.getActions().isEmpty()) {
+ this.createSectionToolBar(this.section, this.description.getActions());
+ }
EEFControlSwitch eefControlSwitch = new EEFControlSwitch(this.interpreter, this.editingContextAdapter);
List<EEFControlDescription> controls = this.description.getControls();
diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFHyperlinkLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFHyperlinkLifecycleManager.java
index d1a75d1..4b96ad3 100644
--- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFHyperlinkLifecycleManager.java
+++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFHyperlinkLifecycleManager.java
@@ -112,9 +112,11 @@
// this is the parent composite
Composite hyperlinkComposite = this.widgetFactory.createFlatFormComposite(parent);
GridLayout layout = new GridLayout(2, false);
- // Remove the 5px left margin only
+ // Align buttons end with other widgets;
+ // In loop line, avoid awkward spaces.
layout.marginWidth = 0;
- layout.marginRight = 5;
+ // Avoid empty horizontal line.
+ layout.marginHeight = 0;
hyperlinkComposite.setLayout(layout);
GridData gridData = new GridData(SWT.FILL, SWT.CENTER, true, false);
@@ -148,19 +150,26 @@
* The parent composite
*/
private void createWidgetActionButtons(Composite parent) {
- Composite buttons = this.widgetFactory.createFlatFormComposite(parent);
+ if (!description.getActions().isEmpty()) {
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = false;
- buttons.setLayoutData(gridData);
+ Composite buttons = this.widgetFactory.createComposite(parent);
- buttons.setLayout(new GridLayout(this.description.getActions().size(), true));
+ GridData gridData = new GridData();
+ gridData.grabExcessHorizontalSpace = false;
+ buttons.setLayoutData(gridData);
- // Buttons are visible only if an action is defined
- for (EEFWidgetAction action : this.description.getActions()) {
- ActionButton actionButton = new ActionButton(action, buttons, this.widgetFactory, this.interpreter, this.variableManager);
- actionButtons.add(actionButton);
- }
+ GridLayout layout = new GridLayout(this.description.getActions().size(), true);
+ // hyperlinkComposite already provide vertical and horizontal spacing.
+ layout.marginHeight = 0;
+ buttons.setLayout(layout);
+
+ // Buttons are visible only if an action is defined
+ for (EEFWidgetAction action : this.description.getActions()) {
+ ActionButton actionButton = new ActionButton(action, buttons, this.widgetFactory, this.interpreter, this.variableManager);
+ actionButtons.add(actionButton);
+ }
+ } // else (no action), avoid extra space
+
}
/**
diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFLabelLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFLabelLifecycleManager.java
index bdf54b6..7ba3e39 100644
--- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFLabelLifecycleManager.java
+++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFLabelLifecycleManager.java
@@ -103,7 +103,7 @@
* {@inheritDoc}
*
* @see org.eclipse.eef.ide.ui.api.widgets.AbstractEEFWidgetLifecycleManager#createMainControl(org.eclipse.swt.widgets.Composite,
- * org.eclipse.eef.common.ui.api.IEEFFormContainer)
+ * org.eclipse.eef.common.ui.api.IEEFFormContainer)
*/
@Override
protected void createMainControl(Composite parent, IEEFFormContainer formContainer) {
@@ -112,9 +112,11 @@
// this is the parent composite
Composite labelComposite = this.widgetFactory.createFlatFormComposite(parent);
GridLayout layout = new GridLayout(2, false);
- // Remove the 5px left margin only
+ // Align buttons end with other widgets;
+ // In loop line, avoid awkward spaces.
layout.marginWidth = 0;
- layout.marginRight = 5;
+ // Avoid empty horizontal line.
+ layout.marginHeight = 0;
labelComposite.setLayout(layout);
GridData gridData = new GridData(SWT.FILL, SWT.CENTER, true, false);
@@ -152,18 +154,24 @@
* The parent composite
*/
private void createWidgetActionButtons(Composite parent) {
- Composite buttons = this.widgetFactory.createFlatFormComposite(parent);
+ if (!description.getActions().isEmpty()) {
+ Composite buttons = this.widgetFactory.createComposite(parent);
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = false;
- buttons.setLayoutData(gridData);
+ GridData gridData = new GridData();
+ gridData.grabExcessHorizontalSpace = false;
+ buttons.setLayoutData(gridData);
- buttons.setLayout(new GridLayout(this.description.getActions().size(), true));
+ GridLayout layout = new GridLayout(this.description.getActions().size(), true);
+ // labelComposite already provide vertical spacing.
+ layout.marginHeight = 0;
- // Buttons are visible only if an action is defined
- for (EEFWidgetAction action : this.description.getActions()) {
- ActionButton actionButton = new ActionButton(action, buttons, this.widgetFactory, this.interpreter, this.variableManager);
- actionButtons.add(actionButton);
+ buttons.setLayout(layout);
+
+ // Buttons are visible only if an action is defined
+ for (EEFWidgetAction action : this.description.getActions()) {
+ ActionButton actionButton = new ActionButton(action, buttons, this.widgetFactory, this.interpreter, this.variableManager);
+ actionButtons.add(actionButton);
+ }
}
}