Bug 577558: [*-Editor] Add support for problem indicator by label
providers
- Make document providers available as model adapter
Change-Id: I4196aa2300527adb846c699f5ac967b9858b7b49
diff --git a/r/org.eclipse.statet.r.ui/plugin.xml b/r/org.eclipse.statet.r.ui/plugin.xml
index 419c0e1..770eaf0 100644
--- a/r/org.eclipse.statet.r.ui/plugin.xml
+++ b/r/org.eclipse.statet.r.ui/plugin.xml
@@ -32,6 +32,8 @@
class="org.eclipse.statet.internal.r.ui.RAdapterFactory">
<adapter
type="org.eclipse.statet.ltk.ui.ElementLabelProvider"/>
+ <adapter
+ type="org.eclipse.ui.texteditor.IDocumentProvider"/>
</adapterFactory>
</extension>
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/RAdapterFactory.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/RAdapterFactory.java
index 83bfe66..ffeb21d 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/RAdapterFactory.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/RAdapterFactory.java
@@ -15,6 +15,7 @@
package org.eclipse.statet.internal.r.ui;
import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.ui.texteditor.IDocumentProvider;
import org.eclipse.statet.jcommons.lang.NonNull;
import org.eclipse.statet.jcommons.lang.NonNullByDefault;
@@ -30,6 +31,7 @@
private static final @NonNull Class<?>[] ADAPTERS= new @NonNull Class<?>[] {
ElementLabelProvider.class,
+ IDocumentProvider.class,
};
@@ -48,6 +50,9 @@
if (adapterType == ElementLabelProvider.class) {
return (T)new RLabelProvider();
}
+ if (adapterType == IDocumentProvider.class) {
+ return (T)RUIPlugin.getInstance().getRDocumentProvider();
+ }
return null;
}
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/editors/ROutlinePage.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/editors/ROutlinePage.java
index 765efd8..6ef7b70 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/editors/ROutlinePage.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/editors/ROutlinePage.java
@@ -44,12 +44,12 @@
import org.eclipse.statet.ltk.model.core.element.SourceStructElement;
import org.eclipse.statet.ltk.ui.ElementNameComparator;
import org.eclipse.statet.ltk.ui.sourceediting.SourceEditor2OutlinePage;
+import org.eclipse.statet.ltk.ui.util.ExtModelLabelProvider;
import org.eclipse.statet.r.core.refactoring.RRefactoring;
import org.eclipse.statet.r.core.rmodel.RElement;
import org.eclipse.statet.r.core.rmodel.RElementName;
import org.eclipse.statet.r.core.rmodel.RModel;
import org.eclipse.statet.r.launching.RCodeLaunching;
-import org.eclipse.statet.r.ui.RLabelProvider;
import org.eclipse.statet.r.ui.RUI;
@@ -172,7 +172,7 @@
protected void configureViewer(final TreeViewer viewer) {
super.configureViewer(viewer);
- viewer.setLabelProvider(new RLabelProvider());
+ viewer.setLabelProvider(new ExtModelLabelProvider(RModel.R_TYPE_ID));
}
@Override
diff --git a/redocs/org.eclipse.statet.redocs.tex.r/plugin.xml b/redocs/org.eclipse.statet.redocs.tex.r/plugin.xml
index ef360c1..242fcb7 100644
--- a/redocs/org.eclipse.statet.redocs.tex.r/plugin.xml
+++ b/redocs/org.eclipse.statet.redocs.tex.r/plugin.xml
@@ -123,6 +123,8 @@
class="org.eclipse.statet.internal.redocs.tex.r.ui.TexRweaveAdapterFactory">
<adapter
type="org.eclipse.statet.ltk.ui.ElementLabelProvider"/>
+ <adapter
+ type="org.eclipse.ui.texteditor.IDocumentProvider"/>
</adapterFactory>
</extension>
diff --git a/redocs/org.eclipse.statet.redocs.tex.r/src/org/eclipse/statet/internal/redocs/tex/r/ui/TexRweaveAdapterFactory.java b/redocs/org.eclipse.statet.redocs.tex.r/src/org/eclipse/statet/internal/redocs/tex/r/ui/TexRweaveAdapterFactory.java
index 44d0dde..ac30da1 100644
--- a/redocs/org.eclipse.statet.redocs.tex.r/src/org/eclipse/statet/internal/redocs/tex/r/ui/TexRweaveAdapterFactory.java
+++ b/redocs/org.eclipse.statet.redocs.tex.r/src/org/eclipse/statet/internal/redocs/tex/r/ui/TexRweaveAdapterFactory.java
@@ -15,11 +15,13 @@
package org.eclipse.statet.internal.redocs.tex.r.ui;
import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.ui.texteditor.IDocumentProvider;
import org.eclipse.statet.jcommons.lang.NonNull;
import org.eclipse.statet.jcommons.lang.NonNullByDefault;
import org.eclipse.statet.jcommons.lang.Nullable;
+import org.eclipse.statet.internal.redocs.tex.r.RedocsTexRPlugin;
import org.eclipse.statet.ltk.ui.ElementLabelProvider;
import org.eclipse.statet.redocs.r.ui.RedocsRElementLabelProvider;
@@ -30,6 +32,7 @@
private static final @NonNull Class<?>[] ADAPTERS= new @NonNull Class<?>[] {
ElementLabelProvider.class,
+ IDocumentProvider.class,
};
@@ -48,6 +51,9 @@
if (adapterType == ElementLabelProvider.class) {
return (T)new RedocsRElementLabelProvider();
}
+ if (adapterType == IDocumentProvider.class) {
+ return (T)RedocsTexRPlugin.getInstance().getDocRDocumentProvider();
+ }
return null;
}
diff --git a/redocs/org.eclipse.statet.redocs.wikitext.r/plugin.xml b/redocs/org.eclipse.statet.redocs.wikitext.r/plugin.xml
index 9ce66fd..7cf5cfa 100644
--- a/redocs/org.eclipse.statet.redocs.wikitext.r/plugin.xml
+++ b/redocs/org.eclipse.statet.redocs.wikitext.r/plugin.xml
@@ -65,6 +65,8 @@
class="org.eclipse.statet.internal.redocs.wikitext.r.ui.WikitextRweaveAdapterFactory">
<adapter
type="org.eclipse.statet.ltk.ui.ElementLabelProvider"/>
+ <adapter
+ type="org.eclipse.ui.texteditor.IDocumentProvider"/>
</adapterFactory>
</extension>
diff --git a/redocs/org.eclipse.statet.redocs.wikitext.r/src/org/eclipse/statet/internal/redocs/wikitext/r/ui/WikitextRweaveAdapterFactory.java b/redocs/org.eclipse.statet.redocs.wikitext.r/src/org/eclipse/statet/internal/redocs/wikitext/r/ui/WikitextRweaveAdapterFactory.java
index be78e4d..ee290e3 100644
--- a/redocs/org.eclipse.statet.redocs.wikitext.r/src/org/eclipse/statet/internal/redocs/wikitext/r/ui/WikitextRweaveAdapterFactory.java
+++ b/redocs/org.eclipse.statet.redocs.wikitext.r/src/org/eclipse/statet/internal/redocs/wikitext/r/ui/WikitextRweaveAdapterFactory.java
@@ -15,11 +15,13 @@
package org.eclipse.statet.internal.redocs.wikitext.r.ui;
import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.ui.texteditor.IDocumentProvider;
import org.eclipse.statet.jcommons.lang.NonNull;
import org.eclipse.statet.jcommons.lang.NonNullByDefault;
import org.eclipse.statet.jcommons.lang.Nullable;
+import org.eclipse.statet.internal.redocs.wikitext.r.RedocsWikitextRPlugin;
import org.eclipse.statet.ltk.ui.ElementLabelProvider;
import org.eclipse.statet.redocs.r.ui.RedocsRElementLabelProvider;
@@ -30,6 +32,7 @@
private static final @NonNull Class<?>[] ADAPTERS= new @NonNull Class<?>[] {
ElementLabelProvider.class,
+ IDocumentProvider.class,
};
@@ -48,6 +51,9 @@
if (adapterType == ElementLabelProvider.class) {
return (T)new RedocsRElementLabelProvider();
}
+ if (adapterType == IDocumentProvider.class) {
+ return (T)RedocsWikitextRPlugin.getInstance().getDocRDocumentProvider();
+ }
return null;
}