예제 #1
0
 /*
  * @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();
   }
 }
예제 #2
0
 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);
     }
   }
 }