类org.eclipse.jface.text.information.IInformationProvider源码实例Demo

下面列出了怎么用org.eclipse.jface.text.information.IInformationProvider的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: xtext-eclipse   文件: QuickTypeHierarchyHandler.java
@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();
}
 
源代码2 项目: xtext-eclipse   文件: JvmImplementationOpener.java
protected void openQuickHierarchy(ITextViewer textViewer, IJavaElement element, IRegion region) {
	HierarchyInformationPresenter presenter = new HierarchyInformationPresenter((ISourceViewer) textViewer,
			element, region);
	presenter.setDocumentPartitioning(IDocumentExtension3.DEFAULT_PARTITIONING);
	presenter.setAnchor(AbstractInformationControlManager.ANCHOR_GLOBAL);
	IInformationProvider provider = new JavaElementProvider(null, 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(textViewer);
	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;
}
 
@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;
}
 
@SuppressWarnings("unused")
protected IInformationProvider getInformationProvider(String contentType, ISourceViewer sourceViewer) {
	return new HoverInformationProvider(getBestMatchHover());
}
 
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);
}
 
 类所在包
 同包方法