Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs =================================================================== diff -u -r6e6ff0259ba700bb1fe6e60cc47cf9741e8815b8 -r95605fb4015061bf2eacd284b2e4f2f9dd9596b0 --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision 6e6ff0259ba700bb1fe6e60cc47cf9741e8815b8) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision 95605fb4015061bf2eacd284b2e4f2f9dd9596b0) @@ -48,13 +48,15 @@ using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Common.Data.IllustrationPoints; +using Ringtoets.Common.Data.Probability; using Ringtoets.Common.Data.Structures; using Ringtoets.Common.Forms.ChangeHandlers; using Ringtoets.Common.Forms.Controls; using Ringtoets.Common.Forms.GuiServices; using Ringtoets.Common.Forms.PresentationObjects; using Ringtoets.Common.Forms.PropertyClasses; using Ringtoets.Common.Forms.TreeNodeInfos; +using Ringtoets.Common.Forms.UpdateInfos; using Ringtoets.Common.Forms.Views; using Ringtoets.Common.IO.FileImporters; using Ringtoets.Common.IO.FileImporters.MessageProviders; @@ -74,6 +76,7 @@ using Ringtoets.HeightStructures.Forms.PresentationObjects; using Ringtoets.Integration.Data; using Ringtoets.Integration.Data.StandAlone; +using Ringtoets.Integration.Data.StandAlone.Input; using Ringtoets.Integration.Data.StandAlone.SectionResults; using Ringtoets.Integration.Forms.Commands; using Ringtoets.Integration.Forms.Dialogs; @@ -314,7 +317,7 @@ context.WrappedData, new FailureMechanismContributionNormChangeHandler(context.AssessmentSection)) }; - yield return new PropertyInfo, StandAloneFailureMechanismProperties> + yield return new PropertyInfo, StandAloneFailureMechanismProperties> { CreateInstance = context => new StandAloneFailureMechanismProperties(context.WrappedData, context.Parent) }; @@ -708,6 +711,38 @@ IsEnabled = context => context.WrappedData.SourcePath != null, VerifyUpdates = context => VerifyForeshoreProfileUpdates(context, Resources.RingtoetsPlugin_VerifyForeshoreProfileUpdates_When_updating_ForeshoreProfile_definitions_assigned_to_calculations_output_will_be_cleared_confirm) }; + + yield return RingtoetsUpdateInfoFactory.CreateFailureMechanismSectionsUpdateInfo< + GrassCoverSlipOffInwardsFailureMechanismSectionsContext, GrassCoverSlipOffInwardsFailureMechanism, GrassCoverSlipOffInwardsFailureMechanismSectionResult>( + new GrassCoverSlipOffInwardsFailureMechanismSectionResultUpdateStrategy()); + + yield return RingtoetsUpdateInfoFactory.CreateFailureMechanismSectionsUpdateInfo< + GrassCoverSlipOffOutwardsFailureMechanismSectionsContext, GrassCoverSlipOffOutwardsFailureMechanism, GrassCoverSlipOffOutwardsFailureMechanismSectionResult>( + new GrassCoverSlipOffOutwardsFailureMechanismSectionResultUpdateStrategy()); + + yield return RingtoetsUpdateInfoFactory.CreateFailureMechanismSectionsUpdateInfo< + MacroStabilityOutwardsFailureMechanismSectionsContext, MacroStabilityOutwardsFailureMechanism, MacroStabilityOutwardsFailureMechanismSectionResult>( + new MacroStabilityOutwardsFailureMechanismSectionResultUpdateStrategy()); + + yield return RingtoetsUpdateInfoFactory.CreateFailureMechanismSectionsUpdateInfo< + MicrostabilityFailureMechanismSectionsContext, MicrostabilityFailureMechanism, MicrostabilityFailureMechanismSectionResult>( + new MicrostabilityFailureMechanismSectionResultUpdateStrategy()); + + yield return RingtoetsUpdateInfoFactory.CreateFailureMechanismSectionsUpdateInfo< + PipingStructureFailureMechanismSectionsContext, PipingStructureFailureMechanism, PipingStructureFailureMechanismSectionResult>( + new PipingStructureFailureMechanismSectionResultUpdateStrategy()); + + yield return RingtoetsUpdateInfoFactory.CreateFailureMechanismSectionsUpdateInfo< + StrengthStabilityLengthwiseConstructionFailureMechanismSectionsContext, StrengthStabilityLengthwiseConstructionFailureMechanism, StrengthStabilityLengthwiseConstructionFailureMechanismSectionResult>( + new StrengthStabilityLengthwiseConstructionFailureMechanismSectionResultUpdateStrategy()); + + yield return RingtoetsUpdateInfoFactory.CreateFailureMechanismSectionsUpdateInfo< + TechnicalInnovationFailureMechanismSectionsContext, TechnicalInnovationFailureMechanism, TechnicalInnovationFailureMechanismSectionResult>( + new TechnicalInnovationFailureMechanismSectionResultUpdateStrategy()); + + yield return RingtoetsUpdateInfoFactory.CreateFailureMechanismSectionsUpdateInfo< + WaterPressureAsphaltCoverFailureMechanismSectionsContext, WaterPressureAsphaltCoverFailureMechanism, WaterPressureAsphaltCoverFailureMechanismSectionResult>( + new WaterPressureAsphaltCoverFailureMechanismSectionResultUpdateStrategy()); } /// @@ -1649,7 +1684,7 @@ { return new object[] { - new FailureMechanismSectionsContext(nodeData, assessmentSection), + new GrassCoverSlipOffInwardsFailureMechanismSectionsContext(nodeData, assessmentSection), nodeData.InputComments }; } @@ -1692,7 +1727,7 @@ GetInputs(nodeData.WrappedData, nodeData.Parent), TreeFolderCategory.Input), new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Outputs_DisplayName, - GetOutputs(nodeData.WrappedData), + GetOutputs(nodeData.WrappedData, nodeData.Parent), TreeFolderCategory.Output) }; } @@ -1706,6 +1741,21 @@ }; } + private static IEnumerable GetOutputs(MacroStabilityOutwardsFailureMechanism nodeData, + IAssessmentSection assessmentSection) + { + MacroStabilityOutwardsProbabilityAssessmentInput probabilityAssessmentInput = nodeData.MacroStabilityOutwardsProbabilityAssessmentInput; + return new object[] + { + new GeotechnicalFailureMechanismAssemblyCategoriesContext(nodeData, + assessmentSection, + () => probabilityAssessmentInput.GetN(probabilityAssessmentInput.SectionLength)), + new ProbabilityFailureMechanismSectionResultContext( + nodeData.SectionResults, nodeData, assessmentSection), + nodeData.OutputComments + }; + } + #endregion #region MicrostabilityFailureMechanismContext TreeNodeInfo @@ -1744,7 +1794,7 @@ GetInputs(nodeData.WrappedData, nodeData.Parent), TreeFolderCategory.Input), new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Outputs_DisplayName, - GetOutputs(nodeData.WrappedData), + GetOutputs(nodeData.WrappedData, nodeData.Parent), TreeFolderCategory.Output) }; } @@ -1758,6 +1808,20 @@ }; } + private static IEnumerable GetOutputs(PipingStructureFailureMechanism nodeData, + IAssessmentSection assessmentSection) + { + return new object[] + { + new FailureMechanismAssemblyCategoriesContext(nodeData, + assessmentSection, + () => nodeData.N), + new ProbabilityFailureMechanismSectionResultContext( + nodeData.SectionResults, nodeData, assessmentSection), + nodeData.OutputComments + }; + } + #endregion #region StrengthStabilityLengthwiseConstructionFailureMechanismContext TreeNodeInfo