// Copyright (c) 2006 by Leif Frenzel <himself@leiffrenzel.de>
// All rights reserved.
package net.sf.eclipsefp.haskell.ui.internal.editors.cabal.outline;
import net.sf.eclipsefp.haskell.core.cabalmodel.CabalSyntax;
import net.sf.eclipsefp.haskell.core.cabalmodel.PackageDescriptionStanza;
import net.sf.eclipsefp.haskell.ui.util.HaskellUIImages;
import net.sf.eclipsefp.haskell.ui.util.IImageNames;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
/** <p>label provider for the Cabal editor's outline page.</p>
*
* @author Leif Frenzel
*/
public class CabalOutlineLP extends LabelProvider {
@Override
public Image getImage( final Object element ) {
/*Image result = super.getImage( element );
if( element instanceof ExecutableStanza ) {
result = HaskellUIImages.getImage( IImageNames.EXECUTABLE_STANZA );
} else if( element instanceof LibraryStanza ) {
result = HaskellUIImages.getImage( IImageNames.LIBRARY_STANZA );
} else if( element instanceof GeneralStanza ) {
result = HaskellUIImages.getImage( IImageNames.GENERAL_STANZA );
}*/
Image result=null;
if (element instanceof PackageDescriptionStanza){
PackageDescriptionStanza pds=(PackageDescriptionStanza)element;
if(CabalSyntax.SECTION_EXECUTABLE.equals( pds.getType() )){
result = HaskellUIImages.getImage( IImageNames.EXECUTABLE_STANZA );
} else if (CabalSyntax.SECTION_LIBRARY.equals( pds.getType() )){
result = HaskellUIImages.getImage( IImageNames.LIBRARY_STANZA );
} else if (CabalSyntax.SECTION_IF.equals( pds.getType() )){
result = HaskellUIImages.getImage( IImageNames.IF_STANZA );
} else if (CabalSyntax.SECTION_ELSE.equals( pds.getType() )){
result = HaskellUIImages.getImage( IImageNames.ELSE_STANZA );
} else if (CabalSyntax.SECTION_FLAG.equals( pds.getType() )){
result = HaskellUIImages.getImage( IImageNames.FLAG_STANZA );
} else if (CabalSyntax.SECTION_TESTSUITE.equals( pds.getType() )){
result = HaskellUIImages.getImage( IImageNames.TESTSUITE_STANZA );
} else if (CabalSyntax.SECTION_BENCHMARK.equals( pds.getType() )){
result = HaskellUIImages.getImage( IImageNames.BENCHMARK_STANZA );
} else if (CabalSyntax.SECTION_SOURCE_REPOSITORY.equals( pds.getType() )){
result = HaskellUIImages.getImage( IImageNames.SOURCEREP_STANZA );
} else if (pds.getType()==null){
result = HaskellUIImages.getImage( IImageNames.GENERAL_STANZA );
}
}
if (result==null){
result = super.getImage( element );
}
return result;
}
}