Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj =================================================================== diff -u -r52647e3599ba4ba250975f3f81fbfe3f75beb0a0 -r615c9fc86d567ce6ddc7747ae17cd47c46ff2a37 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision 52647e3599ba4ba250975f3f81fbfe3f75beb0a0) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision 615c9fc86d567ce6ddc7747ae17cd47c46ff2a37) @@ -219,6 +219,9 @@ GeneralResultFaultTreeIllustrationPointView.cs + + UserControl + Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismSectionsView.cs =================================================================== diff -u -re4e314411a1226b821443386d11acbfda2665521 -r615c9fc86d567ce6ddc7747ae17cd47c46ff2a37 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismSectionsView.cs (.../FailureMechanismSectionsView.cs) (revision e4e314411a1226b821443386d11acbfda2665521) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismSectionsView.cs (.../FailureMechanismSectionsView.cs) (revision 615c9fc86d567ce6ddc7747ae17cd47c46ff2a37) @@ -24,6 +24,7 @@ using System.Linq; using System.Windows.Forms; using Core.Common.Base; +using Core.Common.Controls.DataGrid; using Core.Common.Controls.Views; using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Forms.Properties; @@ -72,8 +73,6 @@ this.sections = sections; FailureMechanism = failureMechanism; - - UpdateTableData(); } /// @@ -83,10 +82,11 @@ public object Data { get; set; } - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. + protected override void OnLoad(EventArgs e) + { + UpdateTableData(); + } + protected override void Dispose(bool disposing) { failureMechanismObserver.Dispose(); @@ -99,9 +99,20 @@ base.Dispose(disposing); } - private void UpdateTableData() + /// + /// Updates the data in the failure mechanism sections table. + /// + /// The failure mechanism sections table to update. + /// The failure mechanism sections to show in the failure mechanism sections table. + protected virtual void UpdateTableData(DataGridViewControl dataGridViewControl, + IEnumerable failureMechanismSections) { failureMechanismSectionsTable.SetDataSource(sections.Select(section => new FailureMechanismSectionRow(section)).ToArray()); } + + private void UpdateTableData() + { + UpdateTableData(failureMechanismSectionsTable, sections); + } } } \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/LengthEffectAwareFailureMechanismSectionsView.cs =================================================================== diff -u --- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/LengthEffectAwareFailureMechanismSectionsView.cs (revision 0) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/LengthEffectAwareFailureMechanismSectionsView.cs (revision 615c9fc86d567ce6ddc7747ae17cd47c46ff2a37) @@ -0,0 +1,65 @@ +// Copyright (C) Stichting Deltares 2017. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using System.Collections.Generic; +using System.Linq; +using Core.Common.Controls.DataGrid; +using Ringtoets.Common.Data.FailureMechanism; + +namespace Ringtoets.Common.Forms.Views +{ + /// + /// View for a collection of , also showing information on + /// the length effect. + /// + public class LengthEffectAwareFailureMechanismSectionsView : FailureMechanismSectionsView + { + private readonly Func getLengthEffectFunc; + + /// + /// Creates a new instance of . + /// + /// The sections to be displayed in the view. + /// The failure mechanism the view belongs to. + /// The for obtaining the + /// length effect value for a . + /// Thrown when any input parameter is null. + public LengthEffectAwareFailureMechanismSectionsView(IEnumerable sections, + IFailureMechanism failureMechanism, + Func getLengthEffectFunc) + : base(sections, failureMechanism) + { + if (getLengthEffectFunc == null) + { + throw new ArgumentNullException(nameof(getLengthEffectFunc)); + } + + this.getLengthEffectFunc = getLengthEffectFunc; + } + + protected override void UpdateTableData(DataGridViewControl dataGridViewControl, + IEnumerable sections) + { + dataGridViewControl.SetDataSource(sections.Select(section => new FailureMechanismSectionRow(section)).ToArray()); + } + } +} \ No newline at end of file