Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs =================================================================== diff -u -rfe8d39190fb0eafc64a4784de4d5634239bbadf8 -r598b39e0bdadfeae788543a07aa8a5ef35670413 --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision fe8d39190fb0eafc64a4784de4d5634239bbadf8) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision 598b39e0bdadfeae788543a07aa8a5ef35670413) @@ -48,7 +48,6 @@ 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; @@ -75,7 +74,6 @@ 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; @@ -158,20 +156,20 @@ ), new FailureMechanismContextAssociation( typeof(GrassCoverSlipOffInwardsFailureMechanism), - (mechanism, assessmentSection) => new FailureMechanismContext( - mechanism, + (mechanism, assessmentSection) => new GrassCoverSlipOffInwardsFailureMechanismContext( + (GrassCoverSlipOffInwardsFailureMechanism) mechanism, assessmentSection) ), new FailureMechanismContextAssociation( typeof(GrassCoverSlipOffOutwardsFailureMechanism), - (mechanism, assessmentSection) => new FailureMechanismContext( - mechanism, + (mechanism, assessmentSection) => new GrassCoverSlipOffOutwardsFailureMechanismContext( + (GrassCoverSlipOffOutwardsFailureMechanism) mechanism, assessmentSection) ), new FailureMechanismContextAssociation( typeof(MicrostabilityFailureMechanism), - (mechanism, assessmentSection) => new FailureMechanismContext( - mechanism, + (mechanism, assessmentSection) => new MicrostabilityFailureMechanismContext( + (MicrostabilityFailureMechanism) mechanism, assessmentSection) ), new FailureMechanismContextAssociation( @@ -188,14 +186,14 @@ ), new FailureMechanismContextAssociation( typeof(TechnicalInnovationFailureMechanism), - (mechanism, assessmentSection) => new FailureMechanismContext( - mechanism, + (mechanism, assessmentSection) => new TechnicalInnovationFailureMechanismContext( + (TechnicalInnovationFailureMechanism) mechanism, assessmentSection) ), new FailureMechanismContextAssociation( typeof(StrengthStabilityLengthwiseConstructionFailureMechanism), - (mechanism, assessmentSection) => new FailureMechanismContext( - mechanism, + (mechanism, assessmentSection) => new StrengthStabilityLengthwiseConstructionFailureMechanismContext( + (StrengthStabilityLengthwiseConstructionFailureMechanism) mechanism, assessmentSection) ), new FailureMechanismContextAssociation( @@ -206,8 +204,8 @@ ), new FailureMechanismContextAssociation( typeof(WaterPressureAsphaltCoverFailureMechanism), - (mechanism, assessmentSection) => new FailureMechanismContext( - mechanism, + (mechanism, assessmentSection) => new WaterPressureAsphaltCoverFailureMechanismContext( + (WaterPressureAsphaltCoverFailureMechanism) mechanism, assessmentSection) ), new FailureMechanismContextAssociation( @@ -794,18 +792,54 @@ StandAloneFailureMechanismEnabledContextMenuStrip, StandAloneFailureMechanismDisabledContextMenuStrip); + yield return RingtoetsTreeNodeInfoFactory.CreateFailureMechanismContextTreeNodeInfo( + GrassCoverSlipOffInwardsFailureMechanismEnabledChildNodeObjects, + StandAloneFailureMechanismDisabledChildNodeObjects, + StandAloneFailureMechanismEnabledContextMenuStrip, + StandAloneFailureMechanismDisabledContextMenuStrip); + + yield return RingtoetsTreeNodeInfoFactory.CreateFailureMechanismContextTreeNodeInfo( + GrassCoverSlipOffOutwardsFailureMechanismEnabledChildNodeObjects, + StandAloneFailureMechanismDisabledChildNodeObjects, + StandAloneFailureMechanismEnabledContextMenuStrip, + StandAloneFailureMechanismDisabledContextMenuStrip); + yield return RingtoetsTreeNodeInfoFactory.CreateFailureMechanismContextTreeNodeInfo( MacroStabilityOutwardsFailureMechanismEnabledChildNodeObjects, - MacroStabilityOutwardsFailureMechanismDisabledChildNodeObjects, - MacroStabilityOutwardsFailureMechanismEnabledContextMenuStrip, - MacroStabilityOutwardsFailureMechanismDisabledContextMenuStrip); + StandAloneFailureMechanismDisabledChildNodeObjects, + StandAloneFailureMechanismEnabledContextMenuStrip, + StandAloneFailureMechanismDisabledContextMenuStrip); + yield return RingtoetsTreeNodeInfoFactory.CreateFailureMechanismContextTreeNodeInfo( + MicrostabilityFailureMechanismEnabledChildNodeObjects, + StandAloneFailureMechanismDisabledChildNodeObjects, + StandAloneFailureMechanismEnabledContextMenuStrip, + StandAloneFailureMechanismDisabledContextMenuStrip); + yield return RingtoetsTreeNodeInfoFactory.CreateFailureMechanismContextTreeNodeInfo( PipingStructureFailureMechanismEnabledChildNodeObjects, - PipingStructureFailureMechanismDisabledChildNodeObjects, - PipingStructureFailureMechanismEnabledContextMenuStrip, - PipingStructureFailureMechanismDisabledContextMenuStrip); + StandAloneFailureMechanismDisabledChildNodeObjects, + StandAloneFailureMechanismEnabledContextMenuStrip, + StandAloneFailureMechanismDisabledContextMenuStrip); + yield return RingtoetsTreeNodeInfoFactory.CreateFailureMechanismContextTreeNodeInfo( + StrengthStabilityLengthwiseConstructionFailureMechanismEnabledChildNodeObjects, + StandAloneFailureMechanismDisabledChildNodeObjects, + StandAloneFailureMechanismEnabledContextMenuStrip, + StandAloneFailureMechanismDisabledContextMenuStrip); + + yield return RingtoetsTreeNodeInfoFactory.CreateFailureMechanismContextTreeNodeInfo( + TechnicalInnovationFailureMechanismEnabledChildNodeObjects, + StandAloneFailureMechanismDisabledChildNodeObjects, + StandAloneFailureMechanismEnabledContextMenuStrip, + StandAloneFailureMechanismDisabledContextMenuStrip); + + yield return RingtoetsTreeNodeInfoFactory.CreateFailureMechanismContextTreeNodeInfo( + WaterPressureAsphaltCoverFailureMechanismEnabledChildNodeObjects, + StandAloneFailureMechanismDisabledChildNodeObjects, + StandAloneFailureMechanismEnabledContextMenuStrip, + StandAloneFailureMechanismDisabledContextMenuStrip); + yield return new TreeNodeInfo { Text = context => RingtoetsCommonFormsResources.FailureMechanismSections_DisplayName, @@ -1503,7 +1537,7 @@ #region StandAloneFailureMechanismContext TreeNodeInfo - private static object[] StandAloneFailureMechanismEnabledChildNodeObjects(FailureMechanismContext nodeData) + private static object[] StandAloneFailureMechanismEnabledChildNodeObjects(IFailureMechanismContext nodeData) { return new object[] { @@ -1516,7 +1550,7 @@ }; } - private static object[] StandAloneFailureMechanismDisabledChildNodeObjects(FailureMechanismContext nodeData) + private static object[] StandAloneFailureMechanismDisabledChildNodeObjects(IFailureMechanismContext nodeData) { return new object[] { @@ -1589,7 +1623,7 @@ return failureMechanismSectionResultContexts; } - private ContextMenuStrip StandAloneFailureMechanismEnabledContextMenuStrip(FailureMechanismContext nodeData, object parentData, TreeViewControl treeViewControl) + private ContextMenuStrip StandAloneFailureMechanismEnabledContextMenuStrip(IFailureMechanismContext nodeData, object parentData, TreeViewControl treeViewControl) { var builder = new RingtoetsContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); @@ -1604,12 +1638,12 @@ .Build(); } - private void RemoveAllViewsForItem(FailureMechanismContext failureMechanismContext) + private void RemoveAllViewsForItem(IFailureMechanismContext failureMechanismContext) { Gui.ViewCommands.RemoveAllViewsForItem(failureMechanismContext); } - private ContextMenuStrip StandAloneFailureMechanismDisabledContextMenuStrip(FailureMechanismContext nodeData, + private ContextMenuStrip StandAloneFailureMechanismDisabledContextMenuStrip(IFailureMechanismContext nodeData, object parentData, TreeViewControl treeViewControl) { @@ -1624,83 +1658,105 @@ #endregion - #region MacroStabilityOutwardsFailureMechanismContext TreeNodeInfo + #region GrassCoverSlipOffInwardsFailureMechanismContext TreeNodeInfo - private static object[] MacroStabilityOutwardsFailureMechanismEnabledChildNodeObjects(MacroStabilityOutwardsFailureMechanismContext nodeData) + private static object[] GrassCoverSlipOffInwardsFailureMechanismEnabledChildNodeObjects(GrassCoverSlipOffInwardsFailureMechanismContext nodeData) { return new object[] { new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Inputs_DisplayName, GetInputs(nodeData.WrappedData, nodeData.Parent), TreeFolderCategory.Input), new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Outputs_DisplayName, - GetOutputs(nodeData.WrappedData, nodeData.Parent), + GetOutputs(nodeData.WrappedData), TreeFolderCategory.Output) }; } - private static object[] MacroStabilityOutwardsFailureMechanismDisabledChildNodeObjects(MacroStabilityOutwardsFailureMechanismContext nodeData) + private static IEnumerable GetInputs(GrassCoverSlipOffInwardsFailureMechanism nodeData, IAssessmentSection assessmentSection) { return new object[] { - nodeData.WrappedData.NotRelevantComments + new FailureMechanismSectionsContext(nodeData, assessmentSection), + nodeData.InputComments }; } - private static IEnumerable GetInputs(MacroStabilityOutwardsFailureMechanism nodeData, IAssessmentSection assessmentSection) + #endregion + + #region GrassCoverSlipOffOutwardsFailureMechanismContext TreeNodeInfo + + private static object[] GrassCoverSlipOffOutwardsFailureMechanismEnabledChildNodeObjects(GrassCoverSlipOffOutwardsFailureMechanismContext nodeData) { return new object[] { + new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Inputs_DisplayName, + GetInputs(nodeData.WrappedData, nodeData.Parent), + TreeFolderCategory.Input), + new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Outputs_DisplayName, + GetOutputs(nodeData.WrappedData), + TreeFolderCategory.Output) + }; + } + + private static IEnumerable GetInputs(GrassCoverSlipOffOutwardsFailureMechanism nodeData, IAssessmentSection assessmentSection) + { + return new object[] + { new FailureMechanismSectionsContext(nodeData, assessmentSection), nodeData.InputComments }; } - private ContextMenuStrip MacroStabilityOutwardsFailureMechanismEnabledContextMenuStrip(MacroStabilityOutwardsFailureMechanismContext nodeData, object parentData, TreeViewControl treeViewControl) - { - var builder = new RingtoetsContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); + #endregion - return builder.AddOpenItem() - .AddSeparator() - .AddToggleRelevancyOfFailureMechanismItem(nodeData, RemoveAllViewsForItem) - .AddSeparator() - .AddCollapseAllItem() - .AddExpandAllItem() - .AddSeparator() - .AddPropertiesItem() - .Build(); - } + #region MacroStabilityOutwardsFailureMechanismContext TreeNodeInfo - private void RemoveAllViewsForItem(MacroStabilityOutwardsFailureMechanismContext failureMechanismContext) + private static object[] MacroStabilityOutwardsFailureMechanismEnabledChildNodeObjects(MacroStabilityOutwardsFailureMechanismContext nodeData) { - Gui.ViewCommands.RemoveAllViewsForItem(failureMechanismContext); + return new object[] + { + new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Inputs_DisplayName, + GetInputs(nodeData.WrappedData, nodeData.Parent), + TreeFolderCategory.Input), + new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Outputs_DisplayName, + GetOutputs(nodeData.WrappedData), + TreeFolderCategory.Output) + }; } - private ContextMenuStrip MacroStabilityOutwardsFailureMechanismDisabledContextMenuStrip(MacroStabilityOutwardsFailureMechanismContext nodeData, - object parentData, - TreeViewControl treeViewControl) + private static IEnumerable GetInputs(MacroStabilityOutwardsFailureMechanism nodeData, IAssessmentSection assessmentSection) { - var builder = new RingtoetsContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); + return new object[] + { + new FailureMechanismSectionsContext(nodeData, assessmentSection), + nodeData.InputComments + }; + } - return builder.AddToggleRelevancyOfFailureMechanismItem(nodeData, RemoveAllViewsForItem) - .AddSeparator() - .AddCollapseAllItem() - .AddExpandAllItem() - .Build(); + #endregion + + #region MicrostabilityFailureMechanismContext TreeNodeInfo + + private static object[] MicrostabilityFailureMechanismEnabledChildNodeObjects(MicrostabilityFailureMechanismContext nodeData) + { + return new object[] + { + new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Inputs_DisplayName, + GetInputs(nodeData.WrappedData, nodeData.Parent), + TreeFolderCategory.Input), + new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Outputs_DisplayName, + GetOutputs(nodeData.WrappedData), + TreeFolderCategory.Output) + }; } - private static IEnumerable GetOutputs(MacroStabilityOutwardsFailureMechanism nodeData, - IAssessmentSection assessmentSection) + private static IEnumerable GetInputs(MicrostabilityFailureMechanism 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 + new FailureMechanismSectionsContext(nodeData, assessmentSection), + nodeData.InputComments }; } @@ -1716,72 +1772,96 @@ GetInputs(nodeData.WrappedData, nodeData.Parent), TreeFolderCategory.Input), new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Outputs_DisplayName, - GetOutputs(nodeData.WrappedData, nodeData.Parent), + GetOutputs(nodeData.WrappedData), TreeFolderCategory.Output) }; } - private static object[] PipingStructureFailureMechanismDisabledChildNodeObjects(PipingStructureFailureMechanismContext nodeData) + private static IEnumerable GetInputs(PipingStructureFailureMechanism nodeData, IAssessmentSection assessmentSection) { return new object[] { - nodeData.WrappedData.NotRelevantComments + new FailureMechanismSectionsContext(nodeData, assessmentSection), + nodeData.InputComments }; } - private static IEnumerable GetInputs(PipingStructureFailureMechanism nodeData, IAssessmentSection assessmentSection) + #endregion + + #region StrengthStabilityLengthwiseConstructionFailureMechanismContext TreeNodeInfo + + private static object[] StrengthStabilityLengthwiseConstructionFailureMechanismEnabledChildNodeObjects( + StrengthStabilityLengthwiseConstructionFailureMechanismContext nodeData) { return new object[] { + new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Inputs_DisplayName, + GetInputs(nodeData.WrappedData, nodeData.Parent), + TreeFolderCategory.Input), + new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Outputs_DisplayName, + GetOutputs(nodeData.WrappedData), + TreeFolderCategory.Output) + }; + } + + private static IEnumerable GetInputs(StrengthStabilityLengthwiseConstructionFailureMechanism nodeData, IAssessmentSection assessmentSection) + { + return new object[] + { new FailureMechanismSectionsContext(nodeData, assessmentSection), nodeData.InputComments }; } - private ContextMenuStrip PipingStructureFailureMechanismEnabledContextMenuStrip(PipingStructureFailureMechanismContext nodeData, object parentData, TreeViewControl treeViewControl) - { - var builder = new RingtoetsContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); + #endregion - return builder.AddOpenItem() - .AddSeparator() - .AddToggleRelevancyOfFailureMechanismItem(nodeData, RemoveAllViewsForItem) - .AddSeparator() - .AddCollapseAllItem() - .AddExpandAllItem() - .AddSeparator() - .AddPropertiesItem() - .Build(); - } + #region TechnicalInnovationFailureMechanismContext TreeNodeInfo - private void RemoveAllViewsForItem(PipingStructureFailureMechanismContext failureMechanismContext) + private static object[] TechnicalInnovationFailureMechanismEnabledChildNodeObjects(TechnicalInnovationFailureMechanismContext nodeData) { - Gui.ViewCommands.RemoveAllViewsForItem(failureMechanismContext); + return new object[] + { + new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Inputs_DisplayName, + GetInputs(nodeData.WrappedData, nodeData.Parent), + TreeFolderCategory.Input), + new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Outputs_DisplayName, + GetOutputs(nodeData.WrappedData), + TreeFolderCategory.Output) + }; } - private ContextMenuStrip PipingStructureFailureMechanismDisabledContextMenuStrip(PipingStructureFailureMechanismContext nodeData, - object parentData, - TreeViewControl treeViewControl) + private static IEnumerable GetInputs(TechnicalInnovationFailureMechanism nodeData, IAssessmentSection assessmentSection) { - var builder = new RingtoetsContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); + return new object[] + { + new FailureMechanismSectionsContext(nodeData, assessmentSection), + nodeData.InputComments + }; + } - return builder.AddToggleRelevancyOfFailureMechanismItem(nodeData, RemoveAllViewsForItem) - .AddSeparator() - .AddCollapseAllItem() - .AddExpandAllItem() - .Build(); + #endregion + + #region WaterPressureAsphaltCoverFailureMechanismContext TreeNodeInfo + + private static object[] WaterPressureAsphaltCoverFailureMechanismEnabledChildNodeObjects(WaterPressureAsphaltCoverFailureMechanismContext nodeData) + { + return new object[] + { + new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Inputs_DisplayName, + GetInputs(nodeData.WrappedData, nodeData.Parent), + TreeFolderCategory.Input), + new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Outputs_DisplayName, + GetOutputs(nodeData.WrappedData), + TreeFolderCategory.Output) + }; } - private static IEnumerable GetOutputs(PipingStructureFailureMechanism nodeData, - IAssessmentSection assessmentSection) + private static IEnumerable GetInputs(WaterPressureAsphaltCoverFailureMechanism nodeData, IAssessmentSection assessmentSection) { return new object[] { - new FailureMechanismAssemblyCategoriesContext(nodeData, - assessmentSection, - () => nodeData.N), - new ProbabilityFailureMechanismSectionResultContext( - nodeData.SectionResults, nodeData, assessmentSection), - nodeData.OutputComments + new FailureMechanismSectionsContext(nodeData, assessmentSection), + nodeData.InputComments }; } Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsPluginTest.cs =================================================================== diff -u -r1c75d2cceb97070923febe8a2bad20caae4e48e6 -r598b39e0bdadfeae788543a07aa8a5ef35670413 --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsPluginTest.cs (.../RingtoetsPluginTest.cs) (revision 1c75d2cceb97070923febe8a2bad20caae4e48e6) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsPluginTest.cs (.../RingtoetsPluginTest.cs) (revision 598b39e0bdadfeae788543a07aa8a5ef35670413) @@ -513,14 +513,19 @@ TreeNodeInfo[] treeNodeInfos = plugin.GetTreeNodeInfos().ToArray(); // Assert - Assert.AreEqual(33, treeNodeInfos.Length); + Assert.AreEqual(39, treeNodeInfos.Length); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(AssessmentSection))); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(BackgroundData))); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(NormContext))); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(ReferenceLineContext))); - Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(FailureMechanismContext))); + Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(GrassCoverSlipOffInwardsFailureMechanismContext))); + Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(GrassCoverSlipOffOutwardsFailureMechanismContext))); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(MacroStabilityOutwardsFailureMechanismContext))); + Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(MicrostabilityFailureMechanismContext))); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(PipingStructureFailureMechanismContext))); + Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(StrengthStabilityLengthwiseConstructionFailureMechanismContext))); + Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(TechnicalInnovationFailureMechanismContext))); + Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(WaterPressureAsphaltCoverFailureMechanismContext))); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(CategoryTreeFolder))); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(FailureMechanismSectionsContext))); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(FailureMechanismContributionContext)));