Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs =================================================================== diff -u -rbd29bacc20bc58cc67f27dd33fa4fa6b41db873c -r64d5609bb2912cd52dc74deffdd189222e240599 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision bd29bacc20bc58cc67f27dd33fa4fa6b41db873c) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 64d5609bb2912cd52dc74deffdd189222e240599) @@ -86,6 +86,15 @@ AdditionalDataCheck = context => context.WrappedData.IsRelevant }; + yield return new ViewInfo, IEnumerable, PipingFailureMechanismResultView> + { + GetViewName = (v, o) => RingtoetsCommonDataResources.FailureMechanism_AssessmentResult_DisplayName, + Image = RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon, + CloseForData = CloseFailureMechanismResultViewForData, + GetViewData = context => context.SectionResults, + AfterCreate = (view, context) => view.FailureMechanism = context.FailureMechanism + }; + yield return new ViewInfo { GetViewData = context => context.WrappedData, @@ -121,6 +130,15 @@ PipingCalculationGroupContextContextMenuStrip, PipingCalculationGroupContextOnNodeRemoved); + yield return new TreeNodeInfo> + { + Text = context => RingtoetsCommonDataResources.FailureMechanism_AssessmentResult_DisplayName, + Image = context => RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon, + ContextMenuStrip = (nodeData, parentData, treeViewControl) => Gui.Get(nodeData, treeViewControl) + .AddOpenItem() + .Build() + }; + yield return new TreeNodeInfo { Text = pipingInputContext => PipingFormsResources.PipingInputContext_NodeDisplayName, @@ -230,7 +248,7 @@ }; } - # region PipingCalculationsView ViewInfo + # region PipingFailureMechanismView ViewInfo private bool ClosePipingFailureMechanismViewForData(PipingFailureMechanismView view, object o) { @@ -247,6 +265,29 @@ # endregion + # region FailureMechanismResultsView ViewInfo + + private static bool CloseFailureMechanismResultViewForData(PipingFailureMechanismResultView view, object o) + { + var assessmentSection = o as IAssessmentSection; + var failureMechanism = o as IFailureMechanism; + var failureMechanismContext = o as IFailureMechanismContext; + if (assessmentSection != null) + { + return assessmentSection + .GetFailureMechanisms() + .OfType() + .Any(fm => ReferenceEquals(view.Data, fm.SectionResults)); + } + if (failureMechanismContext != null) + { + failureMechanism = failureMechanismContext.WrappedData; + } + return failureMechanism != null && ReferenceEquals(view.Data, ((FailureMechanismBase)failureMechanism).SectionResults); + } + + # endregion + # region PipingCalculationsView ViewInfo private static bool ClosePipingCalculationsViewForData(PipingCalculationsView view, object o) @@ -383,7 +424,7 @@ { return new ArrayList { - new FailureMechanismSectionResultContext(failureMechanism.SectionResults, failureMechanism) + new FailureMechanismSectionResultContext(failureMechanism.SectionResults, failureMechanism) }; }