br.ufmg.dcc.tabuleta.views.components.ConcernModelLabelProvider.java Source code

Java tutorial

Introduction

Here is the source code for br.ufmg.dcc.tabuleta.views.components.ConcernModelLabelProvider.java

Source

/* ConcernMapper - A concern modeling plug-in for Eclipse
 * Copyright (C) 2006  McGill University (http://www.cs.mcgill.ca/~martin/cm)
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * $Revision: 1.12 $
 */

package br.ufmg.dcc.tabuleta.views.components;

import org.eclipse.jdt.ui.JavaElementLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.PlatformUI;

/**
 * Provides the image and text labels for elemens in a concern
 * model.
 */
public class ConcernModelLabelProvider extends LabelProvider {
    private int aFlags = JavaElementLabelProvider.SHOW_SMALL_ICONS | JavaElementLabelProvider.SHOW_PARAMETERS;
    private JavaElementLabelProvider aProvider = new JavaElementLabelProvider(aFlags);

    /**
     * Provides the text for an object in a concern model.
     * @param pObject The object to provide the text for.
     * @return The text label
     */
    public String getText(Object pObject) {
        String lReturn = null;
        if (pObject instanceof JavaElementNode) {
            lReturn = aProvider.getText(((JavaElementNode) pObject).getElement());
        } else if (pObject instanceof ConcernNode) {
            lReturn = ((ConcernNode) pObject).getConcernName();
        }
        return lReturn;
    }

    /**
     * Provides the image for an object in a concern model.
     * @param pObject The object to provide the image for.
     * @return The image
     */
    public Image getImage(Object pObject) {
        Image lReturn = null;
        if (pObject instanceof JavaElementNode) {
            if (((JavaElementNode) pObject).getElement().exists()) {
                lReturn = aProvider.getImage(((WrapperNode) pObject).getElement());
            } else {
                lReturn = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_WARN_TSK);
            }
        } else if (pObject instanceof ConcernNode) {
            lReturn = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT);
        }
        return lReturn;
    }
}