Package org.erlide.tracing.core.mvc.controller

Source Code of org.erlide.tracing.core.mvc.controller.NodeCellModifier

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

import org.eclipse.jface.viewers.ICellModifier;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.widgets.TableItem;
import org.erlide.tracing.core.mvc.model.TracedNode;
import org.erlide.tracing.core.mvc.view.NodeColumn;

/**
* Cell modifier for nodes table.
*
* @author Piotr Dorobisz
*
*/
public class NodeCellModifier implements ICellModifier {

    private final TableViewer tableViewer;

    /**
     * Creates cell modifier for trace patterns table.
     *
     * @param tableViewer
     *            table viewer with which this cell modifier is used
     */
    public NodeCellModifier(final TableViewer tableViewer) {
        this.tableViewer = tableViewer;
    }

    @Override
    public boolean canModify(final Object element, final String property) {
        return true;
    }

    @Override
    public Object getValue(final Object element, final String property) {
        final TracedNode node = (TracedNode) element;
        switch (NodeColumn.valueOf(property)) {
        case COOKIE:
            return node.getCookie();
        case ENABLED:
            return new Boolean(node.isEnabled());
        case NODE_NAME:
            return node.getNodeName();
        default:
            return null;
        }
    }

    @Override
    public void modify(final Object element, final String property, final Object value) {
        final TracedNode node = (TracedNode) ((TableItem) element).getData();
        switch (NodeColumn.valueOf(property)) {
        case COOKIE:
            node.setCookie((String) value);
            break;
        case ENABLED:
            node.setEnabled((Boolean) value);
            break;
        case NODE_NAME:
            node.setNodeName((String) value);
            break;
        default:
        }
        tableViewer.refresh();
    }
}
TOP

Related Classes of org.erlide.tracing.core.mvc.controller.NodeCellModifier

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.