diff options
| author | Volker Hotzan | 2012-03-14 15:23:29 +0000 |
|---|---|---|
| committer | Volker Hotzan | 2012-03-14 15:23:29 +0000 |
| commit | 077d81e92152ee5181d32fe96e99677e9ca9909d (patch) | |
| tree | 76ead2330edec4b7778fa6daad9b9cdbe79618f3 | |
| parent | 4d8e28c7b5f31044f737793ea91f2fa8aae49c90 (diff) | |
| download | org.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.xml | 2 | ||||
| -rw-r--r-- | org.eclipse.jubula.client.analyze.ui/src/org/eclipse/jubula/client/analyze/ui/internal/ResultPage.java | 153 |
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) { } |
