diff options
Diffstat (limited to 'grapher/Models/Options/CapOptions.cs')
| -rw-r--r-- | grapher/Models/Options/CapOptions.cs | 99 |
1 files changed, 65 insertions, 34 deletions
diff --git a/grapher/Models/Options/CapOptions.cs b/grapher/Models/Options/CapOptions.cs index 87bac88..6dc1116 100644 --- a/grapher/Models/Options/CapOptions.cs +++ b/grapher/Models/Options/CapOptions.cs @@ -10,20 +10,22 @@ namespace grapher { public class CapOptions { + #region Constants - public const string GainCapFormatString = "0.##"; + + #endregion Constants + + #region Constructors public CapOptions( ToolStripMenuItem velocityGainCapCheck, ToolStripMenuItem legacyCapCheck, - OptionXY capOption, - OptionXY weightOption) + Option capOption) { VelocityGainCapCheck = velocityGainCapCheck; LegacyCapCheck = legacyCapCheck; CapOption = capOption; - WeightOption = weightOption; LegacyCapCheck.Click += new System.EventHandler(OnSensitivityCapCheckClick); VelocityGainCapCheck.Click += new System.EventHandler(OnVelocityGainCapCheckClick); @@ -34,20 +36,24 @@ namespace grapher EnableVelocityGainCap(); } + #endregion Constructors + + #region Properties + public ToolStripMenuItem LegacyCapCheck { get; } public ToolStripMenuItem VelocityGainCapCheck { get; } - public OptionXY CapOption { get; } + public Option CapOption { get; } - public OptionXY WeightOption { get; } + public bool IsSensitivityGain { get; private set; } - public double SensitivityCapX { + public double SensitivityCap { get { if (IsSensitivityGain) { - return CapOption.Fields.X; + return CapOption.Field.Data; } else { @@ -56,49 +62,78 @@ namespace grapher } } - public double SensitivityCapY { + public double VelocityGainCap { get { if (IsSensitivityGain) { - return CapOption.Fields.Y; + return 0; } else { - return 0; + return CapOption.Field.Data; } } } - public double VelocityGainCap { + public int Top + { + get + { + return CapOption.Top; + } + set + { + CapOption.Top = value; + } + } + + public int Height + { get { - if (IsSensitivityGain) - { - return 0; - } - else - { - return CapOption.Fields.X; - } + return CapOption.Height; } } - public bool IsSensitivityGain { get; private set; } - public void SetActiveValues(double gainCap, double sensCapX, double sensCapY, bool capGainEnabled) + #endregion Properties + + #region Methods + + public void Hide() + { + CapOption.Hide(); + } + + public void Show() + { + CapOption.Show(); + } + + public void SnapTo(Option option) + { + Top = option.Top + option.Height + Constants.OptionVerticalSeperation; + } + + + public void SetActiveValues(double gainCap, double sensCap, bool capGainEnabled) { if (capGainEnabled) { - CapOption.ActiveValueLabels.X.FormatString = GainCapFormatString; - CapOption.ActiveValueLabels.X.Prefix = "Gain"; - CapOption.SetActiveValues(gainCap, gainCap); + CapOption.ActiveValueLabel.FormatString = Constants.GainCapFormatString; + CapOption.ActiveValueLabel.Prefix = "Gain"; + CapOption.SetActiveValue(gainCap); + LegacyCapCheck.Checked = true; + VelocityGainCapCheck.Checked = false; } else { - CapOption.ActiveValueLabels.X.FormatString = ActiveValueLabel.DefaultFormatString; - CapOption.ActiveValueLabels.X.Prefix = string.Empty; - CapOption.SetActiveValues(sensCapX, sensCapY); + CapOption.ActiveValueLabel.FormatString = Constants.DefaultActiveValueFormatString; + CapOption.ActiveValueLabel.Prefix = string.Empty; + CapOption.SetActiveValue(sensCap); + LegacyCapCheck.Checked = false; + VelocityGainCapCheck.Checked = true; } } @@ -139,19 +174,15 @@ namespace grapher void EnableSensitivityCap() { IsSensitivityGain = true; - CapOption.Fields.LockCheckBox.Enabled = true; - WeightOption.Fields.LockCheckBox.Enabled = true; CapOption.SetName("Sensitivity Cap"); } void EnableVelocityGainCap() { IsSensitivityGain = false; - CapOption.Fields.LockCheckBox.Checked = true; - CapOption.Fields.LockCheckBox.Enabled = false; - WeightOption.Fields.LockCheckBox.Checked = true; - WeightOption.Fields.LockCheckBox.Enabled = false; CapOption.SetName("Velocity Gain Cap"); } + + #endregion Methods } } |