diff options
| author | Jacob Palecki <[email protected]> | 2020-08-12 20:39:53 -0700 |
|---|---|---|
| committer | Jacob Palecki <[email protected]> | 2020-08-12 20:39:53 -0700 |
| commit | 30e1391b224ae028f4476e06a07415a0285ac6c9 (patch) | |
| tree | a70694de4ca5e8e9f947ce6a1355c7a134d491b8 /grapher/Models/Charts | |
| parent | Factor accel calculations into calculation classes (diff) | |
| download | rawaccel-30e1391b224ae028f4476e06a07415a0285ac6c9.tar.xz rawaccel-30e1391b224ae028f4476e06a07415a0285ac6c9.zip | |
Almost working
Diffstat (limited to 'grapher/Models/Charts')
| -rw-r--r-- | grapher/Models/Charts/AccelCharts.cs | 59 | ||||
| -rw-r--r-- | grapher/Models/Charts/ChartXY.cs | 6 |
2 files changed, 51 insertions, 14 deletions
diff --git a/grapher/Models/Charts/AccelCharts.cs b/grapher/Models/Charts/AccelCharts.cs index 4ed44c7..0728abc 100644 --- a/grapher/Models/Charts/AccelCharts.cs +++ b/grapher/Models/Charts/AccelCharts.cs @@ -22,13 +22,15 @@ namespace grapher ChartXY sensitivityChart, ChartXY velocityChart, ChartXY gainChart, - ToolStripMenuItem enableVelocityAndGain) + ToolStripMenuItem enableVelocityAndGain, + ICollection<CheckBox> checkBoxesXY) { ContaingForm = form; SensitivityChart = sensitivityChart; VelocityChart = velocityChart; GainChart = gainChart; EnableVelocityAndGain = enableVelocityAndGain; + CheckBoxesXY = checkBoxesXY; SensitivityChart.SetTop(0); VelocityChart.SetHeight(SensitivityChart.Height); @@ -56,15 +58,38 @@ namespace grapher public ToolStripMenuItem EnableVelocityAndGain { get; } + private ICollection<CheckBox> CheckBoxesXY { get; } + private bool Combined { get; set; } private int FormBorderHeight { get; } public void Bind(AccelData data) { - SensitivityChart.Bind(data.OrderedAccelPoints); - VelocityChart.Bind(data.OrderedVelocityPoints); - GainChart.Bind(data.OrderedGainPoints); + if (Combined) + { + SensitivityChart.Bind(data.Combined.AccelPoints); + VelocityChart.Bind(data.Combined.VelocityPoints); + GainChart.Bind(data.Combined.GainPoints); + } + else + { + SensitivityChart.BindXY(data.X.AccelPoints, data.Y.AccelPoints); + VelocityChart.BindXY(data.X.VelocityPoints, data.Y.VelocityPoints); + GainChart.BindXY(data.X.GainPoints, data.Y.GainPoints); + } + } + + public void RefreshXY() + { + if (CheckBoxesXY.All(box => box.Checked)) + { + ShowCombined(); + } + else + { + ShowXandYSeparate(); + } } private void OnEnableClick(object sender, EventArgs e) @@ -105,20 +130,26 @@ namespace grapher private void ShowXandYSeparate() { - SensitivityChart.SetSeparate(); - VelocityChart.SetSeparate(); - GainChart.SetSeparate(); - UpdateFormWidth(); - Combined = false; + if (Combined) + { + SensitivityChart.SetSeparate(); + VelocityChart.SetSeparate(); + GainChart.SetSeparate(); + UpdateFormWidth(); + Combined = false; + } } private void ShowCombined() { - SensitivityChart.SetCombined(); - VelocityChart.SetCombined(); - GainChart.SetCombined(); - UpdateFormWidth(); - Combined = true; + if (!Combined) + { + SensitivityChart.SetCombined(); + VelocityChart.SetCombined(); + GainChart.SetCombined(); + UpdateFormWidth(); + Combined = true; + } } private void UpdateFormWidth() diff --git a/grapher/Models/Charts/ChartXY.cs b/grapher/Models/Charts/ChartXY.cs index a57801e..7bb7ac8 100644 --- a/grapher/Models/Charts/ChartXY.cs +++ b/grapher/Models/Charts/ChartXY.cs @@ -95,6 +95,12 @@ namespace grapher ChartX.Series[0].Points.DataBindXY(data.Keys, data.Values); } + public void BindXY(IDictionary dataX, IDictionary dataY) + { + ChartX.Series[0].Points.DataBindXY(dataX.Keys, dataX.Values); + ChartY.Series[0].Points.DataBindXY(dataY.Keys, dataY.Values); + } + public void SetCombined() { if (!Combined) |