Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs =================================================================== diff -u -r626c54ec06c0074be690c1a7046081293b0289a8 -r4af0bffb50faa15fa8accb67e35b80af45dc1213 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 626c54ec06c0074be690c1a7046081293b0289a8) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 4af0bffb50faa15fa8accb67e35b80af45dc1213) @@ -117,6 +117,19 @@ Image = PipingFormsResources.PipingInputIcon, CloseForData = ClosePipingInputViewForData }; + + yield return new ViewInfo + { + GetViewData = context => context.WrappedData, + GetViewName = (view, calculationGroup) => calculationGroup.Name, + Image = RingtoetsCommonFormsResources.GeneralFolderIcon, + AdditionalDataCheck = context => context.WrappedData == context.ParentFailureMechanism.CalculationsGroup, + CloseForData = ClosePipingScenariosViewForData, + AfterCreate = (view, context) => + { + view.PipingFailureMechanism = context.ParentFailureMechanism; + } + }; } public override IEnumerable GetTreeNodeInfos() @@ -317,6 +330,30 @@ #endregion endregion + # region PipingScenariosView ViewInfo + + private static bool ClosePipingScenariosViewForData(PipingScenariosView view, object o) + { + var assessmentSection = o as IAssessmentSection; + var pipingFailureMechanism = o as PipingFailureMechanism; + var pipingFailureMechanismContext = o as PipingFailureMechanismContext; + + if (pipingFailureMechanismContext != null) + { + pipingFailureMechanism = pipingFailureMechanismContext.WrappedData; + } + if (assessmentSection != null) + { + pipingFailureMechanism = assessmentSection.GetFailureMechanisms() + .OfType() + .FirstOrDefault(); + } + + return pipingFailureMechanism != null && ReferenceEquals(view.Data, pipingFailureMechanism.CalculationsGroup); + } + + #endregion endregion + #region PipingInputView ViewInfo private bool ClosePipingInputViewForData(PipingInputView view, object o)