@Override protected void handleLabelProviderChanged(LabelProviderChangedEvent event) { if (event instanceof ProblemsLabelChangedEvent) { ProblemsLabelChangedEvent e= (ProblemsLabelChangedEvent) event; if (!e.isMarkerChange() && canIgnoreChangesFromAnnotionModel()) { return; } } Object[] changed= addAditionalProblemParents(event.getElements()); if (changed != null && !fResourceToItemsMapper.isEmpty()) { ArrayList<Object> others= new ArrayList<>(); for (int i= 0; i < changed.length; i++) { Object curr= changed[i]; if (curr instanceof IResource) { fResourceToItemsMapper.resourceChanged((IResource) curr); } else { others.add(curr); } } if (others.isEmpty()) { return; } event= new LabelProviderChangedEvent((IBaseLabelProvider) event.getSource(), others.toArray()); } else { // we have modified the list of changed elements via add additional parents. if (event.getElements() != changed) event= new LabelProviderChangedEvent((IBaseLabelProvider) event.getSource(), changed); } super.handleLabelProviderChanged(event); }
Object[] changed= addAditionalProblemParents(event.getElements());
@Override protected void handleLabelProviderChanged(LabelProviderChangedEvent event) { if (event instanceof ProblemsLabelChangedEvent) { ProblemsLabelChangedEvent e= (ProblemsLabelChangedEvent) event; if (!e.isMarkerChange() && canIgnoreChangesFromAnnotionModel()) { return; } } Object[] changed= addAditionalProblemParents(event.getElements()); if (changed != null && !fResourceToItemsMapper.isEmpty()) { ArrayList<Object> others= new ArrayList<>(); for (int i= 0; i < changed.length; i++) { Object curr= changed[i]; if (curr instanceof IResource) { fResourceToItemsMapper.resourceChanged((IResource) curr); } else { others.add(curr); } } if (others.isEmpty()) { return; } event= new LabelProviderChangedEvent((IBaseLabelProvider) event.getSource(), others.toArray()); } else { // we have modified the list of changed elements via add additional parents. if (event.getElements() != changed) event= new LabelProviderChangedEvent((IBaseLabelProvider) event.getSource(), changed); } super.handleLabelProviderChanged(event); }