NXvalidate  1
 All Classes Namespaces Files Functions Variables
NXTreeRenderer.java
Go to the documentation of this file.
1 /* NeXus - Neutron & X-ray Common Data Format
2  *
3  * NeXus file validation GUI tool.
4  *
5  * Copyright (C) 2010 Stephen Rankin
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20  *
21  * For further information, see <http://www.nexusformat.org/>
22  *
23  * NXTreeRenderer.java
24  *
25  */
26 package org.nexusformat.nxvalidate;
27 
28 import java.awt.Component;
29 import javax.swing.Icon;
30 import javax.swing.JTree;
31 import javax.swing.tree.DefaultMutableTreeNode;
32 import javax.swing.tree.DefaultTreeCellRenderer;
33 
38 public class NXTreeRenderer extends DefaultTreeCellRenderer {
39 
40  Icon errorIcon;
41 
42  public NXTreeRenderer(Icon icon) {
43  errorIcon = icon;
44  }
45 
46  public Component getTreeCellRendererComponent(
47  JTree tree,
48  Object value,
49  boolean sel,
50  boolean expanded,
51  boolean leaf,
52  int row,
53  boolean hasFocus) {
54 
55  super.getTreeCellRendererComponent(
56  tree, value, sel,
57  expanded, leaf, row,
58  hasFocus);
59 
60  if (isErrorNode(value)) {
61  setIcon(errorIcon);
62  setToolTipText("This Element has an Error.");
63  } else {
64  setToolTipText(null); //no tool tip
65  }
66 
67  return this;
68  }
69 
70 
71 
72  protected boolean isErrorNode(Object value) {
73 
74  return false;
75  }
76 }