1 package org.argeo.activities.e4.parts;
2
3 import javax.inject.Inject;
4 import javax.jcr.Node;
5 import javax.jcr.Property;
6
7 import org.apache.commons.logging.Log;
8 import org.apache.commons.logging.LogFactory;
9 import org.argeo.activities.ActivitiesService;
10 import org.argeo.activities.ui.ActivityChildrenList;
11 import org.argeo.activities.ui.RelatedActivityList;
12 import org.argeo.activities.ui.TaskBasicHeader;
13 import org.argeo.connect.e4.parts.AbstractConnectCTabEditor;
14 import org.argeo.connect.ui.util.LazyCTabControl;
15 import org.argeo.eclipse.ui.EclipseUiUtils;
16 import org.argeo.jcr.JcrUtils;
17 import org.eclipse.swt.SWT;
18 import org.eclipse.swt.custom.CTabFolder;
19 import org.eclipse.swt.widgets.Composite;
20
21
22 public class TaskEditor extends AbstractConnectCTabEditor {
23 final static Log log = LogFactory.getLog(TaskEditor.class);
24
25
26
27 @Inject
28 private ActivitiesService activitiesService;
29 private Node task;
30
31
32
33 public TaskEditor() {
34 super();
35 }
36
37 public void init() {
38 super.init();
39 task = getNode();
40 }
41
42 protected String getCurrentTaskType() {
43 return activitiesService.getMainNodeType(task);
44 }
45
46 protected void populateHeader(Composite parent) {
47 parent.setLayout(EclipseUiUtils.noSpaceGridLayout());
48 Composite headerCmp = new TaskBasicHeader(this, parent, SWT.NO_FOCUS, getUserAdminService(),
49 getResourcesService(), getActivitiesService(), getSystemWorkbenchService(), getCurrentTaskType(), task);
50 headerCmp.setLayoutData(EclipseUiUtils.fillWidth());
51 }
52
53 @Override
54 protected void populateTabFolder(CTabFolder folder) {
55
56 String tooltip = "Activities and tasks related to " + JcrUtils.get(task, Property.JCR_TITLE);
57 LazyCTabControl activitiesCmp = new ActivityChildrenList(folder, SWT.NO_FOCUS, this, getUserAdminService(),
58 getResourcesService(), getActivitiesService(), getSystemAppService(), getSystemWorkbenchService(),
59 task);
60 activitiesCmp.setLayoutData(EclipseUiUtils.fillAll());
61 addLazyTabToFolder(folder, activitiesCmp, "Activity log", RelatedActivityList.CTAB_ID, tooltip);
62 }
63
64 protected ActivitiesService getActivitiesService() {
65 return activitiesService;
66 }
67
68
69 public void setActivitiesService(ActivitiesService activitiesService) {
70 this.activitiesService = activitiesService;
71 }
72 }