/* * */ package captor.windowsystem.main.locationPane.util; import java.awt.Component; import javax.swing.Icon; import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeCellRenderer; import captor.modelsystem.Model; import captor.windowsystem.util.IconUtil; /** * @author Kicho * */ public class CustomRenderer extends DefaultTreeCellRenderer{ public static final long serialVersionUID = 156; Model model; public CustomRenderer(Model model){ this.model = model; } public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus){ Component result = super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus); DefaultMutableTreeNode root = (DefaultMutableTreeNode)tree.getModel().getRoot(); DefaultMutableTreeNode node = (DefaultMutableTreeNode) value; Object obj = node.getUserObject(); FormPath pp = null; if ( obj instanceof FormPath ) pp = (FormPath) node.getUserObject(); Icon icon = null; if ( model != null && model.getGui() != null && model.getGui().getGuiControl() != null && model.getGui().getGuiControl().getNodeError() != null && model.getGui().getGuiControl().getNodeError() == node ) { icon = IconUtil.getIcon("error.gif"); } else if ( root == node || pp == null) { icon = IconUtil.getIcon("rootnode.gif"); } else { icon = IconUtil.getIcon("patternnode.gif"); } if ( icon != null ) setIcon(icon); return result; } }