diff options
author | mkersten | 2005-10-21 20:51:15 +0000 |
---|---|---|
committer | mkersten | 2005-10-21 20:51:15 +0000 |
commit | e2de13986258a7448c5c4b9ba68bb252ab1640ac (patch) | |
tree | f408404d466442ac968a463c0f9d0cd7aa238593 | |
parent | 21f52a7380c2fa01c92c76dde47b085f861e76b3 (diff) | |
download | org.eclipse.mylyn.tasks-e2de13986258a7448c5c4b9ba68bb252ab1640ac.tar.gz org.eclipse.mylyn.tasks-e2de13986258a7448c5c4b9ba68bb252ab1640ac.tar.xz org.eclipse.mylyn.tasks-e2de13986258a7448c5c4b9ba68bb252ab1640ac.zip |
Fixed Bug #113292: Task summary editor tab for issue report web page
15 files changed, 184 insertions, 27 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IContextEditorFactory.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IContextEditorFactory.java new file mode 100644 index 000000000..320d22504 --- /dev/null +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IContextEditorFactory.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2004 - 2005 University Of British Columbia 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 + * + * Contributors: + * University Of British Columbia - initial API and implementation + *******************************************************************************/ + +package org.eclipse.mylar.tasklist; + +import org.eclipse.mylar.core.IMylarContext; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IEditorPart; + +/** + * TODO: move to UI + * + * @author Mik Kersten + */ +public interface IContextEditorFactory { + + public IEditorPart createEditor(); + + public IEditorInput createEditorInput(IMylarContext context); + +} diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IQuery.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IQuery.java index 5dde6d601..1d76b1c32 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IQuery.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IQuery.java @@ -1,3 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2004 - 2005 University Of British Columbia 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 + * + * Contributors: + * University Of British Columbia - initial API and implementation + *******************************************************************************/ package org.eclipse.mylar.tasklist; import java.util.List; diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IQueryHit.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IQueryHit.java index 7aa8ffc7a..316c993dd 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IQueryHit.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IQueryHit.java @@ -1,3 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2004 - 2005 University Of British Columbia 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 + * + * Contributors: + * University Of British Columbia - initial API and implementation + *******************************************************************************/ package org.eclipse.mylar.tasklist; diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListCategory.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListCategory.java index 7cb0bacdb..0ce22ef5c 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListCategory.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListCategory.java @@ -1,3 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2004 - 2005 University Of British Columbia 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 + * + * Contributors: + * University Of British Columbia - initial API and implementation + *******************************************************************************/ package org.eclipse.mylar.tasklist; import java.util.List; diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/MylarTasklistPlugin.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/MylarTasklistPlugin.java index d12e7a8ad..867ff56f8 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/MylarTasklistPlugin.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/MylarTasklistPlugin.java @@ -35,7 +35,6 @@ import org.eclipse.swt.events.DisposeEvent; import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.events.ShellEvent; import org.eclipse.swt.events.ShellListener; -import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IStartup; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.PlatformUI; @@ -54,7 +53,7 @@ public class MylarTasklistPlugin extends AbstractUIPlugin implements IStartup { private static TaskListManager taskListManager; private TaskListExternalizer externalizer; private List<ITaskHandler> taskHandlers = new ArrayList<ITaskHandler>(); // TODO: use extension points - private List<IEditorPart> taskEditors = new ArrayList<IEditorPart>(); + private List<IContextEditorFactory> contextEditors = new ArrayList<IContextEditorFactory>(); public static final String PLANNING_GAME_WIZARD_ID = "org.eclipse.mylar.tasklist.report.ui.planningGameWizard"; public static final String PLANNING_GAME_EDITOR_ID = "org.eclipse.mylar.tasklist.report.ui.planning"; @@ -509,11 +508,11 @@ public class MylarTasklistPlugin extends AbstractUIPlugin implements IStartup { this.highlighter = highlighter; } - public List<IEditorPart> getTaskEditors() { - return taskEditors; + public List<IContextEditorFactory> getContextEditors() { + return contextEditors; } - public void addTaskEditor(IEditorPart taskEditor) { - if (taskEditor != null) this.taskEditors.add(taskEditor); + public void addContextEditor(IContextEditorFactory contextEditor) { + if (contextEditor != null) this.contextEditors.add(contextEditor); } } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListExtensionReader.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListExtensionReader.java index f4e9cb023..797e5f328 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListExtensionReader.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListExtensionReader.java @@ -25,7 +25,6 @@ import org.eclipse.mylar.tasklist.ITaskHandler; import org.eclipse.mylar.tasklist.ITaskListDynamicSubMenuContributor; import org.eclipse.mylar.tasklist.ITaskListExternalizer; import org.eclipse.mylar.tasklist.MylarTasklistPlugin; -import org.eclipse.ui.IEditorPart; /** * @author Shawn Minto diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/report/ui/ReminderCellEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/report/ui/ReminderCellEditor.java index f86b29e41..2f51614a8 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/report/ui/ReminderCellEditor.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/report/ui/ReminderCellEditor.java @@ -1,3 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2004 - 2005 University Of British Columbia 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 + * + * Contributors: + * University Of British Columbia - initial API and implementation + *******************************************************************************/ package org.eclipse.mylar.tasklist.report.ui; import java.util.Date; diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditor.java index a6a27e668..1f9bed11d 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditor.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditor.java @@ -8,15 +8,15 @@ * Contributors: * University Of British Columbia - initial API and implementation *******************************************************************************/ -/* - * Created on 19-Jan-2005 - */ + package org.eclipse.mylar.tasklist.ui; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.mylar.core.MylarPlugin; import org.eclipse.mylar.tasklist.ITask; import org.eclipse.mylar.tasklist.MylarTasklistPlugin; +import org.eclipse.swt.SWT; +import org.eclipse.swt.browser.Browser; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IEditorSite; @@ -29,14 +29,16 @@ import org.eclipse.ui.PartInitException; import org.eclipse.ui.part.MultiPageEditorPart; /** - * @author Eric Booth * @author Mik Kersten + * @author Eric Booth */ public class TaskEditor extends MultiPageEditorPart { - private static final String EDITOR_PAGE_LABEL = "Task Info"; + private static final String TASK_INFO_PAGE_LABEL = "Task Info"; + private static final String ISSUE_WEB_PAGE_LABEL = "Issue Report Page"; protected ITask task; private TaskSummaryEditor taskSummaryEditor; + private Browser issueBrowser; private TaskEditorInput taskEditorInput; public TaskEditor() { @@ -57,33 +59,51 @@ public class TaskEditor extends MultiPageEditorPart { * which displays the task for viewing. */ private void createTaskSummaryPage() { - taskSummaryEditor.createPartControl(getContainer()); - taskSummaryEditor.setParentEditor(this); - int index = addPage(taskSummaryEditor.getControl()); - setPageText(index, EDITOR_PAGE_LABEL); - - for (IEditorPart editor : MylarTasklistPlugin.getDefault().getTaskEditors()) { - try { - taskSummaryEditor.setParentEditor(this); - index = addPage(editor, null); - setPageText(index, "xxx"); - } catch (PartInitException e) { - MylarPlugin.fail(e, "could not add task editor", false); - } - } + try { + taskSummaryEditor.createPartControl(getContainer()); + taskSummaryEditor.setParentEditor(this); + int index = addPage(taskSummaryEditor.getControl()); + setPageText(index, TASK_INFO_PAGE_LABEL); + } catch (RuntimeException e) { + MylarPlugin.fail(e, "could not add task editor", false); + } } /** + * Creates page 2 of the multi-page editor, + * which displays the task issue web page + */ + private void createTaskIssueWebPage() { + try { + issueBrowser = new Browser(getContainer(), SWT.NONE); + int index = addPage(issueBrowser); + setPageText(index, ISSUE_WEB_PAGE_LABEL); + issueBrowser.setUrl(task.getIssueReportURL()); + } catch (RuntimeException e) { + MylarPlugin.fail(e, "could not open issue report web page", false); + } + } + + /** * Creates the pages of the multi-page editor. */ @Override protected void createPages() { createTaskSummaryPage(); + if(task.getIssueReportURL().length() > 9){ + createTaskIssueWebPage(); + } } @Override public void doSave(IProgressMonitor monitor) { taskSummaryEditor.doSave(monitor); + if (issueBrowser != null){ + issueBrowser.setUrl(task.getIssueReportURL()); + } + else if(task.getIssueReportURL().length() > 9){ + createTaskIssueWebPage(); + } } /** @@ -184,5 +204,5 @@ public class TaskEditor extends MultiPageEditorPart { @Override public void setFocus() { // taskSummaryEditor.setFocus(); - } + } } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CopyDescriptionAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CopyDescriptionAction.java index 29b804109..3ee801ede 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CopyDescriptionAction.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CopyDescriptionAction.java @@ -1,3 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2004 - 2005 University Of British Columbia 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 + * + * Contributors: + * University Of British Columbia - initial API and implementation + *******************************************************************************/ package org.eclipse.mylar.tasklist.ui.actions; import org.eclipse.jface.action.Action; diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DropDownTaskNavigateAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DropDownTaskNavigateAction.java index 51ab3cf7e..23d66aad7 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DropDownTaskNavigateAction.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DropDownTaskNavigateAction.java @@ -1,3 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2004 - 2005 University Of British Columbia 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 + * + * Contributors: + * University Of British Columbia - initial API and implementation + *******************************************************************************/ package org.eclipse.mylar.tasklist.ui.actions; import org.eclipse.jface.action.Action; diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/GoUpAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/GoUpAction.java index 8a99d5521..b4af820e4 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/GoUpAction.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/GoUpAction.java @@ -1,3 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2004 - 2005 University Of British Columbia 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 + * + * Contributors: + * University Of British Columbia - initial API and implementation + *******************************************************************************/ package org.eclipse.mylar.tasklist.ui.actions; import org.eclipse.jface.action.Action; diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/NextTaskDropDownAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/NextTaskDropDownAction.java index 278062e8b..a04bd99ee 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/NextTaskDropDownAction.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/NextTaskDropDownAction.java @@ -1,3 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2004 - 2005 University Of British Columbia 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 + * + * Contributors: + * University Of British Columbia - initial API and implementation + *******************************************************************************/ package org.eclipse.mylar.tasklist.ui.actions; import java.util.List; diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/PreviousTaskDropDownAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/PreviousTaskDropDownAction.java index 69af74eaa..a8029ffc6 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/PreviousTaskDropDownAction.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/PreviousTaskDropDownAction.java @@ -1,3 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2004 - 2005 University Of British Columbia 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 + * + * Contributors: + * University Of British Columbia - initial API and implementation + *******************************************************************************/ package org.eclipse.mylar.tasklist.ui.actions; import java.util.List; diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/RenameAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/RenameAction.java index a2161ec57..abe30eb87 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/RenameAction.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/RenameAction.java @@ -1,3 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2004 - 2005 University Of British Columbia 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 + * + * Contributors: + * University Of British Columbia - initial API and implementation + *******************************************************************************/ package org.eclipse.mylar.tasklist.ui.actions; import org.eclipse.jface.action.Action; diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/WorkOfflineAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/WorkOfflineAction.java index de3be516a..284fbedb6 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/WorkOfflineAction.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/WorkOfflineAction.java @@ -1,3 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2004 - 2005 University Of British Columbia 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 + * + * Contributors: + * University Of British Columbia - initial API and implementation + *******************************************************************************/ package org.eclipse.mylar.tasklist.ui.actions; import org.eclipse.jface.action.Action; |