diff --git a/core/src/net/sf/openrocket/gui/main/componenttree/ComponentTreeRenderer.java b/core/src/net/sf/openrocket/gui/main/componenttree/ComponentTreeRenderer.java index a7e8386ef..6fe9fe1d9 100644 --- a/core/src/net/sf/openrocket/gui/main/componenttree/ComponentTreeRenderer.java +++ b/core/src/net/sf/openrocket/gui/main/componenttree/ComponentTreeRenderer.java @@ -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; - String comment = c.getComment().trim(); - if (comment.length() > 0) { - comment = TextUtil.htmlEncode(comment); - comment = "" + comment.replace("\n", "
"); - this.setToolTipText(comment); - } else { - this.setToolTipText(null); - } + this.setToolTipText(getToolTip(c)); return this; } + + private String getToolTip(RocketComponent c) { + StringBuilder sb = new StringBuilder(); + sb.append(""); + + sb.append("").append(c.getName()).append(""); + 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 = comment.replace("\n", "
"); + sb.append("
").append(comment); + } + + return sb.toString(); + } + }