org.eclipse.koneki.ldt.ui.internal.buildpath.LuaExecutionEnvironmentLabelProvider.java Source code

Java tutorial

Introduction

Here is the source code for org.eclipse.koneki.ldt.ui.internal.buildpath.LuaExecutionEnvironmentLabelProvider.java

Source

/*******************************************************************************
 * Copyright (c) 2011 Sierra Wireless and others.
 * 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
 *
 * Contributors:
 *     Sierra Wireless - initial API and implementation
 *******************************************************************************/
package org.eclipse.koneki.ldt.ui.internal.buildpath;

import org.eclipse.dltk.ui.DLTKPluginImages;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.StyledString;
import org.eclipse.jface.viewers.StyledString.Styler;
import org.eclipse.koneki.ldt.core.internal.buildpath.LuaExecutionEnvironment;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyleRange;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.TextStyle;
import org.eclipse.swt.widgets.Display;

public class LuaExecutionEnvironmentLabelProvider implements ILabelProvider, IStyledLabelProvider {

    @Override
    public void addListener(ILabelProviderListener listener) {
    }

    @Override
    public void dispose() {
    }

    @Override
    public boolean isLabelProperty(Object element, String property) {
        return false;
    }

    @Override
    public void removeListener(ILabelProviderListener listener) {
    }

    @Override
    public Image getImage(Object element) {
        return DLTKPluginImages.get(DLTKPluginImages.IMG_OBJS_LIBRARY);
    }

    @Override
    public String getText(Object element) {
        if (element != null) {
            return element.toString();
        }
        return null;
    }

    /**
     * @see org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider#getStyledText(java.lang.Object)
     */
    @Override
    public StyledString getStyledText(Object element) {

        // we styled only execution environment;
        if (!(element instanceof LuaExecutionEnvironment))
            return null;

        // custom style for embedded execution environment
        final String text = getText(element);
        if (((LuaExecutionEnvironment) element).isEmbedded())
            return new StyledString(text + Messages.LuaExecutionEnvironmentLabelProvider_embedded_string,
                    new Styler() {

                        @Override
                        public void applyStyles(TextStyle textStyle) {
                            if (textStyle instanceof StyleRange) {
                                ((StyleRange) textStyle).start = text.length();
                                Font italic = JFaceResources.getFontRegistry()
                                        .getItalic(JFaceResources.DEFAULT_FONT);
                                textStyle.font = italic;
                                ((StyleRange) textStyle).fontStyle = SWT.BOLD;
                            }
                            textStyle.foreground = Display.getCurrent()
                                    .getSystemColor(SWT.COLOR_TITLE_INACTIVE_FOREGROUND);

                        }
                    });

        // else default styled
        return new StyledString(text);
    }
}