diff options
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/CopyOfTaskListView.java')
-rw-r--r-- | org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/CopyOfTaskListView.java | 1719 |
1 files changed, 0 insertions, 1719 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/CopyOfTaskListView.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/CopyOfTaskListView.java deleted file mode 100644 index 4f5aa7dda..000000000 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/CopyOfTaskListView.java +++ /dev/null @@ -1,1719 +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.views; -// -//import java.util.ArrayList; -//import java.util.Arrays; -//import java.util.Collections; -//import java.util.HashSet; -//import java.util.Iterator; -//import java.util.LinkedHashMap; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//import org.eclipse.core.runtime.IProgressMonitor; -//import org.eclipse.core.runtime.IStatus; -//import org.eclipse.core.runtime.Status; -//import org.eclipse.jface.action.Action; -//import org.eclipse.jface.action.IMenuListener; -//import org.eclipse.jface.action.IMenuManager; -//import org.eclipse.jface.action.IStatusLineManager; -//import org.eclipse.jface.action.IToolBarManager; -//import org.eclipse.jface.action.MenuManager; -//import org.eclipse.jface.action.Separator; -//import org.eclipse.jface.dialogs.InputDialog; -//import org.eclipse.jface.layout.TreeColumnLayout; -//import org.eclipse.jface.util.IPropertyChangeListener; -//import org.eclipse.jface.util.PropertyChangeEvent; -//import org.eclipse.jface.viewers.CellEditor; -//import org.eclipse.jface.viewers.ColumnPixelData; -//import org.eclipse.jface.viewers.ColumnWeightData; -//import org.eclipse.jface.viewers.DoubleClickEvent; -//import org.eclipse.jface.viewers.IDoubleClickListener; -//import org.eclipse.jface.viewers.IOpenListener; -//import org.eclipse.jface.viewers.ISelection; -//import org.eclipse.jface.viewers.ISelectionChangedListener; -//import org.eclipse.jface.viewers.IStructuredSelection; -//import org.eclipse.jface.viewers.ITreeViewerListener; -//import org.eclipse.jface.viewers.OpenEvent; -//import org.eclipse.jface.viewers.SelectionChangedEvent; -//import org.eclipse.jface.viewers.StructuredSelection; -//import org.eclipse.jface.viewers.TextCellEditor; -//import org.eclipse.jface.viewers.TreeExpansionEvent; -//import org.eclipse.jface.viewers.TreeViewer; -//import org.eclipse.jface.window.Window; -//import org.eclipse.mylyn.internal.tasks.core.ScheduledTaskContainer; -//import org.eclipse.mylyn.internal.tasks.core.TaskArchive; -//import org.eclipse.mylyn.internal.tasks.core.TaskCategory; -//import org.eclipse.mylyn.internal.tasks.core.UnfiledCategory; -//import org.eclipse.mylyn.internal.tasks.ui.AbstractTaskListFilter; -//import org.eclipse.mylyn.internal.tasks.ui.CategorizedPresentation; -//import org.eclipse.mylyn.internal.tasks.ui.IDynamicSubMenuContributor; -//import org.eclipse.mylyn.internal.tasks.ui.ScheduledPresentation; -//import org.eclipse.mylyn.internal.tasks.ui.TaskArchiveFilter; -//import org.eclipse.mylyn.internal.tasks.ui.TaskCompletionFilter; -//import org.eclipse.mylyn.internal.tasks.ui.TaskListColorsAndFonts; -//import org.eclipse.mylyn.internal.tasks.ui.TaskListPatternFilter; -//import org.eclipse.mylyn.internal.tasks.ui.TaskPriorityFilter; -//import org.eclipse.mylyn.internal.tasks.ui.TaskTransfer; -//import org.eclipse.mylyn.internal.tasks.ui.TaskWorkingSetFilter; -//import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages; -//import org.eclipse.mylyn.internal.tasks.ui.TasksUiPreferenceConstants; -//import org.eclipse.mylyn.internal.tasks.ui.actions.CollapseAllAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.CopyTaskDetailsAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.DeleteAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.ExpandAllAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.FilterArchiveContainerAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.FilterCompletedTasksAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.GoIntoAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.GoUpAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.GroupSubTasksAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.LinkWithEditorAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.MarkTaskCompleteAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.MarkTaskIncompleteAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.OpenTaskListElementAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.OpenTasksUiPreferencesAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.OpenWithBrowserAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.PresentationDropDownSelectionAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.RemoveFromCategoryAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.RenameAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.SynchronizeAutomaticallyAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.TaskActivateAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.TaskDeactivateAction; -//import org.eclipse.mylyn.internal.tasks.ui.actions.TaskListElementPropertiesAction; -//import org.eclipse.mylyn.internal.tasks.ui.views.TaskListTableSorter.SortByIndex; -//import org.eclipse.mylyn.internal.tasks.ui.wizards.NewLocalTaskWizard; -//import org.eclipse.mylyn.internal.tasks.ui.workingsets.TaskWorkingSetUpdater; -//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.AbstractTaskCategory; -//import org.eclipse.mylyn.tasks.core.AbstractTaskContainer; -//import org.eclipse.mylyn.tasks.core.ITaskActivityListener; -//import org.eclipse.mylyn.tasks.core.ITaskListChangeListener; -//import org.eclipse.mylyn.tasks.core.TaskContainerDelta; -//import org.eclipse.mylyn.tasks.core.AbstractTask.PriorityLevel; -//import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; -//import org.eclipse.mylyn.tasks.ui.TasksUiUtil; -//import org.eclipse.mylyn.tasks.ui.editors.TaskEditorInput; -//import org.eclipse.swt.SWT; -//import org.eclipse.swt.SWTException; -//import org.eclipse.swt.dnd.DND; -//import org.eclipse.swt.dnd.FileTransfer; -//import org.eclipse.swt.dnd.RTFTransfer; -//import org.eclipse.swt.dnd.TextTransfer; -//import org.eclipse.swt.dnd.Transfer; -//import org.eclipse.swt.events.ControlEvent; -//import org.eclipse.swt.events.ControlListener; -//import org.eclipse.swt.events.KeyEvent; -//import org.eclipse.swt.events.KeyListener; -//import org.eclipse.swt.events.MouseEvent; -//import org.eclipse.swt.events.MouseListener; -//import org.eclipse.swt.events.SelectionAdapter; -//import org.eclipse.swt.events.SelectionEvent; -//import org.eclipse.swt.graphics.Color; -//import org.eclipse.swt.graphics.GC; -//import org.eclipse.swt.graphics.Image; -//import org.eclipse.swt.graphics.Point; -//import org.eclipse.swt.graphics.Rectangle; -//import org.eclipse.swt.graphics.Region; -//import org.eclipse.swt.widgets.Composite; -//import org.eclipse.swt.widgets.Display; -//import org.eclipse.swt.widgets.Event; -//import org.eclipse.swt.widgets.Listener; -//import org.eclipse.swt.widgets.Menu; -//import org.eclipse.swt.widgets.Scrollable; -//import org.eclipse.swt.widgets.Table; -//import org.eclipse.swt.widgets.Text; -//import org.eclipse.swt.widgets.Tree; -//import org.eclipse.swt.widgets.TreeColumn; -//import org.eclipse.swt.widgets.TreeItem; -//import org.eclipse.ui.IActionBars; -//import org.eclipse.ui.IEditorInput; -//import org.eclipse.ui.IEditorPart; -//import org.eclipse.ui.IMemento; -//import org.eclipse.ui.IPageListener; -//import org.eclipse.ui.IPartListener; -//import org.eclipse.ui.IViewPart; -//import org.eclipse.ui.IViewReference; -//import org.eclipse.ui.IViewSite; -//import org.eclipse.ui.IWorkbench; -//import org.eclipse.ui.IWorkbenchActionConstants; -//import org.eclipse.ui.IWorkbenchPage; -//import org.eclipse.ui.IWorkbenchPart; -//import org.eclipse.ui.IWorkingSet; -//import org.eclipse.ui.IWorkingSetManager; -//import org.eclipse.ui.PartInitException; -//import org.eclipse.ui.PlatformUI; -//import org.eclipse.ui.part.DrillDownAdapter; -//import org.eclipse.ui.part.ViewPart; -//import org.eclipse.ui.progress.WorkbenchJob; -//import org.eclipse.ui.themes.IThemeManager; -// -///** -// * @author Mik Kersten -// * @author Ken Sueda -// * @author Eugene Kuleshov -// */ -//public class CopyOfTaskListView extends ViewPart implements IPropertyChangeListener { -// -// private final class TaskListRefreshJob extends WorkbenchJob { -// private AbstractTaskContainer container; -// -// private TaskListRefreshJob(String name) { -// super(name); -// } -// -// public void schedule(AbstractTaskContainer container, long delay) { -// this.container = container; -// schedule(delay); -// } -// -// public IStatus runInUIThread(IProgressMonitor monitor) { -// if (getViewer().getControl() == null || getViewer().getControl().isDisposed()) { -// return Status.CANCEL_STATUS; -// } -// if (container == null) { -// getViewer().refresh(true); -// } else { -// try { -// if (container instanceof AbstractTask) { -// AbstractTask task = (AbstractTask) container; -// getViewer().refresh(task, true); -// } else { -// getViewer().refresh(container, true); -// } -// // TODO: consider moving expansion logic into viewer manager -// if (isFocusedMode()) { -// getViewer().expandToLevel(container, 3); -// } -// } catch (SWTException e) { -// StatusHandler.log(e, "Failed to refresh Task List"); -// } -// } -// return Status.OK_STATUS; -// -// } -// } -// -// public static final String ID = "org.eclipse.mylyn.tasks.ui.views.tasks"; -// -// public static final String LABEL_VIEW = "Task List"; -// -// private static final String MEMENTO_KEY_SORT_DIRECTION = "sortDirection"; -// -// private static final String MEMENTO_KEY_SORTER = "sorter"; -// -// private static final String MEMENTO_KEY_SORT_INDEX = "sortIndex"; -// -// private static final String MEMENTO_SORT_INDEX = "org.eclipse.mylyn.tasklist.ui.views.tasklist.sortIndex"; -// -// private static final String MEMENTO_LINK_WITH_EDITOR = "linkWithEditor"; -// -// private static final String MEMENTO_PRESENTATION = "presentation"; -// -// private static final String ID_SEPARATOR_NEW = "new"; -// -// private static final String ID_SEPARATOR_OPERATIONS = "operations"; -// -// private static final String ID_SEPARATOR_CONTEXT = "context"; -// -// public static final String ID_SEPARATOR_TASKS = "tasks"; -// -// private static final String ID_SEPARATOR_FILTERS = "filters"; -// -// private static final String ID_SEPARATOR_REPOSITORY = "repository"; -// -// private static final String LABEL_NO_TASKS = "no task active"; -// -// private final static int SIZE_MAX_SELECTION_HISTORY = 10; -// -// private static final String PART_NAME = "Task List"; -// -// private static final int DEFAULT_SORT_DIRECTION = 1; -// -// static final String[] PRIORITY_LEVELS = { PriorityLevel.P1.toString(), PriorityLevel.P2.toString(), -// PriorityLevel.P3.toString(), PriorityLevel.P4.toString(), PriorityLevel.P5.toString() }; -// -// public static final String[] PRIORITY_LEVEL_DESCRIPTIONS = { PriorityLevel.P1.getDescription(), -// PriorityLevel.P2.getDescription(), PriorityLevel.P3.getDescription(), PriorityLevel.P4.getDescription(), -// PriorityLevel.P5.getDescription() }; -// -// private static List<AbstractTaskListPresentation> presentationsPrimary = new ArrayList<AbstractTaskListPresentation>(); -// -// private static List<AbstractTaskListPresentation> presentationsSecondary = new ArrayList<AbstractTaskListPresentation>(); -// -// private boolean focusedMode = false; -// -// private boolean linkWithEditor; -// -// private TaskListCellModifier taskListCellModifier = new TaskListCellModifier(this); -// -// private IThemeManager themeManager; -// -// private TaskListFilteredTree filteredTree; -// -// private DrillDownAdapter drillDownAdapter; -// -// private AbstractTaskContainer drilledIntoCategory = null; -// -// private GoIntoAction goIntoAction; -// -// private GoUpAction goUpAction; -// -// private CopyTaskDetailsAction copyDetailsAction; -// -// private OpenTaskListElementAction openAction; -// -// private TaskListElementPropertiesAction propertiesAction; -// -// private OpenWithBrowserAction openWithBrowser; -// -// private RenameAction renameAction; -// -// private CollapseAllAction collapseAll; -// -// private ExpandAllAction expandAll; -// -// private DeleteAction deleteAction; -// -// private RemoveFromCategoryAction removeFromCategoryAction; -// -// private TaskActivateAction activateAction = new TaskActivateAction(); -// -// private TaskDeactivateAction deactivateAction = new TaskDeactivateAction(); -// -// private FilterCompletedTasksAction filterCompleteTask; -// -// private GroupSubTasksAction filterSubTasksAction; -// -// private SynchronizeAutomaticallyAction synchronizeAutomatically; -// -// private OpenTasksUiPreferencesAction openPreferencesAction; -// -// private FilterArchiveContainerAction filterArchiveCategory; -// -// private PriorityDropDownAction filterOnPriorityAction; -// -// private SortyByDropDownAction sortByAction; -// -// private PresentationDropDownSelectionAction presentationDropDownSelectionAction; -// -// private LinkWithEditorAction linkWithEditorAction; -// -// private TaskPriorityFilter filterPriority = new TaskPriorityFilter(); -// -// private TaskCompletionFilter filterComplete = new TaskCompletionFilter(); -// -// private TaskArchiveFilter filterArchive = new TaskArchiveFilter(); -// -// private TaskWorkingSetFilter filterWorkingSet; -// -// private Set<AbstractTaskListFilter> filters = new HashSet<AbstractTaskListFilter>(); -// -// protected String[] columnNames = new String[] { "Summary" }; -// -// protected int[] columnWidths = new int[] { 200 }; -// -// private TreeColumn[] columns; -// -// private IMemento taskListMemento; -// -// private SortByIndex sortByIndex = SortByIndex.PRIORITY; -// -// private AbstractTaskListPresentation currentPresentation; -// -// private TaskTableLabelProvider taskListTableLabelProvider; -// -// private TaskListTableSorter tableSorter; -// -// int sortDirection = DEFAULT_SORT_DIRECTION; -// -// private Color categoryGradientStart; -// -// private Color categoryGradientEnd; -// -// private TaskListRefreshJob refreshJob; -// -// private final IPageListener PAGE_LISTENER = new IPageListener() { -// public void pageActivated(IWorkbenchPage page) { -// filteredTree.indicateActiveTaskWorkingSet(); -// } -// -// public void pageClosed(IWorkbenchPage page) { -// // ignore -// -// } -// -// public void pageOpened(IWorkbenchPage page) { -// // ignore -// } -// }; -// -// private LinkedHashMap<String, IStructuredSelection> lastSelectionByTaskHandle = new LinkedHashMap<String, IStructuredSelection>( -// SIZE_MAX_SELECTION_HISTORY); -// -// /** -// * True if the view should indicate that interaction monitoring is paused -// */ -// protected boolean isPaused = false; -// -// boolean synchronizationOverlaid = false; -// -// private final Listener CATEGORY_GRADIENT_DRAWER = new Listener() { -// public void handleEvent(Event event) { -// if (event.item.getData() instanceof AbstractTaskContainer -// && !(event.item.getData() instanceof AbstractTask)) { -// Scrollable scrollable = (Scrollable) event.widget; -// GC gc = event.gc; -// -// Rectangle area = scrollable.getClientArea(); -// Rectangle rect = event.getBounds(); -// -// /* Paint the selection beyond the end of last column */ -// expandRegion(event, scrollable, gc, area); -// -// /* Draw Gradient Rectangle */ -// Color oldForeground = gc.getForeground(); -// Color oldBackground = gc.getBackground(); -// -// gc.setForeground(categoryGradientEnd); -// gc.drawLine(0, rect.y, area.width, rect.y); -// -// gc.setForeground(categoryGradientStart); -// gc.setBackground(categoryGradientEnd); -// -// // gc.setForeground(categoryGradientStart); -// // gc.setBackground(categoryGradientEnd); -// // gc.setForeground(new Clr(Display.getCurrent(), 255, 0, 0)); -// -// gc.fillGradientRectangle(0, rect.y + 1, area.width, rect.height, true); -// -// /* Bottom Line */ -// // gc.setForeground(); -// gc.setForeground(categoryGradientEnd); -// gc.drawLine(0, rect.y + rect.height - 1, area.width, rect.y + rect.height - 1); -// -// gc.setForeground(oldForeground); -// gc.setBackground(oldBackground); -// /* Mark as Background being handled */ -// event.detail &= ~SWT.BACKGROUND; -// } -// } -// -// private void expandRegion(Event event, Scrollable scrollable, GC gc, Rectangle area) { -// int columnCount; -// if (scrollable instanceof Table) -// columnCount = ((Table) scrollable).getColumnCount(); -// else -// columnCount = ((Tree) scrollable).getColumnCount(); -// -// if (event.index == columnCount - 1 || columnCount == 0) { -// int width = area.x + area.width - event.x; -// if (width > 0) { -// Region region = new Region(); -// gc.getClipping(region); -// region.add(event.x, event.y, width, event.height); -// gc.setClipping(region); -// region.dispose(); -// } -// } -// } -// }; -// -// private boolean gradientListenerAdded = false; -// -// private final ITaskActivityListener TASK_ACTIVITY_LISTENER = new TaskActivityAdapter() { -// -// public void taskActivated(final AbstractTask task) { -// if (task != null) { -// PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { -// public void run() { -// updateDescription(task); -// selectedAndFocusTask(task); -// filteredTree.indicateActiveTask(task); -// refreshAndFocus(false); -// } -// }); -// } -// } -// -// public void taskDeactivated(final AbstractTask task) { -// PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { -// public void run() { -// refreshTask(new TaskContainerDelta(task, TaskContainerDelta.Kind.CHANGED)); -// updateDescription(null); -// filteredTree.indicateNoActiveTask(); -// } -// }); -// } -// -// public void activityChanged(final ScheduledTaskContainer week) { -// PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { -// public void run() { -// if (ScheduledPresentation.ID.equals(getCurrentPresentation().getId())) { -// refresh(week); -// } -// } -// }); -// } -// -// public void taskListRead() { -// PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { -// public void run() { -// refresh(null); -// } -// }); -// } -// }; -// -// private final ITaskListChangeListener TASK_REFERESH_LISTENER = new ITaskListChangeListener() { -// -// public void containersChanged(final Set<TaskContainerDelta> deltas) { -// PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { -// public void run() { -// for (TaskContainerDelta taskContainerDelta : deltas) { -// if (ScheduledPresentation.ID.equals(getCurrentPresentation().getId())) { -// // TODO: implement refresh policy for scheduled presentation -// refresh(null); -// } else { -// if (taskContainerDelta.getContainer() instanceof AbstractTask) { -// refreshTask(taskContainerDelta); -// } else { // category or query -// switch (taskContainerDelta.getKind()) { -// case ROOT: -// refresh(null); -// break; -// case ADDED: -// refresh(null); -// break; -// case REMOVED: -// refresh(null); -// break; -// default: -// if (taskContainerDelta.getContainer().equals( -// TasksUiPlugin.getTaskList().getDefaultCategory())) { -// refresh(null); -// } else { -// refresh(taskContainerDelta.getContainer()); -// } -// } -// } -// } -// } -// } -// }); -// } -// }; -// -// private final IPropertyChangeListener THEME_CHANGE_LISTENER = new IPropertyChangeListener() { -// public void propertyChange(PropertyChangeEvent event) { -// if (event.getProperty().equals(IThemeManager.CHANGE_CURRENT_THEME) -// || TaskListColorsAndFonts.isTaskListTheme(event.getProperty())) { -// configureGradientColors(); -// taskListTableLabelProvider.setCategoryBackgroundColor(themeManager.getCurrentTheme() -// .getColorRegistry() -// .get(TaskListColorsAndFonts.THEME_COLOR_TASKLIST_CATEGORY)); -// getViewer().refresh(); -// } -// } -// }; -// -// private void configureGradientColors() { -// categoryGradientStart = themeManager.getCurrentTheme().getColorRegistry().get( -// TaskListColorsAndFonts.THEME_COLOR_CATEGORY_GRADIENT_START); -// categoryGradientEnd = themeManager.getCurrentTheme().getColorRegistry().get( -// TaskListColorsAndFonts.THEME_COLOR_CATEGORY_GRADIENT_END); -// -// boolean customized = true; -// if (categoryGradientStart != null && categoryGradientStart.getRed() == 240 -// && categoryGradientStart.getGreen() == 240 && categoryGradientStart.getBlue() == 240 -// && categoryGradientEnd != null && categoryGradientEnd.getRed() == 220 -// && categoryGradientEnd.getGreen() == 220 && categoryGradientEnd.getBlue() == 220) { -// customized = false; -// } -// -// if (gradientListenerAdded == false && categoryGradientStart != null -// && !categoryGradientStart.equals(categoryGradientEnd)) { -// getViewer().getTree().addListener(SWT.EraseItem, CATEGORY_GRADIENT_DRAWER); -// gradientListenerAdded = true; -// if (!customized) { -// // Set parent-based colors -// Color parentBackground = getViewer().getTree().getParent().getBackground(); -// double GRADIENT_TOP = 1.05;// 1.02; -// double GRADIENT_BOTTOM = .995;// 1.035; -// -// int red = Math.min(255, (int) (parentBackground.getRed() * GRADIENT_TOP)); -// int green = Math.min(255, (int) (parentBackground.getGreen() * GRADIENT_TOP)); -// int blue = Math.min(255, (int) (parentBackground.getBlue() * GRADIENT_TOP)); -// -// try { -// categoryGradientStart = new Color(Display.getDefault(), red, green, blue); -// } catch (Exception e) { -// categoryGradientStart = getViewer().getTree().getParent().getBackground(); -// StatusHandler.fail(e, "Could not set color: " + red + ", " + green + ", " + blue, false); -// } -// red = Math.max(0, (int) (parentBackground.getRed() / GRADIENT_BOTTOM)); -// green = Math.max(0, (int) (parentBackground.getGreen() / GRADIENT_BOTTOM)); -// blue = Math.max(0, (int) (parentBackground.getBlue() / GRADIENT_BOTTOM)); -// if (red > 255) { -// red = 255; -// } -// try { -// categoryGradientEnd = new Color(Display.getDefault(), red, green, blue); -// } catch (Exception e) { -// categoryGradientStart = getViewer().getTree().getParent().getBackground(); -// StatusHandler.fail(e, "Could not set color: " + red + ", " + green + ", " + blue, false); -// } -// } -// } else if (categoryGradientStart != null && categoryGradientStart.equals(categoryGradientEnd)) { -// getViewer().getTree().removeListener(SWT.EraseItem, CATEGORY_GRADIENT_DRAWER); -// gradientListenerAdded = false; -// } -// } -// -// public static CopyOfTaskListView getFromActivePerspective() { -// if (PlatformUI.isWorkbenchRunning()) { -// IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); -// if (activePage != null) { -// IViewPart view = activePage.findView(ID); -// if (view instanceof CopyOfTaskListView) { -// return (CopyOfTaskListView) view; -// } -// } -// } -// return null; -// } -// -// public static CopyOfTaskListView openInActivePerspective() { -// try { -// return (CopyOfTaskListView) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(ID); -// } catch (Exception e) { -// StatusHandler.fail(e, "Could not show Task List view", false); -// e.printStackTrace(); -// return null; -// } -// } -// -// public CopyOfTaskListView() { -// PlatformUI.getWorkbench().getWorkingSetManager().addPropertyChangeListener(this); -// createRefreshJob(); -// TasksUiPlugin.getTaskListManager().addActivityListener(TASK_ACTIVITY_LISTENER); -// TasksUiPlugin.getTaskList().addChangeListener(TASK_REFERESH_LISTENER); -// } -// -// @Override -// public void dispose() { -// super.dispose(); -// TasksUiPlugin.getTaskList().removeChangeListener(TASK_REFERESH_LISTENER); -// TasksUiPlugin.getTaskListManager().removeActivityListener(TASK_ACTIVITY_LISTENER); -// -// PlatformUI.getWorkbench().getWorkingSetManager().removePropertyChangeListener(this); -// if (PlatformUI.getWorkbench().getActiveWorkbenchWindow() != null) { -// PlatformUI.getWorkbench().getActiveWorkbenchWindow().removePageListener(PAGE_LISTENER); -// } -// -// final IThemeManager themeManager = getSite().getWorkbenchWindow().getWorkbench().getThemeManager(); -// if (themeManager != null) { -// themeManager.removePropertyChangeListener(THEME_CHANGE_LISTENER); -// } -// -// categoryGradientStart.dispose(); -// categoryGradientEnd.dispose(); -// } -// -// private void createRefreshJob() { -// refreshJob = new TaskListRefreshJob("Task List Refresh"); -// refreshJob.setSystem(true); -// } -// -// private void updateDescription() { -// List<AbstractTask> activeTasks = TasksUiPlugin.getTaskList().getActiveTasks(); -// if (activeTasks.size() > 0) { -// updateDescription(activeTasks.get(0)); -// } else { -// updateDescription(null); -// } -// } -// -// private void updateDescription(AbstractTask task) { -// if (getSite() == null || getSite().getPage() == null) -// return; -// -// IViewReference reference = getSite().getPage().findViewReference(ID); -// boolean shouldSetDescription = false; -// if (reference != null && reference.isFastView() && !getSite().getPage().isPartVisible(this)) { -// shouldSetDescription = true; -// } -// -// if (task != null) { -// setTitleToolTip(PART_NAME + " (" + task.getSummary() + ")"); -// if (shouldSetDescription) { -// setContentDescription(task.getSummary()); -// } else { -// setContentDescription(""); -// } -// } else { -// setTitleToolTip(PART_NAME); -// if (shouldSetDescription) { -// setContentDescription(LABEL_NO_TASKS); -// } else { -// setContentDescription(""); -// } -// } -// } -// -// @Override -// public void init(IViewSite site, IMemento memento) throws PartInitException { -// init(site); -// this.taskListMemento = memento; -// } -// -// @Override -// public void saveState(IMemento memento) { -// IMemento sorter = memento.createChild(MEMENTO_SORT_INDEX); -// IMemento m = sorter.createChild(MEMENTO_KEY_SORTER); -// switch (sortByIndex) { -// case SUMMARY: -// m.putInteger(MEMENTO_KEY_SORT_INDEX, 1); -// break; -// case DATE_CREATED: -// m.putInteger(MEMENTO_KEY_SORT_INDEX, 2); -// break; -// default: -// m.putInteger(MEMENTO_KEY_SORT_INDEX, 0); -// } -// -// m.putInteger(MEMENTO_KEY_SORT_DIRECTION, sortDirection); -// memento.putString(MEMENTO_LINK_WITH_EDITOR, Boolean.toString(linkWithEditor)); -// memento.putString(MEMENTO_PRESENTATION, currentPresentation.getId()); -// } -// -// private void restoreState() { -// if (taskListMemento != null) { -// IMemento sorterMemento = taskListMemento.getChild(MEMENTO_SORT_INDEX); -// int restoredSortIndex = 0; -// if (sorterMemento != null) { -// IMemento m = sorterMemento.getChild(MEMENTO_KEY_SORTER); -// if (m != null) { -// Integer sortIndexInt = m.getInteger(MEMENTO_KEY_SORT_INDEX); -// if (sortIndexInt != null) { -// restoredSortIndex = sortIndexInt.intValue(); -// } -// Integer sortDirInt = m.getInteger(MEMENTO_KEY_SORT_DIRECTION); -// if (sortDirInt != null) { -// sortDirection = sortDirInt.intValue(); -// } -// } else { -// sortDirection = DEFAULT_SORT_DIRECTION; -// } -// } else { -// sortDirection = DEFAULT_SORT_DIRECTION; -// } -// switch (restoredSortIndex) { -// case 1: -// this.sortByIndex = SortByIndex.SUMMARY; -// break; -// case 2: -// this.sortByIndex = SortByIndex.DATE_CREATED; -// break; -// default: -// this.sortByIndex = SortByIndex.PRIORITY; -// } -// -// applyPresentation(taskListMemento.getString(MEMENTO_PRESENTATION)); -// } -// -// filterWorkingSet = new TaskWorkingSetFilter(TasksUiPlugin.getTaskList()); -// filterWorkingSet.setCurrentWorkingSet(getSite().getPage().getAggregateWorkingSet()); -// addFilter(filterWorkingSet); -// addFilter(filterPriority); -// if (TasksUiPlugin.getDefault().getPreferenceStore().contains(TasksUiPreferenceConstants.FILTER_COMPLETE_MODE)) { -// addFilter(filterComplete); -// } -// -// if (TasksUiPlugin.getDefault().getPreferenceStore().contains(TasksUiPreferenceConstants.FILTER_ARCHIVE_MODE)) { -// addFilter(filterArchive); -// } -// -// // Restore "link with editor" value; by default true -// boolean linkValue = true; -// if (taskListMemento != null && taskListMemento.getString(MEMENTO_LINK_WITH_EDITOR) != null) { -// linkValue = Boolean.parseBoolean(taskListMemento.getString(MEMENTO_LINK_WITH_EDITOR)); -// } -// setLinkWithEditor(linkValue); -// -// getViewer().setSorter(new TaskListTableSorter(this, sortByIndex)); -// getViewer().refresh(); -// } -// -// @Override -// public void createPartControl(Composite parent) { -// themeManager = getSite().getWorkbenchWindow().getWorkbench().getThemeManager(); -// themeManager.addPropertyChangeListener(THEME_CHANGE_LISTENER); -// -// filteredTree = new TaskListFilteredTree(parent, SWT.MULTI | SWT.VERTICAL | /* SWT.H_SCROLL | */SWT.V_SCROLL -// | SWT.FULL_SELECTION | SWT.HIDE_SELECTION, new TaskListPatternFilter()); -// -// getViewer().getTree().setHeaderVisible(false); -// getViewer().setUseHashlookup(true); -// -// configureColumns(columnNames, columnWidths); -// -// final IThemeManager themeManager = getSite().getWorkbenchWindow().getWorkbench().getThemeManager(); -// Color categoryBackground = themeManager.getCurrentTheme().getColorRegistry().get( -// TaskListColorsAndFonts.THEME_COLOR_TASKLIST_CATEGORY); -// taskListTableLabelProvider = new TaskTableLabelProvider(new TaskElementLabelProvider(true), -// PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator(), categoryBackground); -// getViewer().setLabelProvider(taskListTableLabelProvider); -// -// CellEditor[] editors = new CellEditor[columnNames.length]; -// TextCellEditor textEditor = new TextCellEditor(getViewer().getTree()); -// ((Text) textEditor.getControl()).setOrientation(SWT.LEFT_TO_RIGHT); -// editors[0] = textEditor; -// // editors[1] = new ComboBoxCellEditor(getViewer().getTree(), -// // editors[2] = new CheckboxCellEditor(); -// -// getViewer().setCellEditors(editors); -// getViewer().setCellModifier(taskListCellModifier); -// -// tableSorter = new TaskListTableSorter(this, TaskListTableSorter.SortByIndex.PRIORITY); -// getViewer().setSorter(tableSorter); -// -// applyPresentation(CategorizedPresentation.ID); -// -// drillDownAdapter = new DrillDownAdapter(getViewer()); -// getViewer().setInput(getViewSite()); -// -// final int activationImageOffset = 20; -// CustomTaskListDecorationDrawer customDrawer = new CustomTaskListDecorationDrawer(this, activationImageOffset); -// getViewer().getTree().addListener(SWT.MeasureItem, customDrawer); -// getViewer().getTree().addListener(SWT.EraseItem, customDrawer); -// getViewer().getTree().addListener(SWT.PaintItem, customDrawer); -// -// getViewer().getTree().addMouseListener(new MouseListener() { -// -// public void mouseDown(MouseEvent e) { -// // NOTE: need e.x offset for Linux/GTK, which does not see -// // left-aligned items in tree -// Object selectedNode = ((Tree) e.widget).getItem(new Point(e.x + 70, e.y)); -// if (selectedNode instanceof TreeItem) { -// Object selectedObject = ((TreeItem) selectedNode).getData(); -// if (selectedObject instanceof AbstractTask) { -// if (e.x > activationImageOffset && e.x < activationImageOffset + 13) { -// taskListCellModifier.toggleTaskActivation((AbstractTaskContainer) selectedObject); -// } -// } -// } -// } -// -// public void mouseDoubleClick(MouseEvent e) { -// // ignore -// } -// -// public void mouseUp(MouseEvent e) { -// // ignore -// } -// -// }); -// -// getViewer().getTree().addKeyListener(new KeyListener() { -// -// public void keyPressed(KeyEvent e) { -// if (e.keyCode == SWT.INSERT) { -// new NewLocalTaskWizard().performFinish(); -// } else if (e.keyCode == SWT.F2 && e.stateMask == 0) { -// if (renameAction.isEnabled()) { -// renameAction.run(); -// } -// } else if ((e.keyCode & SWT.KEYCODE_BIT) != 0) { -// // Do nothing here since it is key code -// } else if (e.keyCode == 'c' && e.stateMask == SWT.MOD1) { -// copyDetailsAction.run(); -//// } else if (e.keyCode == 'd' && e.stateMask == SWT.MOD1) { -//// cloneThisBugAction.run(); -// } else if (e.keyCode == SWT.DEL) { -// deleteAction.run(); -// } else if (e.keyCode == 'f' && e.stateMask == SWT.MOD1) { -// filteredTree.getFilterControl().setFocus(); -// } else if (e.stateMask == 0) { -// if (Character.isLetter((char) e.keyCode) || Character.isDigit((char) e.keyCode)) { -// String string = new Character((char) e.keyCode).toString(); -// filteredTree.getFilterControl().setText(string); -// filteredTree.getFilterControl().setSelection(1, 1); -// filteredTree.getFilterControl().setFocus(); -// } -// } -// } -// -// public void keyReleased(KeyEvent e) { -// } -// -// }); -// -// getViewer().addTreeListener(new ITreeViewerListener() { -// -// public void treeCollapsed(final TreeExpansionEvent event) { -// PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { -// public void run() { -// getViewer().refresh(event.getElement()); -// } -// }); -// } -// -// public void treeExpanded(final TreeExpansionEvent event) { -// PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { -// public void run() { -// getViewer().refresh(event.getElement()); -// } -// }); -// } -// }); -// -// // HACK: shouldn't need to update explicitly -// getViewer().addSelectionChangedListener(new ISelectionChangedListener() { -// public void selectionChanged(SelectionChangedEvent event) { -// Object selectedObject = ((IStructuredSelection) getViewer().getSelection()).getFirstElement(); -// if (selectedObject instanceof AbstractTaskContainer) { -// updateActionEnablement(renameAction, (AbstractTaskContainer) selectedObject); -// } -// } -// }); -// -// makeActions(); -// hookContextMenu(); -// hookOpenAction(); -// contributeToActionBars(); -// -// new TaskListToolTip(getViewer().getControl()); -// -// // Set to empty string to disable native tooltips (windows only?) -// // bug#160897 -// // http://dev.eclipse.org/newslists/news.eclipse.platform.swt/msg29614.html -// getViewer().getTree().setToolTipText(""); -// -// configureGradientColors(); -// -// initDragAndDrop(parent); -// expandToActiveTasks(); -// restoreState(); -// -// updateDescription(); -// -// getSite().setSelectionProvider(getViewer()); -// getSite().getPage().addPartListener(editorListener); -// -// // Need to do this because the page, which holds the active working set is not around on creation, see bug 203179 -// PlatformUI.getWorkbench().getActiveWorkbenchWindow().addPageListener(PAGE_LISTENER); -// } -// -// private void applyPresentation(String id) { -// if (id != null) { -// for (AbstractTaskListPresentation presentation : presentationsPrimary) { -// if (id.equals(presentation.getId())) { -// applyPresentation(presentation); -// return; -// } -// } -// for (AbstractTaskListPresentation presentation : presentationsSecondary) { -// if (id.equals(presentation.getId())) { -// applyPresentation(presentation); -// return; -// } -// } -// } -// } -// -// public void applyPresentation(AbstractTaskListPresentation presentation) { -// try { -// getViewer().getControl().setRedraw(false); -// if (!filteredTree.getFilterControl().getText().equals("")) { -// filteredTree.getFilterControl().setText(""); -// } -// AbstractTaskListContentProvider contentProvider = presentation.getContentProvider(this); -// getViewer().setContentProvider(contentProvider); -// refreshAndFocus(isFocusedMode()); -// -// currentPresentation = presentation; -// } finally { -// getViewer().getControl().setRedraw(true); -// } -// } -// -// public AbstractTaskListPresentation getCurrentPresentation() { -// return currentPresentation; -// } -// -// private void configureColumns(final String[] columnNames, final int[] columnWidths) { -// TreeColumnLayout layout = (TreeColumnLayout) getViewer().getTree().getParent().getLayout(); -// getViewer().setColumnProperties(columnNames); -// columns = new TreeColumn[columnNames.length]; -// for (int i = 0; i < columnNames.length; i++) { -// columns[i] = new TreeColumn(getViewer().getTree(), 0); -// columns[i].setText(columnNames[i]); -// -// if (i == 0) { -// layout.setColumnData(columns[i], new ColumnWeightData(100)); -// } else { -// layout.setColumnData(columns[i], new ColumnPixelData(columnWidths[i])); -// } -// -// columns[i].addSelectionListener(new SelectionAdapter() { -// -// @Override -// public void widgetSelected(SelectionEvent e) { -// sortDirection *= DEFAULT_SORT_DIRECTION; -// getViewer().refresh(false); -// } -// }); -// columns[i].addControlListener(new ControlListener() { -// public void controlResized(ControlEvent e) { -// for (int j = 0; j < columnWidths.length; j++) { -// if (columns[j].equals(e.getSource())) { -// columnWidths[j] = columns[j].getWidth(); -// } -// } -// } -// -// public void controlMoved(ControlEvent e) { -// // don't care if the control is moved -// } -// }); -// } -// } -// -// /** -// * Tracks editor activation and jump to corresponding task, if applicable -// */ -// private IPartListener editorListener = new IPartListener() { -// -// private void jumpToEditor(IWorkbenchPart part) { -// if (!linkWithEditor || !(part instanceof IEditorPart)) { -// return; -// } -// jumpToEditorTask((IEditorPart) part); -// } -// -// public void partActivated(IWorkbenchPart part) { -// if (part == CopyOfTaskListView.this) { -// updateDescription(); -// } else { -// jumpToEditor(part); -// } -// } -// -// public void partBroughtToTop(IWorkbenchPart part) { -// } -// -// public void partClosed(IWorkbenchPart part) { -// } -// -// public void partDeactivated(IWorkbenchPart part) { -// if (part == CopyOfTaskListView.this) { -// IViewReference reference = getSite().getPage().findViewReference(ID); -// if (reference != null && reference.isFastView()) { -// updateDescription(); -// } -// } -// } -// -// public void partOpened(IWorkbenchPart part) { -// } -// }; -// -// private void initDragAndDrop(Composite parent) { -// Transfer[] dragTypes = new Transfer[] { TaskTransfer.getInstance(), TextTransfer.getInstance(), -// FileTransfer.getInstance() }; -// -// Transfer[] dropTypes = new Transfer[] { TaskTransfer.getInstance(), TextTransfer.getInstance(), -// FileTransfer.getInstance(), // PluginTransfer.getInstance(), -// RTFTransfer.getInstance() }; -// -// getViewer().addDragSupport(DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK, dragTypes, -// new TaskListDragSourceListener(this)); -// getViewer().addDropSupport(DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK | DND.DROP_DEFAULT, dropTypes, -// new TaskListDropAdapter(getViewer())); -// } -// -// void expandToActiveTasks() { -// final IWorkbench workbench = PlatformUI.getWorkbench(); -// workbench.getDisplay().asyncExec(new Runnable() { -// public void run() { -// List<AbstractTask> activeTasks = TasksUiPlugin.getTaskList().getActiveTasks(); -// for (AbstractTask t : activeTasks) { -// getViewer().expandToLevel(t, 0); -// } -// } -// }); -// } -// -// private void hookContextMenu() { -// MenuManager menuManager = new MenuManager("#PopupMenu"); -// menuManager.setRemoveAllWhenShown(true); -// menuManager.addMenuListener(new IMenuListener() { -// public void menuAboutToShow(IMenuManager manager) { -// CopyOfTaskListView.this.fillContextMenu(manager); -// } -// }); -// Menu menu = menuManager.createContextMenu(getViewer().getControl()); -// getViewer().getControl().setMenu(menu); -// getSite().registerContextMenu(menuManager, getViewer()); -// } -// -// private void contributeToActionBars() { -// IActionBars bars = getViewSite().getActionBars(); -// fillLocalPullDown(bars.getMenuManager()); -// fillLocalToolBar(bars.getToolBarManager()); -// } -// -// private void fillLocalPullDown(IMenuManager manager) { -// updateDrillDownActions(); -// manager.add(goUpAction); -// manager.add(collapseAll); -// manager.add(expandAll); -// manager.add(new Separator(ID_SEPARATOR_FILTERS)); -// manager.add(sortByAction); -// manager.add(filterOnPriorityAction); -// manager.add(filterCompleteTask); -// manager.add(filterArchiveCategory); -// manager.add(filterSubTasksAction); -// -// manager.add(new Separator(ID_SEPARATOR_TASKS)); -// manager.add(synchronizeAutomatically); -// -// manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); -// -// manager.addMenuListener(new IMenuListener() { -// public void menuAboutToShow(IMenuManager manager) { -// filterOnPriorityAction.updateCheckedState(); -// } -// }); -// -//// manager.add(new Separator()); -// manager.add(linkWithEditorAction); -// manager.add(new Separator()); -// manager.add(openPreferencesAction); -// } -// -// private void fillLocalToolBar(IToolBarManager manager) { -// manager.add(new Separator(ID_SEPARATOR_NEW)); -//// manager.add(new Separator(ID_SEPARATOR_NAVIGATION)); -// manager.add(presentationDropDownSelectionAction); -//// manager.add(previousTaskAction); -// manager.add(new Separator(ID_SEPARATOR_CONTEXT)); -// manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); -// } -// -// /* -// * TODO: clean up, consider relying on extension points for groups -// */ -// private void fillContextMenu(IMenuManager manager) { -// updateDrillDownActions(); -// AbstractTaskContainer element = null; -// -// final Object firstSelectedObject = ((IStructuredSelection) getViewer().getSelection()).getFirstElement(); -// if (firstSelectedObject instanceof AbstractTaskContainer) { -// element = (AbstractTaskContainer) firstSelectedObject; -// } -// List<AbstractTaskContainer> selectedElements = new ArrayList<AbstractTaskContainer>(); -// for (Iterator<?> i = ((IStructuredSelection) getViewer().getSelection()).iterator(); i.hasNext();) { -// Object object = i.next(); -// if (object instanceof AbstractTaskContainer) { -// selectedElements.add((AbstractTaskContainer) object); -// } -// } -// AbstractTask task = null; -// if ((element instanceof AbstractTask)) { -// task = (AbstractTask) element; -// } -// -// manager.add(new Separator(ID_SEPARATOR_NEW)); -// manager.add(new Separator()); -// -// if (element instanceof AbstractTask) { -// addAction(openAction, manager, element); -// } -// addAction(openWithBrowser, manager, element); -// if (task != null) { -// if (task.isActive()) { -// manager.add(deactivateAction); -// } else { -// manager.add(activateAction); -// } -// } -// -// manager.add(new Separator()); -// -// Map<String, List<IDynamicSubMenuContributor>> dynamicMenuMap = TasksUiPlugin.getDefault().getDynamicMenuMap(); -// for (String menuPath : dynamicMenuMap.keySet()) { -// if (!ID_SEPARATOR_CONTEXT.equals(menuPath)) { -// for (IDynamicSubMenuContributor contributor : dynamicMenuMap.get(menuPath)) { -// MenuManager subMenuManager = contributor.getSubMenuManager(selectedElements); -// if (subMenuManager != null) { -// addMenuManager(subMenuManager, manager, element); -// } -// } -// } -// } -//// manager.add(new Separator(ID_SEPARATOR_OPERATIONS)); -// manager.add(new Separator()); -// -// addAction(copyDetailsAction, manager, element); -// if (task != null && !task.isLocal()) { -//// addAction(cloneThisBugAction, manager, element); -// addAction(removeFromCategoryAction, manager, element); -// } -// // This should also test for null, or else nothing to delete! -// addAction(deleteAction, manager, element); -// if (!(element instanceof AbstractTask)) { -// addAction(renameAction, manager, element); -// } -// -// if (element != null && !(element instanceof AbstractTask)) { -// manager.add(goIntoAction); -// } -// if (drilledIntoCategory != null) { -// manager.add(goUpAction); -// } -// manager.add(new Separator(ID_SEPARATOR_CONTEXT)); -// manager.add(new Separator(ID_SEPARATOR_OPERATIONS)); -// -// if (element instanceof AbstractTask) { -// for (String menuPath : dynamicMenuMap.keySet()) { -// if (ID_SEPARATOR_CONTEXT.equals(menuPath)) { -// for (IDynamicSubMenuContributor contributor : dynamicMenuMap.get(menuPath)) { -// MenuManager subMenuManager = contributor.getSubMenuManager(selectedElements); -// if (subMenuManager != null) { -// addMenuManager(subMenuManager, manager, element); -// } -// } -// } -// } -// } -// manager.add(new Separator(ID_SEPARATOR_REPOSITORY)); -// -// if (element instanceof AbstractRepositoryQuery || element instanceof TaskCategory) { -// manager.add(new Separator()); -// addAction(propertiesAction, manager, element); -// } -// -// manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); -// } -// -// private void addMenuManager(IMenuManager menuToAdd, IMenuManager manager, AbstractTaskContainer element) { -// if ((element instanceof AbstractTask) || element instanceof AbstractRepositoryQuery) { -// manager.add(menuToAdd); -// } -// } -// -// private void addAction(Action action, IMenuManager manager, AbstractTaskContainer element) { -// manager.add(action); -// if (element != null) { -// updateActionEnablement(action, element); -// } -// } -// -// /** -// * Refactor out element -// */ -// private void updateActionEnablement(Action action, AbstractTaskContainer element) { -// if (element instanceof AbstractTask) { -// if (action instanceof OpenWithBrowserAction) { -// if (((AbstractTask) element).hasValidUrl()) { -// action.setEnabled(true); -// } else { -// action.setEnabled(false); -// } -// } else if (action instanceof DeleteAction) { -// action.setEnabled(true); -// } else if (action instanceof OpenTaskListElementAction) { -// action.setEnabled(true); -// } else if (action instanceof CopyTaskDetailsAction) { -// action.setEnabled(true); -// } else if (action instanceof RenameAction) { -// action.setEnabled(true); -// } -// } else if (element != null) { -// if (action instanceof MarkTaskCompleteAction) { -// action.setEnabled(false); -// } else if (action instanceof MarkTaskIncompleteAction) { -// action.setEnabled(false); -// } else if (action instanceof DeleteAction) { -// if (element instanceof TaskArchive || element instanceof UnfiledCategory) -// action.setEnabled(false); -// else -// action.setEnabled(true); -// } else if (action instanceof GoIntoAction) { -// TaskCategory cat = (TaskCategory) element; -// if (cat.getChildren().size() > 0) { -// action.setEnabled(true); -// } else { -// action.setEnabled(false); -// } -// } else if (action instanceof OpenTaskListElementAction) { -// action.setEnabled(true); -// } else if (action instanceof CopyTaskDetailsAction) { -// action.setEnabled(true); -// } else if (action instanceof RenameAction) { -// if (element instanceof AbstractTaskCategory) { -// AbstractTaskCategory container = (AbstractTaskCategory) element; -// action.setEnabled(container.isUserDefined()); -// } else if (element instanceof AbstractRepositoryQuery) { -// action.setEnabled(true); -// } -// } -// } else { -// action.setEnabled(true); -// } -// } -// -// private void makeActions() { -// copyDetailsAction = new CopyTaskDetailsAction(true); -// -// goIntoAction = new GoIntoAction(); -// goUpAction = new GoUpAction(drillDownAdapter); -// -// //newLocalTaskAction = new NewLocalTaskAction(this); -// removeFromCategoryAction = new RemoveFromCategoryAction(this); -// renameAction = new RenameAction(this); -// filteredTree.getViewer().addSelectionChangedListener(renameAction); -// -// deleteAction = new DeleteAction(); -// collapseAll = new CollapseAllAction(this); -// expandAll = new ExpandAllAction(this); -// openAction = new OpenTaskListElementAction(this.getViewer()); -// propertiesAction = new TaskListElementPropertiesAction(this.getViewer()); -// openWithBrowser = new OpenWithBrowserAction(); -// filterCompleteTask = new FilterCompletedTasksAction(this); -// filterSubTasksAction = new GroupSubTasksAction(this); -// synchronizeAutomatically = new SynchronizeAutomaticallyAction(); -// openPreferencesAction = new OpenTasksUiPreferencesAction(); -// filterArchiveCategory = new FilterArchiveContainerAction(this); -// sortByAction = new SortyByDropDownAction(this); -// filterOnPriorityAction = new PriorityDropDownAction(this); -// linkWithEditorAction = new LinkWithEditorAction(this); -// presentationDropDownSelectionAction = new PresentationDropDownSelectionAction(this); -// -// filteredTree.getViewer().addSelectionChangedListener(openWithBrowser); -// filteredTree.getViewer().addSelectionChangedListener(copyDetailsAction); -// } -// -// /** -// * Recursive function that checks for the occurrence of a certain task taskId. All children of the supplied node -// * will be checked. -// * -// * @param task -// * The <code>ITask</code> object that is to be searched. -// * @param taskId -// * The taskId that is being searched for. -// * @return <code>true</code> if the taskId was found in the node or any of its children -// */ -// protected boolean lookForId(String taskId) { -// return (TasksUiPlugin.getTaskList().getTask(taskId) == null); -// } -// -// private void hookOpenAction() { -// -// getViewer().addOpenListener(new IOpenListener() { -// public void open(OpenEvent event) { -// openAction.run(); -// } -// }); -// -// getViewer().addDoubleClickListener(new IDoubleClickListener() { -// public void doubleClick(DoubleClickEvent event) { -// StructuredSelection selection = (StructuredSelection) getViewer().getSelection(); -// Object object = selection.getFirstElement(); -// if (TasksUiPlugin.getDefault().getPreferenceStore().getBoolean( -// TasksUiPreferenceConstants.ACTIVATE_WHEN_OPENED)) { -// AbstractTask selectedTask = CopyOfTaskListView.getFromActivePerspective().getSelectedTask(); -// if (selectedTask != null) { -// activateAction.run(selectedTask); -// } -// } -// if (object instanceof TaskCategory || object instanceof AbstractRepositoryQuery) { -// TasksUiUtil.refreshAndOpenTaskListElement((AbstractTaskContainer) object); -// } -// } -// }); -// } -// -// /** -// * Passing the focus request to the viewer's control. -// */ -// @Override -// public void setFocus() { -// filteredTree.getViewer().getControl().setFocus(); -// } -// -// public String getBugIdFromUser() { -// InputDialog dialog = new InputDialog(getSite().getWorkbenchWindow().getShell(), "Enter Bugzilla ID", -// "Enter the Bugzilla ID: ", "", null); -// int dialogResult = dialog.open(); -// if (dialogResult == Window.OK) { -// return dialog.getValue(); -// } else { -// return null; -// } -// } -// -// public void refreshAndFocus(boolean expand) { -// if (expand) { -// getViewer().expandAll(); -// } -// refresh(null); -// selectedAndFocusTask(TasksUiPlugin.getTaskList().getActiveTask()); -// } -// -// public TreeViewer getViewer() { -// return filteredTree.getViewer(); -// } -// -// public TaskCompletionFilter getCompleteFilter() { -// return filterComplete; -// } -// -// public TaskPriorityFilter getPriorityFilter() { -// return filterPriority; -// } -// -// public void addFilter(AbstractTaskListFilter filter) { -// if (!filters.contains(filter)) { -// filters.add(filter); -// } -// } -// -// public void clearFilters(boolean preserveArchiveFilter) { -// filters.clear(); -// if (preserveArchiveFilter) { -// filters.add(filterArchive); -// } -// filters.add(filterWorkingSet); -// } -// -// public void removeFilter(AbstractTaskListFilter filter) { -// filters.remove(filter); -// } -// -// public void updateDrillDownActions() { -// if (drillDownAdapter.canGoBack()) { -// goUpAction.setEnabled(true); -// } else { -// goUpAction.setEnabled(false); -// } -// } -// -// boolean isInRenameAction = false; -// -// public void setInRenameAction(boolean b) { -// isInRenameAction = b; -// } -// -// public void goIntoCategory() { -// ISelection selection = getViewer().getSelection(); -// if (selection instanceof StructuredSelection) { -// StructuredSelection structuredSelection = (StructuredSelection) selection; -// Object element = structuredSelection.getFirstElement(); -// if (element instanceof AbstractTaskContainer) { -// drilledIntoCategory = (AbstractTaskContainer) element; -// drillDownAdapter.goInto(); -// IActionBars bars = getViewSite().getActionBars(); -// bars.getToolBarManager().remove(goUpAction.getId()); -// bars.getToolBarManager().add(goUpAction); -// bars.updateActionBars(); -// updateDrillDownActions(); -// } -// } -// } -// -// public void goUpToRoot() { -// drilledIntoCategory = null; -// drillDownAdapter.goBack(); -// IActionBars bars = getViewSite().getActionBars(); -// bars.getToolBarManager().remove(GoUpAction.ID); -// bars.updateActionBars(); -// updateDrillDownActions(); -// } -// -// public AbstractTask getSelectedTask() { -// ISelection selection = getViewer().getSelection(); -// if (selection.isEmpty()) -// return null; -// if (selection instanceof StructuredSelection) { -// StructuredSelection structuredSelection = (StructuredSelection) selection; -// Object element = structuredSelection.getFirstElement(); -// if (element instanceof AbstractTask) { -// return (AbstractTask) structuredSelection.getFirstElement(); -// } -// } -// return null; -// } -// -// public static AbstractTask getSelectedTask(ISelection selection) { -// if (selection instanceof StructuredSelection) { -// StructuredSelection structuredSelection = (StructuredSelection) selection; -// if (structuredSelection.size() != 1) { -// return null; -// } -// Object element = structuredSelection.getFirstElement(); -// if (element instanceof AbstractTask) { -// return (AbstractTask) structuredSelection.getFirstElement(); -// } -// } -// return null; -// } -// -// public void indicatePaused(boolean paused) { -// isPaused = paused; -// IStatusLineManager statusLineManager = getViewSite().getActionBars().getStatusLineManager(); -// if (isPaused) { -// statusLineManager.setMessage(TasksUiImages.getImage(TasksUiImages.TASKLIST), "Mylyn context capture paused"); -// setPartName("(paused) " + PART_NAME); -// } else { -// statusLineManager.setMessage(""); -// setPartName(PART_NAME); -// } -// } -// -// public AbstractTaskContainer getDrilledIntoCategory() { -// return drilledIntoCategory; -// } -// -// public TaskListFilteredTree getFilteredTree() { -// return filteredTree; -// } -// -// public void selectedAndFocusTask(AbstractTask task) { -// if (task == null || getViewer().getControl().isDisposed()) { -// return; -// } -// -// saveSelection(); -// -// IStructuredSelection selection = restoreSelection(task); -// getViewer().setSelection(selection, true); -// } -// -// private void saveSelection() { -// IStructuredSelection selection = (IStructuredSelection) getViewer().getSelection(); -// if (!selection.isEmpty()) { -// if (selection.getFirstElement() instanceof AbstractTaskContainer) { -// // make sure the new selection is inserted at the end of the -// // list -// String handle = ((AbstractTaskContainer) selection.getFirstElement()).getHandleIdentifier(); -// lastSelectionByTaskHandle.remove(handle); -// lastSelectionByTaskHandle.put(handle, selection); -// -// if (lastSelectionByTaskHandle.size() > SIZE_MAX_SELECTION_HISTORY) { -// Iterator<String> it = lastSelectionByTaskHandle.keySet().iterator(); -// it.next(); -// it.remove(); -// } -// } -// } -// } -// -// private IStructuredSelection restoreSelection(AbstractTaskContainer task) { -// IStructuredSelection selection = lastSelectionByTaskHandle.get(task.getHandleIdentifier()); -// if (selection != null) { -// return selection; -// } else { -// return new StructuredSelection(task); -// } -// } -// -// /** -// * Encapsulates refresh policy. -// */ -// private void refresh(final AbstractTaskContainer container) { -// refreshJob.cancel(); -// refreshJob.schedule(container, 0); -// } -// -// public Image[] getPirorityImages() { -// Image[] images = new Image[PriorityLevel.values().length]; -// for (int i = 0; i < PriorityLevel.values().length; i++) { -// images[i] = TasksUiImages.getImageForPriority(PriorityLevel.values()[i]); -// } -// return images; -// } -// -// public Set<AbstractTaskListFilter> getFilters() { -// return filters; -// } -// -// public static String getCurrentPriorityLevel() { -// if (TasksUiPlugin.getDefault().getPreferenceStore().contains(TasksUiPreferenceConstants.FILTER_PRIORITY)) { -// return TasksUiPlugin.getDefault() -// .getPreferenceStore() -// .getString(TasksUiPreferenceConstants.FILTER_PRIORITY); -// } else { -// return PriorityLevel.P5.toString(); -// } -// } -// -// public TaskArchiveFilter getArchiveFilter() { -// return filterArchive; -// } -// -// public void setManualFiltersEnabled(boolean enabled) { -// sortByAction.setEnabled(enabled); -// filterOnPriorityAction.setEnabled(enabled); -// filterCompleteTask.setEnabled(enabled); -// filterArchiveCategory.setEnabled(enabled); -// } -// -// public boolean isFocusedMode() { -// return focusedMode; -// } -// -// public void setFocusedMode(boolean focusedMode) { -// this.linkWithEditor = focusedMode; -// this.focusedMode = focusedMode; -// } -// -// public void setSortBy(SortByIndex sortByIndex) { -// this.sortByIndex = sortByIndex; -// getViewer().setSorter(new TaskListTableSorter(this, sortByIndex)); -// } -// -// public void setSortDirection(int sortDirection) { -// this.sortDirection = sortDirection; -// getViewer().setSorter(new TaskListTableSorter(this, sortByIndex)); -// } -// -// public SortByIndex getSortByIndex() { -// return sortByIndex; -// } -// -// public void setSynchronizationOverlaid(boolean synchronizationOverlaid) { -// this.synchronizationOverlaid = synchronizationOverlaid; -// getViewer().refresh(); -// } -// -// public void displayPrioritiesAbove(String priority) { -// filterPriority.displayPrioritiesAbove(priority); -// getViewer().refresh(); -// } -// -// public void propertyChange(PropertyChangeEvent event) { -// String property = event.getProperty(); -// if (IWorkingSetManager.CHANGE_WORKING_SET_CONTENT_CHANGE.equals(property) -// || IWorkingSetManager.CHANGE_WORKING_SET_REMOVE.equals(property)) { -// if (getSite() != null && getSite().getPage() != null) { -// filterWorkingSet.setCurrentWorkingSet(getSite().getPage().getAggregateWorkingSet()); -// } -// -// PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { -// public void run() { -// filteredTree.indicateActiveTaskWorkingSet(); -// } -// }); -// } -// -// try { -// getViewer().getControl().setRedraw(false); -// getViewer().collapseAll(); -// getViewer().refresh(); -// if (isFocusedMode()) { -// getViewer().expandAll(); -// } -// } finally { -// getViewer().getControl().setRedraw(true); -// } -// } -// -// public void setLinkWithEditor(boolean linkWithEditor) { -// this.linkWithEditor = linkWithEditor; -// linkWithEditorAction.setChecked(linkWithEditor); -// if (linkWithEditor) { -// IEditorPart activeEditor = getSite().getPage().getActiveEditor(); -// if (activeEditor != null) { -// jumpToEditorTask(activeEditor); -// } -// } -// } -// -// private void jumpToEditorTask(IEditorPart editor) { -// IEditorInput input = editor.getEditorInput(); -// if (input instanceof TaskEditorInput) { -// AbstractTask task = ((TaskEditorInput) input).getTask(); -// AbstractTask selected = getSelectedTask(); -// if (selected == null || !selected.equals(task)) { -// selectedAndFocusTask(task); -// } -// } -// } -// -// private void refreshTask(TaskContainerDelta taskContainerDelta) { -// AbstractTask task = (AbstractTask) taskContainerDelta.getContainer(); -// switch (taskContainerDelta.getKind()) { -// case ROOT: -// refresh(null); -// break; -// case ADDED: -// refresh(null); -// break; -// case REMOVED: -// refresh(null); -// break; -// default: -// // TODO: move logic into deltas -// refresh(task); -// Set<AbstractTaskContainer> containers = new HashSet<AbstractTaskContainer>( -// TasksUiPlugin.getTaskList().getQueriesForHandle(task.getHandleIdentifier())); -// containers.addAll(task.getParentContainers()); -// containers.add(TasksUiPlugin.getTaskList().getArchiveContainer()); -// containers.add(TasksUiPlugin.getTaskList().getDefaultCategory()); -// for (AbstractTaskContainer container : containers) { -// refresh(container); -// } -// break; -// } -// } -// -// public static Set<IWorkingSet> getActiveWorkingSets() { -// if (PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage() != null) { -// Set<IWorkingSet> allSets = new HashSet<IWorkingSet>(Arrays.asList(PlatformUI.getWorkbench() -// .getActiveWorkbenchWindow() -// .getActivePage() -// .getWorkingSets())); -// Set<IWorkingSet> tasksSets = new HashSet<IWorkingSet>(allSets); -// for (IWorkingSet workingSet : allSets) { -// if (workingSet.getId() == null -// || !workingSet.getId().equalsIgnoreCase(TaskWorkingSetUpdater.ID_TASK_WORKING_SET)) { -// tasksSets.remove(workingSet); -// } -// } -// return tasksSets; -// } else { -// return Collections.emptySet(); -// } -// } -// -// /** -// * This can be used for experimentally adding additional presentations, but note that this convention is extremely -// * likely to change in the Mylyn 3.0 cycle. -// */ -// public static List<AbstractTaskListPresentation> getPresentations() { -// List<AbstractTaskListPresentation> presentations = new ArrayList<AbstractTaskListPresentation>(); -// presentations.addAll(presentationsPrimary); -// presentations.addAll(presentationsSecondary); -// return presentations; -// } -// -// public static void addPresentation(AbstractTaskListPresentation presentation) { -// if (presentation.isPrimary()) { -// presentationsPrimary.add(presentation); -// } else { -// presentationsSecondary.add(presentation); -// } -// } -//} |