01: /*
02: * The contents of this file are subject to the terms of the Common Development
03: * and Distribution License (the License). You may not use this file except in
04: * compliance with the License.
05: *
06: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
07: * or http://www.netbeans.org/cddl.txt.
08: *
09: * When distributing Covered Code, include this CDDL Header Notice in each file
10: * and include the License file at http://www.netbeans.org/cddl.txt.
11: * If applicable, add the following below the CDDL Header, with the fields
12: * enclosed by brackets [] replaced by your own identifying information:
13: * "Portions Copyrighted [year] [name of copyright owner]"
14: *
15: * The Original Software is NetBeans. The Initial Developer of the Original
16: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17: * Microsystems, Inc. All Rights Reserved.
18: */
19:
20: package org.netbeans.modules.xslt.mapper.model;
21:
22: import java.awt.Component;
23: import java.awt.Image;
24: import java.beans.BeanInfo;
25: import javax.swing.ImageIcon;
26: import javax.swing.JTree;
27: import javax.swing.tree.DefaultTreeCellRenderer;
28: import org.netbeans.modules.xslt.mapper.model.nodes.TreeNode;
29:
30: /**
31: * Tree renderer is intended to be used together with the XsltNodesTreeModel.
32: *
33: * @author nk160297
34: */
35: public class XsltNodesTreeRenderer extends DefaultTreeCellRenderer {
36:
37: public XsltNodesTreeRenderer() {
38: }
39:
40: public Component getTreeCellRendererComponent(JTree tree,
41: Object value, boolean sel, boolean expanded, boolean leaf,
42: int row, boolean hasFocus) {
43: //
44: super .getTreeCellRendererComponent(tree, value, sel, expanded,
45: leaf, row, hasFocus);
46: //
47: if (value instanceof TreeNode) {
48: TreeNode node = (TreeNode) value;
49: //
50: String name = node.getName(sel);
51: if (name != null && name.length() != 0) {
52: this .setText(name);
53: }
54: //
55: Image img = node.getIcon();
56: if (img != null) {
57: this .setIcon(new ImageIcon(img));
58: }
59: }
60: //
61: return this;
62: }
63:
64: }
|