下面列出了org.eclipse.jface.text.information.InformationPresenter#setInformationProvider ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
protected void openPresentation(final XtextEditor editor, final IJavaElement javaElement,
final EObject selectedElement) {
final ISourceViewer sourceViewer = editor.getInternalSourceViewer();
ITextRegion significantTextRegion = locationInFileProvider.getSignificantTextRegion(selectedElement);
InformationPresenter presenter = new HierarchyInformationPresenter(sourceViewer, javaElement, new Region(significantTextRegion.getOffset(),significantTextRegion.getLength()));
presenter.setDocumentPartitioning(IDocumentExtension3.DEFAULT_PARTITIONING);
presenter.setAnchor(AbstractInformationControlManager.ANCHOR_GLOBAL);
IInformationProvider provider = new JavaElementProvider(editor, false);
presenter.setInformationProvider(provider, IDocument.DEFAULT_CONTENT_TYPE);
presenter.setInformationProvider(provider, IJavaPartitions.JAVA_DOC);
presenter.setInformationProvider(provider, IJavaPartitions.JAVA_MULTI_LINE_COMMENT);
presenter.setInformationProvider(provider, IJavaPartitions.JAVA_SINGLE_LINE_COMMENT);
presenter.setInformationProvider(provider, IJavaPartitions.JAVA_STRING);
presenter.setInformationProvider(provider, IJavaPartitions.JAVA_CHARACTER);
presenter.setSizeConstraints(50, 20, true, false);
presenter.install(sourceViewer);
presenter.showInformation();
}
/**
* Returns the hierarchy presenter which will determine and shown type
* hierarchy information requested for the current cursor position.
*
* @param sourceViewer
* the source viewer to be configured by this configuration
* @param doCodeResolve
* a boolean which specifies whether code resolve should be used
* to compute the JavaScript element
* @return an information presenter
*
*/
public IInformationPresenter getImplementationPresenter(final ISourceViewer sourceViewer) {
InformationPresenter presenter = new InformationPresenter(
getImplementationPresenterControlCreator(sourceViewer));
presenter.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
presenter.setAnchor(AbstractInformationControlManager.ANCHOR_GLOBAL);
IInformationProvider provider = new TypeScriptElementProvider(getEditor());
presenter.setInformationProvider(provider, IDocument.DEFAULT_CONTENT_TYPE);
presenter.setInformationProvider(provider, IJavaScriptPartitions.JAVA_DOC);
presenter.setInformationProvider(provider, IJavaScriptPartitions.JAVA_MULTI_LINE_COMMENT);
presenter.setInformationProvider(provider, IJavaScriptPartitions.JAVASCRIPT_TEMPLATE_LITERAL);
presenter.setInformationProvider(provider, IJavaScriptPartitions.JAVA_SINGLE_LINE_COMMENT);
presenter.setInformationProvider(provider, IJavaScriptPartitions.JAVA_STRING);
presenter.setInformationProvider(provider, IJavaScriptPartitions.JAVA_CHARACTER);
presenter.setSizeConstraints(50, 20, true, false);
return presenter;
}
/**
* Returns the hierarchy presenter which will determine and shown type hierarchy
* information requested for the current cursor position.
*
* @param sourceViewer the source viewer to be configured by this configuration
* @param doCodeResolve a boolean which specifies whether code resolve should be used to compute the Java element
* @return an information presenter
* @since 3.0
*/
public IInformationPresenter getHierarchyPresenter(ISourceViewer sourceViewer, boolean doCodeResolve) {
// Do not create hierarchy presenter if there's no CU.
if (getEditor() != null && getEditor().getEditorInput() != null && JavaUI.getEditorInputJavaElement(getEditor().getEditorInput()) == null)
return null;
InformationPresenter presenter= new InformationPresenter(getHierarchyPresenterControlCreator());
presenter.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
presenter.setAnchor(AbstractInformationControlManager.ANCHOR_GLOBAL);
IInformationProvider provider= new JavaElementProvider(getEditor(), doCodeResolve);
presenter.setInformationProvider(provider, IDocument.DEFAULT_CONTENT_TYPE);
presenter.setInformationProvider(provider, IJavaPartitions.JAVA_DOC);
presenter.setInformationProvider(provider, IJavaPartitions.JAVA_MULTI_LINE_COMMENT);
presenter.setInformationProvider(provider, IJavaPartitions.JAVA_SINGLE_LINE_COMMENT);
presenter.setInformationProvider(provider, IJavaPartitions.JAVA_STRING);
presenter.setInformationProvider(provider, IJavaPartitions.JAVA_CHARACTER);
presenter.setSizeConstraints(50, 20, true, false);
return presenter;
}
/**
* @since 2.6
*/
@Override
public IInformationPresenter getInformationPresenter(ISourceViewer sourceViewer) {
InformationPresenter presenter = new InformationPresenter(getInformationControlCreator(sourceViewer));
String[] contentTypes= getConfiguredContentTypes(sourceViewer);
for (int i= 0; i < contentTypes.length; i++)
presenter.setInformationProvider(informationProvider, contentTypes[i]);
// sizes: see org.eclipse.jface.text.TextViewer.TEXT_HOVER_*_CHARS
presenter.setSizeConstraints(100, 12, true, true);
return presenter;
}
/**
* {@inheritDoc}
*/
@Override
public IInformationPresenter getInformationPresenter(ISourceViewer sourceViewer) {
IInformationControlCreator icc = new IInformationControlCreator() {
public IInformationControl createInformationControl(Shell parent) {
return new DefaultInformationControl(parent, true);
}
};
InformationPresenter ip = new InformationPresenter(icc);
ModulaInformationProvider mip = new ModulaInformationProvider(this);
ip.setInformationProvider(mip, IModulaPartitions.M2_CONTENT_TYPE_DEFAULT);
return ip;
}
@Override
public IInformationPresenter getInformationPresenter(ISourceViewer sourceViewer) {
InformationPresenter presenter= new InformationPresenter(getInformationPresenterControlCreator(sourceViewer));
presenter.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
// Register information provider
IInformationProvider provider= new TypeScriptInformationProvider(getEditor());
String[] contentTypes= getConfiguredContentTypes(sourceViewer);
for (int i= 0; i < contentTypes.length; i++)
presenter.setInformationProvider(provider, contentTypes[i]);
// sizes: see org.eclipse.jface.text.TextViewer.TEXT_HOVER_*_CHARS
presenter.setSizeConstraints(100, 12, false, true);
return presenter;
}
@Override
public IInformationPresenter getInformationPresenter(ISourceViewer sourceViewer) {
InformationPresenter presenter= new InformationPresenter(getInformationPresenterControlCreator(sourceViewer));
presenter.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
// Register information provider
IInformationProvider provider= new JavaInformationProvider(getEditor());
String[] contentTypes= getConfiguredContentTypes(sourceViewer);
for (int i= 0; i < contentTypes.length; i++)
presenter.setInformationProvider(provider, contentTypes[i]);
// sizes: see org.eclipse.jface.text.TextViewer.TEXT_HOVER_*_CHARS
presenter.setSizeConstraints(100, 12, false, true);
return presenter;
}
@Override
public IInformationPresenter getInformationPresenter(ISourceViewer sourceViewer) {
InformationPresenter presenter = new InformationPresenter(getInformationPresenterControlCreator(sourceViewer));
presenter.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
// Register information providers
for (String contentType : getConfiguredContentTypes(sourceViewer)) {
presenter.setInformationProvider(getInformationProvider(contentType, sourceViewer), contentType);
}
presenter.setSizeConstraints(100, 12, false, true);
return presenter;
}
/**
* Initializes a new instance.
*/
ShowAnnotationContextEditAction() {
mPresenter = new InformationPresenter(new AnnotationEditingControlCreator());
mPresenter.setInformationProvider(new AnnotationInformationProvider(AnnotationEditor.this),
org.eclipse.jface.text.IDocument.DEFAULT_CONTENT_TYPE);
mPresenter.setDocumentPartitioning(org.eclipse.jface.text.IDocument.DEFAULT_CONTENT_TYPE);
mPresenter.install(getSourceViewer());
}
public void installOutlinePresenter(final LangSourceViewer sourceViewer) {
InformationPresenter presenter = new InformationPresenter(getOutlinePresenterControlCreator(sourceViewer));
presenter.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
presenter.setAnchor(AbstractInformationControlManager.ANCHOR_GLOBAL);
IInformationProvider provider = new StructureElementInformationProvider(sourceBuffer);
for(String contentType : getConfiguredContentTypes(sourceViewer)) {
presenter.setInformationProvider(provider, contentType);
}
presenter.setSizeConstraints(50, 20, true, false);
presenter.install(sourceViewer);
sourceViewer.setOutlinePresenter(presenter);
}