[516667] Remove extra space after hyperlink Bug: 516667 Change-Id: I4098079a4b0fce194e11e7a81014e521d4fee88a Signed-off-by: Mélanie Bats <melanie.bats@obeo.fr>
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 e92305f..5d80ce1 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
@@ -12,6 +12,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.Optional; import org.eclipse.core.runtime.IStatus; import org.eclipse.eef.EEFHyperlinkDescription; @@ -103,10 +104,17 @@ * @see org.eclipse.eef.ide.ui.api.widgets.AbstractEEFWidgetLifecycleManager#createMainControl(org.eclipse.swt.widgets.Composite, * org.eclipse.eef.common.ui.api.IEEFFormContainer) */ + @SuppressWarnings("boxing") @Override protected void createMainControl(Composite parent, IEEFFormContainer formContainer) { this.widgetFactory = formContainer.getWidgetFactory(); + // if there is no actions defined the hyperlink does not need to grab all the horizontal space + if (this.description.getActions().size() == 0) { + Optional.ofNullable(parent.getLayoutData()).filter(GridData.class::isInstance).map(GridData.class::cast) + .map(gridData -> gridData.grabExcessHorizontalSpace = false); + } + // this is the parent composite Composite hyperlinkComposite = this.widgetFactory.createFlatFormComposite(parent); GridLayout layout = new GridLayout(2, false); @@ -115,8 +123,9 @@ layout.marginRight = 5; hyperlinkComposite.setLayout(layout); - GridData gridData = new GridData(SWT.FILL, SWT.CENTER, true, false); + GridData gridData = new GridData(SWT.FILL, SWT.CENTER, false, false); hyperlinkComposite.setLayoutData(gridData); + gridData.grabExcessHorizontalSpace = false; this.createHyperlink(hyperlinkComposite); this.createWidgetActionButtons(hyperlinkComposite); @@ -133,7 +142,7 @@ */ private void createHyperlink(Composite parent) { this.hyperlink = widgetFactory.createStyledText(parent, SWT.READ_ONLY); - GridData gridData = new GridData(SWT.FILL, SWT.CENTER, true, false); + GridData gridData = new GridData(SWT.FILL, SWT.CENTER, false, false); gridData.horizontalIndent = VALIDATION_MARKER_OFFSET; this.hyperlink.setLayoutData(gridData); this.hyperlink.setEditable(false);