Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs =================================================================== diff -u -r723f31df6ebe679dd2e20de9ee3095f242379631 -r31791943fdbbfdd377f3a6fc29dc8dbd3f9f5d63 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 723f31df6ebe679dd2e20de9ee3095f242379631) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 31791943fdbbfdd377f3a6fc29dc8dbd3f9f5d63) @@ -2368,101 +2368,101 @@ } /// - /// Looks up a localized string similar to h(A+->A). + /// Looks up a localized string similar to ID. /// - public static string MetaData_DesignWaterLevelCalculation1 { + public static string MetaData_ID { get { - return ResourceManager.GetString("MetaData_DesignWaterLevelCalculation1", resourceCulture); + return ResourceManager.GetString("MetaData_ID", resourceCulture); } } /// - /// Looks up a localized string similar to h(A->B). + /// Looks up a localized string similar to Lengte*. /// - public static string MetaData_DesignWaterLevelCalculation2 { + public static string MetaData_Length_Rounded { get { - return ResourceManager.GetString("MetaData_DesignWaterLevelCalculation2", resourceCulture); + return ResourceManager.GetString("MetaData_Length_Rounded", resourceCulture); } } /// - /// Looks up a localized string similar to h(B->C). + /// Looks up a localized string similar to Naam. /// - public static string MetaData_DesignWaterLevelCalculation3 { + public static string MetaData_Name { get { - return ResourceManager.GetString("MetaData_DesignWaterLevelCalculation3", resourceCulture); + return ResourceManager.GetString("MetaData_Name", resourceCulture); } } /// /// Looks up a localized string similar to h(C->D). /// - public static string MetaData_DesignWaterLevelCalculation4 { + public static string MetaData_WaterLevelCalculationForFactorizedLowerLimit { get { - return ResourceManager.GetString("MetaData_DesignWaterLevelCalculation4", resourceCulture); + return ResourceManager.GetString("MetaData_WaterLevelCalculationForFactorizedLowerLimit", resourceCulture); } } /// - /// Looks up a localized string similar to ID. + /// Looks up a localized string similar to h(A+->A). /// - public static string MetaData_ID { + public static string MetaData_WaterLevelCalculationForFactorizedSignalingNorm { get { - return ResourceManager.GetString("MetaData_ID", resourceCulture); + return ResourceManager.GetString("MetaData_WaterLevelCalculationForFactorizedSignalingNorm", resourceCulture); } } /// - /// Looks up a localized string similar to Lengte*. + /// Looks up a localized string similar to h(B->C). /// - public static string MetaData_Length_Rounded { + public static string MetaData_WaterLevelCalculationForLowerLimit { get { - return ResourceManager.GetString("MetaData_Length_Rounded", resourceCulture); + return ResourceManager.GetString("MetaData_WaterLevelCalculationForLowerLimit", resourceCulture); } } /// - /// Looks up a localized string similar to Naam. + /// Looks up a localized string similar to h(A->B). /// - public static string MetaData_Name { + public static string MetaData_WaterLevelCalculationForSignalingNorm { get { - return ResourceManager.GetString("MetaData_Name", resourceCulture); + return ResourceManager.GetString("MetaData_WaterLevelCalculationForSignalingNorm", resourceCulture); } } /// - /// Looks up a localized string similar to Hs(A+->A). + /// Looks up a localized string similar to Hs(C->D). /// - public static string MetaData_WaveHeightCalculation1 { + public static string MetaData_WaveHeightCalculationForFactorizedLowerLimit { get { - return ResourceManager.GetString("MetaData_WaveHeightCalculation1", resourceCulture); + return ResourceManager.GetString("MetaData_WaveHeightCalculationForFactorizedLowerLimit", resourceCulture); } } /// - /// Looks up a localized string similar to Hs(A->B). + /// Looks up a localized string similar to Hs(A+->A). /// - public static string MetaData_WaveHeightCalculation2 { + public static string MetaData_WaveHeightCalculationForFactorizedSignalingNorm { get { - return ResourceManager.GetString("MetaData_WaveHeightCalculation2", resourceCulture); + return ResourceManager.GetString("MetaData_WaveHeightCalculationForFactorizedSignalingNorm", resourceCulture); } } /// /// Looks up a localized string similar to Hs(B->C). /// - public static string MetaData_WaveHeightCalculation3 { + public static string MetaData_WaveHeightCalculationForLowerLimit { get { - return ResourceManager.GetString("MetaData_WaveHeightCalculation3", resourceCulture); + return ResourceManager.GetString("MetaData_WaveHeightCalculationForLowerLimit", resourceCulture); } } /// - /// Looks up a localized string similar to Hs(C->D). + /// Looks up a localized string similar to Hs(A->B). /// - public static string MetaData_WaveHeightCalculation4 { + public static string MetaData_WaveHeightCalculationForSignalingNorm { get { - return ResourceManager.GetString("MetaData_WaveHeightCalculation4", resourceCulture); + return ResourceManager.GetString("MetaData_WaveHeightCalculationForSignalingNorm", resourceCulture); } } Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx =================================================================== diff -u -r723f31df6ebe679dd2e20de9ee3095f242379631 -r31791943fdbbfdd377f3a6fc29dc8dbd3f9f5d63 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision 723f31df6ebe679dd2e20de9ee3095f242379631) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision 31791943fdbbfdd377f3a6fc29dc8dbd3f9f5d63) @@ -1317,28 +1317,28 @@ N* [-] - + h(A+->A) - + h(A->B) - + h(B->C) - + h(C->D) - + Hs(A+->A) - + Hs(A->B) - + Hs(B->C) - + Hs(C->D) Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj =================================================================== diff -u -r6e0c3a3eec9feb30d964df279e76f2a8e6ae278f -r31791943fdbbfdd377f3a6fc29dc8dbd3f9f5d63 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision 6e0c3a3eec9feb30d964df279e76f2a8e6ae278f) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision 31791943fdbbfdd377f3a6fc29dc8dbd3f9f5d63) @@ -31,6 +31,7 @@ + Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj =================================================================== diff -u -r6e0c3a3eec9feb30d964df279e76f2a8e6ae278f -r31791943fdbbfdd377f3a6fc29dc8dbd3f9f5d63 --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision 6e0c3a3eec9feb30d964df279e76f2a8e6ae278f) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision 31791943fdbbfdd377f3a6fc29dc8dbd3f9f5d63) @@ -56,6 +56,7 @@ + Index: Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil.Test/Ringtoets.Common.Forms.TestUtil.Test.csproj =================================================================== diff -u -r6e0c3a3eec9feb30d964df279e76f2a8e6ae278f -r31791943fdbbfdd377f3a6fc29dc8dbd3f9f5d63 --- Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil.Test/Ringtoets.Common.Forms.TestUtil.Test.csproj (.../Ringtoets.Common.Forms.TestUtil.Test.csproj) (revision 6e0c3a3eec9feb30d964df279e76f2a8e6ae278f) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil.Test/Ringtoets.Common.Forms.TestUtil.Test.csproj (.../Ringtoets.Common.Forms.TestUtil.Test.csproj) (revision 31791943fdbbfdd377f3a6fc29dc8dbd3f9f5d63) @@ -17,6 +17,7 @@ + @@ -62,6 +63,10 @@ {420ED9C3-0C33-47EA-B893-121A9C0DB4F1} Ringtoets.AssemblyTool.Data + + {96C8FDAE-9F59-4D2F-A66E-BE512BB5EECB} + Ringtoets.Integration.Forms.Test + {D4200F43-3F72-4F42-AF0A-8CED416A38EC} Ringtoets.Common.Data Index: Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil/Ringtoets.Common.Forms.TestUtil.csproj =================================================================== diff -u -r6e0c3a3eec9feb30d964df279e76f2a8e6ae278f -r31791943fdbbfdd377f3a6fc29dc8dbd3f9f5d63 --- Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil/Ringtoets.Common.Forms.TestUtil.csproj (.../Ringtoets.Common.Forms.TestUtil.csproj) (revision 6e0c3a3eec9feb30d964df279e76f2a8e6ae278f) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil/Ringtoets.Common.Forms.TestUtil.csproj (.../Ringtoets.Common.Forms.TestUtil.csproj) (revision 31791943fdbbfdd377f3a6fc29dc8dbd3f9f5d63) @@ -21,6 +21,7 @@ + Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs =================================================================== diff -u -r952d226004ac55aa2366e59d351b17d6c18dc584 -r31791943fdbbfdd377f3a6fc29dc8dbd3f9f5d63 --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision 952d226004ac55aa2366e59d351b17d6c18dc584) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision 31791943fdbbfdd377f3a6fc29dc8dbd3f9f5d63) @@ -301,17 +301,21 @@ { CreateInstance = context => new HydraulicBoundaryDatabaseProperties(context.WrappedData) }; - yield return new PropertyInfo + yield return new PropertyInfo { - CreateInstance = context => new FailureMechanismContributionProperties( - context.WrappedData, + CreateInstance = context => new AssessmentSectionCompositionProperties( context.Parent, - new FailureMechanismContributionNormChangeHandler(context.Parent), new AssessmentSectionCompositionChangeHandler(Gui.ViewCommands)) }; + yield return new PropertyInfo + { + CreateInstance = context => new NormProperties( + context.WrappedData, + new FailureMechanismContributionNormChangeHandler(context.AssessmentSection)) + }; yield return new PropertyInfo, StandAloneFailureMechanismProperties> { - CreateInstance = context => new StandAloneFailureMechanismProperties(context.WrappedData) + CreateInstance = context => new StandAloneFailureMechanismProperties(context.WrappedData, context.Parent) }; yield return new PropertyInfo { @@ -395,6 +399,14 @@ AfterCreate = (view, context) => view.AssessmentSection = context.Parent }; + yield return new ViewInfo + { + GetViewName = (view, context) => RingtoetsCommonFormsResources.Norms_DisplayName, + Image = RingtoetsCommonFormsResources.NormsIcon, + CloseForData = CloseAssessmentSectionCategoriesViewForData, + CreateInstance = context => new AssessmentSectionAssemblyCategoriesView(context.AssessmentSection.FailureMechanismContribution) + }; + yield return new ViewInfo, DesignWaterLevelCalculationsView> { GetViewName = (view, context) => $"{RingtoetsFormsResources.DesignWaterLevelCalculationsContext_DisplayName} - {context.CategoryBoundaryName}", @@ -500,15 +512,23 @@ context.WrappedData, (WaterPressureAsphaltCoverFailureMechanism) context.FailureMechanism)); - yield return CreateFailureMechanismResultViewInfo< - MacroStabilityOutwardsFailureMechanism, - MacroStabilityOutwardsFailureMechanismSectionResult, - MacroStabilityOutwardsResultView, - MacroStabilityOutwardsSectionResultRow>( - context => new MacroStabilityOutwardsResultView( + yield return new ViewInfo< + ProbabilityFailureMechanismSectionResultContext, + IEnumerable, + MacroStabilityOutwardsResultView> + { + GetViewName = (view, context) => RingtoetsCommonFormsResources.FailureMechanism_AssessmentResult_DisplayName, + Image = RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon, + CloseForData = CloseFailureMechanismResultViewForData, + GetViewData = context => context.WrappedData, + CreateInstance = context => new MacroStabilityOutwardsResultView( context.WrappedData, (MacroStabilityOutwardsFailureMechanism) context.FailureMechanism, - context.AssessmentSection)); + context.AssessmentSection) + }; yield return new ViewInfo { @@ -702,6 +722,13 @@ ContextMenuStrip = ReferenceLineContextMenuStrip }; + yield return new TreeNodeInfo + { + Text = context => RingtoetsCommonFormsResources.Norms_DisplayName, + Image = context => RingtoetsCommonFormsResources.NormsIcon, + ContextMenuStrip = NormContextMenuStrip + }; + yield return RingtoetsTreeNodeInfoFactory.CreateFailureMechanismContextTreeNodeInfo>( StandAloneFailureMechanismEnabledChildNodeObjects, StandAloneFailureMechanismDisabledChildNodeObjects, @@ -752,7 +779,7 @@ yield return new TreeNodeInfo { Text = hydraulicBoundaryDatabase => RingtoetsFormsResources.HydraulicBoundaryDatabase_DisplayName, - Image = hydraulicBoundaryDatabase => RingtoetsCommonFormsResources.GenericInputOutputIcon, + Image = hydraulicBoundaryDatabase => RingtoetsCommonFormsResources.GeneralFolderIcon, ForeColor = context => context.WrappedData.IsLinked() ? Color.FromKnownColor(KnownColor.ControlText) : Color.FromKnownColor(KnownColor.GrayText), @@ -836,8 +863,16 @@ yield return CreateFailureMechanismSectionResultTreeNodeInfo(); yield return CreateFailureMechanismSectionResultTreeNodeInfo(); yield return CreateFailureMechanismSectionResultTreeNodeInfo(); - yield return CreateFailureMechanismSectionResultTreeNodeInfo(); + yield return new TreeNodeInfo> + { + Text = context => RingtoetsCommonFormsResources.FailureMechanism_AssessmentResult_DisplayName, + Image = context => RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon, + ContextMenuStrip = (nodeData, parentData, treeViewControl) => Gui.Get(nodeData, treeViewControl) + .AddOpenItem() + .Build() + }; + yield return new TreeNodeInfo { Text = comment => RingtoetsIntegrationPluginResources.Comment_DisplayName, @@ -897,16 +932,16 @@ }; } - private static ViewInfo, IEnumerable, TView> CreateFailureMechanismResultViewInfo< + private static ViewInfo, IEnumerable, TView> CreateFailureMechanismResultViewInfo< TFailureMechanism, TResult, TView, TResultRow>( - Func, TView> createInstanceFunc) + Func, TView> createInstanceFunc) where TResult : FailureMechanismSectionResult where TView : FailureMechanismResultView where TFailureMechanism : FailureMechanismBase, IHasSectionResults where TResultRow : FailureMechanismSectionResultRow { return new ViewInfo< - ProbabilityFailureMechanismSectionResultContext, + FailureMechanismSectionResultContext, IEnumerable, TView> { @@ -918,10 +953,10 @@ }; } - private TreeNodeInfo> CreateFailureMechanismSectionResultTreeNodeInfo() + private TreeNodeInfo> CreateFailureMechanismSectionResultTreeNodeInfo() where T : FailureMechanismSectionResult { - return new TreeNodeInfo> + return new TreeNodeInfo> { Text = context => RingtoetsCommonFormsResources.FailureMechanism_AssessmentResult_DisplayName, Image = context => RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon, @@ -1037,6 +1072,16 @@ #endregion + #region NormContext ViewInfo + + private static bool CloseAssessmentSectionCategoriesViewForData(AssessmentSectionAssemblyCategoriesView view, object o) + { + var assessmentSection = o as IAssessmentSection; + return assessmentSection != null && assessmentSection.FailureMechanismContribution == view.FailureMechanismContribution; + } + + #endregion + #region FailureMechanismResults ViewInfo private static bool CloseFailureMechanismResultViewForData(TView view, object dataToCloseFor) @@ -1243,6 +1288,19 @@ #endregion + #region NormContext TreeNodeInfo + + private ContextMenuStrip NormContextMenuStrip(NormContext nodeData, object parentData, TreeViewControl treeViewControl) + { + return Gui.Get(nodeData, treeViewControl) + .AddOpenItem() + .AddSeparator() + .AddPropertiesItem() + .Build(); + } + + #endregion + #region BackgroundData treeNodeInfo private ContextMenuStrip BackgroundDataMenuStrip(BackgroundData nodeData, object parentData, TreeViewControl treeViewControl) @@ -1298,10 +1356,11 @@ { var childNodes = new List { - nodeData.BackgroundData, new ReferenceLineContext(nodeData), + new NormContext(nodeData.FailureMechanismContribution, nodeData), new FailureMechanismContributionContext(nodeData.FailureMechanismContribution, nodeData), new HydraulicBoundaryDatabaseContext(nodeData.HydraulicBoundaryDatabase, nodeData), + nodeData.BackgroundData, nodeData.Comments }; @@ -1387,120 +1446,72 @@ private static IEnumerable GetOutputs(IFailureMechanism nodeData, IAssessmentSection assessmentSection) { - var duneErosion = nodeData as IHasSectionResults; var grassCoverSlipOffInwards = nodeData as IHasSectionResults; var grassCoverSlipOffOutwards = nodeData as IHasSectionResults; var microstability = nodeData as IHasSectionResults; var pipingStructure = nodeData as IHasSectionResults; - var stabilityStoneCover = nodeData as IHasSectionResults; var technicalInnovation = nodeData as IHasSectionResults; var strengthStabilityLengthwiseConstruction = nodeData as IHasSectionResults; var waterPressureAsphaltCover = nodeData as IHasSectionResults; - var waveImpactAsphaltCover = nodeData as IHasSectionResults; - var closingStructures = nodeData as IHasSectionResults; - var macroStabilityInwards = nodeData as IHasSectionResults; var macroStabilityOutwards = nodeData as IHasSectionResults; - var stabilityPointConstruction = nodeData as IHasSectionResults; var failureMechanismSectionResultContexts = new object[2]; - if (duneErosion != null) - { - failureMechanismSectionResultContexts[0] = - new ProbabilityFailureMechanismSectionResultContext( - duneErosion.SectionResults, nodeData, assessmentSection); - } - if (grassCoverSlipOffInwards != null) { failureMechanismSectionResultContexts[0] = - new ProbabilityFailureMechanismSectionResultContext( - grassCoverSlipOffInwards.SectionResults, nodeData, assessmentSection); + new FailureMechanismSectionResultContext( + grassCoverSlipOffInwards.SectionResults, nodeData); } if (grassCoverSlipOffOutwards != null) { failureMechanismSectionResultContexts[0] = - new ProbabilityFailureMechanismSectionResultContext( - grassCoverSlipOffOutwards.SectionResults, nodeData, assessmentSection); + new FailureMechanismSectionResultContext( + grassCoverSlipOffOutwards.SectionResults, nodeData); } if (microstability != null) { failureMechanismSectionResultContexts[0] = - new ProbabilityFailureMechanismSectionResultContext( - microstability.SectionResults, nodeData, assessmentSection); + new FailureMechanismSectionResultContext( + microstability.SectionResults, nodeData); } if (pipingStructure != null) { failureMechanismSectionResultContexts[0] = - new ProbabilityFailureMechanismSectionResultContext( - pipingStructure.SectionResults, nodeData, assessmentSection); + new FailureMechanismSectionResultContext( + pipingStructure.SectionResults, nodeData); } - if (stabilityStoneCover != null) - { - failureMechanismSectionResultContexts[0] = - new ProbabilityFailureMechanismSectionResultContext( - stabilityStoneCover.SectionResults, nodeData, assessmentSection); - } - if (technicalInnovation != null) { failureMechanismSectionResultContexts[0] = - new ProbabilityFailureMechanismSectionResultContext( - technicalInnovation.SectionResults, nodeData, assessmentSection); + new FailureMechanismSectionResultContext( + technicalInnovation.SectionResults, nodeData); } if (strengthStabilityLengthwiseConstruction != null) { failureMechanismSectionResultContexts[0] = - new ProbabilityFailureMechanismSectionResultContext( - strengthStabilityLengthwiseConstruction.SectionResults, nodeData, assessmentSection); + new FailureMechanismSectionResultContext( + strengthStabilityLengthwiseConstruction.SectionResults, nodeData); } if (waterPressureAsphaltCover != null) { failureMechanismSectionResultContexts[0] = - new ProbabilityFailureMechanismSectionResultContext( - waterPressureAsphaltCover.SectionResults, nodeData, assessmentSection); + new FailureMechanismSectionResultContext( + waterPressureAsphaltCover.SectionResults, nodeData); } - if (waveImpactAsphaltCover != null) - { - failureMechanismSectionResultContexts[0] = - new ProbabilityFailureMechanismSectionResultContext( - waveImpactAsphaltCover.SectionResults, nodeData, assessmentSection); - } - - if (closingStructures != null) - { - failureMechanismSectionResultContexts[0] = - new ProbabilityFailureMechanismSectionResultContext( - closingStructures.SectionResults, nodeData, assessmentSection); - } - - if (macroStabilityInwards != null) - { - failureMechanismSectionResultContexts[0] = - new ProbabilityFailureMechanismSectionResultContext( - macroStabilityInwards.SectionResults, nodeData, assessmentSection); - } - if (macroStabilityOutwards != null) { failureMechanismSectionResultContexts[0] = new ProbabilityFailureMechanismSectionResultContext( macroStabilityOutwards.SectionResults, nodeData, assessmentSection); } - if (stabilityPointConstruction != null) - { - failureMechanismSectionResultContexts[0] = - new ProbabilityFailureMechanismSectionResultContext( - stabilityPointConstruction.SectionResults, nodeData, assessmentSection); - } - failureMechanismSectionResultContexts[1] = nodeData.OutputComments; return failureMechanismSectionResultContexts; }