diff options
author | angelozerr | 2018-02-20 19:09:40 +0000 |
---|---|---|
committer | Mickael Istria | 2018-02-21 16:36:30 +0000 |
commit | d9ab254b705aa2b86247b7fbbe657f8fba9147a7 (patch) | |
tree | a2effac50c707ad3ddc9f6d4465765a133c0cf7d | |
parent | 64e89a8bde646e80ac219573267de2aaef01aa85 (diff) | |
download | eclipse.platform.text-d9ab254b705aa2b86247b7fbbe657f8fba9147a7.tar.gz eclipse.platform.text-d9ab254b705aa2b86247b7fbbe657f8fba9147a7.tar.xz eclipse.platform.text-d9ab254b705aa2b86247b7fbbe657f8fba9147a7.zip |
Bug 531421 - [CodeMining] Adapt the source viewer CodeMining API toI20180221-2000
support CodeMining preferences
Change-Id: I1ba0624c29d08f5a64d5a02df76af2040e311f68
Signed-off-by: angelozerr <angelo.zerr@gmail.com>
3 files changed, 25 insertions, 11 deletions
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/ISourceViewerExtension5.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/ISourceViewerExtension5.java index 2ed4f97bdac..9a732cf44f1 100644 --- a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/ISourceViewerExtension5.java +++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/ISourceViewerExtension5.java @@ -33,6 +33,20 @@ public interface ISourceViewerExtension5 { void setCodeMiningAnnotationPainter(AnnotationPainter painter); /** + * Register the code mining providers. + * + * @param codeMiningProviders the code mining providers to register. + */ + void setCodeMiningProviders(ICodeMiningProvider[] codeMiningProviders); + + /** + * Returns true there are code mining providers and false otherwise. + * + * @return true there are code mining providers and false otherwise. + */ + boolean hasCodeMiningProviders(); + + /** * Update the code minings. * * Clients and implementors are responsible of calling this method when needed. A typical @@ -41,10 +55,4 @@ public interface ISourceViewerExtension5 { */ void updateCodeMinings(); - /** - * Register the code mining providers. - * - * @param codeMiningProviders the code mining providers to register. - */ - void setCodeMiningProviders(ICodeMiningProvider[] codeMiningProviders); } diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/SourceViewer.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/SourceViewer.java index 93d7db84826..c98d750c042 100644 --- a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/SourceViewer.java +++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/SourceViewer.java @@ -761,7 +761,7 @@ public class SourceViewer extends TextViewer implements ISourceViewer, ISourceVi setHyperlinkDetectors(null, SWT.NONE); - if (fCodeMiningManager != null) { + if (hasCodeMiningProviders()) { fCodeMiningManager.uninstall(); fCodeMiningManager= null; } @@ -1272,12 +1272,12 @@ public class SourceViewer extends TextViewer implements ISourceViewer, ISourceVi boolean enable= codeMiningProviders != null && codeMiningProviders.length > 0; fCodeMiningProviders= codeMiningProviders; if (enable) { - if (fCodeMiningManager != null) { + if (hasCodeMiningProviders()) { fCodeMiningManager.setCodeMiningProviders(fCodeMiningProviders); } ensureCodeMiningManagerInstalled(); } else { - if (fCodeMiningManager != null) + if (hasCodeMiningProviders()) fCodeMiningManager.uninstall(); fCodeMiningManager= null; } @@ -1300,8 +1300,13 @@ public class SourceViewer extends TextViewer implements ISourceViewer, ISourceVi } @Override + public boolean hasCodeMiningProviders() { + return fCodeMiningManager != null; + } + + @Override public void updateCodeMinings() { - if (fCodeMiningManager != null) { + if (hasCodeMiningProviders()) { fCodeMiningManager.run(); } } diff --git a/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/AbstractTextEditor.java b/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/AbstractTextEditor.java index e57e427a823..bed6088bfcf 100644 --- a/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/AbstractTextEditor.java +++ b/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/AbstractTextEditor.java @@ -4038,9 +4038,10 @@ public abstract class AbstractTextEditor extends EditorPart implements ITextEdit /** * Install codemining providers. + * * @since 3.10 */ - private void installCodeMinigProviders() { + protected void installCodeMinigProviders() { ICodeMiningProvider[] providers = TextEditorPlugin.getDefault().getCodeMiningProviderRegistry() .getProviders(this.getSourceViewer(), this); ((ISourceViewerExtension5) fSourceViewer).setCodeMiningProviders(providers); |