Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs =================================================================== diff -u -r764f8f8001ae8de978091e9cce3f15565df03ff3 -rd5aaf92be1f8aaa2c59c28d10f8397dc01324b7b --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision 764f8f8001ae8de978091e9cce3f15565df03ff3) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision d5aaf92be1f8aaa2c59c28d10f8397dc01324b7b) @@ -80,6 +80,7 @@ using Ringtoets.Integration.Data.StandAlone.SectionResults; using Ringtoets.Integration.Forms.Commands; using Ringtoets.Integration.Forms.Dialogs; +using Ringtoets.Integration.Forms.Factories; using Ringtoets.Integration.Forms.Merge; using Ringtoets.Integration.Forms.PresentationObjects; using Ringtoets.Integration.Forms.PresentationObjects.StandAlone; @@ -481,6 +482,15 @@ CreateInstance = section => new AssessmentSectionView(section) }; + yield return CreateFailureMechanismWithDetailedAssessmentViewInfo( + context => new FailureMechanismWithDetailedAssessmentView( + context.WrappedData, + context.Parent, + () => MacroStabilityOutwardsAssemblyMapDataFeaturesFactory.CreateSimpleAssemblyFeatures(context.WrappedData), + () => MacroStabilityOutwardsAssemblyMapDataFeaturesFactory.CreateDetailedAssemblyFeatures(context.WrappedData, context.Parent), + () => MacroStabilityOutwardsAssemblyMapDataFeaturesFactory.CreateTailorMadeAssemblyFeatures(context.WrappedData, context.Parent), + () => MacroStabilityOutwardsAssemblyMapDataFeaturesFactory.CreateCombinedAssemblyFeatures(context.WrappedData, context.Parent))); + yield return new ViewInfo, FailureMechanismView> { GetViewName = (view, context) => context.WrappedData.Name, @@ -1249,6 +1259,40 @@ #region ViewInfos + #region FailureMechanismWithDetailedAssessmentView ViewInfo + + private static ViewInfo, FailureMechanismWithDetailedAssessmentView> CreateFailureMechanismWithDetailedAssessmentViewInfo< + TFailureMechanism, TSectionResult>( + Func, FailureMechanismWithDetailedAssessmentView> createInstanceFunc) + where TSectionResult : FailureMechanismSectionResult + where TFailureMechanism : FailureMechanismBase, IHasSectionResults + { + return new ViewInfo, + FailureMechanismWithDetailedAssessmentView> + { + GetViewName = (view, context) => context.WrappedData.Name, + Image = RingtoetsCommonFormsResources.CalculationIcon, + CloseForData = CloseFailureMechanismWithDetailedAssessmentViewForData, + AdditionalDataCheck = context => context.WrappedData.IsRelevant, + CreateInstance = createInstanceFunc + }; + } + + private static bool CloseFailureMechanismWithDetailedAssessmentViewForData( + FailureMechanismWithDetailedAssessmentView view, object o) + where TFailureMechanism : IHasSectionResults + where TSectionResult : FailureMechanismSectionResult + { + var assessmentSection = o as IAssessmentSection; + var failureMechanism = o as IFailureMechanism; + + return assessmentSection != null + ? ReferenceEquals(view.AssessmentSection, assessmentSection) + : ReferenceEquals(view.FailureMechanism, failureMechanism); + } + + #endregion + #region FailureMechanismView ViewInfo private static bool CloseFailureMechanismViewForData(FailureMechanismView view, object o)