/* * Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 * * 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.motorolamobility.studio.android.certmanager.ui.tree; import org.eclipse.jface.viewers.ColumnLabelProvider; import org.eclipse.jface.viewers.ILabelProviderListener; import org.eclipse.jface.viewers.ViewerCell; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Point; import org.eclipse.ui.IDecoratorManager; import org.eclipse.ui.PlatformUI; import com.motorolamobility.studio.android.certmanager.ui.model.ITreeNode; public class NameAliasColumnLabelProvider extends ColumnLabelProvider { final IDecoratorManager decorator; public NameAliasColumnLabelProvider() { decorator = PlatformUI.getWorkbench().getDecoratorManager(); } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ColumnLabelProvider#getImage(java.lang.Object) */ @Override public Image getImage(Object element) { Image result = null; if (element instanceof ITreeNode) { ITreeNode node = (ITreeNode) element; Image defaultImage = null; if (node.getIcon() != null) { defaultImage = node.getIcon().createImage(); result = decorator.decorateImage(defaultImage, element); } if (result == null) { result = defaultImage; } } return result; } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ColumnLabelProvider#getText(java.lang.Object) */ @Override public String getText(Object element) { if (element instanceof ITreeNode) { ITreeNode node = (ITreeNode) element; return node.getName(); } return ""; //other items do not need to show this column with data } @Override public void update(ViewerCell cell) { Object cellElement = cell.getElement(); cell.setText(getText(cellElement)); if (getImage(cellElement) != null) { cell.setImage(getImage(cellElement)); } } @Override public String getToolTipText(Object element) { if (element instanceof ITreeNode) { ITreeNode treeNode = (ITreeNode) element; return treeNode.getTooltip(); } return super.getToolTipText(element); } @Override public int getToolTipTimeDisplayed(Object object) { return 4000; } @Override public int getToolTipDisplayDelayTime(Object object) { return 500; } @Override public Point getToolTipShift(Object object) { return new Point(5, 5); } /* (non-Javadoc) * @see org.eclipse.jface.viewers.BaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener) */ @Override public void addListener(ILabelProviderListener listener) { decorator.addListener(listener); super.addListener(listener); } /* (non-Javadoc) * @see org.eclipse.jface.viewers.BaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener) */ @Override public void removeListener(ILabelProviderListener listener) { decorator.removeListener(listener); super.removeListener(listener); } }