Java tutorial
// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available // at the URL "http://www.eclipse.org/legal/epl-v10.html". // // Initial Contributors: // Nokia Corporation - initial contribution. // // Contributors: // // Description: // package com.symbian.smt.gui; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.FileLocator; import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Platform; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.IDecoration; import org.eclipse.jface.viewers.ILabelProviderListener; import org.eclipse.jface.viewers.ILightweightLabelDecorator; import org.osgi.framework.Bundle; public class OutOfSyncDecorator implements ILightweightLabelDecorator { private static final Bundle bundle = Platform.getBundle("com.symbian.smt.gui"); private static final Path path = new Path("icons/SITK_Decorator_error.gif"); private SmmPartListener temp = new SmmPartListener(); /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse. * jface.viewers.ILabelProviderListener) */ public void addListener(ILabelProviderListener listener) { } /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ILightweightLabelDecorator#decorate(java.lang * .Object, org.eclipse.jface.viewers.IDecoration) */ public void decorate(Object element, IDecoration decoration) { String projectName = null; if (element instanceof IFile || element instanceof IProject) { IResource aResource = (IResource) element; projectName = aResource.getProject().getName(); if (aResource.isDerived() || aResource instanceof IProject) { decorateProject(projectName, decoration); } } } public void decorateProject(String projectName, IDecoration decoration) { if (!temp.isInSync(projectName)) { decoration.addOverlay(ImageDescriptor.createFromURL(FileLocator.find(bundle, path, null))); } else { decoration.addOverlay(null); } } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose() */ public void dispose() { } /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang * .Object, java.lang.String) */ public boolean isLabelProperty(Object element, String property) { return false; } /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse * .jface.viewers.ILabelProviderListener) */ public void removeListener(ILabelProviderListener listener) { } }