类org.eclipse.jface.text.hyperlink.IHyperlinkPresenter源码实例Demo

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

@Override
public IHyperlinkPresenter getHyperlinkPresenter(ISourceViewer sourceViewer) {
	IHyperlinkPresenter base = super.getHyperlinkPresenter(sourceViewer);
	try {
		SingleHoverShowingHyperlinkPresenter wrapper = new SingleHoverShowingHyperlinkPresenter((MultipleHyperlinkPresenter) base);
		Set<Class<?>> interfaces = Sets.newHashSet();
		Class<?> c = base.getClass();
		while(c != null) {
			Collections.addAll(interfaces, c.getInterfaces());
			c = c.getSuperclass();
		}
		IHyperlinkPresenter result = (IHyperlinkPresenter) Proxy.newProxyInstance(getClass().getClassLoader(), interfaces.toArray(new Class[0]), wrapper);	
		return result;
	} catch(Exception e) {
		return base;
	}
}
 
@Override
public IHyperlinkPresenter getHyperlinkPresenter(ISourceViewer sourceViewer) {
	/* When using default implementation, the following exception appears:
  java.lang.IllegalStateException
at org.eclipse.jface.text.TextViewer.setHyperlinkPresenter(TextViewer.java:5712)
at org.eclipse.jface.text.source.SourceViewer.configure(SourceViewer.java:491)
at CalcitePane.createPartControl(CalcitePane.java:84)
at org.eclipse.mat.ui.editor.MultiPaneEditor.addPage(MultiPaneEditor.java:585)
at org.eclipse.mat.ui.editor.MultiPaneEditor.addPage(MultiPaneEditor.java:574)
at org.eclipse.mat.ui.editor.MultiPaneEditor.doAddNewPage(MultiPaneEditor.java:552)
at org.eclipse.mat.ui.editor.MultiPaneEditor.addNewPage(MultiPaneEditor.java:535)
at org.eclipse.mat.ui.editor.MultiPaneEditor.addNewPage(MultiPaneEditor.java:489)
at OpenCalciteAction.run(OpenCalciteAction.java:22)
	 */
	return null;
}
 
public IHyperlinkPresenter getHyperlinkPresenter(ISourceViewer sourceViewer)
{
	RGB rgb = getCurrentTheme().getForegroundAsRGB("hyperlink"); //$NON-NLS-1$
	return new MultipleHyperlinkPresenter(rgb);
}
 
源代码4 项目: Pydev   文件: ScriptConsoleViewerWrapper.java
public void setHyperlinkPresenter(IHyperlinkPresenter hyperlinkPresenter) throws IllegalStateException {
    viewer.setHyperlinkPresenter(hyperlinkPresenter);
}
 
 类所在包
 类方法
 同包方法