Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarvin Mueller2014-01-16 07:09:44 +0000
committerMarvin Mueller2014-01-16 08:24:07 +0000
commit421500c36cf74b1317caac87ddb2205d9e3e7584 (patch)
tree17eb3848dfb2953bfc8a78d3d04fbda9b0b092f4
parent305211ab752458f0f658dda4a12216020f6e39df (diff)
downloadorg.eclipse.jubula.core-421500c36cf74b1317caac87ddb2205d9e3e7584.tar.gz
org.eclipse.jubula.core-421500c36cf74b1317caac87ddb2205d9e3e7584.tar.xz
org.eclipse.jubula.core-421500c36cf74b1317caac87ddb2205d9e3e7584.zip
Sprint task - fix for refreshing problems with the properties page.
We are now using the SelectionService to get selection events. This fixed: http://bugs.eclipse.org/421431 http://bugs.eclipse.org/423717 http://bugs.eclipse.org/409693
-rw-r--r--org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/editors/TestCaseEditor.java10
-rw-r--r--org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/views/JBPropertiesPage.java8
-rw-r--r--org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/views/TestCaseBrowser.java1
3 files changed, 16 insertions, 3 deletions
diff --git a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/editors/TestCaseEditor.java b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/editors/TestCaseEditor.java
index dedaf76d4..201af3b47 100644
--- a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/editors/TestCaseEditor.java
+++ b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/editors/TestCaseEditor.java
@@ -75,6 +75,7 @@ import org.eclipse.jubula.client.ui.rcp.provider.ControlDecorator;
import org.eclipse.jubula.client.ui.rcp.provider.DecoratingCellLabelProvider;
import org.eclipse.jubula.client.ui.rcp.provider.contentprovider.EventHandlerContentProvider;
import org.eclipse.jubula.client.ui.rcp.provider.labelprovider.TooltipLabelProvider;
+import org.eclipse.jubula.client.ui.rcp.provider.selectionprovider.SelectionProviderIntermediate;
import org.eclipse.jubula.client.ui.rcp.utils.UIIdentitiyElementComparer;
import org.eclipse.jubula.client.ui.utils.DialogUtils;
import org.eclipse.jubula.client.ui.utils.ErrorHandlingUtil;
@@ -120,6 +121,9 @@ public class TestCaseEditor extends AbstractTestCaseEditor
/** the current TreeViewer */
private TreeViewer m_currentTreeViewer;
+
+ /** the selection provider to handle both TreeViewer **/
+ private SelectionProviderIntermediate m_selectionProviderDelegate;
/** {@inheritDoc} */
public void createPartControlImpl(Composite parent) {
@@ -137,6 +141,10 @@ public class TestCaseEditor extends AbstractTestCaseEditor
checkAndRemoveUnusedTestData();
}
m_currentTreeViewer = getMainTreeViewer();
+ m_selectionProviderDelegate = new SelectionProviderIntermediate();
+ m_selectionProviderDelegate
+ .setSelectionProviderDelegate(m_currentTreeViewer);
+ getSite().setSelectionProvider(m_selectionProviderDelegate);
}
/**
@@ -308,6 +316,8 @@ public class TestCaseEditor extends AbstractTestCaseEditor
} else if (getEventHandlerTreeViewer().getTree() == tree) {
m_currentTreeViewer = getEventHandlerTreeViewer();
}
+ m_selectionProviderDelegate
+ .setSelectionProviderDelegate(m_currentTreeViewer);
}
}
diff --git a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/views/JBPropertiesPage.java b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/views/JBPropertiesPage.java
index 43952bab6..35e77dc9b 100644
--- a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/views/JBPropertiesPage.java
+++ b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/views/JBPropertiesPage.java
@@ -367,8 +367,9 @@ public class JBPropertiesPage extends Page implements IDataChangedListener,
dispatcher.addPartClosedListener(this, true);
dispatcher.addLanguageChangedListener(this, true);
m_treeViewer.getControl().addHelpListener(m_helpListener);
+ getSite().getWorkbenchWindow().getSelectionService()
+ .addSelectionListener(this);
}
-
/**
* Creates a new Tree for this View.
* @param parent the parent composite
@@ -468,6 +469,8 @@ public class JBPropertiesPage extends Page implements IDataChangedListener,
dispatcher.removeParamChangedListener(this);
dispatcher.removePartClosedListener(this);
dispatcher.removeLanguageChangedListener(this);
+ getSite().getWorkbenchWindow()
+ .getSelectionService().removeSelectionListener(this);
getSite().setSelectionProvider(null);
setCurrentEditor(null);
}
@@ -590,14 +593,13 @@ public class JBPropertiesPage extends Page implements IDataChangedListener,
IStructuredSelection selection) {
m_correspondingPart = part;
-
Object firstElement = selection.getFirstElement();
if (firstElement == null) {
// e.g. when a project was opened and no view has a selection
m_treeViewer.setSelection(null);
m_treeViewer.setInput(null);
- } else {
+ } else { // TestResultNodes must be excluded
if (firstElement instanceof IPersistentObject) {
m_treeViewer.setInput(firstElement);
workaroundSpringySelection(m_focusCellManager);
diff --git a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/views/TestCaseBrowser.java b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/views/TestCaseBrowser.java
index 21ecdf27e..0184df906 100644
--- a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/views/TestCaseBrowser.java
+++ b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/views/TestCaseBrowser.java
@@ -133,6 +133,7 @@ public class TestCaseBrowser extends AbstractJBTreeView
}
// add this TCB to the tracker
MultipleTCBTracker.getInstance().addTCB(this);
+ getSite().setSelectionProvider(getTreeViewer());
}
/**

Back to the top