Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVolker Hotzan2012-03-14 15:23:29 +0000
committerVolker Hotzan2012-03-14 15:23:29 +0000
commit077d81e92152ee5181d32fe96e99677e9ca9909d (patch)
tree76ead2330edec4b7778fa6daad9b9cdbe79618f3
parent4d8e28c7b5f31044f737793ea91f2fa8aae49c90 (diff)
downloadorg.eclipse.jubula.core-077d81e92152ee5181d32fe96e99677e9ca9909d.tar.gz
org.eclipse.jubula.core-077d81e92152ee5181d32fe96e99677e9ca9909d.tar.xz
org.eclipse.jubula.core-077d81e92152ee5181d32fe96e99677e9ca9909d.zip
Refactors the SearchResultView.
Adds the possibility to display individual analysis results without a split pane. Renames the Numerical Project Element Counter metric.
-rw-r--r--org.eclipse.jubula.client.analyze.impl.standard/plugin.xml2
-rw-r--r--org.eclipse.jubula.client.analyze.ui/src/org/eclipse/jubula/client/analyze/ui/internal/ResultPage.java153
2 files changed, 120 insertions, 35 deletions
diff --git a/org.eclipse.jubula.client.analyze.impl.standard/plugin.xml b/org.eclipse.jubula.client.analyze.impl.standard/plugin.xml
index f7096574c..ea55e2cda 100644
--- a/org.eclipse.jubula.client.analyze.impl.standard/plugin.xml
+++ b/org.eclipse.jubula.client.analyze.impl.standard/plugin.xml
@@ -94,7 +94,7 @@
ResultType="tableResultMap"
class="org.eclipse.jubula.client.analyze.impl.standard.analyze.NumericalProjectElementCounter"
id="countSpecifiedTC"
- name="Numeric Project Element Counter">
+ name="Project Element Counter">
</Analyze>
<Analyze
CategoryID="numMet"
diff --git a/org.eclipse.jubula.client.analyze.ui/src/org/eclipse/jubula/client/analyze/ui/internal/ResultPage.java b/org.eclipse.jubula.client.analyze.ui/src/org/eclipse/jubula/client/analyze/ui/internal/ResultPage.java
index 249ffc618..4d4fba275 100644
--- a/org.eclipse.jubula.client.analyze.ui/src/org/eclipse/jubula/client/analyze/ui/internal/ResultPage.java
+++ b/org.eclipse.jubula.client.analyze.ui/src/org/eclipse/jubula/client/analyze/ui/internal/ResultPage.java
@@ -10,9 +10,16 @@
*******************************************************************************/
package org.eclipse.jubula.client.analyze.ui.internal;
+import java.util.Map;
+
import org.eclipse.jface.viewers.TreePath;
import org.eclipse.jface.viewers.TreeSelection;
import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jubula.client.analyze.internal.Analyze;
+import org.eclipse.jubula.client.analyze.internal.AnalyzeResult;
+import org.eclipse.jubula.client.analyze.internal.Renderer;
+import org.eclipse.jubula.client.analyze.internal.helper.RendererSelectionHelper;
+import org.eclipse.jubula.client.analyze.ui.internal.definition.IResultRendererUI;
import org.eclipse.jubula.client.analyze.ui.internal.listener.AnalyzeTreeViewerDoubleClickListener;
import org.eclipse.jubula.client.analyze.ui.internal.provider.QueryTreeContentProvider;
import org.eclipse.jubula.client.analyze.ui.internal.provider.QueryTreeLabelProvider;
@@ -22,6 +29,7 @@ import org.eclipse.search.ui.ISearchResultViewPart;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.custom.StackLayout;
+import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.IMemento;
@@ -50,6 +58,9 @@ public class ResultPage extends Page implements
/** The Stack-Layout Composite with the sash */
private Composite m_stackComp;
+ /** The parentComposite */
+ private Composite m_parentComp;
+
/** The DoubleClickListener */
private AnalyzeTreeViewerDoubleClickListener m_listener;
@@ -80,7 +91,32 @@ public class ResultPage extends Page implements
public void setListener(AnalyzeTreeViewerDoubleClickListener listener) {
this.m_listener = listener;
}
-
+ /**
+ * @return The QueryResult
+ */
+ public QueryResult getQueryResult() {
+ return m_queryResult;
+ }
+
+ /**
+ * @param queryResult The given QueryResult
+ */
+ public void setQueryResult(QueryResult queryResult) {
+ this.m_queryResult = queryResult;
+ }
+ /**
+ * @param parent The given Composite
+ */
+ private void setParentComposite(Composite parent) {
+ this.m_parentComp = parent;
+ }
+
+ /**
+ * @return The parentComposite
+ */
+ private Composite getParentComposite() {
+ return m_parentComp;
+ }
/**
* @param comp
* The Composite with the Stack-Layout Composite of this Page
@@ -92,26 +128,20 @@ public class ResultPage extends Page implements
* {@inheritDoc}
*/
public void createControl(Composite parent) {
- // create a new SashForm
- SashForm sash = new SashForm(parent, SWT.HORIZONTAL);
-
- // create a new TreeViewer
- m_tvl = new TreeViewer(sash);
- m_tvl.setContentProvider(new QueryTreeContentProvider());
- m_tvl.setLabelProvider(new QueryTreeLabelProvider());
-
- StackLayout stack = new StackLayout();
- Composite cmp = new Composite(sash, SWT.NONE);
- // use a StackLayout to enable to change the content of this Composite
- cmp.setLayout(stack);
- setStackComposite(cmp);
- m_listener = new AnalyzeTreeViewerDoubleClickListener(cmp);
- m_tvl.addDoubleClickListener(m_listener);
+ setQueryResult(null);
+ setParentComposite(null);
+
+ Composite par = new Composite(parent, SWT.NONE);
+ FillLayout f = new FillLayout(SWT.HORIZONTAL);
+ par.setLayout(f);
+
+ Composite c = new Composite(par, SWT.NONE);
+ StackLayout s = new StackLayout();
+ c.setLayout(s);
+ setParentComposite(c);
+ setControl(par);
- sash.setWeights(new int[] { 40, 60 });
- // set the Control
- setControl(sash);
}
/** {@inheritDoc} */
@@ -140,23 +170,78 @@ public class ResultPage extends Page implements
}
/** {@inheritDoc} */
public void setInput(ISearchResult search, Object uiState) {
- m_queryResult = (QueryResult) search;
-
- TreeViewer tv = new TreeViewer(getStackComposite());
- StackLayout l = (StackLayout) getStackComposite().getLayout();
-
- l.topControl = tv.getControl();
- getStackComposite().layout();
-
- getLeftTreeViewer().setInput(search);
- getLeftTreeViewer().expandAll();
-
- TreePath[] paths = getLeftTreeViewer().getExpandedTreePaths();
- if (paths.length > 0) {
- TreeSelection sel = new TreeSelection(paths);
- getLeftTreeViewer().setSelection(sel, true);
+ if (search instanceof QueryResult) {
+ setQueryResult((QueryResult) search);
+
+ if (getQueryResult().getResultMap().size() == 1) {
+ Analyze analyze = null;
+ AnalyzeResult result = null;
+ for (Map.Entry<Analyze, AnalyzeResult> a : getQueryResult()
+ .getResultMap().entrySet()) {
+ analyze = a.getKey();
+ result = a.getValue();
+ }
+ if (analyze != null && result != null) {
+ Renderer ren = RendererSelectionHelper
+ .getActiveRenderer(analyze);
+ IResultRendererUI rendererUI = (IResultRendererUI) ren
+ .getRendererInstance();
+ // setChosenRenderer(rendererUI);
+ rendererUI.renderResult(result, getParentComposite());
+
+ if (getParentComposite().getLayout()
+ instanceof StackLayout) {
+ StackLayout sl = (StackLayout) getParentComposite()
+ .getLayout();
+ sl.topControl = rendererUI.getTopControl();
+ getParentComposite().layout();
+ }
+ getParentComposite().layout();
+ }
+ }
+ if (getQueryResult().getResultMap().size() > 1) {
+ // create a new SashForm
+ SashForm sash = new SashForm(getParentComposite(),
+ SWT.HORIZONTAL);
+ // create a new TreeViewer
+ m_tvl = new TreeViewer(sash);
+ m_tvl.setContentProvider(new QueryTreeContentProvider());
+ m_tvl.setLabelProvider(new QueryTreeLabelProvider());
+ StackLayout stack = new StackLayout();
+ Composite cmp = new Composite(sash, SWT.NONE);
+ // use a StackLayout to enable to change the content of this
+ // Composite
+ cmp.setLayout(stack);
+ setStackComposite(cmp);
+ m_listener = new AnalyzeTreeViewerDoubleClickListener(cmp);
+ m_tvl.addDoubleClickListener(m_listener);
+ sash.setWeights(new int[] { 40, 60 });
+ // set the Control
+ // setControl(sash);
+
+ TreeViewer tv = new TreeViewer(getStackComposite());
+ StackLayout l = (StackLayout) getStackComposite().getLayout();
+
+ l.topControl = tv.getControl();
+ getStackComposite().layout();
+
+ getLeftTreeViewer().setInput(search);
+ getLeftTreeViewer().expandAll();
+
+ TreePath[] paths = getLeftTreeViewer().getExpandedTreePaths();
+ if (paths.length > 0) {
+ TreeSelection sel = new TreeSelection(paths);
+ getLeftTreeViewer().setSelection(sel, true);
+ }
+
+ StackLayout s = (StackLayout) getParentComposite().getLayout();
+ s.topControl = sash;
+
+ getParentComposite().layout();
+ }
}
}
+
/** {@inheritDoc} */
public void setViewPart(ISearchResultViewPart part) {
}

Back to the top