[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);