View Javadoc
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  /** Default connect task editor */
22  public class TaskEditor extends AbstractConnectCTabEditor {
23  	final static Log log = LogFactory.getLog(TaskEditor.class);
24  
25  	// public final static String ID = ActivitiesUiPlugin.PLUGIN_ID + ".taskEditor";
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  		// Activities and tasks
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  	/* DEPENDENCY INNJECTION */
69  	public void setActivitiesService(ActivitiesService activitiesService) {
70  		this.activitiesService = activitiesService;
71  	}
72  }