Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMélanie Bats2016-11-23 14:41:42 +0000
committerMelanie Bats2016-11-24 13:51:00 +0000
commitd617ef1dd356d2548bd9a44b1b91caeb6b8dd433 (patch)
tree02a5228673d2acfe255550ddf76002a6535daae8
parent7e0a1e0fa3d33672dd50a596a988f194df80b00b (diff)
downloadorg.eclipse.eef-d617ef1dd356d2548bd9a44b1b91caeb6b8dd433.tar.gz
org.eclipse.eef-d617ef1dd356d2548bd9a44b1b91caeb6b8dd433.tar.xz
org.eclipse.eef-d617ef1dd356d2548bd9a44b1b91caeb6b8dd433.zip
[498259] Action buttons broken after switching tab
The action buttons list was cleared when the aboutToBeHidden method was called which means that when we switched to another tab the action buttons references where cleared. To fix the issue, the clear action is just moved to the dispose method. The issue is fixed for all the widgets able to define action buttons : list, hyperlink and label. Bug: 498259 Change-Id: Id6ffc47e392a969747d2561d849bebc10a00333d Signed-off-by: Mélanie Bats <melanie.bats@obeo.fr>
-rw-r--r--plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFHyperlinkLifecycleManager.java12
-rw-r--r--plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFLabelLifecycleManager.java12
-rw-r--r--plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFListLifecycleManager.java12
3 files changed, 33 insertions, 3 deletions
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 f4f682701..5a67f8c06 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
@@ -300,7 +300,6 @@ public class EEFHyperlinkLifecycleManager extends AbstractEEFWidgetLifecycleMana
}
this.controller.removeNewValueConsumer();
- this.actionButtons.clear();
}
/**
@@ -317,4 +316,15 @@ public class EEFHyperlinkLifecycleManager extends AbstractEEFWidgetLifecycleMana
actionButton.setEnabled(this.isEnabled());
}
}
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.eef.ide.ui.api.widgets.AbstractEEFWidgetLifecycleManager#dispose()
+ */
+ @Override
+ public void dispose() {
+ super.dispose();
+ this.actionButtons.clear();
+ }
}
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 8ff889f2b..b6052b848 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
@@ -261,7 +261,6 @@ public class EEFLabelLifecycleManager extends AbstractEEFWidgetLifecycleManager
}
this.controller.removeNewValueConsumer();
- this.actionButtons.clear();
}
/**
@@ -293,4 +292,15 @@ public class EEFLabelLifecycleManager extends AbstractEEFWidgetLifecycleManager
protected Control getValidationControl() {
return this.body;
}
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.eef.ide.ui.api.widgets.AbstractEEFWidgetLifecycleManager#dispose()
+ */
+ @Override
+ public void dispose() {
+ super.dispose();
+ this.actionButtons.clear();
+ }
}
diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFListLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFListLifecycleManager.java
index 99b16f94c..d075adb97 100644
--- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFListLifecycleManager.java
+++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFListLifecycleManager.java
@@ -323,7 +323,6 @@ public class EEFListLifecycleManager extends AbstractEEFWidgetLifecycleManager {
this.tableViewer.getTable().removeSelectionListener(this.tableSelectionListener);
}
this.controller.removeNewValueConsumer();
- this.actionButtons.clear();
}
/**
@@ -355,4 +354,15 @@ public class EEFListLifecycleManager extends AbstractEEFWidgetLifecycleManager {
protected Control getValidationControl() {
return this.tableViewer.getTable().getParent();
}
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.eef.ide.ui.api.widgets.AbstractEEFWidgetLifecycleManager#dispose()
+ */
+ @Override
+ public void dispose() {
+ super.dispose();
+ this.actionButtons.clear();
+ }
}

Back to the top