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 104595 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]
patch
clipboard.txt (text/plain), 53.03 KB, created by
Steffen Pingel
on 2008-06-11 20:58:48 EDT
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Steffen Pingel
Created:
2008-06-11 20:58:48 EDT
Size:
53.03 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#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 00:58:01 -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"; >#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 00:58:02 -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 00:58:02 -0000 >@@ -510,6 +510,11 @@ > || !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())) { >+ properties.setKind(TaskAttribute.KIND_PLANNING); >+ } > > if (TaskAttribute.COMMENT_NEW.equals(attribute.getId()) > || TaskAttribute.RESOLUTION.equals(attribute.getId())) { >#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.56 >diff -u -r1.56 AbstractTaskEditorPage.java >--- src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage.java 10 Jun 2008 23:32:15 -0000 1.56 >+++ src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage.java 12 Jun 2008 00:58:03 -0000 >@@ -63,6 +63,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; >@@ -292,6 +293,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 +311,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; >@@ -513,6 +518,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() { >@@ -552,14 +570,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() { >@@ -579,10 +589,16 @@ > List<TaskEditorPartDescriptor> descriptors = new LinkedList<TaskEditorPartDescriptor>(createPartDescriptors()); > // single column > createParts(PATH_HEADER, editorComposite, descriptors); >+ // two column >+ Composite planningComposite = toolkit.createComposite(editorComposite); >+ planningComposite.setLayout(new GridLayout(2, false)); >+ GridDataFactory.fillDefaults().grab(true, false).applyTo(planningComposite); >+ createParts(PATH_PLANNING, planningComposite, descriptors); >+ createParts(PATH_REPOSITORY_PLANNING, planningComposite, descriptors); >+ // 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)); >Index: .refactorings/2008/6/24/refactorings.index >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/.refactorings/2008/6/24/refactorings.index,v >retrieving revision 1.5 >diff -u -r1.5 refactorings.index >--- .refactorings/2008/6/24/refactorings.index 11 Jun 2008 21:45:01 -0000 1.5 >+++ .refactorings/2008/6/24/refactorings.index 12 Jun 2008 00:58:03 -0000 >@@ -5,3 +5,6 @@ > 1213201699417 Extract superclass 'ScalingHyperlink' > 1213201895713 Move compilation unit > 1213220621176 Change method 'createPage' >+1213223492423 Extract method 'createScheduledDatePicker' >+1213223509735 Extract method 'createDueDatePicker' >+1213223626268 Extract method 'createEstimatedTime' >Index: .refactorings/2008/6/24/refactorings.history >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/.refactorings/2008/6/24/refactorings.history,v >retrieving revision 1.5 >diff -u -r1.5 refactorings.history >--- .refactorings/2008/6/24/refactorings.history 11 Jun 2008 21:45:01 -0000 1.5 >+++ .refactorings/2008/6/24/refactorings.history 12 Jun 2008 00:58:03 -0000 >@@ -1,3 +1,3 @@ > <?xml version="1.0" encoding="UTF-8"?> >-<session version="1.0">
<refactoring comment="Extract local variable 'priority' from expression 'mapping.getPriority()'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Variable name: 'priority'
- Destination method: 'org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorSummaryPart.createHeaderLayout()'
- Variable expression: 'mapping.getPriority()'
- Replace occurrences of expression with variable" description="Extract local variable 'priority'" final="false" id="org.eclipse.jdt.ui.extract.temp" input="/src<org.eclipse.mylyn.internal.tasks.ui.editors{TaskEditorSummaryPart.java" name="priority" replace="true" selection="4203 21" stamp="1213069082794" version="1.0"/>
<refactoring comment="Extract local variable 'resolution' from expression 'mapping.getResolution()'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Variable name: 'resolution'
- Destination method: 'org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorSummaryPart.createHeaderLayout()'
- Variable expression: 'mapping.getResolution()'
- Replace occurrences of expression with variable" description="Extract local variable 'resolution'" final="false" id="org.eclipse.jdt.ui.extract.temp" input="/src<org.eclipse.mylyn.internal.tasks.ui.editors{TaskEditorSummaryPart.java" name="resolution" replace="true" selection="4274 23" stamp="1213069906470" version="1.0"/>
<refactoring comment="Rename field 'DESCRIPTION' in 'org.eclipse.mylyn.internal.tasks.ui.wizards.TaskDataImportWizardPage' to 'MESSAGE_WARNING'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Original element: 'org.eclipse.mylyn.internal.tasks.ui.wizards.TaskDataImportWizardPage.DESCRIPTION'
- Renamed element: 'org.eclipse.mylyn.internal.tasks.ui.wizards.TaskDataImportWizardPage.MESSAGE_WARNING'
- Update references to refactored element
- Update textual occurrences in comments and strings
- Rename getter method for field
- Rename setter method for field" delegate="false" deprecate="false" description="Rename field 'DESCRIPTION'" flags="589826" getter="true" id="org.eclipse.jdt.ui.rename.field" input="/src<org.eclipse.mylyn.internal.tasks.ui.wizards{TaskDataImportWizardPage.java[TaskDataImportWizardPage^DESCRIPTION" name="MESSAGE_WARNING" references="true" setter="true" stamp="1213199983077" textual="false" version="1.0"/>
<refactoring comment="Rename type 'org.eclipse.mylyn.internal.tasks.ui.TaskListHyperlink' to 'TaskHyperlink'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Original element: 'org.eclipse.mylyn.internal.tasks.ui.TaskListHyperlink'
- Renamed element: 'org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink'
- Update references to refactored element
- Update fully qualified names in '*.xml, *.properties, *.exsd, *.mf' files
- Update textual occurrences in comments and strings" description="Rename type 'TaskListHyperlink'" flags="589830" id="org.eclipse.jdt.ui.rename.type" input="/src<org.eclipse.mylyn.internal.tasks.ui{TaskListHyperlink.java[TaskListHyperlink" matchStrategy="1" name="TaskHyperlink" patterns="*.xml, *.properties, *.exsd, *.mf" qualified="true" references="true" similarDeclarations="false" stamp="1213201590042" textual="false" version="1.0"/>
<refactoring abstract="0" comment="Extract superclass 'org.eclipse.mylyn.internal.tasks.ui.ScalingHyperlink' from 'org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Original element: 'org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink'
- Sub types:
 org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink
- Extracted class: 'org.eclipse.mylyn.internal.tasks.ui.ScalingHyperlink'
- Extracted members:
 org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink.strikeThrough
 org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink.MOUSE_TRACK_LISTENER
 org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink.dispose()
 org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink.isStrikeThrough()
 org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink.paintText(...)
 org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink.setStrikeThrough(...)
 org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink.shortenText(...)
- Use super type where possible
- Use super type in 'instanceof' expressions" delete="5" description="Extract superclass 'ScalingHyperlink'" element1="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink^strikeThrough" element10="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~paintText~QGC;~QRectangle;" element11="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~setStrikeThrough~Z" element12="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~shortenText~QGC;~QString;~I" element13="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink" element2="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink^MOUSE_TRACK_LISTENER" element3="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~isStrik" element4="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~isStrikeThrough" element5="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~setStrikeThrough~Zctangle;" element6="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~setStrikeThrough~Z" element7="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~disposeText~QGC;~QString;~I" element8="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~dispose" element9="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~isStrikeThrough" extract="7" flags="589830" id="org.eclipse.jdt.ui.extract.superclass" input="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink" instanceof="true" name="ScalingHyperlink" replace="true" stamp="1213201699417" stubs="true" types="1" version="1.0"/>
<refactoring comment="Move 1 elements(s) to 'org.eclipse.mylyn.commons.ui/src/org.eclipse.mylyn.internal.provisional.commons.ui'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Destination element: 'org.eclipse.mylyn.commons.ui/src/org.eclipse.mylyn.internal.provisional.commons.ui'
- Original element: 'org.eclipse.mylyn.internal.tasks.ui.ScalingHyperlink.java'
- Update references to refactored element
- Update fully qualified names in '*.xml, *.mf' files" description="Move compilation unit" destination="=org.eclipse.mylyn.commons.ui/src<org.eclipse.mylyn.internal.provisional.commons.ui" element1="/src<org.eclipse.mylyn.internal.tasks.ui{ScalingHyperlink.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.move" patterns="*.xml, *.mf" policy="org.eclipse.jdt.ui.moveResources" qualified="true" references="true" stamp="1213201895713" units="1" version="1.0"/>
<refactoring comment="Change method 'public FormPage org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPageFactory.createPage(TaskEditor parentEditor)' to 'public IFormPage createPage(TaskEditor parentEditor)'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Original element: 'org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPageFactory.createPage(...)'
- New return type: 'IFormPage'" delegate="false" deprecate="true" description="Change method 'createPage'" flags="589830" id="org.eclipse.jdt.ui.change.method.signature" input="/src<org.eclipse.mylyn.tasks.ui.editors{AbstractTaskEditorPageFactory.java[AbstractTaskEditorPageFactory~createPage~QTaskEditor;" name="createPage" parameter1="TaskEditor parentEditor 0 TaskEditor parentEditor false" return="IFormPage" stamp="1213220621176" version="1.0"/> >+<session version="1.0">
<refactoring comment="Extract local variable 'priority' from expression 'mapping.getPriority()'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Variable name: 'priority'
- Destination method: 'org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorSummaryPart.createHeaderLayout()'
- Variable expression: 'mapping.getPriority()'
- Replace occurrences of expression with variable" description="Extract local variable 'priority'" final="false" id="org.eclipse.jdt.ui.extract.temp" input="/src<org.eclipse.mylyn.internal.tasks.ui.editors{TaskEditorSummaryPart.java" name="priority" replace="true" selection="4203 21" stamp="1213069082794" version="1.0"/>
<refactoring comment="Extract local variable 'resolution' from expression 'mapping.getResolution()'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Variable name: 'resolution'
- Destination method: 'org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorSummaryPart.createHeaderLayout()'
- Variable expression: 'mapping.getResolution()'
- Replace occurrences of expression with variable" description="Extract local variable 'resolution'" final="false" id="org.eclipse.jdt.ui.extract.temp" input="/src<org.eclipse.mylyn.internal.tasks.ui.editors{TaskEditorSummaryPart.java" name="resolution" replace="true" selection="4274 23" stamp="1213069906470" version="1.0"/>
<refactoring comment="Rename field 'DESCRIPTION' in 'org.eclipse.mylyn.internal.tasks.ui.wizards.TaskDataImportWizardPage' to 'MESSAGE_WARNING'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Original element: 'org.eclipse.mylyn.internal.tasks.ui.wizards.TaskDataImportWizardPage.DESCRIPTION'
- Renamed element: 'org.eclipse.mylyn.internal.tasks.ui.wizards.TaskDataImportWizardPage.MESSAGE_WARNING'
- Update references to refactored element
- Update textual occurrences in comments and strings
- Rename getter method for field
- Rename setter method for field" delegate="false" deprecate="false" description="Rename field 'DESCRIPTION'" flags="589826" getter="true" id="org.eclipse.jdt.ui.rename.field" input="/src<org.eclipse.mylyn.internal.tasks.ui.wizards{TaskDataImportWizardPage.java[TaskDataImportWizardPage^DESCRIPTION" name="MESSAGE_WARNING" references="true" setter="true" stamp="1213199983077" textual="false" version="1.0"/>
<refactoring comment="Rename type 'org.eclipse.mylyn.internal.tasks.ui.TaskListHyperlink' to 'TaskHyperlink'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Original element: 'org.eclipse.mylyn.internal.tasks.ui.TaskListHyperlink'
- Renamed element: 'org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink'
- Update references to refactored element
- Update fully qualified names in '*.xml, *.properties, *.exsd, *.mf' files
- Update textual occurrences in comments and strings" description="Rename type 'TaskListHyperlink'" flags="589830" id="org.eclipse.jdt.ui.rename.type" input="/src<org.eclipse.mylyn.internal.tasks.ui{TaskListHyperlink.java[TaskListHyperlink" matchStrategy="1" name="TaskHyperlink" patterns="*.xml, *.properties, *.exsd, *.mf" qualified="true" references="true" similarDeclarations="false" stamp="1213201590042" textual="false" version="1.0"/>
<refactoring abstract="0" comment="Extract superclass 'org.eclipse.mylyn.internal.tasks.ui.ScalingHyperlink' from 'org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Original element: 'org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink'
- Sub types:
 org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink
- Extracted class: 'org.eclipse.mylyn.internal.tasks.ui.ScalingHyperlink'
- Extracted members:
 org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink.strikeThrough
 org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink.MOUSE_TRACK_LISTENER
 org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink.dispose()
 org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink.isStrikeThrough()
 org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink.paintText(...)
 org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink.setStrikeThrough(...)
 org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink.shortenText(...)
- Use super type where possible
- Use super type in 'instanceof' expressions" delete="5" description="Extract superclass 'ScalingHyperlink'" element1="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink^strikeThrough" element10="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~paintText~QGC;~QRectangle;" element11="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~setStrikeThrough~Z" element12="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~shortenText~QGC;~QString;~I" element13="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink" element2="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink^MOUSE_TRACK_LISTENER" element3="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~isStrik" element4="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~isStrikeThrough" element5="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~setStrikeThrough~Zctangle;" element6="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~setStrikeThrough~Z" element7="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~disposeText~QGC;~QString;~I" element8="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~dispose" element9="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink~isStrikeThrough" extract="7" flags="589830" id="org.eclipse.jdt.ui.extract.superclass" input="/src<org.eclipse.mylyn.internal.tasks.ui{TaskHyperlink.java[TaskHyperlink" instanceof="true" name="ScalingHyperlink" replace="true" stamp="1213201699417" stubs="true" types="1" version="1.0"/>
<refactoring comment="Move 1 elements(s) to 'org.eclipse.mylyn.commons.ui/src/org.eclipse.mylyn.internal.provisional.commons.ui'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Destination element: 'org.eclipse.mylyn.commons.ui/src/org.eclipse.mylyn.internal.provisional.commons.ui'
- Original element: 'org.eclipse.mylyn.internal.tasks.ui.ScalingHyperlink.java'
- Update references to refactored element
- Update fully qualified names in '*.xml, *.mf' files" description="Move compilation unit" destination="=org.eclipse.mylyn.commons.ui/src<org.eclipse.mylyn.internal.provisional.commons.ui" element1="/src<org.eclipse.mylyn.internal.tasks.ui{ScalingHyperlink.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.move" patterns="*.xml, *.mf" policy="org.eclipse.jdt.ui.moveResources" qualified="true" references="true" stamp="1213201895713" units="1" version="1.0"/>
<refactoring comment="Change method 'public FormPage org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPageFactory.createPage(TaskEditor parentEditor)' to 'public IFormPage createPage(TaskEditor parentEditor)'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Original element: 'org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPageFactory.createPage(...)'
- New return type: 'IFormPage'" delegate="false" deprecate="true" description="Change method 'createPage'" flags="589830" id="org.eclipse.jdt.ui.change.method.signature" input="/src<org.eclipse.mylyn.tasks.ui.editors{AbstractTaskEditorPageFactory.java[AbstractTaskEditorPageFactory~createPage~QTaskEditor;" name="createPage" parameter1="TaskEditor parentEditor 0 TaskEditor parentEditor false" return="IFormPage" stamp="1213220621176" version="1.0"/>
<refactoring comment="Extract method 'private void createScheduledDatePicker(FormToolkit toolkit,Composite sectionClient)' from 'org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorPlanningPart.createControl()' to 'org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorPlanningPart'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Method name: 'createScheduledDatePicker'
- Destination type: 'org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorPlanningPart'
- Declared visibility: 'private'" comments="false" description="Extract method 'createScheduledDatePicker'" destination="0" exceptions="false" flags="786434" id="org.eclipse.jdt.ui.extract.method" input="/src<org.eclipse.mylyn.internal.tasks.ui.editors{TaskEditorPlanningPart.java" name="createScheduledDatePicker" replace="false" selection="3961 1261" stamp="1213223492423" version="1.0" visibility="2"/>
<refactoring comment="Extract method 'private void createDueDatePicker(FormToolkit toolkit,Composite sectionClient)' from 'org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorPlanningPart.createControl()' to 'org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorPlanningPart'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Method name: 'createDueDatePicker'
- Destination type: 'org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorPlanningPart'
- Declared visibility: 'private'" comments="false" description="Extract method 'createDueDatePicker'" destination="0" exceptions="false" flags="786434" id="org.eclipse.jdt.ui.extract.method" input="/src<org.eclipse.mylyn.internal.tasks.ui.editors{TaskEditorPlanningPart.java" name="createDueDatePicker" replace="false" selection="4057 2118" stamp="1213223509735" version="1.0" visibility="2"/>
<refactoring comment="Extract method 'private void createEstimatedTime(Composite sectionClient)' from 'org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorPlanningPart.createControl()' to 'org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorPlanningPart'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Method name: 'createEstimatedTime'
- Destination type: 'org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorPlanningPart'
- Declared visibility: 'private'" comments="false" description="Extract method 'createEstimatedTime'" destination="0" exceptions="false" flags="786434" id="org.eclipse.jdt.ui.extract.method" input="/src<org.eclipse.mylyn.internal.tasks.ui.editors{TaskEditorPlanningPart.java" name="createEstimatedTime" replace="false" selection="4547 1231" stamp="1213223626268" version="1.0" visibility="2"/> > </session> >\ No newline at end of file >Index: src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorPlanningPart.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorPlanningPart.java,v >retrieving revision 1.11 >diff -u -r1.11 TaskEditorPlanningPart.java >--- src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorPlanningPart.java 8 May 2008 07:20:16 -0000 1.11 >+++ src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorPlanningPart.java 12 Jun 2008 00:58:03 -0000 >@@ -8,19 +8,43 @@ > > package org.eclipse.mylyn.internal.tasks.ui.editors; > >+import java.util.Calendar; >+import java.util.Set; >+ > import org.eclipse.core.runtime.Assert; >+import org.eclipse.core.runtime.IStatus; >+import org.eclipse.core.runtime.Status; >+import org.eclipse.jface.dialogs.MessageDialog; >+import org.eclipse.jface.layout.GridDataFactory; >+import org.eclipse.mylyn.commons.core.DateUtil; >+import org.eclipse.mylyn.commons.core.StatusHandler; > import org.eclipse.mylyn.internal.provisional.commons.ui.CommonImages; >+import org.eclipse.mylyn.internal.provisional.commons.ui.DatePicker; > import org.eclipse.mylyn.internal.tasks.core.AbstractTask; >-import org.eclipse.mylyn.internal.tasks.core.DateRange; >+import org.eclipse.mylyn.internal.tasks.core.ITaskListChangeListener; >+import org.eclipse.mylyn.internal.tasks.core.TaskActivityUtil; >+import org.eclipse.mylyn.internal.tasks.core.TaskContainerDelta; > import org.eclipse.mylyn.internal.tasks.ui.ScheduleDatePicker; > import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin; >+import org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal; >+import org.eclipse.mylyn.monitor.ui.MonitorUi; >+import org.eclipse.mylyn.tasks.core.ITask; >+import org.eclipse.mylyn.tasks.core.ITaskActivityListener; >+import org.eclipse.mylyn.tasks.core.TaskActivityAdapter; > import org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPart; > import org.eclipse.swt.SWT; >+import org.eclipse.swt.events.SelectionAdapter; >+import org.eclipse.swt.events.SelectionEvent; >+import org.eclipse.swt.events.SelectionListener; > import org.eclipse.swt.layout.GridData; > import org.eclipse.swt.layout.GridLayout; > import org.eclipse.swt.widgets.Composite; >+import org.eclipse.swt.widgets.Display; > import org.eclipse.swt.widgets.Label; > import org.eclipse.swt.widgets.Spinner; >+import org.eclipse.swt.widgets.Text; >+import org.eclipse.ui.PlatformUI; >+import org.eclipse.ui.forms.IFormColors; > import org.eclipse.ui.forms.events.HyperlinkAdapter; > import org.eclipse.ui.forms.events.HyperlinkEvent; > import org.eclipse.ui.forms.widgets.FormToolkit; >@@ -32,12 +56,81 @@ > */ > public class TaskEditorPlanningPart extends AbstractTaskEditorPart { > >+ private static final String CLEAR = "Clear"; >+ > private static final int DEFAULT_ESTIMATED_TIME = 1; > >- private ScheduleDatePicker scheduledForDate; >+ private static final String NO_TIME_ELAPSED = "0 seconds"; >+ >+ private static final String RESET = "Reset"; >+ >+ private static final int LABEL_WIDTH = 80; >+ >+ private static final int CONTROL_WIDTH = 100; >+ >+ private DatePicker dueDatePicker; >+ >+ private Text elapsedTimeText; > > private Spinner estimatedTime; > >+ private ScheduleDatePicker scheduleDatePicker; >+ >+ private AbstractTask task; >+ >+ private final ITaskListChangeListener TASK_LIST_LISTENER = new TaskListChangeAdapter() { >+ >+ @Override >+ public void containersChanged(Set<TaskContainerDelta> containers) { >+ for (TaskContainerDelta taskContainerDelta : containers) { >+ if (taskContainerDelta.getElement() instanceof ITask) { >+ final AbstractTask updateTask = (AbstractTask) taskContainerDelta.getElement(); >+ if (updateTask != null && task != null >+ && updateTask.getHandleIdentifier().equals(task.getHandleIdentifier())) { >+ if (PlatformUI.getWorkbench() != null && !PlatformUI.getWorkbench().isClosing()) { >+ PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { >+ public void run() { >+ updateFromTask(updateTask); >+ } >+ }); >+ } >+ } >+ } >+ } >+ } >+ >+ }; >+ >+ private final ITaskActivityListener timingListener = new TaskActivityAdapter() { >+ >+ @Override >+ public void elapsedTimeUpdated(ITask task, long newElapsedTime) { >+ if (task.equals(TaskEditorPlanningPart.this.task)) { >+ String elapsedTimeString = NO_TIME_ELAPSED; >+ try { >+ elapsedTimeString = DateUtil.getFormattedDuration(newElapsedTime, false); >+ if (elapsedTimeString.equals("")) { >+ elapsedTimeString = NO_TIME_ELAPSED; >+ } >+ >+ } catch (RuntimeException e) { >+ StatusHandler.fail(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, >+ "Could not format elapsed time", e)); >+ } >+ final String elapsedString = elapsedTimeString; >+ PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { >+ >+ public void run() { >+ if (elapsedTimeText != null && !elapsedTimeText.isDisposed()) { >+ elapsedTimeText.setText(elapsedString); >+ } >+ } >+ }); >+ >+ } >+ } >+ }; >+ > public TaskEditorPlanningPart() { > setPartName("Personal Planning"); > } >@@ -47,125 +140,173 @@ > AbstractTask task = (AbstractTask) getTaskEditorPage().getTask(); > Assert.isNotNull(task); > >- DateRange selectedDate = null; >- if (scheduledForDate != null) { >- selectedDate = scheduledForDate.getScheduledDate(); >- } >- if (selectedDate != null) { >- TasksUiPlugin.getTaskActivityManager().setScheduledFor(task, selectedDate); >+ if (scheduleDatePicker != null && scheduleDatePicker.getScheduledDate() != null) { >+ if (task.getScheduledForDate() == null >+ || (task.getScheduledForDate() != null && !scheduleDatePicker.getScheduledDate().equals( >+ task.getScheduledForDate())) || (task).getScheduledForDate().isDay()) { >+ TasksUiPlugin.getTaskActivityManager().setScheduledFor(task, scheduleDatePicker.getScheduledDate()); >+ (task).setReminded(false); >+ } >+ } else { >+ TasksUiPlugin.getTaskActivityManager().setScheduledFor(task, null); >+ (task).setReminded(false); > } > > if (estimatedTime != null) { > task.setEstimatedTimeHours(estimatedTime.getSelection()); > } > >+ if (dueDatePicker != null && dueDatePicker.getDate() != null) { >+ TasksUiPlugin.getTaskActivityManager().setDueDate(task, dueDatePicker.getDate().getTime()); >+ } else { >+ TasksUiPlugin.getTaskActivityManager().setDueDate(task, null); >+ } >+ > super.commit(onSave); > } > >+ private void createActualTime(FormToolkit toolkit, Composite composite) { >+ Composite nameValueComp = createComposite(composite, 3, toolkit); >+ >+ Label label = toolkit.createLabel(nameValueComp, "Active:"); >+ label.setForeground(toolkit.getColors().getColor(IFormColors.TITLE)); >+ label.setToolTipText("Time working on this task"); >+ >+ String elapsedTimeString = NO_TIME_ELAPSED; >+ try { >+ elapsedTimeString = DateUtil.getFormattedDuration(TasksUiPlugin.getTaskActivityManager().getElapsedTime( >+ task), false); >+ if (elapsedTimeString.equals("")) { >+ elapsedTimeString = NO_TIME_ELAPSED; >+ } >+ } catch (RuntimeException e) { >+ // FIXME what exception is caught here? >+ StatusHandler.fail(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, "Could not format elapsed time", e)); >+ } >+ >+ elapsedTimeText = toolkit.createText(nameValueComp, elapsedTimeString); >+ elapsedTimeText.setText(elapsedTimeString); >+ >+ GridData td = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL); >+ td.grabExcessHorizontalSpace = true; >+ elapsedTimeText.setLayoutData(td); >+ elapsedTimeText.setEditable(false); >+ >+ ImageHyperlink resetActivityTimeButton = toolkit.createImageHyperlink(nameValueComp, SWT.NONE); >+ resetActivityTimeButton.setImage(CommonImages.getImage(CommonImages.REMOVE)); >+ resetActivityTimeButton.setToolTipText(RESET); >+ resetActivityTimeButton.addHyperlinkListener(new HyperlinkAdapter() { >+ >+ @Override >+ public void linkActivated(HyperlinkEvent e) { >+ if (MessageDialog.openConfirm(getControl().getShell(), "Confirm Activity Time Deletion", >+ "Do you wish to reset your activity time on this task?\n\nThis will take immediate affect and can not be undone.")) { >+ MonitorUi.getActivityContextManager().removeActivityTime(task.getHandleIdentifier(), 0l, >+ System.currentTimeMillis()); >+ } >+ } >+ }); >+ } >+ >+ private Composite createComposite(Composite parent, int col, FormToolkit toolkit) { >+ Composite nameValueComp = toolkit.createComposite(parent); >+ GridLayout layout = new GridLayout(3, false); >+ layout.marginHeight = 3; >+ nameValueComp.setLayout(layout); >+ return nameValueComp; >+ } >+ > @Override > public void createControl(Composite parent, FormToolkit toolkit) { >+ task = (AbstractTask) getTaskEditorPage().getTask(); >+ > Section section = createSection(parent, toolkit, true); > >- Composite sectionClient = getManagedForm().getToolkit().createComposite(section); >- GridLayout layout = new GridLayout(); >- layout.numColumns = 7; >- layout.makeColumnsEqualWidth = false; >- sectionClient.setLayout(layout); >- GridData clientDataLayout = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); >- sectionClient.setLayoutData(clientDataLayout); >- >- // Reminder >-// getManagedForm().getToolkit().createLabel(sectionClient, "Scheduled for:"); >-// // label.setForeground(toolkit.getColors().getColor(FormColors.TITLE)); >-// scheduledForDate = new ScheduleDatePicker(sectionClient, SWT.FLAT, DatePicker.LABEL_CHOOSE, true, >-// TasksUiPlugin.getDefault().getPreferenceStore().getInt(TasksUiPreferenceConstants.PLANNING_ENDHOUR)); >-// scheduledForDate.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE)); >-// scheduledForDate.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER); >-// Calendar newTaskSchedule = Calendar.getInstance(); >-// int scheduledEndHour = TasksUiPlugin.getDefault().getPreferenceStore().getInt( >-// TasksUiPreferenceConstants.PLANNING_ENDHOUR); >-// // If past scheduledEndHour set for following day >-// if (newTaskSchedule.get(Calendar.HOUR_OF_DAY) >= scheduledEndHour) { >-// TaskActivityUtil.snapForwardNumDays(newTaskSchedule, 1); >-// } else { >-// TaskActivityUtil.snapEndOfWorkDay(newTaskSchedule); >-// } >-// scheduledForDate.setDate(newTaskSchedule); >-//// Button removeReminder = getManagedForm().getToolkit().createButton(sectionClient, "Clear", >-//// SWT.PUSH | SWT.CENTER); >-//// removeReminder.addSelectionListener(new SelectionAdapter() { >-//// @Override >-//// public void widgetSelected(SelectionEvent e) { >-//// scheduledForDate.setDate(null); >-//// } >-//// }); >-// >-// ImageHyperlink clearReminder = getManagedForm().getToolkit().createImageHyperlink(sectionClient, SWT.NONE); >-// clearReminder.setImage(CommonImages.getImage(CommonImages.REMOVE)); >-// clearReminder.setToolTipText("Clear"); >-// clearReminder.addHyperlinkListener(new HyperlinkAdapter() { >-// @Override >-// public void linkActivated(HyperlinkEvent e) { >-// scheduledForDate.setDate(null); >-// } >-// }); >- >- ///NEW >-// ITask task = getTaskEditorPage().getTask(); >-// scheduledForDate = new ScheduleDatePicker(sectionClient, task, SWT.FLAT); >-// scheduledForDate.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER); >-// toolkit.adapt(scheduledForDate, true, true); >-// toolkit.paintBordersFor(sectionClient); >-// >-// scheduledForDate.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE)); >-// scheduledForDate.addPickerSelectionListener(new SelectionListener() { >-// public void widgetSelected(SelectionEvent arg0) { >-// getTaskEditorPage().getModel().attributeChanged(attribute); >-// } >-// >-// public void widgetDefaultSelected(SelectionEvent arg0) { >-// // ignore >-// } >-// }); >-// >-// ImageHyperlink clearScheduledDate = toolkit.createImageHyperlink(sectionClient, SWT.NONE); >-// clearScheduledDate.setImage(CommonImages.getImage(CommonImages.REMOVE)); >-// clearScheduledDate.setToolTipText(CLEAR); >-// clearScheduledDate.addHyperlinkListener(new HyperlinkAdapter() { >-// >-// @Override >-// public void linkActivated(HyperlinkEvent e) { >-// scheduledForDate.setScheduledDate(null); >-// ((AbstractTask) task).setReminded(false); >-// TaskPlanningEditor.this.markDirty(true); >-// } >-// }); >+ Composite composite = getManagedForm().getToolkit().createComposite(section); >+ composite.setLayout(new GridLayout(2, false)); >+ >+ createScheduledDatePicker(toolkit, composite); >+ >+ // disable due date picker if it's a repository due date >+ if (!getTaskEditorPage().getConnector().hasRepositoryDueDate(getTaskEditorPage().getTaskRepository(), task, >+ getTaskData())) { >+ createDueDatePicker(toolkit, composite); >+ } else { >+ // dummy placeholder >+ toolkit.createLabel(composite, ""); >+ } > > // 1 Blank column after Reminder clear button >- Label dummy = getManagedForm().getToolkit().createLabel(sectionClient, ""); >- GridData dummyLabelDataLayout = new GridData(GridData.HORIZONTAL_ALIGN_CENTER); >- dummyLabelDataLayout.horizontalSpan = 1; >- dummyLabelDataLayout.widthHint = 30; >- dummy.setLayoutData(dummyLabelDataLayout); >+// Label dummy = getManagedForm().getToolkit().createLabel(composite, ""); >+// GridData dummyLabelDataLayout = new GridData(GridData.HORIZONTAL_ALIGN_CENTER); >+// dummyLabelDataLayout.horizontalSpan = 1; >+// dummyLabelDataLayout.widthHint = 30; >+// dummy.setLayoutData(dummyLabelDataLayout); >+ >+ createEstimatedTime(toolkit, composite); >+ >+ createActualTime(toolkit, composite); >+ >+ TasksUiInternal.getTaskList().addChangeListener(TASK_LIST_LISTENER); >+ TasksUiPlugin.getTaskActivityManager().addActivityListener(timingListener); >+ >+ toolkit.paintBordersFor(composite); >+ section.setClient(composite); >+ setSection(toolkit, section); >+ } >+ >+ private void createDueDatePicker(FormToolkit toolkit, Composite parent) { >+ Composite composite = createComposite(parent, 3, toolkit); >+ Label label = toolkit.createLabel(composite, "Due:"); >+ label.setForeground(toolkit.getColors().getColor(IFormColors.TITLE)); >+ GridDataFactory.fillDefaults().hint(LABEL_WIDTH, SWT.DEFAULT).align(SWT.BEGINNING, SWT.CENTER).applyTo(label); >+ >+ dueDatePicker = new DatePicker(composite, SWT.FLAT, DatePicker.LABEL_CHOOSE, true, 0); >+ GridDataFactory.fillDefaults().hint(CONTROL_WIDTH, SWT.DEFAULT).applyTo(dueDatePicker); >+ dueDatePicker.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE)); >+ dueDatePicker.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER); >+ if (task.getDueDate() != null) { >+ Calendar calendar = TaskActivityUtil.getCalendar(); >+ calendar.setTime(task.getDueDate()); >+ dueDatePicker.setDate(calendar); >+ } >+ dueDatePicker.addPickerSelectionListener(new SelectionAdapter() { >+ @Override >+ public void widgetSelected(SelectionEvent arg0) { >+ markDirty(); >+ } >+ }); >+ toolkit.adapt(dueDatePicker, true, false); >+ toolkit.paintBordersFor(composite); >+ >+ ImageHyperlink clearDueDate = toolkit.createImageHyperlink(composite, SWT.NONE); >+ clearDueDate.setImage(CommonImages.getImage(CommonImages.REMOVE)); >+ clearDueDate.setToolTipText(CLEAR); >+ clearDueDate.addHyperlinkListener(new HyperlinkAdapter() { >+ @Override >+ public void linkActivated(HyperlinkEvent e) { >+ dueDatePicker.setDate(null); >+ markDirty(); >+ } >+ }); >+ } >+ >+ private void createEstimatedTime(FormToolkit toolkit, Composite parent) { >+ Composite nameValueComp = createComposite(parent, 3, toolkit); >+ Label label = toolkit.createLabel(nameValueComp, "Estimated:"); >+ label.setForeground(toolkit.getColors().getColor(IFormColors.TITLE)); >+ GridDataFactory.fillDefaults().hint(LABEL_WIDTH, SWT.DEFAULT).align(SWT.BEGINNING, SWT.CENTER).applyTo(label); > > // Estimated time >- getManagedForm().getToolkit().createLabel(sectionClient, "Estimated hours:"); >- // label.setForeground(toolkit.getColors().getColor(FormColors.TITLE)); >- // estimatedTime = new Spinner(sectionClient, SWT.FLAT); >- estimatedTime = new Spinner(sectionClient, SWT.FLAT); >+ estimatedTime = new Spinner(nameValueComp, SWT.FLAT); > estimatedTime.setDigits(0); > estimatedTime.setMaximum(100); > estimatedTime.setMinimum(0); > estimatedTime.setIncrement(1); > estimatedTime.setSelection(DEFAULT_ESTIMATED_TIME); > estimatedTime.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER); >- GridData estimatedDataLayout = new GridData(); >- estimatedDataLayout.widthHint = 30; >- estimatedTime.setLayoutData(estimatedDataLayout); >- // getManagedForm().getToolkit().createLabel(sectionClient, "hours "); >- // label.setForeground(toolkit.getColors().getColor(FormColors.TITLE)); > >- ImageHyperlink clearEstimated = getManagedForm().getToolkit().createImageHyperlink(sectionClient, SWT.NONE); >+ ImageHyperlink clearEstimated = toolkit.createImageHyperlink(nameValueComp, SWT.NONE); > clearEstimated.setImage(CommonImages.getImage(CommonImages.REMOVE)); > clearEstimated.setToolTipText("Clear"); > clearEstimated.addHyperlinkListener(new HyperlinkAdapter() { >@@ -174,9 +315,60 @@ > estimatedTime.setSelection(0); > } > }); >+ toolkit.paintBordersFor(nameValueComp); >+ } > >- getManagedForm().getToolkit().paintBordersFor(sectionClient); >- section.setClient(sectionClient); >- setSection(toolkit, section); >+ private void createScheduledDatePicker(FormToolkit toolkit, Composite parent) { >+ Composite composite = createComposite(parent, 3, toolkit); >+ Label label = toolkit.createLabel(composite, "Scheduled:"); >+ label.setForeground(toolkit.getColors().getColor(IFormColors.TITLE)); >+ GridDataFactory.fillDefaults().hint(LABEL_WIDTH, SWT.DEFAULT).align(SWT.BEGINNING, SWT.CENTER).applyTo(label); >+ >+ scheduleDatePicker = new ScheduleDatePicker(composite, task, SWT.FLAT); >+ GridDataFactory.fillDefaults().hint(CONTROL_WIDTH, SWT.DEFAULT).applyTo(scheduleDatePicker); >+ scheduleDatePicker.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER); >+ toolkit.adapt(scheduleDatePicker, true, false); >+ toolkit.paintBordersFor(composite); >+ >+ scheduleDatePicker.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE)); >+ scheduleDatePicker.addPickerSelectionListener(new SelectionListener() { >+ public void widgetDefaultSelected(SelectionEvent arg0) { >+ // ignore >+ } >+ >+ public void widgetSelected(SelectionEvent arg0) { >+ markDirty(); >+ } >+ }); >+ >+ ImageHyperlink clearScheduledDate = toolkit.createImageHyperlink(composite, SWT.NONE); >+ clearScheduledDate.setImage(CommonImages.getImage(CommonImages.REMOVE)); >+ clearScheduledDate.setToolTipText(CLEAR); >+ clearScheduledDate.addHyperlinkListener(new HyperlinkAdapter() { >+ @Override >+ public void linkActivated(HyperlinkEvent e) { >+ scheduleDatePicker.setScheduledDate(null); >+ // XXX why is this set here? >+ task.setReminded(false); >+ markDirty(); >+ } >+ }); > } >+ >+ @Override >+ public void dispose() { >+ TasksUiPlugin.getTaskActivityManager().removeActivityListener(timingListener); >+ TasksUiInternal.getTaskList().removeChangeListener(TASK_LIST_LISTENER); >+ } >+ >+ private void updateFromTask(AbstractTask updateTask) { >+ if (scheduleDatePicker != null && !scheduleDatePicker.isDisposed()) { >+ if (updateTask.getScheduledForDate() != null) { >+ scheduleDatePicker.setScheduledDate(updateTask.getScheduledForDate()); >+ } else { >+ scheduleDatePicker.setScheduledDate(null); >+ } >+ } >+ } >+ > } >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 00:58:03 -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 00:58:03 -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,119 @@ >+/******************************************************************************* >+ * 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.Collections; >+import java.util.Comparator; >+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.mylyn.tasks.ui.editors.LayoutHint; >+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; >+ >+ 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, true); >+ >+ 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; >+ } >+ }); >+ } >+ >+}
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