Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorspingel2009-06-22 00:44:18 +0000
committerspingel2009-06-22 00:44:18 +0000
commitc054e03980f51e33a7d18f1036284135928aeacb (patch)
treeacc49b8a9c431cefaf69c508d63d7ee9d6d7a9ae
parentd5add940dad1d32d591bd19c3b8ca3dc081e6aee (diff)
downloadorg.eclipse.mylyn.tasks-c054e03980f51e33a7d18f1036284135928aeacb.tar.gz
org.eclipse.mylyn.tasks-c054e03980f51e33a7d18f1036284135928aeacb.tar.xz
org.eclipse.mylyn.tasks-c054e03980f51e33a7d18f1036284135928aeacb.zip
NEW - bug 260280: Environment attribute in task editor should have http and https hyperlink detector
https://bugs.eclipse.org/bugs/show_bug.cgi?id=260280
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/AbstractHyperlinkTextPresentationManager.java10
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/LongTextAttributeEditor.java9
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/RichTextEditor.java12
3 files changed, 19 insertions, 12 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/AbstractHyperlinkTextPresentationManager.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/AbstractHyperlinkTextPresentationManager.java
index 4820603db..f5a073209 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/AbstractHyperlinkTextPresentationManager.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/AbstractHyperlinkTextPresentationManager.java
@@ -18,11 +18,11 @@ import java.util.List;
import org.eclipse.jface.text.IRegion;
import org.eclipse.jface.text.ITextPresentationListener;
+import org.eclipse.jface.text.ITextViewer;
import org.eclipse.jface.text.ITextViewerExtension4;
import org.eclipse.jface.text.TextPresentation;
import org.eclipse.jface.text.hyperlink.IHyperlink;
import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
-import org.eclipse.jface.text.source.ISourceViewer;
import org.eclipse.mylyn.tasks.ui.IHighlightingHyperlink;
import org.eclipse.mylyn.tasks.ui.TaskHyperlink;
import org.eclipse.swt.custom.StyleRange;
@@ -69,7 +69,7 @@ public abstract class AbstractHyperlinkTextPresentationManager {
private final ITextPresentationListener textPresentationListener = new Support();
- private ISourceViewer viewer;
+ private ITextViewer viewer;
public AbstractHyperlinkTextPresentationManager() {
}
@@ -146,9 +146,11 @@ public abstract class AbstractHyperlinkTextPresentationManager {
return regions;
}
- public void install(ISourceViewer viewer) {
+ public void install(ITextViewer viewer) {
this.viewer = viewer;
- ((ITextViewerExtension4) viewer).addTextPresentationListener(textPresentationListener);
+ if (viewer instanceof ITextViewerExtension4) {
+ ((ITextViewerExtension4) viewer).addTextPresentationListener(textPresentationListener);
+ }
}
public boolean select(IHyperlink hyperlink) {
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/LongTextAttributeEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/LongTextAttributeEditor.java
index 2f2d685b5..43ba284d7 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/LongTextAttributeEditor.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/LongTextAttributeEditor.java
@@ -12,9 +12,10 @@
package org.eclipse.mylyn.internal.tasks.ui.editors;
import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.TextViewer;
+import org.eclipse.jface.text.source.SourceViewer;
import org.eclipse.mylyn.internal.provisional.commons.ui.CommonFormUtil;
import org.eclipse.mylyn.internal.provisional.commons.ui.CommonTextSupport;
+import org.eclipse.mylyn.internal.tasks.ui.editors.RepositoryTextViewerConfiguration.Mode;
import org.eclipse.mylyn.tasks.core.data.TaskAttribute;
import org.eclipse.mylyn.tasks.core.data.TaskDataModel;
import org.eclipse.mylyn.tasks.ui.editors.AbstractAttributeEditor;
@@ -44,9 +45,11 @@ public class LongTextAttributeEditor extends AbstractAttributeEditor {
if (!isReadOnly()) {
style |= SWT.V_SCROLL;
}
- TextViewer viewer = new TextViewer(parent, style);
+ SourceViewer viewer = new SourceViewer(parent, null, style);
+ RepositoryTextViewerConfiguration configuration = RichTextEditor.installHyperlinkPresenter(viewer,
+ getModel().getTaskRepository(), Mode.DEFAULT);
+ viewer.configure(configuration);
viewer.setDocument(new Document(getValue()));
-
final StyledText text = viewer.getTextWidget();
toolkit.adapt(text, false, false);
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/RichTextEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/RichTextEditor.java
index c59bc764f..e01839003 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/RichTextEditor.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/RichTextEditor.java
@@ -25,6 +25,7 @@ import org.eclipse.jface.text.ITextListener;
import org.eclipse.jface.text.TextEvent;
import org.eclipse.jface.text.source.AnnotationModel;
import org.eclipse.jface.text.source.IAnnotationAccess;
+import org.eclipse.jface.text.source.ISourceViewer;
import org.eclipse.jface.text.source.SourceViewer;
import org.eclipse.mylyn.internal.provisional.commons.ui.CommonFormUtil;
import org.eclipse.mylyn.internal.provisional.commons.ui.CommonTextSupport;
@@ -150,7 +151,7 @@ public class RichTextEditor {
private SourceViewer configure(final SourceViewer viewer, Document document, boolean readOnly) {
// do this before setting the document to not require invalidating the presentation
- installHyperlinkPresenter(viewer);
+ installHyperlinkPresenter(viewer, repository, getMode());
if (readOnly) {
viewer.setDocument(document);
@@ -382,14 +383,15 @@ public class RichTextEditor {
return extension != null && !isReadOnly();
}
- private RepositoryTextViewerConfiguration installHyperlinkPresenter(SourceViewer viewer) {
+ public static RepositoryTextViewerConfiguration installHyperlinkPresenter(ISourceViewer viewer,
+ TaskRepository repository, Mode mode) {
RepositoryTextViewerConfiguration configuration = new RepositoryTextViewerConfiguration(repository, false);
- configuration.setMode(getMode());
+ configuration.setMode(mode);
// do not configure viewer, this has already been done in extension
AbstractHyperlinkTextPresentationManager manager;
- if (getMode() == Mode.DEFAULT) {
+ if (mode == Mode.DEFAULT) {
manager = new HighlightingHyperlinkTextPresentationManager();
manager.setHyperlinkDetectors(configuration.getDefaultHyperlinkDetectors(viewer, null));
manager.install(viewer);
@@ -397,7 +399,7 @@ public class RichTextEditor {
manager = new TaskHyperlinkTextPresentationManager();
manager.setHyperlinkDetectors(configuration.getDefaultHyperlinkDetectors(viewer, Mode.TASK));
manager.install(viewer);
- } else if (getMode() == Mode.TASK_RELATION) {
+ } else if (mode == Mode.TASK_RELATION) {
manager = new TaskHyperlinkTextPresentationManager();
manager.setHyperlinkDetectors(configuration.getDefaultHyperlinkDetectors(viewer, Mode.TASK_RELATION));
manager.install(viewer);

Back to the top