package org.codefaces.ui.internal.commons; import org.codefaces.core.models.RepoEntry; import org.codefaces.core.models.RepoFile; import org.codefaces.core.models.RepoFolder; import org.codefaces.core.models.RepoFolderRoot; import org.codefaces.core.models.RepoProject; import org.codefaces.ui.internal.Images; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.graphics.Image; import org.eclipse.ui.ISharedImages; import org.eclipse.ui.PlatformUI; public class RepoResourceLabelProvider extends LabelProvider { public String getText(Object obj) { if (obj instanceof LoadingItem) { return ((LoadingItem) obj).getText(); } if (obj instanceof RepoEntry) { return ((RepoEntry) obj).getName(); } return obj.toString(); } public Image getImage(Object obj) { if (obj instanceof LoadingItem) { return ((LoadingItem) obj).getImage(); } if (obj instanceof RepoProject) { return Images.getImageDescriptorFromRegistry(Images.IMG_REPOSITORY) .createImage(); } if (obj instanceof RepoFolderRoot) { return Images.getImageDescriptorFromRegistry( Images.IMG_REPO_FOLDER_ROOT).createImage(); } if (obj instanceof RepoFolder) { return PlatformUI.getWorkbench().getSharedImages() .getImage(ISharedImages.IMG_OBJ_FOLDER); } if (obj instanceof RepoFile) { return PlatformUI.getWorkbench().getSharedImages() .getImage(ISharedImages.IMG_OBJ_FILE); } return null; } }