From ded4df81031a92c20ca638434becfb1699a9e1f7 Mon Sep 17 00:00:00 2001 From: Craig Earls Date: Mon, 15 Dec 2014 20:34:14 -0700 Subject: [PATCH] Fixed 3 issues kruland had with mass type. 1. Mass tooltip only displays totals for components that have children. 2. setMassComponentType now fires NON_FUNCTIONAL change event. 3. Label now reads "Mass Type" and default is "Unspecified". --- core/resources/l10n/messages.properties | 4 ++-- .../sf/openrocket/rocketcomponent/MassComponent.java | 2 +- .../gui/main/componenttree/ComponentTreeRenderer.java | 11 ++++++++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/core/resources/l10n/messages.properties b/core/resources/l10n/messages.properties index 32b6a33fb..11ccd3456 100644 --- a/core/resources/l10n/messages.properties +++ b/core/resources/l10n/messages.properties @@ -921,7 +921,7 @@ MassComponentCfg.tab.ttip.Radialpos = Radial position configuration MassComponentCfg.lbl.Radialdistance = Radial distance: MassComponentCfg.lbl.Radialdirection = Radial direction: MassComponentCfg.but.Reset = Reset -MassComponentCfg.lbl.type = Object type +MassComponentCfg.lbl.type = Mass type ! MotorConfig MotorCfg.checkbox.compmotormount = This component is a motor mount @@ -1328,7 +1328,7 @@ TrapezoidFinSet.TrapezoidFinSet = Trapezoidal fin set ! FreeformFinSet FreeformFinSet.FreeformFinSet = Freeform fin set !MassComponent -MassComponent.MassComponent = Mass component +MassComponent.MassComponent = Unspecified MassComponent.Altimeter = Altimeter MassComponent.FlightComputer = Flight computer MassComponent.DeploymentCharge = Deployment charge diff --git a/core/src/net/sf/openrocket/rocketcomponent/MassComponent.java b/core/src/net/sf/openrocket/rocketcomponent/MassComponent.java index e49421a2c..0bfb75c03 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/MassComponent.java +++ b/core/src/net/sf/openrocket/rocketcomponent/MassComponent.java @@ -102,7 +102,7 @@ public class MassComponent extends MassObject { } checkState(); this.massComponentType = compType; - fireComponentChangeEvent(ComponentChangeEvent.BOTH_CHANGE); + fireComponentChangeEvent(ComponentChangeEvent.NONFUNCTIONAL_CHANGE); } @Override diff --git a/swing/src/net/sf/openrocket/gui/main/componenttree/ComponentTreeRenderer.java b/swing/src/net/sf/openrocket/gui/main/componenttree/ComponentTreeRenderer.java index 6f4423457..2539cc4cb 100644 --- a/swing/src/net/sf/openrocket/gui/main/componenttree/ComponentTreeRenderer.java +++ b/swing/src/net/sf/openrocket/gui/main/componenttree/ComponentTreeRenderer.java @@ -69,10 +69,15 @@ public class ComponentTreeRenderer extends DefaultTreeCellRenderer { sb.append("").append(c.getName()).append(""); if (c.isMassive() || c.isMassOverridden() ) { - sb.append(" (").append(UnitGroup.UNITS_MASS.toStringUnit(c.getMass())).append(" of "); - sb.append(UnitGroup.UNITS_MASS.toStringUnit(c.getSectionMass())).append( " total)"); + sb.append(" (").append(UnitGroup.UNITS_MASS.toStringUnit(c.getMass())); + if(c.getChildCount()>0){ + sb.append(" of ").append(UnitGroup.UNITS_MASS.toStringUnit(c.getSectionMass())).append( " total"); + } + sb.append(")"); } else { - sb.append(" (").append(UnitGroup.UNITS_MASS.toStringUnit(c.getSectionMass())).append( " total)"); + if((c.getChildCount()>0) && (c.getSectionMass()>0)){ + sb.append(" (").append(UnitGroup.UNITS_MASS.toStringUnit(c.getSectionMass())).append( " total)"); + } } if ( c.isMassOverridden() ) {