Merge commit '42b2e5ca519766e37ce6941ba4faecc9691cc403' into upstream
[debian/openrocket] / core / src / net / sf / openrocket / gui / main / componenttree / ComponentTreeRenderer.java
index a7e8386ef6b354261a2eb9b69200eab30956de9b..6fe9fe1d90a5787b0566acc0ef3f5e2233fb18cd 100644 (file)
@@ -9,6 +9,7 @@ import javax.swing.tree.DefaultTreeCellRenderer;
 
 import net.sf.openrocket.gui.main.ComponentIcons;
 import net.sf.openrocket.rocketcomponent.RocketComponent;
+import net.sf.openrocket.unit.UnitGroup;
 import net.sf.openrocket.util.TextUtil;
 
 public class ComponentTreeRenderer extends DefaultTreeCellRenderer {
@@ -21,25 +22,38 @@ public class ComponentTreeRenderer extends DefaultTreeCellRenderer {
                        boolean expanded,
                        boolean leaf,
                        int row,
-                       boolean hasFocus) {
+                       boolean hasFocus1) {
                
-               super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
+               super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus1);
                
                // Set icon
                setIcon(ComponentIcons.getSmallIcon(value.getClass()));
                
                // Set tooltip
                RocketComponent c = (RocketComponent) value;
+               this.setToolTipText(getToolTip(c));
+               
+               return this;
+       }
+       
+       
+       private String getToolTip(RocketComponent c) {
+               StringBuilder sb = new StringBuilder();
+               sb.append("<html>");
+               
+               sb.append("<b>").append(c.getName()).append("</b>");
+               if (c.isMassive()) {
+                       sb.append(" (").append(UnitGroup.UNITS_MASS.toStringUnit(c.getMass())).append(")");
+               }
+               
                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);
+                       comment = comment.replace("\n", "<br>");
+                       sb.append("<br>").append(comment);
                }
                
-               return this;
+               return sb.toString();
        }
        
 }