import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeColumn;
import org.eclipse.ui.part.ViewPart;
/**
private final static Log log = LogFactory.getLog(ResultDetailView.class);
public static final String ID = "org.argeo.slc.client.ui.resultDetailView";
+ protected String[] columnNames = new String[] { "Test", "State", "Message",
+ "Id" };
+
private TreeViewer viewer;
+ private Tree resultDetailTree;
private String uuid;
private TreeTestResult ttr;
private TreeTestResultDao treeTestResultDao;
public void createPartControl(Composite parent) {
- // log.debug("In create part Control &&& uuid = " + uuid);
- viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
+ resultDetailTree = new Tree(parent, SWT.MULTI | SWT.H_SCROLL
+ | SWT.V_SCROLL);
+ GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.horizontalSpan = 3;
+ resultDetailTree.setLayoutData(gd);
+ resultDetailTree.setLinesVisible(true);
+ resultDetailTree.setHeaderVisible(true);
+
+ for (int i = 0; i < columnNames.length; i++) {
+ TreeColumn column = new TreeColumn(resultDetailTree, SWT.LEFT, i);
+ column.setText(columnNames[i]);
+
+ // TIP: Don't forget to set the width. If not set it is set to
+ // 0 and it will look as if the column didn't exist.
+ switch (i) {
+ case 0:
+ column.setWidth(130);
+ case 1:
+ column.setWidth(200);
+ default:
+ column.setWidth(70);
+ }
+ }
+ viewer = new TreeViewer(resultDetailTree);
+ viewer.setColumnProperties(columnNames);
+
viewer.setContentProvider(contentProvider);
+ // viewer.setLabelProvider(new ResultDetailLabelProvider());
+ log.debug("Injected LabelProvider :" + labelProvider.toString());
+
+ // TIP: It seems, that if the table has not defined any TreeColumns then
+ // a plain LabelProvider will be used. Since, we don't provide an
+ // instance of LabelProvider, a default one will be used and
+ // the TableLableProvider is ignored without notice. Took me quite
+ // a while to find that one out.
viewer.setLabelProvider(labelProvider);
+ log.debug("Persisted labelProvider :"
+ + viewer.getLabelProvider().toString());
// viewer.setInput(getViewSite());
- if (log.isDebugEnabled())
- log.debug("PartControl CREATED.");
+
+ // viewer.expandAll();
+
}
public void setFocus() {
public void retrieveResults() {
ttr = treeTestResultDao.getTestResult(uuid);
- log.debug("========= ttr: " + ttr);
viewer.setInput(ttr);
- log.debug("Input SET");
- setFocus();
+ // viewer.setInput(getViewSite());
+
+ // setFocus();
}
public void setUuid(String uuid) {