]> git.argeo.org Git - gpl/argeo-slc.git/blob - eclipse/plugins/runtime/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/ProcessDetailView.java
Finalise excel support for windows
[gpl/argeo-slc.git] / eclipse / plugins / runtime / org.argeo.slc.client.ui / src / main / java / org / argeo / slc / client / ui / views / ProcessDetailView.java
1 package org.argeo.slc.client.ui.views;
2
3 import org.argeo.slc.dao.process.SlcExecutionDao;
4 import org.argeo.slc.process.SlcExecution;
5 import org.eclipse.jface.viewers.IContentProvider;
6 import org.eclipse.jface.viewers.ITableLabelProvider;
7 import org.eclipse.jface.viewers.LabelProvider;
8 import org.eclipse.jface.viewers.TreeViewer;
9 import org.eclipse.swt.SWT;
10 import org.eclipse.swt.graphics.Image;
11 import org.eclipse.swt.widgets.Composite;
12 import org.eclipse.ui.part.ViewPart;
13
14 /**
15 * Multi-instance view that enables to browse the details of a given
16 * SlcExecution
17 *
18 * @author bsinou
19 *
20 */
21
22 public class ProcessDetailView extends ViewPart {
23 // private final static Log log =
24 // LogFactory.getLog(ProcessDetailView.class);
25 public static final String ID = "org.argeo.slc.client.ui.processDetailView";
26
27 private TreeViewer viewer;
28
29 private String uuid;
30 private SlcExecution se;
31
32 // IoC
33 private IContentProvider contentProvider;
34 private SlcExecutionDao slcExecutionDao;
35
36 public void createPartControl(Composite parent) {
37 viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
38 viewer.setContentProvider(contentProvider);
39 // viewer.setLabelProvider(labelProvider);
40 viewer.setLabelProvider(new ProcessDetailLabelProvider());
41 // viewer.setInput(getViewSite());
42 }
43
44 public void setFocus() {
45 viewer.getControl().setFocus();
46 }
47
48 public TreeViewer getViewer() {
49 return viewer;
50 }
51
52 public void retrieveResults() {
53 se = slcExecutionDao.getSlcExecution(uuid);
54 viewer.setInput(se);
55 }
56
57 public void setUuid(String uuid) {
58 this.uuid = uuid;
59 }
60
61 // Inner Class
62 public class ProcessDetailLabelProvider extends LabelProvider implements
63 ITableLabelProvider {
64 public String getColumnText(Object obj, int index) {
65 // log.debug(sessionFactory.getClass().toString());
66
67 SlcExecution se = (SlcExecution) obj;
68 switch (index) {
69
70 case 0:
71 return getText(se.getStartDate());
72 case 1:
73 return se.getHost();
74 case 2:
75 return se.getUuid();
76 case 3:
77 return se.currentStep().getType();
78 }
79 return getText(obj);
80 }
81
82 public Image getColumnImage(Object obj, int index) {
83 return null;
84 }
85
86 }
87
88 // IoC
89 public void setContentProvider(IContentProvider contentProvider) {
90 this.contentProvider = contentProvider;
91 }
92
93 public void setSlcExecutionDao(SlcExecutionDao slcExecutionDao) {
94 this.slcExecutionDao = slcExecutionDao;
95 }
96 }