Bronviewer configureren

Tot dusver is SourceViewer alleen aan de orde gekomen in verband met het beheren van broncodeannotaties.

De bronviewer (SourceViewer) vormt ook de centrale locatie om uw editor te configureren met insteekbare gedragspatronen als aanwijseffecten voor tekst en syntaxiskleuren. Voor deze features levert de editor een SourceViewerConfiguration die wordt gebruiktom de SourceViewer te configureren bij aanmaak ervan. De Java-voorbeeldeditor hoeft alleen een geschikte SourceViewerConfiguration aan te leveren. In de volgende snippet ziet u hoe de JavaTextEditor een dergelijke configuratie maakt:

protected void initializeEditor() {
	super.initializeEditor();
	setSourceViewerConfiguration(new JavaSourceViewerConfiguration());
	...

Hoe werkt de JavaSourceViewerConfiguration? Een groot deel van het gedrag wordt overgenomen van SourceViewerConfiguration. Hierin zijn standaardstrategieën gedefinieerd voor plugin-editorgedragspatronen, bijvoorbeeld voor automatische inspringing, het ongedaan maken van bewerkingen, dubbelklikken, aanwijseffecten, syntaxiskleuren en de opmaak. Openbare methoden in SourceViewerConfiguration leveren de helper-objecten aan waarmee deze gedragspatronen worden geïmplementeerd.

Als de standaardgedragspatronen in SourceViewerConfiguration ongeschikt zijn voor uw editor, moet u initializeEditor() overschrijven zoals hierboven wordt beschreven en uw eigen bronviewerconfiguratie voor de editor instellen. U kunt met uw configuratie methoden in SourceViewerConfiguration overschrijven om aangepaste helper-objecten aan te leveren waarmee gedragspatronen voor uw editor worden geïmplementeerd. In de volgende snippet ziet u twee methoden voor de aanlevering van aangepaste helper-objecten voor de Java-voorbeeldeditor in JavaSourceViewerConfiguration:

public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) {
	return new JavaAnnotationHover();
}
	
public IAutoIndentStrategy getAutoIndentStrategy(ISourceViewer sourceViewer, String contentType) {
	return (IDocument.DEFAULT_CONTENT_TYPE.equals(contentType) ? new JavaAutoIndentStrategy() : new DefaultAutoIndentStrategy());
}

In de eerste methode wordt een aangepaste helper-klasse aangeleverd om aanwijseffecten voor annotaties te implementeren. In de tweede methode wordt het standaardinhoudtype van het document opgevraagd om te bepalen of voor automatische inspringing een aangepaste strategie of de standaardstrategie moet worden gebruikt.

Zie het API-naslagmateriaal voor SourceViewerConfiguration voor alle manieren waarop u een bronviewer kunt configureren door methoden te overschrijven.