a7e8386ef6b354261a2eb9b69200eab30956de9b
[debian/openrocket] / core / src / net / sf / openrocket / gui / main / componenttree / ComponentTreeRenderer.java
1 package net.sf.openrocket.gui.main.componenttree;
2
3
4
5 import java.awt.Component;
6
7 import javax.swing.JTree;
8 import javax.swing.tree.DefaultTreeCellRenderer;
9
10 import net.sf.openrocket.gui.main.ComponentIcons;
11 import net.sf.openrocket.rocketcomponent.RocketComponent;
12 import net.sf.openrocket.util.TextUtil;
13
14 public class ComponentTreeRenderer extends DefaultTreeCellRenderer {
15         
16         @Override
17         public Component getTreeCellRendererComponent(
18                         JTree tree,
19                         Object value,
20                         boolean sel,
21                         boolean expanded,
22                         boolean leaf,
23                         int row,
24                         boolean hasFocus) {
25                 
26                 super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
27                 
28                 // Set icon
29                 setIcon(ComponentIcons.getSmallIcon(value.getClass()));
30                 
31                 // Set tooltip
32                 RocketComponent c = (RocketComponent) value;
33                 String comment = c.getComment().trim();
34                 if (comment.length() > 0) {
35                         comment = TextUtil.htmlEncode(comment);
36                         comment = "<html>" + comment.replace("\n", "<br>");
37                         this.setToolTipText(comment);
38                 } else {
39                         this.setToolTipText(null);
40                 }
41                 
42                 return this;
43         }
44         
45 }