Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs =================================================================== diff -u -r8ed27cd893d87ef66f1bc4f6936407dcff4a284c -ra883652e0cf7e59e4d086472939379ad9be36472 --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision 8ed27cd893d87ef66f1bc4f6936407dcff4a284c) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision a883652e0cf7e59e4d086472939379ad9be36472) @@ -152,6 +152,15 @@ AfterCreate = (view, context) => view.FailureMechanism = context.FailureMechanism }; + yield return new ViewInfo, IEnumerable, CustomProbabilityFailureMechanismResultView> + { + GetViewName = (v, o) => RingtoetsCommonDataResources.FailureMechanism_AssessmentResult_DisplayName, + Image = RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon, + CloseForData = CloseCustomFailureMechanismResultViewForData, + GetViewData = context => context.SectionResults, + AfterCreate = (view, context) => view.FailureMechanism = context.FailureMechanism + }; + yield return new ViewInfo, ICommentable, CommentView> { GetViewName = (v, o) => Resources.Comment_DisplayName, @@ -268,6 +277,15 @@ .Build() }; + 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 = comment => Resources.Comment_DisplayName, @@ -324,30 +342,27 @@ private static bool CloseSimpleFailureMechanismResultViewForData(SimpleFailureMechanismResultView view, object o) { - var assessmentSection = o as IAssessmentSection; - var failureMechanism = o as IFailureMechanism; - var failureMechanismContext = o as IFailureMechanismContext; var data = view.Data; - if (assessmentSection != null) - { - return assessmentSection - .GetFailureMechanisms() - .OfType>() - .Any(fm => ReferenceEquals(data, fm.SectionResults)); - } - if (failureMechanismContext != null) - { - failureMechanism = failureMechanismContext.WrappedData; - } - return failureMechanism != null && ReferenceEquals(data, ((IHasSectionResults)failureMechanism).SectionResults); + return CloseFailureMechanismResultViewForData(o, data); } private static bool CloseCustomFailureMechanismResultViewForData(CustomFailureMechanismResultView view, object o) { + var data = view.Data; + return CloseFailureMechanismResultViewForData(o, data); + } + + private static bool CloseCustomFailureMechanismResultViewForData(CustomProbabilityFailureMechanismResultView view, object o) + { + var data = view.Data; + return CloseFailureMechanismResultViewForData(o, data); + } + + private static bool CloseFailureMechanismResultViewForData(object o, object data) + { var assessmentSection = o as IAssessmentSection; var failureMechanism = o as IFailureMechanism; var failureMechanismContext = o as IFailureMechanismContext; - var data = view.Data; if (assessmentSection != null) { return assessmentSection @@ -359,7 +374,7 @@ { failureMechanism = failureMechanismContext.WrappedData; } - return failureMechanism != null && ReferenceEquals(data, ((IHasSectionResults)failureMechanism).SectionResults); + return failureMechanism != null && ReferenceEquals(data, ((IHasSectionResults) failureMechanism).SectionResults); } #endregion @@ -461,6 +476,7 @@ var heightStructuresFailureMechanism = failureMechanism as HeightStructuresFailureMechanism; var customFailureMechanism = failureMechanism as IHasSectionResults; + var customProbabilityFailureMechanism = failureMechanism as IHasSectionResults; var simpleFailureMechanism = failureMechanism as IHasSectionResults; if (piping != null) @@ -479,6 +495,10 @@ { yield return new CustomFailureMechanismContext(customFailureMechanism as IFailureMechanism, nodeData); } + else if (customProbabilityFailureMechanism != null) + { + yield return new CustomProbabilityFailureMechanismContext(customProbabilityFailureMechanism as IFailureMechanism, nodeData); + } else if (simpleFailureMechanism != null) { yield return new SimpleFailureMechanismContext(simpleFailureMechanism as IFailureMechanism, nodeData); @@ -560,6 +580,7 @@ { var simple = nodeData as IHasSectionResults; var custom = nodeData as IHasSectionResults; + var customProbability = nodeData as IHasSectionResults; var failureMechanismSectionResultContexts = new object[1]; if (simple != null) { @@ -571,6 +592,11 @@ failureMechanismSectionResultContexts[0] = new FailureMechanismSectionResultContext(custom.SectionResults, nodeData); } + if (customProbability != null) + { + failureMechanismSectionResultContexts[0] = + new FailureMechanismSectionResultContext(customProbability.SectionResults, nodeData); + } return failureMechanismSectionResultContexts; }