From 6f7dc96930950de3c64bce6bcbb91a7e8f4903ee Mon Sep 17 00:00:00 2001 From: plaa Date: Sun, 8 Apr 2012 16:08:31 +0000 Subject: [PATCH] Enhance component tree tooltip git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@527 180e2498-e6e9-4542-8430-84ac67f01cd8 --- .../componenttree/ComponentTreeRenderer.java | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) 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 a7e8386e..6fe9fe1d 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; + 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", "
"); - this.setToolTipText(comment); - } else { - this.setToolTipText(null); + comment = comment.replace("\n", "
"); + sb.append("
").append(comment); } - return this; + return sb.toString(); } } -- 2.30.2