Vessel readouts now use ReadoutModule's automatic resizing.
Vessel readouts now use ReadoutModule's automatic resizing.

--- a/KerbalEngineer/Flight/Readouts/Vessel/Acceleration.cs
+++ b/KerbalEngineer/Flight/Readouts/Vessel/Acceleration.cs
@@ -19,12 +19,7 @@
 
 #region Using Directives
 
-using System.Diagnostics;
-
-using KerbalEngineer.Extensions;
 using KerbalEngineer.Helpers;
-
-using UnityEngine;
 
 #endregion
 
@@ -32,7 +27,7 @@
 {
     public class Acceleration : ReadoutModule
     {
-        private bool showing;
+        #region Constructors
 
         public Acceleration()
         {
@@ -42,10 +37,9 @@
             this.IsDefault = true;
         }
 
-        public override void Update()
-        {
-            SimulationProcessor.RequestUpdate();
-        }
+        #endregion
+
+        #region Methods: public
 
         public override void Draw()
         {
@@ -53,16 +47,18 @@
             {
                 this.DrawLine(Units.ToAcceleration(SimulationProcessor.LastStage.actualThrust / SimulationProcessor.LastStage.totalMass, SimulationProcessor.LastStage.thrust / SimulationProcessor.LastStage.totalMass));
             }
-            else if (this.showing)
-            {
-                this.showing = false;
-                this.ResizeRequested = true;
-            }
         }
 
         public override void Reset()
         {
             FlightEngineerCore.Instance.AddUpdatable(SimulationProcessor.Instance);
         }
+
+        public override void Update()
+        {
+            SimulationProcessor.RequestUpdate();
+        }
+
+        #endregion
     }
 }

--- a/KerbalEngineer/Flight/Readouts/Vessel/DeltaVStaged.cs
+++ b/KerbalEngineer/Flight/Readouts/Vessel/DeltaVStaged.cs
@@ -18,6 +18,8 @@
 // 
 
 #region Using Directives
+
+using System.Linq;
 
 using KerbalEngineer.Helpers;
 
@@ -50,29 +52,14 @@
 
         public override void Draw()
         {
-            if (SimulationProcessor.ShowDetails)
+            if (!SimulationProcessor.ShowDetails)
             {
-                this.showing = true;
-                var newNumberOfStages = 0;
-                foreach (var stage in SimulationProcessor.Stages)
-                {
-                    if (stage.deltaV > 0 || stage.number == Staging.CurrentStage)
-                    {
-                        this.DrawLine("DeltaV (S" + stage.number + ")", stage.deltaV.ToString("N0") + "m/s (" + TimeFormatter.ConvertToString(stage.time) + ")");
-                        newNumberOfStages++;
-                    }
-                }
+                return;
+            }
 
-                if (newNumberOfStages != this.numberOfStages)
-                {
-                    this.numberOfStages = newNumberOfStages;
-                    this.ResizeRequested = true;
-                }
-            }
-            else if (this.showing)
+            foreach (var stage in SimulationProcessor.Stages.Where(stage => stage.deltaV > 0 || stage.number == Staging.CurrentStage))
             {
-                this.showing = false;
-                this.ResizeRequested = true;
+                this.DrawLine("DeltaV (S" + stage.number + ")", stage.deltaV.ToString("N0") + "m/s (" + TimeFormatter.ConvertToString(stage.time) + ")");
             }
         }
 

