KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openharmonise > him > swing > resourcetree > formresourcetree > FormTreeCellRenderer


1 /*
2  * The contents of this file are subject to the
3  * Mozilla Public License Version 1.1 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at http://www.mozilla.org/MPL/
6  *
7  * Software distributed under the License is distributed on an "AS IS"
8  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.
9  * See the License for the specific language governing rights and
10  * limitations under the License.
11  *
12  * The Initial Developer of the Original Code is Simulacra Media Ltd.
13  * Portions created by Simulacra Media Ltd are Copyright (C) Simulacra Media Ltd, 2004.
14  *
15  * All Rights Reserved.
16  *
17  * Contributor(s):
18  */

19 package org.openharmonise.him.swing.resourcetree.formresourcetree;
20
21 import java.awt.Component JavaDoc;
22
23 import javax.swing.JCheckBox JavaDoc;
24 import javax.swing.JRadioButton JavaDoc;
25 import javax.swing.JTree JavaDoc;
26 import javax.swing.tree.DefaultTreeCellRenderer JavaDoc;
27
28 import org.openharmonise.him.swing.resourcetree.*;
29
30 /**
31  * Cell renderer for a {@link org.openharmonise.him.swing.resourcetree.formresourcetree.FormResourceTree}.
32  *
33  * @author Matthew Large
34  * @version $Revision: 1.1 $
35  *
36  */

37 public class FormTreeCellRenderer extends DefaultTreeCellRenderer JavaDoc {
38
39     /**
40      * Tree this renderer is for.
41      */

42     private FormResourceTree m_tree = null;
43     
44     /**
45      * Constructs a new form tree cell renderer.
46      *
47      * @param tree tree this renderer is for.
48      */

49     public FormTreeCellRenderer(FormResourceTree tree) {
50         super();
51         this.m_tree = tree;
52     }
53
54     /* (non-Javadoc)
55      * @see javax.swing.tree.TreeCellRenderer#getTreeCellRendererComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int, boolean)
56      */

57     public Component JavaDoc getTreeCellRendererComponent(
58                     JTree JavaDoc tree,
59                     Object JavaDoc value,
60                     boolean selected,
61                     boolean expanded,
62                     boolean leaf,
63                     int row,
64                     boolean hasFocus) {
65
66         if (value instanceof TreeNode) {
67             if(((TreeNode)value).isLeaf()) {
68                 if(this.m_tree.isMultiSelect()) {
69                     FormTreeCell cell =
70                         new FormTreeCell(this.m_tree,
71                             ((TreeNode) value).getFilePath(),
72                             ((TreeNode) value).getDisplayIcon(expanded),
73                             ((TreeNode) value).getDisplayName(),
74                             new JCheckBox JavaDoc(), true, ((TreeNode) value).isChildrenPopulated());
75                     return cell;
76                 } else {
77                     FormTreeCell cell =
78                         new FormTreeCell(this.m_tree,
79                             ((TreeNode) value).getFilePath(),
80                             ((TreeNode) value).getDisplayIcon(expanded),
81                             ((TreeNode) value).getDisplayName(),
82                             new JRadioButton JavaDoc(), true, ((TreeNode) value).isChildrenPopulated());
83                     return cell;
84                 }
85             } else {
86                 if(!this.m_tree.isShowLeafNodes()) {
87                     FormTreeCell cell =
88                         new FormTreeCell(this.m_tree,
89                             ((TreeNode) value).getFilePath(),
90                             ((TreeNode) value).getDisplayIcon(expanded),
91                             ((TreeNode) value).getDisplayName(),
92                             new JCheckBox JavaDoc(), false, ((TreeNode) value).isChildrenPopulated());
93                     return cell;
94                 } else {
95                     FormTreeCell cell =
96                         new FormTreeCell(this.m_tree,
97                             ((TreeNode) value).getFilePath(),
98                             ((TreeNode) value).getDisplayIcon(expanded),
99                             ((TreeNode) value).getDisplayName(),
100                             null, false, ((TreeNode) value).isChildrenPopulated());
101                     return cell;
102                 }
103             }
104         } else {
105             return super.getTreeCellRendererComponent(tree,
106             value,
107             selected,
108             expanded,
109             leaf,
110             row,
111             hasFocus);
112         }
113     }
114 }
115
Popular Tags