Package org.openstreetmap.josm.gui.dialogs.validator

Source Code of org.openstreetmap.josm.gui.dialogs.validator.ValidatorTreeRenderer

// License: GPL. See LICENSE file for details.
package org.openstreetmap.josm.gui.dialogs.validator;

import java.awt.Component;

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

import org.openstreetmap.josm.data.validation.Severity;
import org.openstreetmap.josm.data.validation.TestError;
import org.openstreetmap.josm.data.validation.util.MultipleNameVisitor;
import org.openstreetmap.josm.tools.ImageProvider;

/**
* Tree renderer for displaying errors
* @author frsantos
*/
public class ValidatorTreeRenderer extends DefaultTreeCellRenderer {

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

        DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
        Object nodeInfo = node.getUserObject();

        if (nodeInfo instanceof Severity) {
            Severity s = (Severity) nodeInfo;
            setIcon(ImageProvider.get("data", s.getIcon()));
        } else if (nodeInfo instanceof TestError) {
            TestError error = (TestError) nodeInfo;
            MultipleNameVisitor v = new MultipleNameVisitor();
            v.visit(error.getPrimitives());
            setText(v.getText());
            setIcon(v.getIcon());
        }
        return this;
    }
}
TOP

Related Classes of org.openstreetmap.josm.gui.dialogs.validator.ValidatorTreeRenderer

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.