Added simple mass indicator.
This commit is contained in:
parent
4565cdcd86
commit
9a85ba0099
@ -2,12 +2,17 @@ package net.sf.openrocket.gui.main.componenttree;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
|
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JPanel;
|
||||||
import javax.swing.JTree;
|
import javax.swing.JTree;
|
||||||
|
import javax.swing.UIManager;
|
||||||
import javax.swing.tree.DefaultTreeCellRenderer;
|
import javax.swing.tree.DefaultTreeCellRenderer;
|
||||||
|
|
||||||
import net.sf.openrocket.gui.main.ComponentIcons;
|
import net.sf.openrocket.gui.main.ComponentIcons;
|
||||||
|
import net.sf.openrocket.rocketcomponent.MassComponent;
|
||||||
import net.sf.openrocket.rocketcomponent.RocketComponent;
|
import net.sf.openrocket.rocketcomponent.RocketComponent;
|
||||||
import net.sf.openrocket.unit.UnitGroup;
|
import net.sf.openrocket.unit.UnitGroup;
|
||||||
import net.sf.openrocket.util.TextUtil;
|
import net.sf.openrocket.util.TextUtil;
|
||||||
@ -24,28 +29,44 @@ public class ComponentTreeRenderer extends DefaultTreeCellRenderer {
|
|||||||
int row,
|
int row,
|
||||||
boolean hasFocus1) {
|
boolean hasFocus1) {
|
||||||
|
|
||||||
super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus1);
|
Component comp = super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus1);
|
||||||
|
|
||||||
// Set icon
|
// Set icon
|
||||||
setIcon(ComponentIcons.getSmallIcon(value.getClass()));
|
setIcon(ComponentIcons.getSmallIcon(value.getClass()));
|
||||||
|
|
||||||
// Set tooltip
|
|
||||||
RocketComponent c = (RocketComponent) value;
|
RocketComponent c = (RocketComponent) value;
|
||||||
|
|
||||||
|
if ( c.isMassOverridden() ) {
|
||||||
|
JPanel p = new JPanel();
|
||||||
|
p.setLayout( new BorderLayout() );
|
||||||
|
p.setBackground( UIManager.getColor("Tree.textBackground"));
|
||||||
|
p.setForeground( UIManager.getColor("Tree.textForeground"));
|
||||||
|
p.add(comp, BorderLayout.WEST);
|
||||||
|
p.add(new JLabel( ComponentIcons.getSmallIcon(MassComponent.class) ), BorderLayout.EAST );
|
||||||
|
p.setToolTipText(getToolTip(c));
|
||||||
|
comp = p;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set tooltip
|
||||||
this.setToolTipText(getToolTip(c));
|
this.setToolTipText(getToolTip(c));
|
||||||
|
|
||||||
return this;
|
return comp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private String getToolTip(RocketComponent c) {
|
private static String getToolTip(RocketComponent c) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("<html>");
|
sb.append("<html>");
|
||||||
|
|
||||||
sb.append("<b>").append(c.getName()).append("</b>");
|
sb.append("<b>").append(c.getName()).append("</b>");
|
||||||
if (c.isMassive()) {
|
if (c.isMassive() || c.isMassOverridden() ) {
|
||||||
sb.append(" (").append(UnitGroup.UNITS_MASS.toStringUnit(c.getMass())).append(")");
|
sb.append(" (").append(UnitGroup.UNITS_MASS.toStringUnit(c.getMass())).append(")");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( c.isMassOverridden() ) {
|
||||||
|
sb.append(" mass override");
|
||||||
|
}
|
||||||
|
|
||||||
String comment = c.getComment().trim();
|
String comment = c.getComment().trim();
|
||||||
if (comment.length() > 0) {
|
if (comment.length() > 0) {
|
||||||
comment = TextUtil.escapeXML(comment);
|
comment = TextUtil.escapeXML(comment);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user