package robotbuilder.robottree;

import java.awt.Color;
import java.awt.Component;

import javax.swing.JTree;
import javax.swing.tree.DefaultTreeCellRenderer;

import robotbuilder.data.RobotComponent;

/**
 *
 * @author alex
 * @author Sam Carlberg
 */
public class RobotTreeCellRenderer extends DefaultTreeCellRenderer {

    @Override
    public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) {
        super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
        RobotComponent comp = (RobotComponent) value;

        if (comp.isValid()) {
            setForeground(Color.black);
        } else {
            setForeground(Color.red);
        }

        if (comp.supportsChildren() && leaf) {
            setIcon(getOpenIcon());
        }

        return this;
    }
}