--- a/KerbalEngineer/Flight/Readouts/Vessel/DeltaVTotal.cs
+++ b/KerbalEngineer/Flight/Readouts/Vessel/DeltaVTotal.cs
@@ -27,12 +27,6 @@
 {
     public class DeltaVTotal : ReadoutModule
     {
-        #region Fields
-
-        private bool showing;
-
-        #endregion
-
         #region Constructors
 
         public DeltaVTotal()
@@ -51,13 +45,7 @@
         {
             if (SimulationProcessor.ShowDetails)
             {
-                this.showing = true;
                 this.DrawLine(SimulationProcessor.LastStage.totalDeltaV.ToString("N0") + "m/s (" + TimeFormatter.ConvertToString(SimulationProcessor.LastStage.totalTime) + ")");
-            }
-            else if (this.showing)
-            {
-                this.showing = false;
-                this.ResizeRequested = true;
             }
         }
 

--- a/KerbalEngineer/Flight/Readouts/Vessel/Mass.cs
+++ b/KerbalEngineer/Flight/Readouts/Vessel/Mass.cs
@@ -53,11 +53,6 @@
             {
                 this.DrawLine(Units.ToMass(SimulationProcessor.LastStage.mass, SimulationProcessor.LastStage.totalMass));
             }
-            else if (this.showing)
-            {
-                this.showing = false;
-                this.ResizeRequested = true;
-            }
         }
 
         public override void Reset()

--- a/KerbalEngineer/Flight/Readouts/Vessel/SpecificImpulse.cs
+++ b/KerbalEngineer/Flight/Readouts/Vessel/SpecificImpulse.cs
@@ -19,15 +19,13 @@
 
 #region Using Directives
 
-
-
 #endregion
 
 namespace KerbalEngineer.Flight.Readouts.Vessel
 {
     public class SpecificImpulse : ReadoutModule
     {
-        private bool showing;
+        #region Constructors
 
         public SpecificImpulse()
         {
@@ -37,10 +35,9 @@
             this.IsDefault = true;
         }
 
-        public override void Update()
-        {
-            SimulationProcessor.RequestUpdate();
-        }
+        #endregion
+
+        #region Methods: public
 
         public override void Draw()
         {
@@ -48,16 +45,18 @@
             {
                 this.DrawLine(SimulationProcessor.LastStage.isp.ToString("F1") + "s");
             }
-            else if (this.showing)
-            {
-                this.showing = false;
-                this.ResizeRequested = true;
-            }
         }
 
         public override void Reset()
         {
             FlightEngineerCore.Instance.AddUpdatable(SimulationProcessor.Instance);
         }
+
+        public override void Update()
+        {
+            SimulationProcessor.RequestUpdate();
+        }
+
+        #endregion
     }
 }

--- a/KerbalEngineer/Flight/Readouts/Vessel/Thrust.cs
+++ b/KerbalEngineer/Flight/Readouts/Vessel/Thrust.cs
@@ -27,11 +27,7 @@
 {
     public class Thrust : ReadoutModule
     {
-        #region Fields
 
-        private bool showing;
-
-        #endregion
 
         #region Constructors
 
@@ -53,11 +49,7 @@
             {
                 this.DrawLine(Units.ToForce(SimulationProcessor.LastStage.actualThrust, SimulationProcessor.LastStage.thrust));
             }
-            else if (this.showing)
-            {
-                this.showing = false;
-                this.ResizeRequested = true;
-            }
+
         }
 
         public override void Reset()

--- a/KerbalEngineer/Flight/Readouts/Vessel/ThrustToWeight.cs
+++ b/KerbalEngineer/Flight/Readouts/Vessel/ThrustToWeight.cs
@@ -19,17 +19,20 @@
 
 #region Using Directives
 
-
-
 #endregion
 
 namespace KerbalEngineer.Flight.Readouts.Vessel
 {
     public class ThrustToWeight : ReadoutModule
     {
+        #region Fields
+
         private string actual = string.Empty;
-        private bool showing;
         private string total = string.Empty;
+
+        #endregion
+
+        #region Constructors
 
         public ThrustToWeight()
         {
@@ -39,29 +42,32 @@
             this.IsDefault = true;
         }
 
-        public override void Update()
-        {
-            SimulationProcessor.RequestUpdate();
-        }
+        #endregion
+
+        #region Methods: public
 
         public override void Draw()
         {
-            if (SimulationProcessor.ShowDetails)
+            if (!SimulationProcessor.ShowDetails)
             {
-                this.actual = (SimulationProcessor.LastStage.actualThrust / (SimulationProcessor.LastStage.totalMass * FlightGlobals.getGeeForceAtPosition(FlightGlobals.ship_position).magnitude)).ToString("F2");
-                this.total = (SimulationProcessor.LastStage.thrust / (SimulationProcessor.LastStage.totalMass * FlightGlobals.getGeeForceAtPosition(FlightGlobals.ship_position).magnitude)).ToString("F2");
-                this.DrawLine("TWR", this.actual + " / " + this.total);
+                return;
             }
-            else if (this.showing)
-            {
-                this.showing = false;
-                this.ResizeRequested = true;
-            }
+
+            this.actual = (SimulationProcessor.LastStage.actualThrust / (SimulationProcessor.LastStage.totalMass * FlightGlobals.getGeeForceAtPosition(FlightGlobals.ship_position).magnitude)).ToString("F2");
+            this.total = (SimulationProcessor.LastStage.thrust / (SimulationProcessor.LastStage.totalMass * FlightGlobals.getGeeForceAtPosition(FlightGlobals.ship_position).magnitude)).ToString("F2");
+            this.DrawLine("TWR", this.actual + " / " + this.total);
         }
 
         public override void Reset()
         {
             FlightEngineerCore.Instance.AddUpdatable(SimulationProcessor.Instance);
         }
+
+        public override void Update()
+        {
+            SimulationProcessor.RequestUpdate();
+        }
+
+        #endregion
     }
 }

 Binary files a/Output/KerbalEngineer/KerbalEngineer.dll and b/Output/KerbalEngineer/KerbalEngineer.dll differ