+ if (!nit.hasNext()) {
+ Composite noTaskCmp = new Composite(parent, SWT.NO_FOCUS);
+ noTaskCmp.setLayoutData(EclipseUiUtils.fillAll());
+ noTaskCmp.setLayout(new GridLayout());
+
+ Label noTaskLbl = new Label(noTaskCmp, SWT.CENTER);
+ noTaskLbl.setText("<i> <big> You have no pending Task. </big> </i>");
+ CmsUtils.markup(noTaskLbl);
+ noTaskLbl.setLayoutData(new GridData(SWT.CENTER, SWT.BOTTOM, true, true));
+
+ final Link createTaskLk = new Link(noTaskCmp, SWT.CENTER);
+ createTaskLk.setText("<a> Create a task </a>");
+ createTaskLk.setLayoutData(new GridData(SWT.CENTER, SWT.TOP, true, true));
+
+ createTaskLk.addSelectionListener(new SelectionAdapter() {
+ private static final long serialVersionUID = -9028457805156989935L;
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ String mainMixin = TrackerTypes.TRACKER_TASK;
+ String pathCreated = ConnectUiUtils.createAndConfigureEntity(createTaskLk.getShell(), getSession(),
+ getSystemAppService(), getSystemWorkbenchService(), mainMixin);
+ if (EclipseUiUtils.notEmpty(pathCreated))
+ forceRefresh(null);
+ }
+ });
+
+ } else {
+ TaskListLabelProvider labelProvider = new TaskListLabelProvider(trackerService);
+ tvlc = new TaskVirtualListComposite(parent, SWT.NO_FOCUS, labelProvider, 54);
+ tvlc.setLayoutData(EclipseUiUtils.fillAll());
+ final TableViewer viewer = tvlc.getTableViewer();
+ viewer.setInput(JcrUtils.nodeIteratorToList(nit).toArray());
+ final TaskViewerContextMenu contextMenu = new TaskViewerContextMenu(viewer, getSession(),
+ activitiesService) {
+ private static final long serialVersionUID = 1640863021424194303L;
+
+ @Override
+ public boolean performAction(String actionId) {
+ boolean hasChanged = super.performAction(actionId);
+ if (hasChanged) {
+ viewer.getTable().setFocus();
+ forceRefresh(null);
+ // NodeIterator nit =
+ // activitiesService.getMyTasks(getSession(), true);
+ // viewer.setInput(JcrUtils.nodeIteratorToList(nit).toArray());
+ }
+ return hasChanged;
+ }
+ };
+ viewer.getTable().addMouseListener(new MouseAdapter() {
+ private static final long serialVersionUID = 6737579410648595940L;
+
+ @Override
+ public void mouseDown(MouseEvent e) {
+ if (e.button == 3) {
+ // contextMenu.setCurrFolderPath(currDisplayedFolder);
+ contextMenu.show(viewer.getTable(), new Point(e.x, e.y),
+ (IStructuredSelection) viewer.getSelection());
+ }
+ }
+ });
+
+ }