Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismSectionsProbabilityAssessmentView.cs =================================================================== diff -u -r340fb4625cbca3ad4de3afed18923fc2c2d8af16 -rff5ffdf4ff34675fd4cc87fa4e9fef1fd65405d7 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismSectionsProbabilityAssessmentView.cs (.../FailureMechanismSectionsProbabilityAssessmentView.cs) (revision 340fb4625cbca3ad4de3afed18923fc2c2d8af16) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismSectionsProbabilityAssessmentView.cs (.../FailureMechanismSectionsProbabilityAssessmentView.cs) (revision ff5ffdf4ff34675fd4cc87fa4e9fef1fd65405d7) @@ -25,6 +25,7 @@ using Core.Common.Base; using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Data.Probability; +using Ringtoets.Common.Forms.Helpers; using Ringtoets.Common.Forms.Properties; namespace Ringtoets.Common.Forms.Views @@ -73,18 +74,11 @@ { currentA = probabilityAssessmentInput.A; - var rows = new List(); - double startDistance = 0; - foreach (FailureMechanismSection section in sections) - { - double endDistance = startDistance + section.Length; - - rows.Add(new FailureMechanismSectionProbabilityAssessmentRow(section, startDistance, endDistance, probabilityAssessmentInput)); - - startDistance = endDistance; - } - - failureMechanismSectionsDataGridViewControl.SetDataSource(rows); + failureMechanismSectionsDataGridViewControl.SetDataSource( + FailureMechanismSectionPresentationHelper.CreatePresentableFailureMechanismSections( + sections, + CreateFailureMechanismSectionProbabilityAssessmentRow) + .ToArray()); } protected override void Dispose(bool disposing) @@ -94,6 +88,13 @@ base.Dispose(disposing); } + private FailureMechanismSectionProbabilityAssessmentRow CreateFailureMechanismSectionProbabilityAssessmentRow(FailureMechanismSection section, + double sectionStart, + double sectionEnd) + { + return new FailureMechanismSectionProbabilityAssessmentRow(section, sectionStart, sectionEnd, probabilityAssessmentInput); + } + private void HandleProbabilityAssessmentInputChange() { if (currentA.Equals(probabilityAssessmentInput.A)) Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismSectionsView.cs =================================================================== diff -u -r11da71c456a4db44c05b16aa17cdacfc26639af4 -rff5ffdf4ff34675fd4cc87fa4e9fef1fd65405d7 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismSectionsView.cs (.../FailureMechanismSectionsView.cs) (revision 11da71c456a4db44c05b16aa17cdacfc26639af4) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismSectionsView.cs (.../FailureMechanismSectionsView.cs) (revision ff5ffdf4ff34675fd4cc87fa4e9fef1fd65405d7) @@ -24,6 +24,7 @@ using System.Linq; using Core.Common.Base; using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.Common.Forms.Helpers; using Ringtoets.Common.Forms.Properties; namespace Ringtoets.Common.Forms.Views @@ -107,18 +108,18 @@ /// protected virtual void SetDataGridViewControlData() { - var rows = new List(); - double startDistance = 0; - foreach (FailureMechanismSection section in sections) - { - double endDistance = startDistance + section.Length; + failureMechanismSectionsDataGridViewControl.SetDataSource( + FailureMechanismSectionPresentationHelper.CreatePresentableFailureMechanismSections( + sections, + CreateFailureMechanismSectionRow) + .ToArray()); + } - rows.Add(new FailureMechanismSectionRow(section, startDistance, endDistance)); - - startDistance = endDistance; - } - - failureMechanismSectionsDataGridViewControl.SetDataSource(rows); + private static FailureMechanismSectionRow CreateFailureMechanismSectionRow(FailureMechanismSection section, + double sectionStart, + double sectionEnd) + { + return new FailureMechanismSectionRow(section, sectionStart, sectionEnd); } private void HandleFailureMechanismSectionsChange()