/* * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) */ public void propertyChange(PropertyChangeEvent event) { if (fSourceViewerConfiguration.affectsBehavior(event)) { fSourceViewerConfiguration.handlePropertyChangeEvent(event); invalidateTextPresentation(); } else if (fDamagerRepairer.affectsBahvior(event)) { fDamagerRepairer.handlePropertyChangeEvent(event); invalidateTextPresentation(); } }
private void initializeDamagerRepairer( IStorage storage, IColorManager colorManager, IPreferenceStore store) { String[] contentTypes = fSourceViewerConfiguration.getConfiguredContentTypes(null); for (int i = 0; i < contentTypes.length; ++i) { String contentType = contentTypes[i]; ITokenScanner scanner; scanner = fSourceViewerConfiguration.getScannerForContentType(contentType); if (scanner != null) { if (fDamagerRepairer == null) { fSourceTagProvider = createSourceTagProvider(storage); fDamagerRepairer = new SourceTagDamagerRepairer(scanner, fSourceTagProvider, colorManager, store); if (fSourceTagProvider != null) { if (fSourceTagListener == null) { fSourceTagListener = new ISourceTagListener() { public void sourceTagsChanged(ISourceTagProvider provider) { handleSourceTagsChanged(); } }; } fSourceTagProvider.addSourceTagListener(fSourceTagListener); } } fDamagerRepairer.setScanner(contentType, scanner); setDamager(fDamagerRepairer, contentType); setRepairer(fDamagerRepairer, contentType); } } }