/* * Copyright (C) 2007 The Android Open Source Project * * Licensed under the Eclipse Public License, Version 1.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.eclipse.org/org/documents/epl-v10.php * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.ide.eclipse.adt.internal.ui; import com.android.ide.common.resources.ResourceFile; import com.android.ide.common.resources.ResourceItem; import com.android.resources.ResourceType; import org.eclipse.jface.viewers.ILabelProvider; import org.eclipse.jface.viewers.ILabelProviderListener; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.swt.graphics.Image; import org.eclipse.ui.ISharedImages; import org.eclipse.ui.PlatformUI; /** * Label provider for the Resource Explorer TreeView. * Each level of the tree is represented by a different class. * * * @see ResourceContentProvider */ public class ResourceLabelProvider implements ILabelProvider, ITableLabelProvider { private Image mWarningImage; public ResourceLabelProvider() { mWarningImage = PlatformUI.getWorkbench().getSharedImages().getImageDescriptor( ISharedImages.IMG_OBJS_WARN_TSK).createImage(); } /** * @see #getColumnImage(Object, int) */ @Override public Image getImage(Object element) { // pass return null; } /** * @see #getColumnText(Object, int) */ @Override public String getText(Object element) { return getColumnText(element, 0); } @Override public void addListener(ILabelProviderListener listener) { // pass } @Override public void dispose() { mWarningImage.dispose(); } @Override public boolean isLabelProperty(Object element, String property) { return false; } @Override public void removeListener(ILabelProviderListener listener) { // pass } @Override public Image getColumnImage(Object element, int columnIndex) { if (columnIndex == 1) { if (element instanceof ResourceItem) { ResourceItem item = (ResourceItem)element; if (item.hasDefault() == false) { return mWarningImage; } } } return null; } @Override public String getColumnText(Object element, int columnIndex) { switch (columnIndex) { case 0: if (element instanceof ResourceType) { return ((ResourceType)element).getDisplayName(); } else if (element instanceof ResourceItem) { return ((ResourceItem)element).getName(); } else if (element instanceof ResourceFile) { return ((ResourceFile)element).getFolder().getConfiguration().toDisplayString(); } break; case 1: if (element instanceof ResourceItem) { ResourceItem item = (ResourceItem)element; if (item.isDeclaredInline()) { return "Declared inline"; } else { int count = item.getAlternateCount(); if (count > 0) { if (item.hasDefault()) { count++; } return String.format("%1$d version(s)", count); } } } return null; } return null; } }