### Eclipse Workspace Patch 1.0 #P org.eclipse.mylyn.tasks.ui 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.86 diff -u -r1.86 TaskPlanningEditor.java --- src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java 14 Oct 2007 16:22:32 -0000 1.86 +++ src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java 24 Nov 2007 15:06:56 -0000 @@ -121,7 +121,7 @@ private ScrolledForm form; - private Text summary; + private TextViewer summaryEditor; private Text issueReportURL; @@ -182,12 +182,13 @@ } } - if (summary == null) + if (summaryEditor == null) return; - if (!summary.isDisposed()) { - if (!summary.getText().equals(updateTask.getSummary())) { + + if (!summaryEditor.getTextWidget().isDisposed()) { + if (!summaryEditor.getTextWidget().getText().equals(updateTask.getSummary())) { boolean wasDirty = TaskPlanningEditor.this.isDirty; - summary.setText(updateTask.getSummary()); + summaryEditor.getTextWidget().setText(updateTask.getSummary()); TaskPlanningEditor.this.markDirty(wasDirty); } if (parentEditor != null) { @@ -218,7 +219,7 @@ @Override public void doSave(IProgressMonitor monitor) { if (task instanceof LocalTask) { - String label = summary.getText(); + String label = summaryEditor.getTextWidget().getText(); // task.setDescription(label); TasksUiPlugin.getTaskListManager().getTaskList().renameTask(task, label); @@ -295,11 +296,11 @@ createPlanningSection(editorComposite); createNotesSection(editorComposite); - if (summary != null && LocalRepositoryConnector.DEFAULT_SUMMARY.equals(summary.getText())) { - summary.setSelection(0, summary.getText().length()); - summary.setFocus(); - } else if (summary != null) { - summary.setFocus(); + if (summaryEditor != null && summaryEditor.getTextWidget() != null && LocalRepositoryConnector.DEFAULT_SUMMARY.equals(summaryEditor.getTextWidget().getText())) { + summaryEditor.setSelectedRange(0, summaryEditor.getTextWidget().getText().length()); + summaryEditor.getTextWidget().setFocus(); + } else if (summaryEditor != null && summaryEditor.getTextWidget() != null) { + summaryEditor.getTextWidget().setFocus(); } } @@ -348,8 +349,8 @@ @Override public void setFocus() { // form.setFocus(); - if (summary != null && !summary.isDisposed()) { - summary.setFocus(); + if (summaryEditor != null && summaryEditor.getTextWidget() != null && !summaryEditor.getTextWidget().isDisposed()) { + summaryEditor.getTextWidget().setFocus(); } } @@ -386,16 +387,27 @@ summaryComposite.setLayout(summaryLayout); GridDataFactory.fillDefaults().grab(true, false).applyTo(summaryComposite); - summary = toolkit.createText(summaryComposite, task.getSummary(), SWT.LEFT | SWT.FLAT); - summary.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER); - GridDataFactory.fillDefaults().minSize(100, SWT.DEFAULT).grab(true, false).applyTo(summary); + TaskRepository repository = null; + if (task != null && !(task instanceof LocalTask)) { + AbstractTask repositoryTask = task; + repository = TasksUiPlugin.getRepositoryManager().getRepository(repositoryTask.getConnectorKind(), + repositoryTask.getRepositoryUrl()); + } + summaryEditor = addTextEditor(repository, summaryComposite, task.getSummary(), true, SWT.FLAT | SWT.MULTI + | SWT.WRAP | SWT.V_SCROLL); + + summaryEditor.getControl().setLayoutData(new GridData(GridData.FILL_BOTH)); + summaryEditor.getControl().setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER); if (!(task instanceof LocalTask)) { - summary.setEnabled(false); + summaryEditor.setEditable(false); } else { - summary.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - markDirty(true); + summaryEditor.setEditable(true); + summaryEditor.addTextListener(new ITextListener() { + public void textChanged(TextEvent event) { + if (!task.getSummary().equals(summaryEditor.getTextWidget().getText())) { + markDirty(true); + } } }); } @@ -569,7 +581,7 @@ @Override protected void setTitle(final String pageTitle) { - summary.setText(pageTitle); + summaryEditor.getTextWidget().setText(pageTitle); TaskPlanningEditor.this.markDirty(true); } @@ -933,12 +945,12 @@ /** for testing - should cause dirty state */ public void setDescription(String desc) { - this.summary.setText(desc); + this.summaryEditor.getTextWidget().setText(desc); } /** for testing */ public String getDescription() { - return this.summary.getText(); + return this.summaryEditor.getTextWidget().getText(); } /** for testing */