Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsInputView.cs =================================================================== diff -u -r0d98073e4ba2bdc6b69b7f875508488d1fa0148a -r3d0565a6987cb9619bcc453addceccf141052b8a --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsInputView.cs (.../GrassCoverErosionInwardsInputView.cs) (revision 0d98073e4ba2bdc6b69b7f875508488d1fa0148a) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsInputView.cs (.../GrassCoverErosionInwardsInputView.cs) (revision 3d0565a6987cb9619bcc453addceccf141052b8a) @@ -21,7 +21,6 @@ using System.Windows.Forms; using Core.Common.Base; -using Core.Common.Base.Geometry; using Core.Components.Charting.Data; using Core.Components.Charting.Forms; using Ringtoets.GrassCoverErosionInwards.Data; @@ -40,6 +39,7 @@ private readonly ChartLineData foreshoreChartData; private readonly ChartLineData dikeGeometryChartData; private readonly ChartLineData dikeHeightChartData; + private readonly ChartDataCollection chartDataCollection; private GrassCoverErosionInwardsCalculation data; @@ -53,15 +53,14 @@ calculationObserver = new Observer(UpdateChartTitle); calculationInputObserver = new Observer(UpdateChartData); + chartDataCollection = new ChartDataCollection(RingtoetsCommonFormsResources.Calculation_Input); foreshoreChartData = GrassCoverErosionInwardsChartDataFactory.CreateForeshoreGeometryChartData(); dikeGeometryChartData = GrassCoverErosionInwardsChartDataFactory.CreateDikeGeometryChartData(); dikeHeightChartData = GrassCoverErosionInwardsChartDataFactory.CreateDikeHeightChartData(); - chartControl.Data.Add(foreshoreChartData); - chartControl.Data.Add(dikeGeometryChartData); - chartControl.Data.Add(dikeHeightChartData); - - chartControl.Data.Name = RingtoetsCommonFormsResources.Calculation_Input; + chartDataCollection.Add(foreshoreChartData); + chartDataCollection.Add(dikeGeometryChartData); + chartDataCollection.Add(dikeHeightChartData); } public object Data @@ -79,12 +78,16 @@ if (data == null) { - Chart.ResetChartData(); - return; + chartControl.Data = null; + chartControl.Name = string.Empty; } + else + { + SetChartData(); - UpdateChartTitle(); - UpdateChartData(); + chartControl.Data = chartDataCollection; + chartControl.ChartTitle = data.Name; + } } } @@ -110,31 +113,29 @@ private void UpdateChartTitle() { - chartControl.ChartTitle = data != null ? data.Name : string.Empty; + chartControl.ChartTitle = data.Name; } private void UpdateChartData() { - var input = data != null ? data.InputParameters : null; - var dikeProfile = input != null ? input.DikeProfile : null; + SetChartData(); + foreshoreChartData.NotifyObservers(); + dikeGeometryChartData.NotifyObservers(); + dikeHeightChartData.NotifyObservers(); + } + + private void SetChartData() + { + var input = data.InputParameters; + var dikeProfile = input.DikeProfile; + GrassCoverErosionInwardsChartDataFactory.UpdateForeshoreGeometryChartDataName(foreshoreChartData, input); GrassCoverErosionInwardsChartDataFactory.UpdateDikeGeometryChartDataName(dikeGeometryChartData, dikeProfile); - UpdatePointBasedChartData(foreshoreChartData, - GrassCoverErosionInwardsChartDataPointsFactory.CreateForeshoreGeometryPoints(input)); - UpdatePointBasedChartData(dikeGeometryChartData, - GrassCoverErosionInwardsChartDataPointsFactory.CreateDikeGeometryPoints(dikeProfile)); - UpdatePointBasedChartData(dikeHeightChartData, - GrassCoverErosionInwardsChartDataPointsFactory.CreateDikeHeightPoints(input)); - - chartControl.Data.NotifyObservers(); + foreshoreChartData.Points = GrassCoverErosionInwardsChartDataPointsFactory.CreateForeshoreGeometryPoints(input); + dikeGeometryChartData.Points = GrassCoverErosionInwardsChartDataPointsFactory.CreateDikeGeometryPoints(dikeProfile); + dikeHeightChartData.Points = GrassCoverErosionInwardsChartDataPointsFactory.CreateDikeHeightPoints(input); } - - private static void UpdatePointBasedChartData(PointBasedChartData chartData, Point2D[] points) - { - chartData.Points = points; - chartData.NotifyObservers(); - } } } \ No newline at end of file