Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormkersten2008-04-29 22:09:25 +0000
committermkersten2008-04-29 22:09:25 +0000
commitb03835381a00df87e6d6a0a98ce04247dc39755f (patch)
tree1db0baf7efea4cce72bba0e1a547a9d3d5977698 /org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal
parentf6f8efb3dc8d6abc2af7227dc59c0e90d9391e87 (diff)
downloadorg.eclipse.mylyn.tasks-b03835381a00df87e6d6a0a98ce04247dc39755f.tar.gz
org.eclipse.mylyn.tasks-b03835381a00df87e6d6a0a98ce04247dc39755f.tar.xz
org.eclipse.mylyn.tasks-b03835381a00df87e6d6a0a98ce04247dc39755f.zip
NEW - bug 217725: [api] review plug-in and feature dependencies
https://bugs.eclipse.org/bugs/show_bug.cgi?id=217725
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal')
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/ActivityReportAction.java50
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/CompletedTaskCollector.java54
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/DateSelectionDialog.java106
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/ITaskCollector.java23
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/ITaskPlannerContentProvider.java18
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/InProgressTaskCollector.java77
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/OpenTaskEditorAction.java50
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/PlannedTasksContentProvider.java68
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/ReminderCellEditor.java93
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/RemoveTaskAction.java42
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityContentProvider.java81
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityEditorInput.java196
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityEditorPart.java694
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivitySorter.java96
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityWizard.java69
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityWizardPage.java369
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlanContentProvider.java48
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlanSorter.java90
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlannerLabelProvider.java142
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskReportGenerator.java123
20 files changed, 0 insertions, 2489 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/ActivityReportAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/ActivityReportAction.java
deleted file mode 100644
index dbc4e72b1..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/ActivityReportAction.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages;
-import org.eclipse.mylyn.internal.tasks.ui.planner.TaskActivityWizard;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * @author Rob Elves
- */
-public class ActivityReportAction extends Action {
-
- private static final String LABEL = "Activity Report";
-
- public static final String ID = "org.eclipse.mylyn.tasklist.actions.report.activity";
-
- public ActivityReportAction() {
- super(LABEL);
- setId(ID);
- setText(LABEL);
- setToolTipText(LABEL);
- setImageDescriptor(TasksUiImages.TASKLIST);
- }
-
- @Override
- public void run() {
- TaskActivityWizard wizard = new TaskActivityWizard();
-
- Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
- if (shell != null && !shell.isDisposed()) {
-
- WizardDialog dialog = new WizardDialog(shell, wizard);
- dialog.setBlockOnOpen(true);
- dialog.open();
-
- } else {
- // ignore
- }
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/CompletedTaskCollector.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/CompletedTaskCollector.java
deleted file mode 100644
index dbf5ea7c3..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/CompletedTaskCollector.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.mylyn.tasks.core.AbstractTask;
-
-/**
- * @author Ken Sueda
- */
-public class CompletedTaskCollector implements ITaskCollector {
-
- private final Map<String, AbstractTask> completedTasks = new HashMap<String, AbstractTask>();
-
- private final Date periodStartDate;
-
- private final Date periodEndDate;
-
- public CompletedTaskCollector(Date periodStartDate, Date periodEndDate) {
- this.periodStartDate = periodStartDate;
- this.periodEndDate = periodEndDate;
-
- }
-
- public String getLabel() {
- return "Completed Tasks";
- }
-
- public void consumeTask(AbstractTask task) {
- if (task.isCompleted() && task.getCompletionDate() != null
- && task.getCompletionDate().compareTo(periodStartDate) >= 0
- && task.getCompletionDate().compareTo(periodEndDate) <= 0
- && !completedTasks.containsKey(task.getHandleIdentifier())) {
- completedTasks.put(task.getHandleIdentifier(), task);
- }
- }
-
- public Set<AbstractTask> getTasks() {
- Set<AbstractTask> tasks = new HashSet<AbstractTask>();
- tasks.addAll(completedTasks.values());
- return tasks;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/DateSelectionDialog.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/DateSelectionDialog.java
deleted file mode 100644
index c6b53b256..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/DateSelectionDialog.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import java.util.Calendar;
-import java.util.Date;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.mylyn.internal.tasks.ui.views.DatePickerPanel;
-import org.eclipse.mylyn.internal.tasks.ui.views.DatePickerPanel.DateSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-/**
- * @author Ken Sueda
- * @author Mik Kersten
- * @author Rob Elves
- */
-public class DateSelectionDialog extends Dialog {
-
- private Date reminderDate = null;
-
- private String title = "Date Selection";
-
- private final Calendar initialCalendar = Calendar.getInstance();
-
- private final FormToolkit toolkit;
-
- private boolean includeTime = true;
-
- public DateSelectionDialog(Shell parentShell, String title) {
- this(parentShell, Calendar.getInstance(), title, true);
- }
-
- public DateSelectionDialog(Shell parentShell, Calendar initialDate, String title, boolean includeTime) {
- super(parentShell);
- this.includeTime = includeTime;
- toolkit = new FormToolkit(parentShell.getDisplay());
- if (title != null) {
- this.title = title;
- }
- if (initialDate != null) {
- this.initialCalendar.setTime(initialDate.getTime());
- }
- reminderDate = initialCalendar.getTime();
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
- parent.setBackground(toolkit.getColors().getBackground());
- getShell().setText(title);
- DatePickerPanel datePanel = new DatePickerPanel(parent, SWT.NULL, initialCalendar, includeTime);
- datePanel.addSelectionChangedListener(new ISelectionChangedListener() {
-
- public void selectionChanged(SelectionChangedEvent event) {
- if (!event.getSelection().isEmpty()) {
- DateSelection dateSelection = (DateSelection) event.getSelection();
- reminderDate = dateSelection.getDate().getTime();
- }
- }
- });
- datePanel.setBackground(toolkit.getColors().getBackground());
- datePanel.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false));
-
- return datePanel;
- }
-
- @Override
- public boolean close() {
- toolkit.dispose();
- return super.close();
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- parent.setBackground(toolkit.getColors().getBackground());
- createButton(parent, IDialogConstants.CLIENT_ID + 1, "Clear", false);
- super.createButtonsForButtonBar(parent);
- }
-
- @Override
- protected void buttonPressed(int buttonId) {
- super.buttonPressed(buttonId);
- if (buttonId == IDialogConstants.CLIENT_ID + 1) {
- reminderDate = null;
- okPressed();
- }
- }
-
- public Date getDate() {
- return reminderDate;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/ITaskCollector.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/ITaskCollector.java
deleted file mode 100644
index b6e6d7905..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/ITaskCollector.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import java.util.Set;
-
-import org.eclipse.mylyn.tasks.core.AbstractTask;
-
-/**
- * @author Ken Sueda
- */
-public interface ITaskCollector {
-
- public abstract void consumeTask(AbstractTask task);
-
- public abstract Set<AbstractTask> getTasks();
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/ITaskPlannerContentProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/ITaskPlannerContentProvider.java
deleted file mode 100644
index 265f97c2e..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/ITaskPlannerContentProvider.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import org.eclipse.mylyn.tasks.core.AbstractTask;
-
-public interface ITaskPlannerContentProvider {
-
- public void removeTask(AbstractTask task);
-
- public void addTask(AbstractTask task);
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/InProgressTaskCollector.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/InProgressTaskCollector.java
deleted file mode 100644
index 18ef8091d..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/InProgressTaskCollector.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
-import org.eclipse.mylyn.tasks.core.AbstractTask;
-
-/**
- * Collects tasks that are not complete but have been worked on during the specified date range.
- *
- * @author Wesley Coelho (Adapted from CompletedTaskCollector by Key Sueda)
- * @author Mik Kersten
- */
-public class InProgressTaskCollector implements ITaskCollector {
-
- private final Map<String, AbstractTask> inProgressTasks = new HashMap<String, AbstractTask>();
-
- private final Date periodStartDate;
-
- private final Date periodEndDate;
-
- protected static boolean hasActivity(AbstractTask task, Date startDate, Date endDate) {
- Calendar startCal = Calendar.getInstance();
- startCal.setTime(startDate);
-
- Calendar endCal = Calendar.getInstance();
- endCal.setTime(endDate);
-
- return TasksUiPlugin.getTaskActivityManager().getElapsedTime(task, startCal, endCal) > 0;
-// IInteractionContext interactionContext = ContextCorePlugin.getContextManager().loadContext(
-// task.getHandleIdentifier());
-// if (interactionContext != null) {
-// List<InteractionEvent> events = interactionContext.getInteractionHistory();
-// if (events.size() > 0) {
-// InteractionEvent latestEvent = events.get(events.size() - 1);
-// if (latestEvent.getDate().compareTo(startDate) > 0) {
-// return true;
-// }
-// }
-// }
-// return false;
- }
-
- public InProgressTaskCollector(Date periodStartDate, Date periodEndDate) {
- this.periodStartDate = periodStartDate;
- this.periodEndDate = periodEndDate;
- }
-
- public String getLabel() {
- return "Tasks in Progress";
- }
-
- public void consumeTask(AbstractTask task) {
- if (!task.isCompleted() && hasActivity(task, periodStartDate, periodEndDate)
- && !inProgressTasks.containsKey(task.getHandleIdentifier())) {
- inProgressTasks.put(task.getHandleIdentifier(), task);
- }
- }
-
- public Set<AbstractTask> getTasks() {
- Set<AbstractTask> tasks = new HashSet<AbstractTask>();
- tasks.addAll(inProgressTasks.values());
- return tasks;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/OpenTaskEditorAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/OpenTaskEditorAction.java
deleted file mode 100644
index e1bf1ad39..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/OpenTaskEditorAction.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.mylyn.tasks.core.AbstractTask;
-import org.eclipse.mylyn.tasks.ui.TasksUiUtil;
-
-/**
- * @author Mik Kersten
- * @author Ken Sueda
- * @author Rob Elves
- */
-public class OpenTaskEditorAction extends Action {
-
- public static final String ID = "org.eclipse.mylyn.taskplannereditor.actions.open";
-
- private final TreeViewer viewer;
-
- /**
- * @param view
- */
- public OpenTaskEditorAction(TreeViewer view) {
- this.viewer = view;
- setText("Open");
- setToolTipText("Open Element");
- setId(ID);
- }
-
- @Override
- public void run() {
- ISelection selection = viewer.getSelection();
- Object object = ((IStructuredSelection) selection).getFirstElement();
- if (object instanceof AbstractTask) {
- TasksUiUtil.openEditor((AbstractTask) object, false);
- }
-// if (obj instanceof Task) {
-// ((Task) obj).openTaskInEditor(false);
-// }
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/PlannedTasksContentProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/PlannedTasksContentProvider.java
deleted file mode 100644
index 807ae8a48..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/PlannedTasksContentProvider.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.mylyn.tasks.core.AbstractTask;
-import org.eclipse.mylyn.tasks.core.AbstractTaskContainer;
-
-/**
- * @author Rob Elves
- * @author Ken Sueda
- */
-public class PlannedTasksContentProvider implements ITreeContentProvider, ITaskPlannerContentProvider {
-
- TaskActivityEditorInput editorInput;
-
- public PlannedTasksContentProvider(TaskActivityEditorInput editorInput) {
- this.editorInput = editorInput;
- }
-
- public Object[] getElements(Object inputElement) {
- return editorInput.getCategories().toArray();
- }
-
- public void dispose() {
- }
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- public void addTask(AbstractTask task) {
- editorInput.addPlannedTask(task);
- }
-
- public void removeTask(AbstractTask task) {
- editorInput.removePlannedTask(task);
- }
-
- public Object[] getChildren(Object parentElement) {
- Set<AbstractTask> plannedChildren = new HashSet<AbstractTask>();
- if (parentElement instanceof AbstractTaskContainer) {
- AbstractTaskContainer parent = (AbstractTaskContainer) parentElement;
- plannedChildren.addAll(editorInput.getPlannedTasks());
- plannedChildren.retainAll(parent.getChildren());
- }
- return plannedChildren.toArray();
- }
-
- public Object getParent(Object element) {
- // ignore
- return null;
- }
-
- public boolean hasChildren(Object element) {
- return (getChildren(element).length > 0);
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/ReminderCellEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/ReminderCellEditor.java
deleted file mode 100644
index b08d1691f..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/ReminderCellEditor.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Locale;
-
-import org.eclipse.jface.viewers.DialogCellEditor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.mylyn.tasks.ui.DatePicker;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * @author Ken Sueda
- * @author Mik Kersten
- * @author Rob Elves
- */
-public class ReminderCellEditor extends DialogCellEditor {
-
- private Date reminderDate;
-
- private DateSelectionDialog dialog;
-
- private final String formatString = "dd-MMM-yyyy";
-
- private final SimpleDateFormat format = new SimpleDateFormat(formatString, Locale.ENGLISH);
-
- public ReminderCellEditor(Composite parent) {
- super(parent, SWT.NONE);
- }
-
- @Override
- protected Object openDialogBox(Control cellEditorWindow) {
- Calendar initialCalendar = null;
- String value = (String) super.getValue();
-
- if (value != null) {
- try {
- Date tempDate = format.parse(value);
- if (tempDate != null) {
- initialCalendar = Calendar.getInstance();
- initialCalendar.setTime(tempDate);
- }
- } catch (ParseException e) {
- // ignore
- }
- }
- Calendar newCalendar = Calendar.getInstance();
- if (initialCalendar != null) {
- newCalendar.setTime(initialCalendar.getTime());
- }
-
- dialog = new DateSelectionDialog(cellEditorWindow.getShell(), newCalendar, DatePicker.TITLE_DIALOG, true);
- int dialogResponse = dialog.open();
-
- if (dialogResponse == Window.CANCEL) {
- if (initialCalendar != null) {
- reminderDate = initialCalendar.getTime();
- } else {
- reminderDate = null;
- }
- } else {
- reminderDate = dialog.getDate();
- }
-
- String result = null;
- if (reminderDate != null) {
- result = format.format(reminderDate);
- }
- return result;
- }
-
- public Date getReminderDate() {
- return reminderDate;
- }
-
- @Override
- protected void doSetFocus() {
- reminderDate = null;
- super.doSetFocus();
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/RemoveTaskAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/RemoveTaskAction.java
deleted file mode 100644
index f19b2ebcf..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/RemoveTaskAction.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages;
-import org.eclipse.mylyn.tasks.core.AbstractTask;
-
-/**
- * @author Rob Elves
- */
-public class RemoveTaskAction extends Action {
- public static final String ID = "org.eclipse.mylyn.taskplannereditor.actions.remove";
-
- private final TreeViewer viewer;
-
- public RemoveTaskAction(TreeViewer view) {
- this.viewer = view;
- setText("Remove Selected");
- setId(ID);
- setImageDescriptor(TasksUiImages.REMOVE);
- }
-
- @Override
- public void run() {
- for (Object object : ((IStructuredSelection) viewer.getSelection()).toList()) {
- if (object instanceof AbstractTask) {
- AbstractTask task = (AbstractTask) object;
- ((ITaskPlannerContentProvider) (viewer.getContentProvider())).removeTask(task);
- }
- }
- viewer.refresh();
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityContentProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityContentProvider.java
deleted file mode 100644
index df116eb0f..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityContentProvider.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.mylyn.tasks.core.AbstractTask;
-import org.eclipse.mylyn.tasks.core.AbstractTaskContainer;
-
-/**
- * @author Rob Elves
- */
-public class TaskActivityContentProvider implements ITreeContentProvider, ITaskPlannerContentProvider {
-
- private final TaskActivityEditorInput editorInput;
-
- public TaskActivityContentProvider(TaskActivityEditorInput editorInput) {
- this.editorInput = editorInput;
- }
-
- public Object[] getElements(Object inputElement) {
- return editorInput.getCategories().toArray();
-// List<AbstractTask> allTasks = new ArrayList<AbstractTask>();
-// allTasks.addAll(editorInput.getCompletedTasks());
-// allTasks.addAll(editorInput.getInProgressTasks());
-// return allTasks.toArray();
- }
-
- public void removeTask(AbstractTask task) {
- editorInput.removeCompletedTask(task);
- editorInput.removeInProgressTask(task);
- }
-
- public void addTask(AbstractTask task) {
- // ignore
- }
-
- public Object[] getChildren(Object parentElement) {
- Set<AbstractTask> result = new HashSet<AbstractTask>();
- if (parentElement instanceof AbstractTaskContainer) {
- AbstractTaskContainer parent = (AbstractTaskContainer) parentElement;
- Set<AbstractTask> completedChildren = new HashSet<AbstractTask>();
- completedChildren.addAll(editorInput.getCompletedTasks());
- completedChildren.retainAll(parent.getChildren());
- result.addAll(completedChildren);
-
- Set<AbstractTask> inProgressChildren = new HashSet<AbstractTask>();
- inProgressChildren.addAll(editorInput.getInProgressTasks());
- inProgressChildren.retainAll(parent.getChildren());
- result.addAll(inProgressChildren);
- }
- return result.toArray();
- }
-
- public Object getParent(Object element) {
- // ignore
- return null;
- }
-
- public boolean hasChildren(Object element) {
- return (getChildren(element).length > 0);
- }
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- // ignore
- }
-
- public void dispose() {
- // ignore
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityEditorInput.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityEditorInput.java
deleted file mode 100644
index a2f7c327a..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityEditorInput.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.mylyn.internal.tasks.core.TaskList;
-import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
-import org.eclipse.mylyn.monitor.core.StatusHandler;
-import org.eclipse.mylyn.tasks.core.AbstractTask;
-import org.eclipse.mylyn.tasks.core.AbstractTaskContainer;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.IProgressService;
-
-/**
- * @author Ken Sueda
- * @author Mik Kersten
- */
-public class TaskActivityEditorInput implements IEditorInput {
-
- private static final String TASK_ACTIVITY_REPORT = "Task Activity Report";
-
- private Set<AbstractTask> completedTasks = new HashSet<AbstractTask>();
-
- private Set<AbstractTask> inProgressTasks = new HashSet<AbstractTask>();
-
- private final Set<AbstractTask> plannedTasks = new HashSet<AbstractTask>();
-
- private TaskReportGenerator taskReportGenerator = null;
-
- private Date reportStartDate = null;
-
- private Date reportEndDate = null;
-
- private final Set<AbstractTaskContainer> categories;
-
- public TaskActivityEditorInput(Date reportStartDate, Date reportEndDate,
- Set<AbstractTaskContainer> chosenCategories, TaskList tlist) {
- this.reportStartDate = reportStartDate;
- this.reportEndDate = reportEndDate;
- this.categories = chosenCategories;
- taskReportGenerator = new TaskReportGenerator(tlist, chosenCategories);
-
- ITaskCollector completedTaskCollector = new CompletedTaskCollector(reportStartDate, reportEndDate);
- taskReportGenerator.addCollector(completedTaskCollector);
-
- ITaskCollector inProgressTaskCollector = new InProgressTaskCollector(reportStartDate, reportEndDate);
- taskReportGenerator.addCollector(inProgressTaskCollector);
-
- try {
- // TODO consider using IProgressService.busyCursorWhile(): bug 210710
- IProgressService service = PlatformUI.getWorkbench().getProgressService();
- service.run(false, true, taskReportGenerator);
- while (!taskReportGenerator.isFinished()) {
- Thread.sleep(500);
- }
- } catch (InvocationTargetException e) {
- // operation was canceled
- } catch (InterruptedException e) {
- StatusHandler.log(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, "Could not generate report", e));
- }
-
- completedTasks = completedTaskCollector.getTasks();
- inProgressTasks = inProgressTaskCollector.getTasks();
-
- plannedTasks.addAll(TasksUiPlugin.getTaskActivityManager().getActivityThisWeek().getChildren());
- plannedTasks.addAll(TasksUiPlugin.getTaskActivityManager().getActivityNextWeek().getChildren());
- plannedTasks.addAll(TasksUiPlugin.getTaskActivityManager().getActivityFuture().getChildren());
-
- //plannedTasks = new HashSet<ITask>();
- }
-
- public boolean exists() {
- return true;
- }
-
- public ImageDescriptor getImageDescriptor() {
- return null;
- }
-
- public String getName() {
- return TASK_ACTIVITY_REPORT;
- }
-
- public IPersistableElement getPersistable() {
- return null;
- }
-
- public String getToolTipText() {
- return "Task Planner";
- }
-
- @SuppressWarnings("unchecked")
- public Object getAdapter(Class adapter) {
- return null;
- }
-
- public Set<AbstractTask> getCompletedTasks() {
- return completedTasks;
- }
-
- public Set<AbstractTask> getInProgressTasks() {
- return inProgressTasks;
- }
-
- public Set<AbstractTask> getPlannedTasks() {
- return plannedTasks;
- }
-
- public long getTotalTimeSpentOnCompletedTasks() {
- long duration = 0;
- for (AbstractTask t : completedTasks) {
- duration += TasksUiPlugin.getTaskActivityManager().getElapsedTime(t);
- }
- return duration;
- }
-
- public long getTotalTimeSpentOnInProgressTasks() {
- long duration = 0;
- for (AbstractTask t : inProgressTasks) {
- duration += TasksUiPlugin.getTaskActivityManager().getElapsedTime(t);
- }
- return duration;
- }
-
- public TaskReportGenerator getReportGenerator() {
- return taskReportGenerator;
- }
-
- public boolean createdDuringReportPeriod(AbstractTask task) {
- Date creationDate = task.getCreationDate();
- if (creationDate != null) {
- return creationDate.compareTo(reportStartDate) > 0;
- } else {
- return false;
- }
- }
-
- public int getTotalTimeEstimated() {
- int duration = 0;
- for (AbstractTask task : inProgressTasks) {
- duration += task.getEstimatedTimeHours();
- }
- return duration;
- }
-
- public void removeCompletedTask(AbstractTask task) {
- completedTasks.remove(task);
- }
-
- public void removeInProgressTask(AbstractTask task) {
- inProgressTasks.remove(task);
- }
-
- public void addPlannedTask(AbstractTask task) {
- plannedTasks.add(task);
- }
-
- public void removePlannedTask(AbstractTask task) {
- plannedTasks.remove(task);
- }
-
- public int getPlannedEstimate() {
- int estimated = 0;
- for (AbstractTask task : plannedTasks) {
- estimated += task.getEstimatedTimeHours();
- }
- return estimated;
- }
-
- public Date getReportStartDate() {
- return reportStartDate;
- }
-
- public Date getReportEndDate() {
- return reportEndDate;
- }
-
- public Set<AbstractTaskContainer> getCategories() {
- return categories;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityEditorPart.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityEditorPart.java
deleted file mode 100644
index 9da0c5918..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityEditorPart.java
+++ /dev/null
@@ -1,694 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Locale;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
-import org.eclipse.mylyn.monitor.core.DateUtil;
-import org.eclipse.mylyn.monitor.core.StatusHandler;
-import org.eclipse.mylyn.tasks.core.AbstractTask;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.forms.widgets.TableWrapLayout;
-import org.eclipse.ui.part.EditorPart;
-
-/**
- *
- * Note: Some methods have been generalized to remove duplicate code but the design still isn't right (long parameter
- * lists, inflexible table creation). Needs refactoring. (Planned tasks section is currently disabled but should also
- * use the new common methods)
- *
- * @author Mik Kersten
- * @author Ken Sueda (original prototype)
- * @author Wesley Coelho (added tasks in progress section, refactored-out similar code)
- * @author Mik Kersten (rewrite)
- */
-public class TaskActivityEditorPart extends EditorPart {
-
- private static final String LABEL_PLANNED_ACTIVITY = "Planned Activity";
-
- private static final String LABEL_DIALOG = "Summary";
-
- private static final String LABEL_PAST_ACTIVITY = "Past Activity";
-
- private TaskActivityEditorInput editorInput = null;
-
- private final String[] activityColumnNames = new String[] { " ", " !", "Description", "Elapsed", "Estimated",
- "Created", "Completed" };
-
- private final int[] activityColumnWidths = new int[] { 100, 30, 200, 70, 70, 90, 90 };
-
- private final int[] activitySortConstants = new int[] { TaskActivitySorter.ICON, TaskActivitySorter.PRIORITY,
- TaskActivitySorter.DESCRIPTION, TaskActivitySorter.DURATION, TaskActivitySorter.ESTIMATED,
- TaskActivitySorter.CREATION_DATE, TaskActivitySorter.COMPLETED_DATE };
-
-// private String[] planColumnNames = new String[] { " ", " !", "Description", "Elapsed", "Estimated", "Reminder" };
-//
-// private int[] planSortConstants = new int[] { TaskPlanSorter.ICON, TaskPlanSorter.PRIORITY,
-// TaskPlanSorter.DESCRIPTION, TaskPlanSorter.DURATION, TaskPlanSorter.ESTIMATED, TaskPlanSorter.REMINDER };
-//
-// private int[] planColumnWidths = new int[] { 100, 30, 200, 90, 90, 100 };
-
- private static final String LABEL_ESTIMATED = "Total estimated time: ";
-
- private static final String NO_TIME_ELAPSED = "&nbsp;";
-
- private static final String BLANK_CELL = "&nbsp;";
-
- private Label totalEstimatedHoursLabel;
-
- private Label numberCompleted;
-
- private Label totalTimeOnCompleted;
-
- private Label numberInProgress;
-
- private Label totalTimeOnIncomplete;
-
- private Label totalEstimatedTime;
-
- private Label totalTime;
-
- private TaskActivityContentProvider activityContentProvider;
-
- private PlannedTasksContentProvider planContentProvider;
-
- @Override
- public void doSave(IProgressMonitor monitor) {
- }
-
- @Override
- public void doSaveAs() {
- }
-
- @Override
- public void init(IEditorSite site, IEditorInput input) throws PartInitException {
- setSite(site);
- setInput(input);
- editorInput = (TaskActivityEditorInput) input;
- setPartName(editorInput.getName());
- setTitleToolTip(editorInput.getToolTipText());
- }
-
- @Override
- public boolean isDirty() {
- return false;
- }
-
- @Override
- public boolean isSaveAsAllowed() {
- return false;
- }
-
- @Override
- public void createPartControl(Composite parent) {
- FormToolkit toolkit = new FormToolkit(parent.getDisplay());
- ScrolledForm sform = toolkit.createScrolledForm(parent);
- Composite editorComposite = sform.getBody();
-
- editorComposite.setLayout(new GridLayout());
- GridData gridData = new GridData();
- gridData.horizontalAlignment = GridData.FILL_BOTH;
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- editorComposite.setLayoutData(gridData);
-
- createSummarySection(editorComposite, toolkit, editorInput.getReportStartDate(), editorInput.getReportEndDate());
- String label = LABEL_PAST_ACTIVITY;
-
- List<AbstractTask> allTasks = new ArrayList<AbstractTask>();
- allTasks.addAll(editorInput.getCompletedTasks());
- allTasks.addAll(editorInput.getInProgressTasks());
-
- SashForm sashForm = new SashForm(editorComposite, SWT.VERTICAL);
-
- sashForm.setLayout(new GridLayout());
- sashForm.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- activityContentProvider = new TaskActivityContentProvider(editorInput);
-
- final TreeViewer activityViewer = createTableSection(sashForm, toolkit, label, activityColumnNames,
- activityColumnWidths, activitySortConstants);
- activityViewer.setContentProvider(activityContentProvider);
- activityViewer.setLabelProvider(new TaskPlannerLabelProvider(activityViewer, editorInput.getReportStartDate(),
- editorInput.getReportEndDate()));
- setSorters(activityColumnNames, activitySortConstants, activityViewer.getTree(), activityViewer, false);
- activityViewer.setInput(editorInput);
- activityViewer.addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- updateLabels();
- }
- });
-
- MenuManager activityContextMenuMgr = new MenuManager("#ActivityPlannerPopupMenu");
- activityContextMenuMgr.setRemoveAllWhenShown(true);
- activityContextMenuMgr.addMenuListener(new IMenuListener() {
- public void menuAboutToShow(IMenuManager manager) {
- TaskActivityEditorPart.this.fillContextMenu(activityViewer, manager);
-
- }
- });
- Menu menu = activityContextMenuMgr.createContextMenu(activityViewer.getControl());
- activityViewer.getControl().setMenu(menu);
- getSite().registerContextMenu(activityContextMenuMgr, activityViewer);
-
- planContentProvider = new PlannedTasksContentProvider(editorInput);
- final TreeViewer planViewer = createTableSection(sashForm, toolkit, LABEL_PLANNED_ACTIVITY,
- activityColumnNames, activityColumnWidths, activitySortConstants);
- planViewer.setContentProvider(planContentProvider);
- planViewer.setLabelProvider(new TaskPlannerLabelProvider(planViewer, editorInput.getReportStartDate(),
- editorInput.getReportEndDate()));
- // planViewer.setLabelProvider(new TaskPlanLabelProvider());
- // createPlanCellEditorListener(planViewer.getTable(), planViewer);
- // planViewer.setCellModifier(new PlannedTasksCellModifier(planViewer));
- // initDrop(planViewer, planContentProvider);
- setSorters(activityColumnNames, activitySortConstants, planViewer.getTree(), planViewer, true);
- planViewer.setInput(editorInput);
-
- // planViewer.addSelectionChangedListener(new
- // ISelectionChangedListener() {
- // public void selectionChanged(SelectionChangedEvent event) {
- // updateLabels();
- // }
- // });
-
- // MenuManager planContextMenuMgr = new
- // MenuManager("#PlanPlannerPopupMenu");
- // planContextMenuMgr.setRemoveAllWhenShown(true);
- // planContextMenuMgr.addMenuListener(new IMenuListener() {
- // public void menuAboutToShow(IMenuManager manager) {
- // TaskActivityEditorPart.this.fillContextMenu(planViewer, manager);
- // }
- // });
- // Menu planMenu =
- // planContextMenuMgr.createContextMenu(planViewer.getControl());
- // planViewer.getControl().setMenu(planMenu);
- // getSite().registerContextMenu(planContextMenuMgr, planViewer);
-
- totalEstimatedHoursLabel = toolkit.createLabel(editorComposite, LABEL_ESTIMATED + "0 hours ", SWT.NULL);
- createButtons(editorComposite, toolkit, planViewer, planContentProvider);
- updateLabels();
- }
-
- private void fillContextMenu(TreeViewer viewer, IMenuManager manager) {
- if (!viewer.getSelection().isEmpty()) {
- manager.add(new OpenTaskEditorAction(viewer));
- manager.add(new RemoveTaskAction(viewer));
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- } else {
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- }
- }
-
- @Override
- public void setFocus() {
- }
-
- private void createSummarySection(Composite parent, FormToolkit toolkit, Date startDate, Date endDate) {
- Section summarySection = toolkit.createSection(parent, ExpandableComposite.TITLE_BAR);
- summarySection.setText(LABEL_DIALOG);
- summarySection.setLayout(new GridLayout());
- summarySection.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- Composite summaryContainer = toolkit.createComposite(summarySection);
- summarySection.setClient(summaryContainer);
- TableWrapLayout layout = new TableWrapLayout();
- layout.numColumns = 2;
- summaryContainer.setLayout(layout);
-
- String formatString = "yyyy-MM-dd, h:mm a";
- SimpleDateFormat formater = new SimpleDateFormat(formatString, Locale.ENGLISH);
-
- if (startDate != null) {
- String dateLabel = "Date start: " + formater.format(startDate);
- toolkit.createLabel(summaryContainer, dateLabel, SWT.NULL);
- }
-
- if (endDate != null) {
- String dateLabel = "Date end: " + formater.format(endDate);
- toolkit.createLabel(summaryContainer, dateLabel, SWT.NULL);
- }
-
- String numComplete = "Number completed: " + editorInput.getCompletedTasks().size();
- numberCompleted = toolkit.createLabel(summaryContainer, numComplete, SWT.NULL);
-// numberCompleted.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
-
- String totalCompletedTaskTime = "Total time on completed: "
- + DateUtil.getFormattedDuration(editorInput.getTotalTimeSpentOnCompletedTasks(), false);
- totalTimeOnCompleted = toolkit.createLabel(summaryContainer, totalCompletedTaskTime, SWT.NULL);
-// totalTimeOnCompleted.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
-
- String numInProgress = "Number in progress: " + editorInput.getInProgressTasks().size();
- numberInProgress = toolkit.createLabel(summaryContainer, numInProgress, SWT.NULL);
-// numberInProgress.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
-
- String totalInProgressTaskTime = "Total time on incomplete: "
- + DateUtil.getFormattedDuration(editorInput.getTotalTimeSpentOnInProgressTasks(), false);
- totalTimeOnIncomplete = toolkit.createLabel(summaryContainer, totalInProgressTaskTime, SWT.NULL);
-// totalTimeOnIncomplete.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
-
- String spacer = " ";
- String totalEstimated = "Total estimated time: " + editorInput.getTotalTimeEstimated() + " hours" + spacer;
- totalEstimatedTime = toolkit.createLabel(summaryContainer, totalEstimated, SWT.NULL);
-// totalEstimatedTime.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
-
- String grandTotalTime = "Total time: " + getTotalTime();
- totalTime = toolkit.createLabel(summaryContainer, grandTotalTime, SWT.NULL);
-// totalTime.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
-
- }
-
- private void updateSummarySection() {
- String numComplete = "Number completed: " + editorInput.getCompletedTasks().size();
- numberCompleted.setText(numComplete);
-
- String totalCompletedTaskTime = "Total time on completed: "
- + DateUtil.getFormattedDuration(editorInput.getTotalTimeSpentOnCompletedTasks(), false);
- totalTimeOnCompleted.setText(totalCompletedTaskTime);
-
- String numInProgress = "Number in progress: " + editorInput.getInProgressTasks().size();
- numberInProgress.setText(numInProgress);
-
- String totalInProgressTaskTime = "Total time on incomplete: "
- + DateUtil.getFormattedDuration(editorInput.getTotalTimeSpentOnInProgressTasks(), false);
- totalTimeOnIncomplete.setText(totalInProgressTaskTime);
-
- String spacer = " ";
- String totalEstimated = "Total estimated time: " + editorInput.getTotalTimeEstimated() + " hours" + spacer;
- totalEstimatedTime.setText(totalEstimated);
-
- String grandTotalTime = "Total time: " + getTotalTime();
- totalTime.setText(grandTotalTime);
-
- }
-
- // private void createPlanCellEditorListener(final Table planTable, final
- // TableViewer planTableViewer) {
- // CellEditor[] editors = new CellEditor[planColumnNames.length + 1];
- // final ComboBoxCellEditor estimateEditor = new
- // ComboBoxCellEditor(planTable, TaskListManager.ESTIMATE_TIMES,
- // SWT.READ_ONLY);
- // final ReminderCellEditor reminderEditor = new
- // ReminderCellEditor(planTable);
- // editors[0] = null; // not used
- // editors[1] = null;// not used
- // editors[2] = null;// not used
- // editors[3] = null;// not used
- // editors[4] = estimateEditor;
- // editors[5] = reminderEditor;
- // reminderEditor.addListener(new ICellEditorListener() {
- // public void applyEditorValue() {
- // Object selection = ((IStructuredSelection)
- // planTableViewer.getSelection()).getFirstElement();
- // if (selection instanceof ITask) {
- // ((ITask) selection).setReminderDate(reminderEditor.getReminderDate());
- // planTableViewer.refresh();
- // }
- // }
- //
- // public void cancelEditor() {
- // }
- //
- // public void editorValueChanged(boolean oldValidState, boolean
- // newValidState) {
- // }
- //
- // });
- // estimateEditor.addListener(new ICellEditorListener() {
- // public void applyEditorValue() {
- // Object selection = ((IStructuredSelection)
- // planTableViewer.getSelection()).getFirstElement();
- // if (selection instanceof ITask) {
- // ITask task = (ITask) selection;
- // int estimate = (Integer) estimateEditor.getValue();
- // if (estimate == -1) {
- // estimate = 0;
- // }
- // task.setEstimatedTimeHours(estimate);
- // updateLabels();
- // planTableViewer.refresh();
- // }
- // }
- //
- // public void cancelEditor() {
- // }
- //
- // public void editorValueChanged(boolean oldValidState, boolean
- // newValidState) {
- // }
- //
- // });
- // planTableViewer.setCellEditors(editors);
- // }
-
- private String getTotalTime() {
- return DateUtil.getFormattedDuration(editorInput.getTotalTimeSpentOnCompletedTasks()
- + editorInput.getTotalTimeSpentOnInProgressTasks(), false);
- }
-
- private TreeViewer createTableSection(Composite parent, FormToolkit toolkit, String title, String[] columnNames,
- int[] columnWidths, int[] sortConstants) {
- Section tableSection = toolkit.createSection(parent, ExpandableComposite.TITLE_BAR); // |
- // ExpandableComposite.TWISTIE
- tableSection.setText(title);
- // tableSection.setExpanded(true);
- tableSection.marginHeight = 8;
- tableSection.setLayout(new GridLayout());
- tableSection.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- Composite detailContainer = toolkit.createComposite(tableSection);
- tableSection.setClient(detailContainer);
- detailContainer.setLayout(new GridLayout());
- detailContainer.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- return createTable(detailContainer, toolkit, columnNames, columnWidths, sortConstants);
- }
-
- private TreeViewer createTable(Composite parent, FormToolkit toolkit, String[] columnNames, int[] columnWidths,
- int[] sortConstants) {
- int style = SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.HIDE_SELECTION;
- Tree tree = toolkit.createTree(parent, style);
-
- tree.setLayout(new GridLayout());
- GridData tableGridData = new GridData(GridData.FILL_BOTH);
- tableGridData.heightHint = 100;
- tree.setLayoutData(tableGridData);
- tree.setLinesVisible(true);
- tree.setHeaderVisible(true);
- tree.setEnabled(true);
-
- for (int i = 0; i < columnNames.length; i++) {
- TreeColumn column = new TreeColumn(tree, SWT.LEFT, i);
- column.setText(columnNames[i]);
- column.setWidth(columnWidths[i]);
- }
-
- TreeViewer treeViewer = new TreeViewer(tree);
- treeViewer.setUseHashlookup(true);
- treeViewer.setColumnProperties(columnNames);
-
- final OpenTaskEditorAction openAction = new OpenTaskEditorAction(treeViewer);
- treeViewer.addDoubleClickListener(new IDoubleClickListener() {
- public void doubleClick(DoubleClickEvent event) {
- openAction.run();
- }
- });
-
- return treeViewer;
- }
-
- private void setSorters(String[] columnNames, int[] sortConstants, Tree tree, TreeViewer treeViewer, boolean plan) {
- for (int i = 0; i < columnNames.length; i++) {
- TreeColumn column = tree.getColumn(i);
- addColumnSelectionListener(treeViewer, column, sortConstants[i], plan);
- }
- }
-
- private void addColumnSelectionListener(final TreeViewer tableViewer, TreeColumn column, final int sorterConstant,
- final boolean plan) {
- column.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
-// if (plan) { // TODO: bad modularity
-// tableViewer.setSorter(new TaskPlanSorter(sorterConstant));
-// } else {
-// tableViewer.setSorter(new TaskActivitySorter(sorterConstant));
-// }
- }
- });
- }
-
- private void createButtons(Composite parent, FormToolkit toolkit, final TreeViewer viewer,
- final PlannedTasksContentProvider contentProvider) {
- Composite container = new Composite(parent, SWT.NULL);
- container.setBackground(parent.getBackground());
- GridLayout layout = new GridLayout();
- container.setLayout(layout);
- layout.numColumns = 3;
-
- // Button addIncomplete = toolkit.createButton(container, "Add
- // Incomplete", SWT.PUSH | SWT.CENTER);
- // addIncomplete.addSelectionListener(new SelectionAdapter() {
- // @Override
- // public void widgetSelected(SelectionEvent e) {
- // Set<ITask> incompleteTasks = editorInput.getInProgressTasks();
- // for (ITask task : incompleteTasks) {
- // contentProvider.addTask(task);
- // viewer.refresh();
- // updateLabels();
- // }
- // }
- // });
- //
- // Button addToCategory = toolkit.createButton(container, "Add Planned
- // to Category...", SWT.PUSH | SWT.CENTER);
- // addToCategory.addSelectionListener(new SelectionAdapter() {
- // @Override
- // public void widgetSelected(SelectionEvent e) {
- // addPlannedTasksToCategory(contentProvider);
- // }
- // });
-
- Button exportToHTML = toolkit.createButton(container, "Export to HTML...", SWT.PUSH | SWT.CENTER);
- exportToHTML.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- exportToHtml();
- }
- });
- }
-
- private void updateLabels() {
- totalEstimatedHoursLabel.setText(LABEL_ESTIMATED + editorInput.getPlannedEstimate() + " hours");
- updateSummarySection();
- }
-
- private void exportToHtml() {
- File outputFile;
- try {
- FileDialog dialog = new FileDialog(getSite().getWorkbenchWindow().getShell());
- dialog.setText("Specify a file name");
- dialog.setFilterExtensions(new String[] { "*.html", "*.*" });
- String filename = dialog.open();
-
- if (filename == null || filename.equals("")) {
- return;
- }
-
- if (!filename.endsWith(".html")) {
- filename += ".html";
- }
- outputFile = new File(filename);
- // outputStream = new FileOutputStream(outputFile, true);
- BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile));
- writer.write("<html><head></head><body>");
-
- exportSummarySection(writer);
-
- exportActivitySection(writer);
-
- exportPlanSection(writer);
-
- writer.write("</body></html>");
- writer.close();
- } catch (IOException e) {
- StatusHandler.log(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, "Could not write to file", e));
- }
- }
-
- private void exportPlanSection(BufferedWriter writer) throws IOException {
-
- writer.write("<H2>" + LABEL_PLANNED_ACTIVITY + "</H2>");
-
- writer.write("<table border=\"1\" width=\"100%\" id=\"plannedActivityTable\">");
- writer.write("<tr>");
- writer.write("<td width=\"59\"><b>Type</b></td><td width=\"55\"><b>Priority</b></td><td width=\"495\"><b>Description</b></td>");
- writer.write("<td><b>Elapsed</b></td><td><b>Estimated</b></td><td><b>Reminder</b></td>");
- writer.write("</tr>");
-
- for (Object element : planContentProvider.getElements(null)) {
- if (element instanceof AbstractTask) {
- AbstractTask currentTask = (AbstractTask) element;
-
- String formatString = "dd-MM-yyyy";
- SimpleDateFormat format = new SimpleDateFormat(formatString, Locale.ENGLISH);
-
- String elapsedTimeString = DateUtil.getFormattedDuration(TasksUiPlugin.getTaskActivityManager()
- .getElapsedTime(currentTask), false);
- String estimatedTimeString = currentTask.getEstimatedTimeHours() + " hours";
- if (elapsedTimeString.equals("")) {
- elapsedTimeString = BLANK_CELL;
- }
-
- Date reminderDate = currentTask.getScheduledForDate();
- String reminderDateString = BLANK_CELL;
- if (reminderDate != null) {
- reminderDateString = format.format(reminderDate);
- }
-
- writer.write("<tr>");
- writer.write("<td width=\"59\">ICON</td><td width=\"55\">" + currentTask.getPriority()
- + "</td><td width=\"495\">");
- if (currentTask.hasValidUrl()) {
- writer.write("<a href='" + currentTask.getUrl() + "'>" + currentTask.getSummary() + "</a>");
- } else {
- writer.write(currentTask.getSummary());
- }
- writer.write("</td><td>" + elapsedTimeString + "</td><td>" + estimatedTimeString + "</td><td>"
- + reminderDateString + "</td>");
- writer.write("</tr>");
-
- }
- }
- writer.write("</table>");
- writer.write("<BR></BR>");
- writer.write("<H3>" + totalEstimatedHoursLabel.getText() + "</H3>");
-
- }
-
- private void exportActivitySection(BufferedWriter writer) throws IOException {
-
- writer.write("<H2>" + LABEL_PAST_ACTIVITY + "</H2>");
-
- writer.write("<table border=\"1\" width=\"100%\" id=\"activityTable\">");
- writer.write("<tr>");
- writer.write("<td width=\"59\"><b>Type</b></td><td width=\"55\"><b>Priority</b></td><td width=\"495\"><b>Description</b></td>");
- writer.write("<td><b>Created</b></td><td><b>Completed</b></td><td><b>Elapsed</b></td><td><b>Estimated</b></td>");
- writer.write("</tr>");
-
- for (Object element : activityContentProvider.getElements(null)) {
- if (element instanceof AbstractTask) {
- AbstractTask currentTask = (AbstractTask) element;
-
- String formatString = "dd-MM-yyyy";
- SimpleDateFormat format = new SimpleDateFormat(formatString, Locale.ENGLISH);
-
- String elapsedTimeString = DateUtil.getFormattedDuration(TasksUiPlugin.getTaskActivityManager()
- .getElapsedTime(currentTask), false);
- String estimatedTimeString = currentTask.getEstimatedTimeHours() + " hours";
- if (elapsedTimeString.equals("")) {
- elapsedTimeString = NO_TIME_ELAPSED;
- }
-
- Date creationDate = currentTask.getCreationDate();
- String creationDateString = BLANK_CELL;
- if (creationDate != null) {
- creationDateString = format.format(creationDate);
- }
-
- String completionDateString = BLANK_CELL;
- Date completedDate = currentTask.getCompletionDate();
- if (completedDate != null) {
- completionDateString = format.format(completedDate);
- }
-
- writer.write("<tr>");
- writer.write("<td width=\"59\">ICON</td><td width=\"55\">" + currentTask.getPriority()
- + "</td><td width=\"495\">");
-
- if (currentTask.hasValidUrl()) {
- writer.write("<a href='" + currentTask.getUrl() + "'>" + currentTask.getSummary() + "</a>");
- } else {
- writer.write(currentTask.getSummary());
- }
-
- writer.write("</td><td>" + creationDateString + "</td>");
- writer.write("<td>" + completionDateString + "</td><td>" + elapsedTimeString + "</td><td>"
- + estimatedTimeString + "</td>");
- writer.write("</tr>");
- }
- }
- writer.write("</table>");
- }
-
- private void exportSummarySection(BufferedWriter writer) throws IOException {
- Date startDate = editorInput.getReportStartDate();
- Date endDate = editorInput.getReportEndDate();
- writer.write("<H2>" + LABEL_DIALOG + "</H2>");
-
- String formatString = "yyyy-MM-dd, h:mm a";
- SimpleDateFormat format = new SimpleDateFormat(formatString, Locale.ENGLISH);
-
- writer.write("<table border=\"0\" width=\"75%\" id=\"table1\">\n<tr>\n");
- writer.write("<td width=\"138\">Date start:</td> ");
- String dateLabel = "Not Available";
- if (startDate != null) {
- dateLabel = format.format(startDate);
- }
- writer.write("<td>" + dateLabel + "</td>");
-
- writer.write("<td width=\"138\">Date end:</td> ");
- String endLabel = "Not Available";
- if (endDate != null) {
- endLabel = format.format(endDate);
- }
- writer.write("<td>" + endLabel + "</td>");
- //writer.write("<td width=\"169\">&nbsp;</td></tr>");
-
- writer.write("<tr><td width=\"138\">Number Completed:</td><td>" + editorInput.getCompletedTasks().size()
- + "</td>");
-
- writer.write("<td width=\"169\">Total time on completed:</td><td width=\"376\">"
- + DateUtil.getFormattedDuration(editorInput.getTotalTimeSpentOnCompletedTasks(), false) + "</td>");
- writer.write("</tr>");
-
- writer.write("<tr><td width=\"138\">Number in Progress:</td><td>" + editorInput.getInProgressTasks().size()
- + "</td>");
- writer.write("<td width=\"169\">Total time on incompleted:</td><td width=\"376\">"
- + DateUtil.getFormattedDuration(editorInput.getTotalTimeSpentOnInProgressTasks(), false) + "</td>");
- writer.write("</tr>");
-
- writer.write("<tr><td width=\"138\">Outstanding estimated hours:</td><td>"
- + editorInput.getTotalTimeEstimated() + "</td>");
- writer.write("<td width=\"169\">Total time:</td><td width=\"376\">" + getTotalTime() + "</td>");
- writer.write("</tr>");
-
- writer.write("</table>");
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivitySorter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivitySorter.java
deleted file mode 100644
index f255faca2..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivitySorter.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
-import org.eclipse.mylyn.tasks.core.AbstractTask;
-
-/**
- * @author Ken Sueda
- * @author Mik Kersten
- */
-public class TaskActivitySorter extends ViewerSorter {
-
- public final static int DESCRIPTION = 1;
-
- public final static int PRIORITY = 2;
-
- public final static int CREATION_DATE = 3;
-
- public final static int COMPLETED_DATE = 4;
-
- public final static int DURATION = 5;
-
- public final static int ESTIMATED = 6;
-
- public static final int ICON = 0;
-
- private final int criteria;
-
- public TaskActivitySorter(int criteria) {
- super();
- this.criteria = criteria;
- }
-
- @Override
- public int compare(Viewer viewer, Object obj1, Object obj2) {
- AbstractTask t1 = (AbstractTask) obj1;
- AbstractTask t2 = (AbstractTask) obj2;
-
- switch (criteria) {
- case DESCRIPTION:
- return compareDescription(t1, t2);
- case PRIORITY:
- return comparePriority(t1, t2);
- case CREATION_DATE:
- return compareCreationDate(t1, t2);
- case COMPLETED_DATE:
- return compareCompletedDate(t1, t2);
- case DURATION:
- return compareDuration(t1, t2);
- case ESTIMATED:
- return compareEstimated(t1, t2);
- default:
- return 0;
- }
- }
-
- protected int compareDescription(AbstractTask task1, AbstractTask task2) {
- return task1.getSummary().compareToIgnoreCase(task2.getSummary());
- }
-
- protected int comparePriority(AbstractTask task1, AbstractTask task2) {
- return task1.getPriority().compareTo(task2.getPriority());
- }
-
- protected int compareCompletedDate(AbstractTask task1, AbstractTask task2) {
- return task2.getCompletionDate().compareTo(task1.getCompletionDate());
- }
-
- protected int compareEstimated(AbstractTask task1, AbstractTask task2) {
- return task2.getEstimatedTimeHours() - task1.getEstimatedTimeHours();
- }
-
- protected int compareCreationDate(AbstractTask task1, AbstractTask task2) {
- if (task1.getCreationDate() == null) {
- return 1;
- } else if (task2.getCreationDate() == null) {
- return -1;
- } else {
- return task2.getCreationDate().compareTo(task1.getCreationDate());
- }
- }
-
- protected int compareDuration(AbstractTask task1, AbstractTask task2) {
- return TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1) < TasksUiPlugin.getTaskActivityManager()
- .getElapsedTime(task2) ? 1 : -1;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityWizard.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityWizard.java
deleted file mode 100644
index ffdd992a6..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityWizard.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
-import org.eclipse.mylyn.monitor.core.StatusHandler;
-import org.eclipse.mylyn.tasks.ui.TasksUi;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-
-/**
- * @author Ken Sueda
- * @author Mik Kersten
- */
-public class TaskActivityWizard extends Wizard implements INewWizard {
-
- private static final String TITLE = "New Task Activity Report";
-
- private TaskActivityWizardPage planningGamePage;
-
- public TaskActivityWizard() {
- super();
- init();
- setWindowTitle(TITLE);
- }
-
- @Override
- public boolean performFinish() {
- try {
- IWorkbenchPage page = TasksUiPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
- if (page == null) {
- return false;
- }
- IEditorInput input = new TaskActivityEditorInput(planningGamePage.getReportStartDate(),
- planningGamePage.getReportEndDate(), planningGamePage.getSelectedContainers(),
- TasksUiPlugin.getTaskListManager().getTaskList());
- page.openEditor(input, TasksUi.ID_PLANNING_PAGE);
- } catch (PartInitException e) {
- StatusHandler.log(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, "Could not open summary editor", e));
- }
- return true;
- }
-
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- }
-
- private void init() {
- planningGamePage = new TaskActivityWizardPage();
- super.setForcePreviousAndNextButtons(true);
- }
-
- @Override
- public void addPages() {
- addPage(planningGamePage);
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityWizardPage.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityWizardPage.java
deleted file mode 100644
index 934b71014..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityWizardPage.java
+++ /dev/null
@@ -1,369 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.mylyn.internal.tasks.core.TaskActivityUtil;
-import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
-import org.eclipse.mylyn.internal.tasks.ui.views.TaskElementLabelProvider;
-import org.eclipse.mylyn.tasks.core.AbstractTaskContainer;
-import org.eclipse.mylyn.tasks.core.ITaskListManager;
-import org.eclipse.mylyn.tasks.ui.DatePicker;
-import org.eclipse.mylyn.tasks.ui.TasksUi;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * @author Mik Kersten
- * @author Ken Sueda (original prototype)
- * @author Rob Elves
- */
-public class TaskActivityWizardPage extends WizardPage {
-
- private static final int DEFAULT_DAYS = 1;
-
- private static final String TITLE = "Mylyn Task Activity Report";
-
- private static final String DESCRIPTION = "Summarizes task activity and assists planning future tasks.";
-
- private final long DAY = 24 * 3600 * 1000;
-
- protected String[] columnNames = new String[] { "", "Description" };
-
- private Date reportStartDate = null;
-
- private Date reportEndDate = null;
-
- private Button daysRadioButton = null;
-
- private Button dateRadioButton = null;
-
- private Text numDays;
-
- private int numDaysToReport = 0;
-
- private Table filtersTable;
-
- private final TaskElementLabelProvider labelProvider = new TaskElementLabelProvider(false);
-
- public TaskActivityWizardPage() {
- super(TITLE);
- setTitle(TITLE);
- setDescription(DESCRIPTION);
- }
-
- public void createControl(Composite parent) {
- Composite container = new Composite(parent, SWT.FILL);
- GridLayout layout = new GridLayout();
- container.setLayout(layout);
- layout.numColumns = 1;
-
- createReportPeriodGroup(container);
-
- Label spacer = new Label(container, SWT.NONE);
- spacer.setText(" ");
-
- createCategorySelectionGroup(container);
-
- setControl(container);
- numDays.setFocus();
- }
-
- private void createReportPeriodGroup(Composite parent) {
- Group reportPeriodGroup = new Group(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 4;
- reportPeriodGroup.setLayout(layout);
- reportPeriodGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
- reportPeriodGroup.setText("Report Period");
- reportPeriodGroup.setFont(parent.getFont());
-
- daysRadioButton = new Button(reportPeriodGroup, SWT.RADIO | SWT.LEFT | SWT.NO_FOCUS);
- daysRadioButton.setText("Number of days prior: ");
- daysRadioButton.setSelection(true);
-
- numDays = new Text(reportPeriodGroup, SWT.BORDER);
- GridData gd = new GridData();
- gd.widthHint = 50;
- numDays.setLayoutData(gd);
- numDays.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- try {
- numDaysToReport = Integer.parseInt(numDays.getText());
- setErrorMessage(null);
- } catch (Exception ex) {
- setErrorMessage("Must be integer");
- numDaysToReport = 0;
- }
- }
- });
-
- numDays.setText("" + DEFAULT_DAYS);
- numDaysToReport = DEFAULT_DAYS;
-
- Label spacer = new Label(reportPeriodGroup, SWT.NONE);
- GridDataFactory.fillDefaults().span(2, SWT.DEFAULT).applyTo(spacer);
-
- dateRadioButton = new Button(reportPeriodGroup, SWT.RADIO | SWT.LEFT | SWT.NO_FOCUS);
- dateRadioButton.setText("Date range Start:");
-
- final DatePicker datePicker = new DatePicker(reportPeriodGroup, SWT.BORDER, "<start date>");
- datePicker.setEnabled(false);
- Calendar startCal = Calendar.getInstance();
- TaskActivityUtil.snapStartOfDay(startCal);
- reportStartDate = startCal.getTime();
- datePicker.setDate(startCal);
- datePicker.addPickerSelectionListener(new SelectionListener() {
- public void widgetSelected(SelectionEvent arg0) {
- if (datePicker.getDate() != null) {
- reportStartDate = datePicker.getDate().getTime();
- }
- }
-
- public void widgetDefaultSelected(SelectionEvent arg0) {
- // ignore
- }
- });
-
- new Label(reportPeriodGroup, SWT.NONE).setText("End:");
-
- final DatePicker endDatePicker = new DatePicker(reportPeriodGroup, SWT.BORDER, "<end date>");
- endDatePicker.setEnabled(false);
- Calendar endCal = Calendar.getInstance();
- TaskActivityUtil.snapEndOfWorkDay(endCal);
- reportEndDate = endCal.getTime();
- endDatePicker.setDate(endCal);
- endDatePicker.addPickerSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent arg0) {
- if (datePicker.getDate() != null) {
- reportEndDate = endDatePicker.getDate().getTime();
- }
- }
- });
-
- SelectionListener radioListener = new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- numDays.setEnabled(daysRadioButton.getSelection());
- datePicker.setEnabled(dateRadioButton.getSelection());
- endDatePicker.setEnabled(dateRadioButton.getSelection());
- if (daysRadioButton.getSelection()) {
- numDays.setFocus();
- }
- if (dateRadioButton.getSelection()) {
- datePicker.setFocus();
- }
- }
-
- };
-
- daysRadioButton.addSelectionListener(radioListener);
- dateRadioButton.addSelectionListener(radioListener);
-
- }
-
- /**
- * Selection of specific category to report on in the Task Planner
- *
- * @param composite
- * container to add categories combo box to
- */
- private void createCategorySelectionGroup(Composite composite) {
-
- Group categorySelectionGroup = new Group(composite, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 1;
- categorySelectionGroup.setLayout(layout);
- categorySelectionGroup.setLayoutData(new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL));
- categorySelectionGroup.setText("Category Selection");
- categorySelectionGroup.setFont(composite.getFont());
-
- createFilterTable(categorySelectionGroup, true);
- ITaskListManager manager = TasksUi.getTaskListManager();
- if (manager == null) {
- filtersTable.setEnabled(false);
- return;
- }
-
- List<AbstractTaskContainer> containers = new ArrayList<AbstractTaskContainer>();
- containers.addAll(manager.getTaskList().getCategories());
- containers.addAll(manager.getTaskList().getQueries());
- //containers.add(manager.getTaskList().getArchiveContainer());
- Collections.sort(containers, new Comparator<AbstractTaskContainer>() {
-
- public int compare(AbstractTaskContainer c1, AbstractTaskContainer c2) {
- if (c1.equals(TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory())) {
- return -1;
- } else if (c2.equals(TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory())) {
- return 1;
- } else {
- return c1.getSummary().compareToIgnoreCase(c2.getSummary());
- }
- }
-
- });
-
- // populate table
- for (AbstractTaskContainer container : containers) {
- TableItem item = new TableItem(filtersTable, SWT.NONE);
- item.setImage(labelProvider.getImage(container));
- item.setText(container.getSummary());
- item.setData(container);
- }
-
- for (int i = 0; i < columnNames.length; i++) {
- filtersTable.getColumn(i).pack();
- }
-
- createButtonsGroup(categorySelectionGroup);
-
- // default to all categories selected
- setChecked(true);
- }
-
- /**
- *
- * Creates the buttons for selecting all or none of the categories.
- *
- * @param parent
- * parent composite
- */
- private final void createButtonsGroup(Composite parent) {
-
- Font font = parent.getFont();
- new Label(parent, SWT.NONE); // Blank cell on left
-
- Composite buttonComposite = new Composite(parent, SWT.NONE);
- buttonComposite.setFont(parent.getFont());
-
- GridLayout layout = new GridLayout();
- layout.numColumns = 3;
- layout.makeColumnsEqualWidth = true;
- buttonComposite.setLayout(layout);
- buttonComposite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-
- Button selectButton = new Button(buttonComposite, SWT.NONE);
- selectButton.setText("Select All");
-
- selectButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setChecked(true);
- }
- });
-
- selectButton.setFont(font);
- setButtonLayoutData(selectButton);
-
- Button deselectButton = new Button(buttonComposite, SWT.NONE);
- deselectButton.setText("Deselect All");
-
- deselectButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setChecked(false);
- }
- });
-
- deselectButton.setFont(font);
- setButtonLayoutData(deselectButton);
-
- }
-
- private void setChecked(boolean checked) {
- for (TableItem item : filtersTable.getItems()) {
- item.setChecked(checked);
- }
- }
-
- private void createFilterTable(Composite composite, boolean enabled) {
-
- Font font = composite.getFont();
- this.filtersTable = new Table(composite, SWT.BORDER | SWT.MULTI | SWT.CHECK | SWT.H_SCROLL | SWT.V_SCROLL);
- this.filtersTable.setEnabled(enabled);
- GridData data = new GridData();
- // Set heightHint with a small value so the list size will be defined by
- // the space available in the dialog instead of resizing the dialog to
- // fit all the items in the list.
- data.heightHint = filtersTable.getItemHeight();
- data.verticalAlignment = GridData.FILL;
- data.horizontalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- data.grabExcessVerticalSpace = true;
- this.filtersTable.setLayoutData(data);
- this.filtersTable.setFont(font);
-
- for (String columnName : columnNames) {
- TableColumn column = new TableColumn(filtersTable, SWT.NONE);
- column.setText(columnName);
- }
-
- }
-
- public Set<AbstractTaskContainer> getSelectedContainers() {
- Set<AbstractTaskContainer> result = new HashSet<AbstractTaskContainer>();
- TableItem[] items = filtersTable.getItems();
- for (TableItem item : items) {
- if (item.getChecked() && item.getData() instanceof AbstractTaskContainer) {
- result.add((AbstractTaskContainer) item.getData());
- }
- }
- return result;
- }
-
- public Date getReportStartDate() {
- if (dateRadioButton.getSelection() && reportStartDate != null) {
- return reportStartDate;
- } else {
- long today = new Date().getTime();
- long lastDay = numDaysToReport * DAY;
-
- int offsetToday = Calendar.getInstance().get(Calendar.HOUR) * 60 * 60 * 1000
- + Calendar.getInstance().get(Calendar.MINUTE) * 60 * 1000
- + Calendar.getInstance().get(Calendar.SECOND) * 1000;
- return new Date(today - offsetToday - lastDay);
- }
- }
-
- public Date getReportEndDate() {
- if (dateRadioButton.getSelection() && reportEndDate != null) {
- return reportEndDate;
- } else {
- return new Date();
- }
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlanContentProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlanContentProvider.java
deleted file mode 100644
index 277385b2e..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlanContentProvider.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.mylyn.tasks.core.AbstractTask;
-
-/**
- * @author Ken Sueda
- */
-public class TaskPlanContentProvider implements IStructuredContentProvider {
-
- private final List<AbstractTask> tasks = new ArrayList<AbstractTask>();
-
- public Object[] getElements(Object inputElement) {
- return tasks.toArray();
- }
-
- public void dispose() {
- }
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- public void addTask(AbstractTask t) {
- if (!tasks.contains(t)) {
- tasks.add(t);
- }
- }
-
- public void removeTask(AbstractTask t) {
- tasks.remove(t);
- }
-
- public List<AbstractTask> getTasks() {
- return tasks;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlanSorter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlanSorter.java
deleted file mode 100644
index 860a85515..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlanSorter.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.mylyn.tasks.core.AbstractTask;
-
-/**
- * @author Mik Kersten
- */
-public class TaskPlanSorter extends TaskActivitySorter {
-
- // {".", "Description", "Priority", "Estimated Time", "Reminder Date"};
- public final static int PRIORITY = 1;
-
- public final static int DESCRIPTION = 2;
-
- public final static int DURATION = 3;
-
- public final static int ESTIMATE = 4;
-
- public final static int REMINDER = 5;
-
- public static final int ICON = 0;
-
- private final int criteria;
-
- public TaskPlanSorter(int criteria) {
- super(criteria);
- this.criteria = criteria;
- }
-
- @Override
- public int compare(Viewer viewer, Object obj1, Object obj2) {
- AbstractTask t1 = (AbstractTask) obj1;
- AbstractTask t2 = (AbstractTask) obj2;
-
- switch (criteria) {
- case PRIORITY:
- return comparePriority(t1, t2);
- case DESCRIPTION:
- return compareDescription(t1, t2);
- case DURATION:
- return compareDuration(t1, t2);
- case ESTIMATE:
- return compareEstimated(t1, t2);
- case REMINDER:
- return compareReminder(t1, t2);
- default:
- return 0;
- }
- }
-
- private int compareReminder(AbstractTask task1, AbstractTask task2) {
- if (task2.getScheduledForDate() == null) {
- return -1;
- }
- if (task1.getScheduledForDate() == null) {
- return 1;
- }
- if (task1.getScheduledForDate() == null && task2.getScheduledForDate() == null) {
- return 0;
- }
- return task2.getScheduledForDate().compareTo(task1.getScheduledForDate());
- }
-
- // protected int compareEstimated(ITask task1, ITask task2) {
- // if (task1.getEstimateTimeHours() > task2.getEstimateTimeHours()) {
- // return 1;
- // } else {
- // return -1;
- // }
-
- // private int compareDescription(ITask task1, ITask task2) {
- // return
- // task1.getDescription(false).compareTo(task2.getDescription(false));
- // }
- //
- // private int comparePriority(ITask task1, ITask task2) {
- // return task1.getPriority().compareTo(task2.getPriority());
- // }
- //
-
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlannerLabelProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlannerLabelProvider.java
deleted file mode 100644
index 72ed075c4..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlannerLabelProvider.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import java.text.DateFormat;
-import java.util.Calendar;
-import java.util.Date;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
-import org.eclipse.mylyn.internal.tasks.ui.views.TaskElementLabelProvider;
-import org.eclipse.mylyn.monitor.core.DateUtil;
-import org.eclipse.mylyn.monitor.core.StatusHandler;
-import org.eclipse.mylyn.tasks.core.AbstractTask;
-import org.eclipse.mylyn.tasks.core.AbstractTaskContainer;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * @author Ken Sueda
- * @author Rob Elves
- */
-public class TaskPlannerLabelProvider extends TaskElementLabelProvider implements ITableLabelProvider, IColorProvider {
-
- private final Calendar startDate;
-
- private final Calendar endDate;
-
- private final TreeViewer viewer;
-
- public TaskPlannerLabelProvider(TreeViewer viewer, Date startDate, Date endDate) {
- super(true);
- this.viewer = viewer;
- this.startDate = Calendar.getInstance();
- this.startDate.setTime(startDate);
- this.endDate = Calendar.getInstance();
- this.endDate.setTime(endDate);
- }
-
- private final TaskElementLabelProvider taskListLabelProvider = new TaskElementLabelProvider(true);
-
- public Image getColumnImage(Object element, int columnIndex) {
- if (columnIndex == 0) {
- return super.getImage(element);
- } else {
- return null;
- }
- }
-
- public String getColumnText(Object element, int columnIndex) {
- try {
- if (element instanceof AbstractTask) {
- AbstractTask task = (AbstractTask) element;
- switch (columnIndex) {
- case 1:
- return task.getPriority();
- case 2:
- return task.getSummary();
- case 3:
- return DateUtil.getFormattedDurationShort(TasksUiPlugin.getTaskActivityManager().getElapsedTime(
- task, startDate, endDate));
- case 4:
- return task.getEstimatedTimeHours() + " hours";
- case 5:
- if (task.getCreationDate() != null) {
- return DateFormat.getDateInstance(DateFormat.MEDIUM).format(task.getCreationDate());
- } else {
- StatusHandler.log(new Status(IStatus.WARNING, TasksUiPlugin.ID_PLUGIN,
- "Task has no creation date: " + task.getSummary()));
- return "[unknown]";
- }
- case 6:
- if (task.getCompletionDate() != null) {
- return DateFormat.getDateInstance(DateFormat.MEDIUM).format(task.getCompletionDate());
- } else {
- return "";
- }
- }
- } else if (element instanceof AbstractTaskContainer) {
- AbstractTaskContainer container = (AbstractTaskContainer) element;
- switch (columnIndex) {
- case 1:
- return null;
- case 2:
- return container.getSummary();
- case 3: {
- ITreeContentProvider contentProvider = ((ITreeContentProvider) viewer.getContentProvider());
- long duration = 0;
- for (Object o : contentProvider.getChildren(container)) {
- if (o instanceof AbstractTask) {
- duration += TasksUiPlugin.getTaskActivityManager().getElapsedTime((AbstractTask) o,
- startDate, endDate);
- }
- }
- return DateUtil.getFormattedDurationShort(duration);
- }
- case 4: {
- ITreeContentProvider contentProvider = ((ITreeContentProvider) viewer.getContentProvider());
- long estimated = 0;
- for (Object o : contentProvider.getChildren(container)) {
- if (o instanceof AbstractTask) {
- estimated += ((AbstractTask) o).getEstimatedTimeHours();
- }
- }
- return estimated + " hours";
- }
- case 5:
- return null;
- case 6:
- return null;
- }
- }
- } catch (RuntimeException e) {
- StatusHandler.log(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN,
- "Could not produce completed task label", e));
- return "";
- }
- return null;
- }
-
- @Override
- public Color getForeground(Object element) {
- return taskListLabelProvider.getForeground(element);
- }
-
- @Override
- public Color getBackground(Object element) {
- return taskListLabelProvider.getBackground(element);
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskReportGenerator.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskReportGenerator.java
deleted file mode 100644
index f014ca1e6..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskReportGenerator.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Mylyn project committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.planner;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.mylyn.internal.tasks.core.TaskList;
-import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
-import org.eclipse.mylyn.monitor.core.StatusHandler;
-import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery;
-import org.eclipse.mylyn.tasks.core.AbstractTask;
-import org.eclipse.mylyn.tasks.core.AbstractTaskContainer;
-
-/**
- * @author Ken Sueda
- * @author Mik Kersten
- * @author Rob Elves (scope report to specific categories and queries)
- */
-public class TaskReportGenerator implements IRunnableWithProgress {
-
- private static final String LABEL_JOB = "Mylyn Task Activity Report";
-
- private boolean finished;
-
- private TaskList tasklist = null;
-
- private final List<ITaskCollector> collectors = new ArrayList<ITaskCollector>();
-
- private final List<AbstractTask> tasks = new ArrayList<AbstractTask>();
-
- private final Set<AbstractTaskContainer> filterCategories;
-
- public TaskReportGenerator(TaskList tlist) {
- this(tlist, null);
- }
-
- public TaskReportGenerator(TaskList tlist, Set<AbstractTaskContainer> filterCategories) {
- tasklist = tlist;
- this.filterCategories = filterCategories != null ? filterCategories : new HashSet<AbstractTaskContainer>();
- }
-
- public void addCollector(ITaskCollector collector) {
- collectors.add(collector);
- }
-
- public void collectTasks() {
- try {
- run(new NullProgressMonitor());
- } catch (InvocationTargetException e) {
- // operation was canceled
- } catch (InterruptedException e) {
- StatusHandler.log(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, "Could not collect tasks", e));
- }
- }
-
- public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-
- Set<AbstractTaskContainer> rootElements;
- if (filterCategories.size() == 0) {
- rootElements = tasklist.getRootElements();
- } else {
- rootElements = filterCategories;
- }
-
- int estimatedItemsToProcess = rootElements.size();
- monitor.beginTask(LABEL_JOB, estimatedItemsToProcess);
-
- for (Object element : rootElements) {
- monitor.worked(1);
- if (element instanceof AbstractTask) {
- AbstractTask task = (AbstractTask) element;
- for (ITaskCollector collector : collectors) {
- collector.consumeTask(task);
- }
- } else if (element instanceof AbstractRepositoryQuery) {
- // process queries
- AbstractRepositoryQuery repositoryQuery = (AbstractRepositoryQuery) element;
- for (AbstractTask task : repositoryQuery.getChildren()) {
- for (ITaskCollector collector : collectors) {
- collector.consumeTask(task);
- }
- }
- } else if (element instanceof AbstractTaskContainer) {
- AbstractTaskContainer cat = (AbstractTaskContainer) element;
- for (AbstractTask task : cat.getChildren()) {
- for (ITaskCollector collector : collectors) {
- collector.consumeTask(task);
- }
- }
-
- }
- }
- // Put the results all into one list (tasks)
- for (ITaskCollector collector : collectors) {
- tasks.addAll(collector.getTasks());
- }
- finished = true;
- monitor.done();
- }
-
- public List<AbstractTask> getAllCollectedTasks() {
- return tasks;
- }
-
- public boolean isFinished() {
- return finished;
- }
-}

Back to the top