Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 104775 Details for
Bug 234044
support having the notes and personal planning on the task editor page
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
pending bits
clipboard.txt (text/plain), 16.34 KB, created by
Steffen Pingel
on 2008-06-12 18:20:02 EDT
(
hide
)
Description:
pending bits
Filename:
MIME Type:
Creator:
Steffen Pingel
Created:
2008-06-12 18:20:02 EDT
Size:
16.34 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.mylyn.tasks.ui >Index: src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage.java,v >retrieving revision 1.57 >diff -u -r1.57 AbstractTaskEditorPage.java >--- src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage.java 12 Jun 2008 08:41:44 -0000 1.57 >+++ src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage.java 12 Jun 2008 22:19:42 -0000 >@@ -8,6 +8,7 @@ > > package org.eclipse.mylyn.tasks.ui.editors; > >+import java.util.ArrayList; > import java.util.Collection; > import java.util.Collections; > import java.util.Iterator; >@@ -30,6 +31,7 @@ > import org.eclipse.jface.action.IToolBarManager; > import org.eclipse.jface.dialogs.IMessageProvider; > import org.eclipse.jface.layout.GridDataFactory; >+import org.eclipse.jface.layout.GridLayoutFactory; > import org.eclipse.jface.resource.JFaceResources; > import org.eclipse.jface.text.TextSelection; > import org.eclipse.jface.util.SafeRunnable; >@@ -63,6 +65,7 @@ > import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorOutlinePage; > import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorPeoplePart; > import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorPlanningPart; >+import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorRepositoryPlanningPart; > import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorRichTextPart; > import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorSummaryPart; > import org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal; >@@ -120,12 +123,15 @@ > import org.eclipse.ui.forms.IFormPart; > import org.eclipse.ui.forms.IManagedForm; > import org.eclipse.ui.forms.editor.FormPage; >+import org.eclipse.ui.forms.events.ExpansionAdapter; >+import org.eclipse.ui.forms.events.ExpansionEvent; > import org.eclipse.ui.forms.events.HyperlinkAdapter; > import org.eclipse.ui.forms.events.HyperlinkEvent; > import org.eclipse.ui.forms.widgets.ExpandableComposite; > import org.eclipse.ui.forms.widgets.FormToolkit; > import org.eclipse.ui.forms.widgets.Hyperlink; > import org.eclipse.ui.forms.widgets.ScrolledForm; >+import org.eclipse.ui.forms.widgets.Section; > import org.eclipse.ui.handlers.IHandlerService; > import org.eclipse.ui.views.contentoutline.IContentOutlinePage; > >@@ -292,6 +298,8 @@ > > public static final String ID_PART_PLANNING = "org.eclipse.mylyn.tasks.ui.editors.part.planning"; > >+ public static final String ID_PART_REPOSITORY_PLANNING = "org.eclipse.mylyn.tasks.ui.editors.part.repositoryPlanning"; >+ > public static final String ID_PART_SUMMARY = "org.eclipse.mylyn.tasks.ui.editors.part.summary"; > > public static final String PATH_ACTIONS = "actions"; >@@ -308,6 +316,8 @@ > > public static final String PATH_PLANNING = "planning"; > >+ public static final String PATH_REPOSITORY_PLANNING = "repositoryPlanning"; >+ > // private static final String ID_POPUP_MENU = "org.eclipse.mylyn.tasks.ui.editor.menu.page"; > > private AttributeEditorFactory attributeEditorFactory; >@@ -518,6 +528,19 @@ > return new TaskEditorSummaryPart(); > } > }.setPath(PATH_HEADER)); >+ descriptors.add(new TaskEditorPartDescriptor(ID_PART_PLANNING) { >+ @Override >+ public AbstractTaskEditorPart createPart() { >+ return new TaskEditorPlanningPart(); >+ } >+ }.setPath(PATH_PLANNING)); >+ descriptors.add(new TaskEditorPartDescriptor(ID_PART_REPOSITORY_PLANNING) { >+ @Override >+ public AbstractTaskEditorPart createPart() { >+ return new TaskEditorRepositoryPlanningPart(); >+ } >+ }.setPath(PATH_PLANNING)); >+ > descriptors.add(new TaskEditorPartDescriptor(ID_PART_ATTRIBUTES) { > @Override > public AbstractTaskEditorPart createPart() { >@@ -557,14 +580,6 @@ > return new TaskEditorNewCommentPart(); > } > }.setPath(PATH_COMMENTS)); >- if (taskData.isNew()) { >- descriptors.add(new TaskEditorPartDescriptor(ID_PART_PLANNING) { >- @Override >- public AbstractTaskEditorPart createPart() { >- return new TaskEditorPlanningPart(); >- } >- }.setPath(PATH_PLANNING)); >- } > descriptors.add(new TaskEditorPartDescriptor(ID_PART_ACTIONS) { > @Override > public AbstractTaskEditorPart createPart() { >@@ -584,19 +599,61 @@ > List<TaskEditorPartDescriptor> descriptors = new LinkedList<TaskEditorPartDescriptor>(createPartDescriptors()); > // single column > createParts(PATH_HEADER, editorComposite, descriptors); >+ // two column >+ Composite planningComposite = toolkit.createComposite(editorComposite); >+ planningComposite.setLayout(GridLayoutFactory.fillDefaults().equalWidth(false).numColumns(2).create()); >+ GridDataFactory.fillDefaults().grab(true, false).applyTo(planningComposite); >+ createParts(PATH_PLANNING, planningComposite, descriptors); >+ createParts(PATH_REPOSITORY_PLANNING, planningComposite, descriptors); >+ coupleSections(planningComposite); >+ // single column > createParts(PATH_ATTRIBUTES, editorComposite, descriptors); > createParts(PATH_ATTACHMENTS, editorComposite, descriptors); > createParts(PATH_COMMENTS, editorComposite, descriptors); >- createParts(PATH_PLANNING, editorComposite, descriptors); > // two column > Composite bottomComposite = toolkit.createComposite(editorComposite); >- bottomComposite.setLayout(new GridLayout(2, false)); >+ bottomComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create()); > GridDataFactory.fillDefaults().grab(true, false).applyTo(bottomComposite); > createParts(PATH_ACTIONS, bottomComposite, descriptors); > createParts(PATH_PEOPLE, bottomComposite, descriptors); > bottomComposite.pack(true); > } > >+ private void coupleSections(Composite composite) { >+ final List<Section> sections = new ArrayList<Section>(); >+ final boolean[] processingEvents = new boolean[1]; >+ Control[] controls = composite.getChildren(); >+ boolean expand = false; >+ for (Control control : controls) { >+ if (control instanceof Section) { >+ final Section section = (Section) control; >+ sections.add(section); >+ expand |= section.isExpanded(); >+ section.addExpansionListener(new ExpansionAdapter() { >+ @Override >+ public void expansionStateChanging(ExpansionEvent e) { >+ if (!processingEvents[0]) { >+ processingEvents[0] = true; >+ for (Section otherSection : sections) { >+ if (otherSection != section && otherSection.isExpanded() != e.getState()) { >+ EditorUtil.toggleExpandableComposite(e.getState(), otherSection); >+ } >+ } >+ processingEvents[0] = false; >+ } >+ } >+ }); >+ } >+ } >+ if (expand) { >+ for (Section section : sections) { >+ if (!section.isExpanded()) { >+ EditorUtil.toggleExpandableComposite(true, section); >+ } >+ } >+ } >+ } >+ > private void createParts(String path, final Composite parent, Collection<TaskEditorPartDescriptor> descriptors) { > for (Iterator<TaskEditorPartDescriptor> it = descriptors.iterator(); it.hasNext();) { > final TaskEditorPartDescriptor descriptor = it.next(); >Index: src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java,v >retrieving revision 1.143 >diff -u -r1.143 TaskPlanningEditor.java >--- src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java 1 Jun 2008 10:37:16 -0000 1.143 >+++ src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java 12 Jun 2008 22:19:42 -0000 >@@ -615,6 +615,9 @@ > label.setForeground(toolkit.getColors().getColor(IFormColors.TITLE)); > > scheduleDatePicker = new ScheduleDatePicker(nameValueComp, task, SWT.FLAT); >+ GridData gd = new GridData(); >+ gd.widthHint = 135; >+ scheduleDatePicker.setLayoutData(gd); > scheduleDatePicker.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER); > toolkit.adapt(scheduleDatePicker, true, false); > toolkit.paintBordersFor(nameValueComp); >Index: src/org/eclipse/mylyn/internal/tasks/ui/ScheduleDatePicker.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ScheduleDatePicker.java,v >retrieving revision 1.12 >diff -u -r1.12 ScheduleDatePicker.java >--- src/org/eclipse/mylyn/internal/tasks/ui/ScheduleDatePicker.java 29 May 2008 23:25:06 -0000 1.12 >+++ src/org/eclipse/mylyn/internal/tasks/ui/ScheduleDatePicker.java 12 Jun 2008 22:19:42 -0000 >@@ -101,7 +101,8 @@ > scheduledDateText = new Text(this, style); > scheduledDateText.setEditable(false); > GridData dateTextGridData = new GridData(SWT.FILL, SWT.FILL, false, false); >- dateTextGridData.widthHint = 135; >+ dateTextGridData.grabExcessHorizontalSpace = true; >+ dateTextGridData.widthHint = SWT.FILL; > dateTextGridData.verticalIndent = 0; > > scheduledDateText.setLayoutData(dateTextGridData); >Index: src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorRepositoryPlanningPart.java >=================================================================== >RCS file: src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorRepositoryPlanningPart.java >diff -N src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorRepositoryPlanningPart.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorRepositoryPlanningPart.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,118 @@ >+/******************************************************************************* >+ * 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.editors; >+ >+import java.util.ArrayList; >+import java.util.Map; >+ >+import org.eclipse.mylyn.tasks.core.data.TaskAttribute; >+import org.eclipse.mylyn.tasks.core.data.TaskAttributeMetaData; >+import org.eclipse.mylyn.tasks.ui.editors.AbstractAttributeEditor; >+import org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPart; >+import org.eclipse.swt.SWT; >+import org.eclipse.swt.layout.GridData; >+import org.eclipse.swt.layout.GridLayout; >+import org.eclipse.swt.widgets.Composite; >+import org.eclipse.swt.widgets.Control; >+import org.eclipse.swt.widgets.Event; >+import org.eclipse.swt.widgets.Listener; >+import org.eclipse.swt.widgets.Text; >+import org.eclipse.ui.forms.widgets.FormToolkit; >+import org.eclipse.ui.forms.widgets.Section; >+ >+/** >+ * @author Steffen Pingel >+ */ >+public class TaskEditorRepositoryPlanningPart extends AbstractTaskEditorPart { >+ >+ private ArrayList<AbstractAttributeEditor> attributeEditors; >+ >+ private Composite attributesComposite; >+ >+ private boolean hasIncoming; >+ >+ public TaskEditorRepositoryPlanningPart() { >+ setPartName("Team Planning"); >+ } >+ >+ @Override >+ public void createControl(Composite parent, final FormToolkit toolkit) { >+ initialize(); >+ if (attributeEditors.isEmpty()) { >+ return; >+ } >+ >+ final Section section = createSection(parent, toolkit, hasIncoming); >+ >+ attributesComposite = toolkit.createComposite(section); >+ attributesComposite.addListener(SWT.MouseDown, new Listener() { >+ public void handleEvent(Event event) { >+ Control focus = event.display.getFocusControl(); >+ if (focus instanceof Text && ((Text) focus).getEditable() == false) { >+ getManagedForm().getForm().setFocus(); >+ } >+ } >+ }); >+ >+ GridLayout attributesLayout = new GridLayout(); >+ attributesLayout.numColumns = 2; >+ attributesLayout.horizontalSpacing = 5; >+ attributesLayout.verticalSpacing = 6; >+ attributesComposite.setLayout(attributesLayout); >+ >+ GridData attributesData = new GridData(GridData.FILL_BOTH); >+ attributesData.horizontalSpan = 1; >+ attributesData.grabExcessVerticalSpace = false; >+ attributesComposite.setLayoutData(attributesData); >+ >+ createAttributeControls(attributesComposite, toolkit, attributesLayout.numColumns); >+ toolkit.paintBordersFor(attributesComposite); >+ >+ section.setClient(attributesComposite); >+ setSection(toolkit, section); >+ } >+ >+ private void createAttributeControls(Composite composite, FormToolkit toolkit, int numColumns) { >+ for (AbstractAttributeEditor editor : attributeEditors) { >+ editor.createLabelControl(composite, toolkit); >+ editor.createControl(composite, toolkit); >+ getTaskEditorPage().getAttributeEditorToolkit().adapt(editor); >+ } >+ >+ } >+ >+ private void initialize() { >+ attributeEditors = new ArrayList<AbstractAttributeEditor>(); >+ >+ Map<String, TaskAttribute> attributes = getTaskData().getRoot().getAttributes(); >+ for (TaskAttribute attribute : attributes.values()) { >+ TaskAttributeMetaData properties = attribute.getMetaData(); >+ if (!TaskAttribute.KIND_PLANNING.equals(properties.getKind())) { >+ continue; >+ } >+ >+ AbstractAttributeEditor attributeEditor = createAttributeEditor(attribute); >+ if (attributeEditor != null) { >+ attributeEditors.add(attributeEditor); >+ if (getModel().hasIncomingChanges(attribute)) { >+ hasIncoming = true; >+ } >+ } >+ } >+// >+// Collections.sort(attributeEditors, new Comparator<AbstractAttributeEditor>() { >+// public int compare(AbstractAttributeEditor o1, AbstractAttributeEditor o2) { >+// int p1 = (o1.getLayoutHint() != null) ? o1.getLayoutHint().getPriority() : LayoutHint.DEFAULT_PRIORITY; >+// int p2 = (o2.getLayoutHint() != null) ? o2.getLayoutHint().getPriority() : LayoutHint.DEFAULT_PRIORITY; >+// return p1 - p2; >+// } >+// }); >+ } >+ >+} >#P org.eclipse.mylyn.jira.core >Index: src/org/eclipse/mylyn/internal/jira/core/JiraAttribute.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.jira.core/src/org/eclipse/mylyn/internal/jira/core/JiraAttribute.java,v >retrieving revision 1.7 >diff -u -r1.7 JiraAttribute.java >--- src/org/eclipse/mylyn/internal/jira/core/JiraAttribute.java 1 Jun 2008 08:14:38 -0000 1.7 >+++ src/org/eclipse/mylyn/internal/jira/core/JiraAttribute.java 12 Jun 2008 22:19:43 -0000 >@@ -153,7 +153,12 @@ > } > > public String getKind() { >- return (isHidden) ? null : TaskAttribute.KIND_DEFAULT; >+ switch (this) { >+ case DUE_DATE: >+ return TaskAttribute.KIND_PLANNING; >+ default: >+ return (isHidden) ? null : TaskAttribute.KIND_DEFAULT; >+ } > } > > } >Index: src/org/eclipse/mylyn/internal/jira/core/JiraTaskDataHandler.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.jira.core/src/org/eclipse/mylyn/internal/jira/core/JiraTaskDataHandler.java,v >retrieving revision 1.31 >diff -u -r1.31 JiraTaskDataHandler.java >--- src/org/eclipse/mylyn/internal/jira/core/JiraTaskDataHandler.java 6 Jun 2008 08:31:52 -0000 1.31 >+++ src/org/eclipse/mylyn/internal/jira/core/JiraTaskDataHandler.java 12 Jun 2008 22:19:43 -0000 >@@ -510,6 +510,12 @@ > || !JiraAttribute.valueById(attribute.getId()).isHidden())) { > properties.setKind(TaskAttribute.KIND_DEFAULT); > } >+ if (JiraAttribute.DUE_DATE.id().equals(attribute.getId()) >+ || JiraAttribute.ACTUAL.id().equals(attribute.getId()) >+ || JiraAttribute.ESTIMATE.id().equals(attribute.getId()) >+ || JiraAttribute.INITIAL_ESTIMATE.id().equals(attribute.getId())) { >+ properties.setKind(TaskAttribute.KIND_PLANNING); >+ } > > if (TaskAttribute.COMMENT_NEW.equals(attribute.getId()) > || TaskAttribute.RESOLUTION.equals(attribute.getId())) { >#P org.eclipse.mylyn.tasks.core >Index: src/org/eclipse/mylyn/tasks/core/data/TaskAttribute.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/data/TaskAttribute.java,v >retrieving revision 1.26 >diff -u -r1.26 TaskAttribute.java >--- src/org/eclipse/mylyn/tasks/core/data/TaskAttribute.java 2 Jun 2008 07:07:30 -0000 1.26 >+++ src/org/eclipse/mylyn/tasks/core/data/TaskAttribute.java 12 Jun 2008 22:19:44 -0000 >@@ -101,6 +101,8 @@ > > public static final String KIND_PEOPLE = "task.common.kind.default"; > >+ public static final String KIND_PLANNING = "task.common.kind.planning"; >+ > //public static final String META_SHOW_IN_ATTRIBUTES_SECTION = "task.meta.showInTaskEditorAttributesSection"; > > public static final String META_ASSOCIATED_ATTRIBUTE_ID = "task.meta.associated.attribute";
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 234044
:
102069
|
102070
|
104595
|
104596
|
104624
| 104775 |
122244
|
122372
|
122377
|
122378