diff options
| author | Marvin Mueller | 2014-01-16 07:09:44 +0000 |
|---|---|---|
| committer | Marvin Mueller | 2014-01-16 08:24:07 +0000 |
| commit | 421500c36cf74b1317caac87ddb2205d9e3e7584 (patch) | |
| tree | 17eb3848dfb2953bfc8a78d3d04fbda9b0b092f4 | |
| parent | 305211ab752458f0f658dda4a12216020f6e39df (diff) | |
| download | org.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
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()); } /** |
