Package org.erlide.tracing.core.mvc.view

Source Code of org.erlide.tracing.core.mvc.view.ProcessLabelProvider

package org.erlide.tracing.core.mvc.view;

import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import org.erlide.tracing.core.Activator;
import org.erlide.tracing.core.Images;
import org.erlide.tracing.core.ProcessFlag;
import org.erlide.tracing.core.mvc.model.TracedProcess;

public class ProcessLabelProvider extends LabelProvider implements ITableLabelProvider {

    @Override
    public Image getColumnImage(final Object element, final int columnIndex) {
        final TracedProcess process = (TracedProcess) element;

        if (ProcessColumn.SELECTED.ordinal() == columnIndex) {
            // process columns
            if (process.isSelected()) {
                return Activator.getDefault().getImageRegistry()
                        .get(Images.CHECKED.toString());
            }
            return Activator.getDefault().getImageRegistry()
                    .get(Images.UNCHECKED.toString());
        }
        // flag columns
        final ProcessFlag flag = ProcessFlag.getByIndex(columnIndex
                - ProcessColumn.values().length);
        if (flag != null) {
            if (process.hasFlag(flag)) {
                return Activator.getDefault().getImageRegistry()
                        .get(Images.CHECKED.toString());
            }
            return Activator.getDefault().getImageRegistry()
                    .get(Images.UNCHECKED.toString());
        }

        return null;
    }

    @Override
    public String getColumnText(final Object element, final int columnIndex) {

        final TracedProcess process = (TracedProcess) element;
        if (columnIndex < ProcessColumn.values().length) {
            switch (ProcessColumn.getByIndex(columnIndex)) {
            case SELECTED:
                break;
            case NAME:
                return process.getName();
            case NODE:
                return process.getNode();
            case INITIAL_CALL:
                return process.getInitialCall();
            }
        }
        return "";
    }
}
TOP

Related Classes of org.erlide.tracing.core.mvc.view.ProcessLabelProvider

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.