From 95755e723bab4942dffe5e45c9f8007ce0e008c7 Mon Sep 17 00:00:00 2001 From: a1xd <68629610+a1xd@users.noreply.github.com> Date: Thu, 3 Dec 2020 20:03:47 -0500 Subject: fix chart range not updating on disable --- grapher/Models/Charts/ChartXY.cs | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) (limited to 'grapher/Models/Charts/ChartXY.cs') diff --git a/grapher/Models/Charts/ChartXY.cs b/grapher/Models/Charts/ChartXY.cs index 98ba059..953065e 100644 --- a/grapher/Models/Charts/ChartXY.cs +++ b/grapher/Models/Charts/ChartXY.cs @@ -1,5 +1,6 @@ using grapher.Models.Mouse; using System.Collections; +using System.Diagnostics; using System.Windows.Forms.DataVisualization.Charting; namespace grapher @@ -29,6 +30,8 @@ namespace grapher #endregion Constructors + private const double VerticalMargin = 0.1; + #region Properties public Chart ChartX { get; } @@ -221,26 +224,20 @@ namespace grapher public void SetMinMax(double min, double max) { - if (min < max) - { - ChartX.ChartAreas[0].AxisY.Minimum = min * 0.95; - ChartX.ChartAreas[0].AxisY.Maximum = max * 1.05; - } + Debug.Assert(min <= max); + ChartX.ChartAreas[0].AxisY.Minimum = min * (1 - VerticalMargin); + ChartX.ChartAreas[0].AxisY.Maximum = max * (1 + VerticalMargin); } public void SetMinMaxXY(double minX, double maxX, double minY, double maxY) { - if (minX < maxX) - { - ChartX.ChartAreas[0].AxisY.Minimum = minX * 0.95; - ChartX.ChartAreas[0].AxisY.Maximum = maxX * 1.05; - } + Debug.Assert(minX <= maxY); + ChartX.ChartAreas[0].AxisY.Minimum = minX * (1 - VerticalMargin); + ChartX.ChartAreas[0].AxisY.Maximum = maxX * (1 + VerticalMargin); - if (minY < maxY) - { - ChartY.ChartAreas[0].AxisY.Minimum = minY * 0.95; - ChartY.ChartAreas[0].AxisY.Maximum = maxY * 1.05; - } + Debug.Assert(minX <= maxY); + ChartX.ChartAreas[0].AxisY.Minimum = minY * (1 - VerticalMargin); + ChartX.ChartAreas[0].AxisY.Maximum = maxY * (1 + VerticalMargin); } public void SetCombined() -- cgit v1.2.3 From c221eb3d62ccbd7f2a5203abd3e0eae8e9bf31e8 Mon Sep 17 00:00:00 2001 From: a1xd <68629610+a1xd@users.noreply.github.com> Date: Thu, 3 Dec 2020 22:42:29 -0500 Subject: add changes from review rename some vars prefer exceptions over assert refactor poll rate field usage in MouseWatcher --- grapher/Models/Charts/ChartXY.cs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'grapher/Models/Charts/ChartXY.cs') diff --git a/grapher/Models/Charts/ChartXY.cs b/grapher/Models/Charts/ChartXY.cs index 953065e..553ab3e 100644 --- a/grapher/Models/Charts/ChartXY.cs +++ b/grapher/Models/Charts/ChartXY.cs @@ -1,6 +1,6 @@ using grapher.Models.Mouse; +using System; using System.Collections; -using System.Diagnostics; using System.Windows.Forms.DataVisualization.Charting; namespace grapher @@ -222,20 +222,28 @@ namespace grapher ChartX.Series[2].IsVisibleInLegend = true; } + private void VerifyRange(double min, double max) + { + if (min > max) + { + throw new ArgumentException($"invalid chart range: ({min}, {max})"); + } + } + public void SetMinMax(double min, double max) { - Debug.Assert(min <= max); + VerifyRange(min, max); ChartX.ChartAreas[0].AxisY.Minimum = min * (1 - VerticalMargin); ChartX.ChartAreas[0].AxisY.Maximum = max * (1 + VerticalMargin); } public void SetMinMaxXY(double minX, double maxX, double minY, double maxY) { - Debug.Assert(minX <= maxY); + VerifyRange(minX, maxX); ChartX.ChartAreas[0].AxisY.Minimum = minX * (1 - VerticalMargin); ChartX.ChartAreas[0].AxisY.Maximum = maxX * (1 + VerticalMargin); - Debug.Assert(minX <= maxY); + VerifyRange(minY, maxY); ChartX.ChartAreas[0].AxisY.Minimum = minY * (1 - VerticalMargin); ChartX.ChartAreas[0].AxisY.Maximum = maxY * (1 + VerticalMargin); } -- cgit v1.2.3