Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Plugin/DuneErosionPlugin.cs =================================================================== diff -u -r8509ce4290fff1f206f7bbd6eddedb37db28785b -r2c595d68a6fb2abeebed64c607fa2a3ab806f483 --- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Plugin/DuneErosionPlugin.cs (.../DuneErosionPlugin.cs) (revision 8509ce4290fff1f206f7bbd6eddedb37db28785b) +++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Plugin/DuneErosionPlugin.cs (.../DuneErosionPlugin.cs) (revision 2c595d68a6fb2abeebed64c607fa2a3ab806f483) @@ -84,6 +84,14 @@ GetViewData = context => context.WrappedData, AfterCreate = (view, context) => view.FailureMechanism = context.FailureMechanism }; + + yield return new ViewInfo + { + GetViewName = (view, mechanism) => mechanism.WrappedData.Name, + Image = RingtoetsCommonFormsResources.CalculationIcon, + CloseForData = CloseFailureMechanismViewForData, + AdditionalDataCheck = context => context.WrappedData.IsRelevant + }; } #region TreeNodeInfo @@ -193,6 +201,23 @@ #endregion + #region DuneErosionFailureMechanismView ViewInfo + + private static bool CloseFailureMechanismViewForData(DuneErosionFailureMechanismView view, object data) + { + var assessmentSection = data as IAssessmentSection; + var failureMechanism = data as DuneErosionFailureMechanism; + + var viewFailureMechanismContext = (DuneErosionFailureMechanismContext) view.Data; + var viewFailureMechanism = viewFailureMechanismContext.WrappedData; + + return assessmentSection != null + ? ReferenceEquals(viewFailureMechanismContext.Parent, assessmentSection) + : ReferenceEquals(viewFailureMechanism, failureMechanism); + } + #endregion + + #endregion } } \ No newline at end of file