]> git.argeo.org Git - gpl/argeo-slc.git/blob - eclipse/plugins/org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/views/ResultListView.java
4566ee0c2dc56465758dd01a38538c0a3c593366
[gpl/argeo-slc.git] / eclipse / plugins / org.argeo.slc.client.ui / src / org / argeo / slc / client / ui / views / ResultListView.java
1 package org.argeo.slc.client.ui.views;
2
3 import java.util.List;
4
5 import org.apache.commons.logging.Log;
6 import org.apache.commons.logging.LogFactory;
7 import org.argeo.slc.core.test.tree.ResultAttributes;
8 import org.argeo.slc.dao.test.tree.TreeTestResultCollectionDao;
9 import org.eclipse.jface.viewers.IStructuredContentProvider;
10 import org.eclipse.jface.viewers.ITableLabelProvider;
11 import org.eclipse.jface.viewers.LabelProvider;
12 import org.eclipse.jface.viewers.TableViewer;
13 import org.eclipse.jface.viewers.Viewer;
14 import org.eclipse.swt.SWT;
15 import org.eclipse.swt.graphics.Image;
16 import org.eclipse.swt.layout.GridData;
17 import org.eclipse.swt.widgets.Composite;
18 import org.eclipse.swt.widgets.Table;
19 import org.eclipse.swt.widgets.TableColumn;
20 import org.eclipse.ui.part.ViewPart;
21
22 public class ResultListView extends ViewPart {
23 private final static Log log = LogFactory.getLog(ResultListView.class);
24
25 public static final String ID = "org.argeo.slc.client.ui.resultListView";
26
27 private TableViewer viewer;
28
29 private TreeTestResultCollectionDao testResultCollectionDao;
30
31 public void createPartControl(Composite parent) {
32 Table table = createTable(parent);
33 viewer = new TableViewer(table);
34 viewer.setLabelProvider(new ViewLabelProvider());
35 viewer.setContentProvider(new ViewContentProvider());
36
37 viewer.setInput(getViewSite());
38 }
39
40 protected Table createTable(Composite parent) {
41 int style = SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL
42 | SWT.FULL_SELECTION | SWT.HIDE_SELECTION;
43
44 Table table = new Table(parent, style);
45
46 GridData gridData = new GridData(GridData.FILL_BOTH);
47 gridData.grabExcessVerticalSpace = true;
48 gridData.grabExcessHorizontalSpace = true;
49 gridData.horizontalSpan = 3;
50 table.setLayoutData(gridData);
51
52 table.setLinesVisible(true);
53 table.setHeaderVisible(true);
54
55 TableColumn column = new TableColumn(table, SWT.LEFT, 0);
56 column.setText("Date");
57 column.setWidth(200);
58
59 column = new TableColumn(table, SWT.LEFT, 1);
60 column.setText("UUID");
61 column.setWidth(300);
62
63 return table;
64 }
65
66 protected class ViewContentProvider implements IStructuredContentProvider {
67 private List<ResultAttributes> lst;
68
69 @SuppressWarnings("unchecked")
70 public void inputChanged(Viewer arg0, Object arg1, Object arg2) {
71 if (arg2 instanceof List) {
72 lst = (List<ResultAttributes>) arg2;
73 log.trace("result count: " + lst.size());
74 }
75 }
76
77 public void dispose() {
78 }
79
80 public Object[] getElements(Object obj) {
81 if (lst == null)
82 return new Object[0];
83 else
84 return lst.toArray();
85 // return
86 // testResultCollectionDao.listResultAttributes(null).toArray();
87 }
88 }
89
90 protected class ViewLabelProvider extends LabelProvider implements
91 ITableLabelProvider {
92 public String getColumnText(Object obj, int index) {
93 ResultAttributes ra = (ResultAttributes)obj;
94 switch(index){
95 case 0:
96 return getText(ra.getCloseDate());
97 case 1:
98 return ra.getUuid();
99 }
100 return getText(obj);
101 }
102
103 public Image getColumnImage(Object obj, int index) {
104 return null;
105 }
106
107 }
108
109 public void setFocus() {
110 viewer.getControl().setFocus();
111 }
112
113 public void retrieveResults() {
114 try {
115 List<ResultAttributes> lst = testResultCollectionDao
116 .listResultAttributes(null);
117 log.info("result count: " + lst.size());
118 viewer.setInput(lst);
119 } catch (Exception e) {
120 // TODO Auto-generated catch block
121 e.printStackTrace();
122 }
123 }
124
125 public void setTestResultCollectionDao(
126 TreeTestResultCollectionDao testResultCollectionDao) {
127 this.testResultCollectionDao = testResultCollectionDao;
128 }
129
130 }