package aspectEditor.editors; import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.ITextDoubleClickStrategy; import org.eclipse.jface.text.TextAttribute; import org.eclipse.jface.text.presentation.IPresentationReconciler; import org.eclipse.jface.text.presentation.PresentationReconciler; import org.eclipse.jface.text.rules.DefaultDamagerRepairer; import org.eclipse.jface.text.rules.Token; import org.eclipse.jface.text.source.ISourceViewer; import org.eclipse.jface.text.source.SourceViewerConfiguration; public class AspectConfiguration extends SourceViewerConfiguration { //private DoubleClickStrategy doubleClickStrategy; //private AspectTagScanner tagScanner; private AspectScanner scanner; private ColorManager colorManager; private DoubleClickStrategy doubleClickStrategy; public AspectConfiguration(ColorManager colorManager) { this.colorManager = colorManager; } /* public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) { return new String[] { IDocument.DEFAULT_CONTENT_TYPE, PartitionScanner.XML_COMMENT, PartitionScanner.XML_TAG }; } */ public ITextDoubleClickStrategy getDoubleClickStrategy( ISourceViewer sourceViewer, String contentType) { if (doubleClickStrategy == null) doubleClickStrategy = new DoubleClickStrategy(); return doubleClickStrategy; } protected AspectScanner getAspectScanner() { if (scanner == null) { scanner = new AspectScanner(colorManager); scanner.setDefaultReturnToken( new Token( new TextAttribute( colorManager.getColor(ColorConstants.DEFAULT)))); } return scanner; } /* protected AspectTagScanner getAspectTagScanner() { if (tagScanner == null) { tagScanner = new AspectTagScanner(colorManager); tagScanner.setDefaultReturnToken( new Token( new TextAttribute( colorManager.getColor(ColorConstants.KEYWORD)))); } return tagScanner; } */ public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) { PresentationReconciler reconciler = new PresentationReconciler(); DefaultDamagerRepairer dr = /* new DefaultDamagerRepairer(getAspectTagScanner()); reconciler.setDamager(dr, PartitionScanner.XML_TAG); reconciler.setRepairer(dr, PartitionScanner.XML_TAG); */ new DefaultDamagerRepairer(getAspectScanner()); reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE); reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE); /* NonRuleBasedDamagerRepairer ndr = new NonRuleBasedDamagerRepairer( new TextAttribute( colorManager.getColor(ColorConstants.DEFAULT))); reconciler.setDamager(ndr, PartitionScanner.XML_COMMENT); reconciler.setRepairer(ndr, PartitionScanner.XML_COMMENT); */ return reconciler; } }