version 1.1.3
[debian/openrocket] / src / net / sf / openrocket / gui / main / componenttree / ComponentTreeRenderer.java
index 75fb2933d17b195419b72bc6ac9257e11f09202c..a7e8386ef6b354261a2eb9b69200eab30956de9b 100644 (file)
@@ -8,24 +8,38 @@ import javax.swing.JTree;
 import javax.swing.tree.DefaultTreeCellRenderer;
 
 import net.sf.openrocket.gui.main.ComponentIcons;
+import net.sf.openrocket.rocketcomponent.RocketComponent;
+import net.sf.openrocket.util.TextUtil;
 
 public class ComponentTreeRenderer extends DefaultTreeCellRenderer {
-
-    @Override
+       
+       @Override
        public Component getTreeCellRendererComponent(
-            JTree tree,
-            Object value,
-            boolean sel,
-            boolean expanded,
-            boolean leaf,
-            int row,
-            boolean hasFocus) {
-
-       super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
-       
-       setIcon(ComponentIcons.getSmallIcon(value.getClass()));
-       
-       return this;
-    }
+                       JTree tree,
+                       Object value,
+                       boolean sel,
+                       boolean expanded,
+                       boolean leaf,
+                       int row,
+                       boolean hasFocus) {
+               
+               super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
+               
+               // Set icon
+               setIcon(ComponentIcons.getSmallIcon(value.getClass()));
+               
+               // Set tooltip
+               RocketComponent c = (RocketComponent) value;
+               String comment = c.getComment().trim();
+               if (comment.length() > 0) {
+                       comment = TextUtil.htmlEncode(comment);
+                       comment = "<html>" + comment.replace("\n", "<br>");
+                       this.setToolTipText(comment);
+               } else {
+                       this.setToolTipText(null);
+               }
+               
+               return this;
+       }
        
 }