diff options
author | spingel | 2008-06-01 04:29:23 +0000 |
---|---|---|
committer | spingel | 2008-06-01 04:29:23 +0000 |
commit | 8c1b36cfce4568e80b0e510379744464e10f3ac5 (patch) | |
tree | d3d82fa2244e3a3009f215fe545b63ab8cfd4f01 | |
parent | f9bcb12c35ed1d071bd36024efb03124ae055e49 (diff) | |
download | org.eclipse.mylyn.tasks-8c1b36cfce4568e80b0e510379744464e10f3ac5.tar.gz org.eclipse.mylyn.tasks-8c1b36cfce4568e80b0e510379744464e10f3ac5.tar.xz org.eclipse.mylyn.tasks-8c1b36cfce4568e80b0e510379744464e10f3ac5.zip |
RESOLVED - bug 225033: [api] ensure consistent naming of API classes and methods
https://bugs.eclipse.org/bugs/show_bug.cgi?id=225033
8 files changed, 49 insertions, 31 deletions
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/data/TaskAttributeMapper.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/data/TaskAttributeMapper.java index 7617214b1..2605f6228 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/data/TaskAttributeMapper.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/data/TaskAttributeMapper.java @@ -166,10 +166,6 @@ public class TaskAttributeMapper { return taskRepository; } - public String getType(TaskAttribute taskAttribute) { - return taskAttribute.getMetaData().getType(); - } - public String getValue(TaskAttribute taskAttribute) { return taskAttribute.getValue(); } diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/data/TaskDataModel.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/data/TaskDataModel.java index af33ead29..38a363326 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/data/TaskDataModel.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/data/TaskDataModel.java @@ -66,6 +66,7 @@ public class TaskDataModel { * changed attribute */ public void attributeChanged(TaskAttribute attribute) { + Thread.dumpStack(); if (attribute.getParentAttribute() != getTaskData().getRoot()) { throw new RuntimeException( "Editing is only supported for attributes that are attached to the root of task data"); diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/RichTextAttributeEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/RichTextAttributeEditor.java index f01a8e0a7..e91dfecce 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/RichTextAttributeEditor.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/RichTextAttributeEditor.java @@ -55,8 +55,7 @@ public class RichTextAttributeEditor extends AbstractAttributeEditor { private RepositoryTextViewer viewer; - // TODO EDITOR - private boolean spellCheckingEnabled = true; + private boolean spellCheckingEnabled; private final int style; @@ -139,7 +138,11 @@ public class RichTextAttributeEditor extends AbstractAttributeEditor { configureAsTextEditor(document); viewer.addTextListener(new ITextListener() { public void textChanged(TextEvent event) { - setValue(viewer.getTextWidget().getText()); + // filter out events caused by text presentation changes, e.g. annotation drawing + String value = viewer.getTextWidget().getText(); + if (!getValue().equals(value)) { + setValue(value); + } } }); viewer.getControl().setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER); diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskDependendyAttributeEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskDependendyAttributeEditor.java index f1444fe75..cbca2520d 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskDependendyAttributeEditor.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskDependendyAttributeEditor.java @@ -25,7 +25,6 @@ public class TaskDependendyAttributeEditor extends RichTextAttributeEditor { TaskRepository taskRepository) { super(manager, taskRepository, taskAttribute, SWT.SINGLE); setLayoutHint(new LayoutHint(RowSpan.SINGLE, ColumnSpan.MULTIPLE)); - setSpellCheckingEnabled(false); } @Override diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttributePart.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttributePart.java index 5ded8e61b..28e20f886 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttributePart.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttributePart.java @@ -228,15 +228,11 @@ public class TaskEditorAttributePart extends AbstractTaskEditorPart { continue; } - String type = attributeMapper.getType(attribute); - if (type != null) { - attributeEditorFactory.createEditor(type, attribute); - AbstractAttributeEditor attributeEditor = attributeEditorFactory.createEditor(type, attribute); - if (attributeEditor != null) { - attributeEditors.add(attributeEditor); - if (getModel().hasIncomingChanges(attribute)) { - hasIncoming = true; - } + AbstractAttributeEditor attributeEditor = createAttributeEditor(attribute); + if (attributeEditor != null) { + attributeEditors.add(attributeEditor); + if (getModel().hasIncomingChanges(attribute)) { + hasIncoming = true; } } } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorRichTextPart.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorRichTextPart.java index 63548f8d7..b4448c0b7 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorRichTextPart.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorRichTextPart.java @@ -75,6 +75,10 @@ public class TaskEditorRichTextPart extends AbstractTaskEditorPart { if (attribute == null) { return; } + AbstractAttributeEditor attributEditor = createAttributeEditor(attribute); + if (!(attributEditor instanceof RichTextAttributeEditor)) { + return; + } Section section = createSection(parent, toolkit, sectionStyle); @@ -83,7 +87,7 @@ public class TaskEditorRichTextPart extends AbstractTaskEditorPart { layout.numColumns = 1; composite.setLayout(layout); - editor = new RichTextAttributeEditor(getModel(), getTaskEditorPage().getTaskRepository(), attribute); + editor = (RichTextAttributeEditor) attributEditor; AbstractRenderingEngine renderingEngine = getTaskEditorPage().getAttributeEditorToolkit().getRenderingEngine( attribute); @@ -99,24 +103,40 @@ public class TaskEditorRichTextPart extends AbstractTaskEditorPart { GridDataFactory.fillDefaults().hint(AbstractAttributeEditor.MAXIMUM_WIDTH, SWT.DEFAULT).applyTo( editor.getControl()); } else { - final GridData gd = new GridData(GridData.FILL_HORIZONTAL); + final GridData gd = new GridData(); // wrap text at this margin, see comment below - gd.widthHint = getWidthHint(); + int width = getEditorWidth(); // the goal is to make the text viewer as big as the text so it does not require scrolling when first drawn // on screen - Point size = editor.getViewer().getTextWidget().computeSize(gd.widthHint, SWT.DEFAULT, true); + Point size = editor.getViewer().getTextWidget().computeSize(width, SWT.DEFAULT, true); + gd.widthHint = AbstractAttributeEditor.MAXIMUM_WIDTH; + gd.horizontalAlignment = SWT.FILL; + gd.grabExcessHorizontalSpace = true; // limit height to be avoid dynamic resizing of the text widget: // MAXIMUM_HEIGHT < height < MAXIMUM_HEIGHT * 4 //gd.minimumHeight = AbstractAttributeEditor.MAXIMUM_HEIGHT; gd.heightHint = Math.min(Math.max(AbstractAttributeEditor.MAXIMUM_HEIGHT, size.y), AbstractAttributeEditor.MAXIMUM_HEIGHT * 4); - gd.grabExcessHorizontalSpace = true; if (getExpandVertically()) { gd.verticalAlignment = SWT.FILL; gd.grabExcessVerticalSpace = true; } editor.getControl().setLayoutData(gd); editor.getControl().setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER); + // shrink the text control if the editor width is reduced, otherwise the text field will always keep it's original + // width and will cause the editor to have a horizonal scroll bar +// composite.addControlListener(new ControlAdapter() { +// @Override +// public void controlResized(ControlEvent e) { +// int width = sectionComposite.getSize().x; +// Point size = descriptionTextViewer.getTextWidget().computeSize(width, SWT.DEFAULT, true); +// // limit width to parent widget +// gd.widthHint = width; +// // limit height to avoid dynamic resizing of the text widget +// gd.heightHint = Math.min(Math.max(DESCRIPTION_HEIGHT, size.y), DESCRIPTION_HEIGHT * 4); +// sectionComposite.layout(); +// } +// }); } } @@ -127,7 +147,7 @@ public class TaskEditorRichTextPart extends AbstractTaskEditorPart { setSection(toolkit, section); } - private int getWidthHint() { + private int getEditorWidth() { int widthHint = 0; if (getManagedForm() != null && getManagedForm().getForm() != null) { widthHint = getManagedForm().getForm().getClientArea().width - 90; diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPart.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPart.java index a7bf6454f..e4e9037f6 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPart.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPart.java @@ -11,8 +11,8 @@ package org.eclipse.mylyn.tasks.ui.editors; import org.eclipse.jface.action.ToolBarManager; import org.eclipse.jface.resource.JFaceResources; import org.eclipse.jface.viewers.ISelection; +import org.eclipse.mylyn.internal.tasks.ui.editors.RichTextAttributeEditor; import org.eclipse.mylyn.tasks.core.data.TaskAttribute; -import org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper; import org.eclipse.mylyn.tasks.core.data.TaskData; import org.eclipse.mylyn.tasks.core.data.TaskDataModel; import org.eclipse.swt.SWT; @@ -52,11 +52,14 @@ public abstract class AbstractTaskEditorPart extends AbstractFormPart { return null; } - TaskAttributeMapper attributeMapper = getTaskData().getAttributeMapper(); - String type = attributeMapper.getType(attribute); + String type = attribute.getMetaData().getType(); if (type != null) { AttributeEditorFactory attributeEditorFactory = getTaskEditorPage().getAttributeEditorFactory(); AbstractAttributeEditor editor = attributeEditorFactory.createEditor(type, attribute); + if (editor instanceof RichTextAttributeEditor) { + boolean spellChecking = getTaskEditorPage().getAttributeEditorToolkit().hasSpellChecking(attribute); + ((RichTextAttributeEditor) editor).setSpellCheckingEnabled(spellChecking); + } return editor; } return null; diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AttributeEditorToolkit.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AttributeEditorToolkit.java index 1a89ec2fc..fe787ee21 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AttributeEditorToolkit.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AttributeEditorToolkit.java @@ -269,17 +269,17 @@ public class AttributeEditorToolkit { * @return true if content assist is available for the specified attribute. */ private boolean hasContentAssist(TaskAttribute taskAttribute) { - if (TaskAttribute.TYPE_PERSON.equals(taskAttribute.getTaskData().getAttributeMapper().getType(taskAttribute))) { + String type = taskAttribute.getMetaData().getType(); + if (TaskAttribute.TYPE_PERSON.equals(type)) { return true; - } else if (TaskAttribute.TYPE_TASK_DEPENDENCY.equals(taskAttribute.getTaskData().getAttributeMapper().getType( - taskAttribute))) { + } else if (TaskAttribute.TYPE_TASK_DEPENDENCY.equals(type)) { return true; } return false; } - private boolean hasSpellChecking(TaskAttribute taskAttribute) { - String type = taskAttribute.getTaskData().getAttributeMapper().getType(taskAttribute); + boolean hasSpellChecking(TaskAttribute taskAttribute) { + String type = taskAttribute.getMetaData().getType(); if (TaskAttribute.TYPE_LONG_RICH_TEXT.equals(type) || TaskAttribute.TYPE_SHORT_RICH_TEXT.equals(type)) { return true; } |