Bug 226277 project explorer should support colored labels
3.4 M6 The attached patch allows the project explorer to have colored label. The label provider returned by the navigator content can now additionally implement IStyledLabelProvider to provide colored labels. No API changes required.
bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/NavigatorContentServiceLabelProvider.java
private void findUpdateLabel(NavigatorContentExtension foundExtension, ReusableViewerLabel label, TreePath elementPath) {
		
		ILabelProvider labelProvider = foundExtension.getLabelProvider();
		if (labelProvider instanceof ITreePathLabelProvider) {
			ITreePathLabelProvider tplp = (ITreePathLabelProvider) labelProvider;
			tplp.updateLabel(label, elementPath);
		} else {
			label.setImage(labelProvider.getImage(elementPath.getLastSegment()));
			label.setText(labelProvider.getText(elementPath.getLastSegment()));
		}		
		 
		if(shouldContinue(label, foundExtension)) {
			findUpdateLabel(contentService.getExtension(foundExtension.getDescriptor().getOverriddenDescriptor()), label, elementPath);
		}   
	}
 
	private boolean shouldContinue(ReusableViewerLabel label, NavigatorContentExtension foundExtension) {
		if(foundExtension.getDescriptor().getOverriddenDescriptor() != null) {			
			return !(label.isValid() && label.hasChanged()); 
		}
		return false;
	}
	/* (non-Javadoc)
	 * @see org.eclipse.jface.viewers.ILabelProviderListener#labelProviderChanged(org.eclipse.jface.viewers.LabelProviderChangedEvent)
	 */
	public void labelProviderChanged(LabelProviderChangedEvent event) { 
		fireLabelProviderChanged(event);		
	}
}