Index: Ringtoets.sln
===================================================================
diff -u -r8e2e40eeaf74a81592349e4ba75a14f45c9917e2 -r0585edaba71d05905dd6196ded7356dbd5155214
--- Ringtoets.sln (.../Ringtoets.sln) (revision 8e2e40eeaf74a81592349e4ba75a14f45c9917e2)
+++ Ringtoets.sln (.../Ringtoets.sln) (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -308,7 +308,7 @@
{C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC}
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Riskeer.Integration.Forms", "Ringtoets\Integration\src\Ringtoets.Integration.Forms\Riskeer.Integration.Forms.csproj", "{AD0CDC89-0A00-4068-AEEC-9838863C2FE8}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Riskeer.Integration.Forms", "Ringtoets\Integration\src\Riskeer.Integration.Forms\Riskeer.Integration.Forms.csproj", "{AD0CDC89-0A00-4068-AEEC-9838863C2FE8}"
ProjectSection(ProjectDependencies) = postProject
{C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC}
EndProjectSection
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Commands/AddAssessmentSectionCommand.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Commands/AssessmentSectionFromFileCommandHandler.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Commands/IAssessmentSectionFromFileCommandHandler.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Controls/AssessmentSectionAssemblyCategoryGroupControl.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Dialogs/BackgroundMapDataSelectionDialog.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Dialogs/BackgroundMapDataSelectionDialog.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Dialogs/BackgroundMapDataSelectionDialog.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Dialogs/ReferenceLineMetaSelectionDialog.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Dialogs/ReferenceLineMetaSelectionDialog.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Dialogs/ReferenceLineMetaSelectionDialog.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Editors/HlcdFileNameEditor.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Factories/AssessmentSectionAssemblyMapDataFeaturesFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Factories/CombinedSectionAssemblyMapDataFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Factories/GrassCoverSlipOffInwardsAssemblyMapDataFeaturesFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Factories/GrassCoverSlipOffOutwardsAssemblyMapDataFeaturesFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Factories/MacroStabilityOutwardsAssemblyMapDataFeaturesFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Factories/MicrostabilityAssemblyMapDataFeaturesFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Factories/PipingStructureAssemblyMapDataFeaturesFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Factories/StrengthStabilityLengthwiseConstructionAssemblyMapDataFeaturesFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Factories/TechnicalInnovationAssemblyMapDataFeaturesFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Factories/WaterPressureAsphaltCoverAssemblyMapDataFeaturesFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Merge/AssessmentSectionMergeDataProviderDialog.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Merge/AssessmentSectionMergeDataProviderDialog.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Merge/AssessmentSectionMergeDataProviderDialog.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Merge/AssessmentSectionMergeFilePathProvider.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Merge/FailureMechanismMergeDataRow.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Merge/IAssessmentSectionMergeDataProvider.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Merge/IAssessmentSectionMergeFilePathProvider.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Observers/AssessmentSectionResultObserver.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/AssemblyResultCategoriesContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/AssemblyResultPerSectionContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/AssemblyResultPerSectionMapContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/AssemblyResultTotalContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/AssemblyResultsContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/HydraulicBoundaryDatabaseContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/MacroStabilityOutwardsAssemblyCategoriesContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/StandAlone/GrassCoverSlipOffInwardsFailureMechanismContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/StandAlone/GrassCoverSlipOffInwardsFailureMechanismSectionsContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/StandAlone/GrassCoverSlipOffOutwardsFailureMechanismContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/StandAlone/GrassCoverSlipOffOutwardsFailureMechanismSectionsContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/StandAlone/MacroStabilityOutwardsFailureMechanismContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/StandAlone/MacroStabilityOutwardsFailureMechanismSectionsContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/StandAlone/MicrostabilityFailureMechanismContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/StandAlone/MicrostabilityFailureMechanismSectionsContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/StandAlone/PipingStructureFailureMechanismContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/StandAlone/PipingStructureFailureMechanismSectionsContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/StandAlone/StrengthStabilityLengthwiseConstructionFailureMechanismContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/StandAlone/StrengthStabilityLengthwiseConstructionFailureMechanismSectionsContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/StandAlone/TechnicalInnovationFailureMechanismContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/StandAlone/TechnicalInnovationFailureMechanismSectionsContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/StandAlone/WaterPressureAsphaltCoverFailureMechanismContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/StandAlone/WaterPressureAsphaltCoverFailureMechanismSectionsContext.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Properties/AssemblyInfo.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Properties/Resources.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Properties/Resources.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/AssemblyResultCategoriesProperties.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/AssessmentSectionCompositionProperties.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/AssessmentSectionProperties.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/BackgroundDataProperties.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/CalculationContextProperties.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/CalculationGroupContextProperties.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/FailureMechanismAssemblyCategoriesProperties.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/FailureMechanismAssemblyCategoryProperties.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/FailureMechanismSectionAssemblyCategoriesProperties.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/FailureMechanismSectionAssemblyCategoryProperties.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/HydraulicBoundaryDatabaseProperties.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/IAssessmentSectionCompositionChangeHandler.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/IHydraulicLocationConfigurationDatabaseImportHandler.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/NormProperties.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/ReferenceLineProperties.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/RingtoetsProjectProperties.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/StandAlone/MacroStabilityOutwardsFailureMechanismProperties.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/StandAlone/PipingStructureFailureMechanismProperties.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/StandAlone/StandAloneFailureMechanismProperties.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Resources/AddFolder-stand32.png
===================================================================
diff -u -rb2266eb2fad7d6ea2a1f272ef7542e4fb87280d3 -r0585edaba71d05905dd6196ded7356dbd5155214
Binary files differ
Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Resources/folder-stand.png
===================================================================
diff -u -raa5c3620f316831e71797c558a13a0b73a8109df -r0585edaba71d05905dd6196ded7356dbd5155214
Binary files differ
Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Resources/folder-stand32.png
===================================================================
diff -u -r22d01e841d2ecdf9249422f7436625eb7fc5ea17 -r0585edaba71d05905dd6196ded7356dbd5155214
Binary files differ
Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Resources/map.png
===================================================================
diff -u -racbd08302b69fc06e5cade26def0dea4d35e3b92 -r0585edaba71d05905dd6196ded7356dbd5155214
Binary files differ
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/RingtoetsSettingsHelper.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Riskeer.Integration.Forms.csproj'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssemblyCategoriesTable.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssemblyCategoryRow.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssemblyResultCategoriesView.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssemblyResultCategoriesView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssemblyResultCategoriesView.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssemblyResultPerSectionMapView.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssemblyResultPerSectionMapView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssemblyResultPerSectionMapView.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssemblyResultPerSectionView.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssemblyResultPerSectionView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssemblyResultPerSectionView.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssemblyResultTotalView.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssemblyResultTotalView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssemblyResultTotalView.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssessmentSectionAssemblyCategoriesView.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssessmentSectionAssemblyCategoriesView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssessmentSectionAssemblyCategoriesView.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssessmentSectionView.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssessmentSectionView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssessmentSectionView.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/CombinedFailureMechanismSectionAssemblyResultRow.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismAssemblyCategoriesView.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismAssemblyCategoriesView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismAssemblyCategoriesView.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismAssemblyCategoryGroupResultRow.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismAssemblyResultRow.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismAssemblyResultRowBase.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismContributionItemRow.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismContributionView.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismContributionView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismContributionView.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismWithDetailedAssessmentView.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismWithDetailedAssessmentView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismWithDetailedAssessmentView.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismWithoutDetailedAssessmentView.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismWithoutDetailedAssessmentView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismWithoutDetailedAssessmentView.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/MacroStabilityOutwardsAssemblyCategoriesView.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/MacroStabilityOutwardsAssemblyCategoriesView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/MacroStabilityOutwardsAssemblyCategoriesView.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultRows/GrassCoverSlipOffInwardsSectionResultRow.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultRows/GrassCoverSlipOffOutwardsSectionResultRow.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultRows/MacroStabilityOutwardsSectionResultRow.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultRows/MicrostabilitySectionResultRow.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultRows/PipingStructureSectionResultRow.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultRows/StrengthStabilityLengthwiseConstructionSectionResultRow.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultRows/TechnicalInnovationSectionResultRow.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultRows/WaterPressureAsphaltCoverSectionResultRow.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultViews/GrassCoverSlipOffInwardsResultView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultViews/GrassCoverSlipOffOutwardsResultView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultViews/MacroStabilityOutwardsResultView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultViews/MicrostabilityResultView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultViews/PipingStructureResultView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultViews/StrengthStabilityLengthwiseConstructionResultView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultViews/TechnicalInnovationResultView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultViews/WaterPressureAsphaltCoverResultView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0585edaba71d05905dd6196ded7356dbd5155214 refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/packages.config'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Commands/AddAssessmentSectionCommand.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Commands/AddAssessmentSectionCommand.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Commands/AddAssessmentSectionCommand.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,62 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Controls.Commands;
+
+namespace Riskeer.Integration.Forms.Commands
+{
+ ///
+ /// This class describes commands which are used to execute in the GUI.
+ ///
+ public class AddAssessmentSectionCommand : ICommand
+ {
+ private readonly IAssessmentSectionFromFileCommandHandler assessmentSectionFromFileCommandHandler;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The to execute.
+ /// Throw when is null.
+ public AddAssessmentSectionCommand(IAssessmentSectionFromFileCommandHandler assessmentSectionFromFileCommandHandler)
+ {
+ if (assessmentSectionFromFileCommandHandler == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSectionFromFileCommandHandler));
+ }
+
+ this.assessmentSectionFromFileCommandHandler = assessmentSectionFromFileCommandHandler;
+ }
+
+ public bool Checked
+ {
+ get
+ {
+ return true;
+ }
+ }
+
+ public void Execute()
+ {
+ assessmentSectionFromFileCommandHandler.AddAssessmentSectionFromFile();
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Commands/AssessmentSectionFromFileCommandHandler.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Commands/AssessmentSectionFromFileCommandHandler.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Commands/AssessmentSectionFromFileCommandHandler.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,371 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
+using System.Windows.Forms;
+using Core.Common.Base;
+using Core.Common.Base.Data;
+using Core.Common.Base.IO;
+using Core.Common.Gui;
+using Core.Common.Gui.Forms.ViewHost;
+using log4net;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.Contribution;
+using Ringtoets.Common.Forms.Helpers;
+using Ringtoets.Common.IO;
+using Ringtoets.Common.IO.Exceptions;
+using Ringtoets.Common.IO.ReferenceLines;
+using Riskeer.Integration.Data;
+using Riskeer.Integration.Forms.Properties;
+using Riskeer.Integration.Forms.Dialogs;
+using IntegrationResources = Riskeer.Integration.Data.Properties.Resources;
+using BaseResources = Core.Common.Base.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.Commands
+{
+ ///
+ /// This class is responsible for adding an from a predefined location.
+ ///
+ public class AssessmentSectionFromFileCommandHandler : IAssessmentSectionFromFileCommandHandler
+ {
+ private static readonly ILog log = LogManager.GetLogger(typeof(AssessmentSectionFromFileCommandHandler));
+ private readonly string shapeFileDirectory = RingtoetsSettingsHelper.GetCommonDocumentsRingtoetsShapeFileDirectory();
+
+ private readonly IWin32Window dialogParent;
+ private readonly IProjectOwner projectOwner;
+ private readonly IDocumentViewController viewController;
+ private IEnumerable settings;
+ private IEnumerable referenceLineMetas = new List();
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The parent of the dialog.
+ /// The class owning the application project.
+ /// The document view controller.
+ /// Thrown when any parameter is null.
+ public AssessmentSectionFromFileCommandHandler(IWin32Window dialogParent, IProjectOwner projectOwner, IDocumentViewController viewController)
+ {
+ if (dialogParent == null)
+ {
+ throw new ArgumentNullException(nameof(dialogParent));
+ }
+
+ if (projectOwner == null)
+ {
+ throw new ArgumentNullException(nameof(projectOwner));
+ }
+
+ if (viewController == null)
+ {
+ throw new ArgumentNullException(nameof(viewController));
+ }
+
+ this.dialogParent = dialogParent;
+ this.projectOwner = projectOwner;
+ this.viewController = viewController;
+ }
+
+ public void AddAssessmentSectionFromFile()
+ {
+ if (!TryReadSourceFiles())
+ {
+ return;
+ }
+
+ AssessmentSection assessmentSection = GetAssessmentSectionFromDialog();
+ var ringtoetsProject = projectOwner.Project as RingtoetsProject;
+ if (assessmentSection == null || ringtoetsProject == null)
+ {
+ return;
+ }
+
+ SetAssessmentSectionToProject(ringtoetsProject, assessmentSection);
+ }
+
+ #region Dialog
+
+ private AssessmentSection GetAssessmentSectionFromDialog()
+ {
+ using (ReferenceLineMetaSelectionDialog dialog = CreateReferenceLineMetaSelectionDialogWithItems())
+ {
+ if (dialog.ShowDialog() != DialogResult.OK)
+ {
+ return null;
+ }
+
+ ReferenceLineMeta selectedItem = dialog.SelectedReferenceLineMeta;
+
+ return selectedItem == null
+ ? null
+ : TryCreateAssessmentSection(selectedItem,
+ dialog.SelectedLowerLimitNorm,
+ dialog.SelectedSignalingNorm,
+ dialog.SelectedNormativeNorm);
+ }
+ }
+
+ private ReferenceLineMetaSelectionDialog CreateReferenceLineMetaSelectionDialogWithItems()
+ {
+ return new ReferenceLineMetaSelectionDialog(dialogParent, referenceLineMetas);
+ }
+
+ #endregion
+
+ #region Set AssessmentSection to Project
+
+ private static void SetFailureMechanismsValueN(AssessmentSection assessmentSection, int n)
+ {
+ var roundedN = (RoundedDouble) n;
+ assessmentSection.GrassCoverErosionInwards.GeneralInput.N = roundedN;
+ assessmentSection.GrassCoverErosionOutwards.GeneralInput.N = roundedN;
+ assessmentSection.HeightStructures.GeneralInput.N = roundedN;
+ }
+
+ private void SetAssessmentSectionToProject(RingtoetsProject ringtoetsProject, AssessmentSection assessmentSection)
+ {
+ assessmentSection.Name = GetUniqueForAssessmentSectionName(ringtoetsProject.AssessmentSections, assessmentSection.Name);
+ ringtoetsProject.AssessmentSections.Add(assessmentSection);
+ ringtoetsProject.NotifyObservers();
+
+ viewController.OpenViewForData(assessmentSection);
+ }
+
+ private static string GetUniqueForAssessmentSectionName(IEnumerable assessmentSections, string baseName)
+ {
+ return NamingHelper.GetUniqueName(assessmentSections, baseName, a => a.Name);
+ }
+
+ #endregion
+
+ #region Create AssessmentSection
+
+ ///
+ /// Creates a new instance of with
+ /// set to .
+ ///
+ /// The lower limit norm of the assessment section.
+ /// The signaling norm which of the assessment section.
+ /// The newly created .
+ /// Thrown when:
+ ///
+ /// is not in the interval [0.000001, 0.1] or is ;
+ /// is not in the interval [0.000001, 0.1] or is ;
+ /// The is larger than .
+ ///
+ ///
+ private static AssessmentSection CreateDikeAssessmentSection(double lowerLimitNorm, double signalingNorm)
+ {
+ return new AssessmentSection(AssessmentSectionComposition.Dike, lowerLimitNorm, signalingNorm);
+ }
+
+ ///
+ /// Creates a new instance of with
+ /// set to .
+ ///
+ /// The lower limit norm of the assessment section.
+ /// The signaling norm which of the assessment section.
+ /// The 'N' parameter used to factor in the 'length effect'.
+ /// The newly created .
+ /// Thrown when:
+ ///
+ /// is not in the interval [0.000001, 0.1] or is ;
+ /// is not in the interval [0.000001, 0.1] or is ;
+ /// The is larger than .
+ ///
+ ///
+ private static AssessmentSection CreateDikeAssessmentSection(double lowerLimitNorm, double signalingNorm, int n)
+ {
+ AssessmentSection assessmentSection = CreateDikeAssessmentSection(lowerLimitNorm, signalingNorm);
+ SetFailureMechanismsValueN(assessmentSection, n);
+ return assessmentSection;
+ }
+
+ ///
+ /// Creates a new instance of with
+ /// set to .
+ ///
+ /// The lower limit norm of the assessment section.
+ /// The signaling norm which of the assessment section.
+ /// The 'N' parameter used to factor in the 'length effect'.
+ /// The newly created .
+ /// Thrown when:
+ ///
+ /// is not in the interval [0.000001, 0.1] or is ;
+ /// is not in the interval [0.000001, 0.1] or is ;
+ /// The is larger than .
+ ///
+ ///
+ private static AssessmentSection CreateDuneAssessmentSection(double lowerLimitNorm, double signalingNorm, int n)
+ {
+ var duneAssessmentSection = new AssessmentSection(AssessmentSectionComposition.Dune,
+ lowerLimitNorm,
+ signalingNorm);
+ SetFailureMechanismsValueN(duneAssessmentSection, n);
+ return duneAssessmentSection;
+ }
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The selected .
+ /// The lower limit norm of the assessment section.
+ /// The signaling norm which of the assessment section.
+ /// The norm type of the assessment section.
+ /// The newly created .
+ /// Thrown when:
+ ///
+ /// is not in the interval [0.000001, 0.1] or is ;
+ /// is not in the interval [0.000001, 0.1] or is ;
+ /// The is larger than .
+ ///
+ ///
+ private AssessmentSection CreateAssessmentSection(ReferenceLineMeta selectedItem,
+ double lowerLimitNorm,
+ double signalingNorm,
+ NormType normativeNorm)
+ {
+ AssessmentSection assessmentSection;
+ AssessmentSectionSettings settingOfSelectedAssessmentSection = settings.FirstOrDefault(s => s.AssessmentSectionId == selectedItem.AssessmentSectionId);
+ if (settingOfSelectedAssessmentSection == null)
+ {
+ log.Warn(Resources.AssessmentSectionFromFileCommandHandler_CreateAssessmentSection_No_settings_found_for_AssessmentSection);
+ assessmentSection = CreateDikeAssessmentSection(lowerLimitNorm, signalingNorm);
+ }
+ else
+ {
+ assessmentSection = settingOfSelectedAssessmentSection.IsDune
+ ? CreateDuneAssessmentSection(lowerLimitNorm,
+ signalingNorm,
+ settingOfSelectedAssessmentSection.N)
+ : CreateDikeAssessmentSection(lowerLimitNorm,
+ signalingNorm,
+ settingOfSelectedAssessmentSection.N);
+ }
+
+ assessmentSection.Name = string.Format(IntegrationResources.AssessmentSection_Id_0, selectedItem.AssessmentSectionId);
+ assessmentSection.Id = selectedItem.AssessmentSectionId;
+
+ if (!selectedItem.ReferenceLine.Points.Any())
+ {
+ log.Warn(Resources.AssessmentSectionFromFileCommandHandler_CreateAssessmentSection_Importing_ReferenceLineFailed);
+ }
+ else
+ {
+ assessmentSection.ReferenceLine.SetGeometry(selectedItem.ReferenceLine.Points);
+ }
+
+ assessmentSection.FailureMechanismContribution.NormativeNorm = normativeNorm;
+
+ return assessmentSection;
+ }
+
+ private AssessmentSection TryCreateAssessmentSection(ReferenceLineMeta selectedItem,
+ double lowerLimitNorm,
+ double signalingNorm,
+ NormType normativeNorm)
+ {
+ try
+ {
+ return CreateAssessmentSection(selectedItem,
+ lowerLimitNorm,
+ signalingNorm,
+ normativeNorm);
+ }
+ catch (ArgumentOutOfRangeException exception)
+ {
+ var normValidityRange = new Range(1.0 / 1000000, 1.0 / 10);
+ string message = string.Format(Resources.AssessmentSectionFromFileCommandHandler_Unable_to_create_assessmentSection_with_LowerLimitNorm_0_and_SignalingNorm_1_Norms_should_be_in_Range_2_,
+ ProbabilityFormattingHelper.Format(lowerLimitNorm),
+ ProbabilityFormattingHelper.Format(signalingNorm),
+ normValidityRange.ToString(FormattableConstants.ShowAtLeastOneDecimal, CultureInfo.CurrentCulture));
+
+ log.Error(message, exception);
+ }
+
+ return null;
+ }
+
+ #endregion
+
+ #region Validators
+
+ private bool TryReadSourceFiles()
+ {
+ ReadAssessmentSectionSettings();
+
+ try
+ {
+ ReadReferenceLineMetas();
+ }
+ catch (CriticalFileValidationException exception)
+ {
+ MessageBox.Show(exception.Message, BaseResources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ log.Error(exception.Message, exception.InnerException);
+ return false;
+ }
+ catch (CriticalFileReadException exception)
+ {
+ log.Error(exception.Message, exception.InnerException);
+ return false;
+ }
+
+ return true;
+ }
+
+ ///
+ /// Reads all objects from the shape file located at .
+ ///
+ /// Thrown when:
+ ///
+ /// points to an invalid directory.
+ /// The path does not contain any shape files.
+ /// Thrown when the shape file does not contain poly lines.
+ ///
+ /// Thrown when:
+ ///
+ /// The shape file does not contain the required attributes.
+ /// The assessment section ids in the shape file are not unique or are missing.
+ /// No could be read from the shape file.
+ ///
+ private void ReadReferenceLineMetas()
+ {
+ var importer = new ReferenceLineMetaImporter(shapeFileDirectory);
+ referenceLineMetas = importer.GetReferenceLineMetas();
+
+ if (!referenceLineMetas.Any())
+ {
+ throw new CriticalFileValidationException(Resources.AssessmentSectionFromFileCommandHandler_ValidateReferenceLineMetas_No_referenceLines_in_file);
+ }
+ }
+
+ private void ReadAssessmentSectionSettings()
+ {
+ var reader = new AssessmentSectionSettingsReader();
+ settings = reader.ReadSettings();
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Commands/IAssessmentSectionFromFileCommandHandler.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Commands/IAssessmentSectionFromFileCommandHandler.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Commands/IAssessmentSectionFromFileCommandHandler.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,38 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Core.Common.Base.Data;
+using Ringtoets.Common.Data.AssessmentSection;
+
+namespace Riskeer.Integration.Forms.Commands
+{
+ ///
+ /// Interface for handling commands related to adding to a .
+ ///
+ public interface IAssessmentSectionFromFileCommandHandler
+ {
+ ///
+ /// Displays available objects to the user and asks to select one.
+ /// The selected , if any, will be added to the .
+ ///
+ void AddAssessmentSectionFromFile();
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Controls/AssessmentSectionAssemblyCategoryGroupControl.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Controls/AssessmentSectionAssemblyCategoryGroupControl.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Controls/AssessmentSectionAssemblyCategoryGroupControl.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,50 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.ComponentModel;
+using Core.Common.Util;
+using Ringtoets.Common.Forms.Controls;
+using Ringtoets.Common.Forms.Helpers;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.Integration.Forms.Controls
+{
+ ///
+ /// Control to display a .
+ ///
+ public class AssessmentSectionAssemblyCategoryGroupControl : AssemblyResultControl
+ {
+ ///
+ /// Sets the value of on the control.
+ ///
+ /// The to set on the control.
+ /// Thrown when
+ /// has an invalid value for .
+ /// Thrown when
+ /// is not supported.
+ public void SetAssemblyResult(AssessmentSectionAssemblyCategoryGroup result)
+ {
+ GroupLabel.Text = new EnumDisplayWrapper(result).DisplayName;
+ GroupLabel.BackColor = AssemblyCategoryGroupColorHelper.GetAssessmentSectionAssemblyCategoryGroupColor(result);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Dialogs/BackgroundMapDataSelectionDialog.Designer.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Dialogs/BackgroundMapDataSelectionDialog.Designer.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Dialogs/BackgroundMapDataSelectionDialog.Designer.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,135 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+namespace Riskeer.Integration.Forms.Dialogs
+{
+ partial class BackgroundMapDataSelectionDialog
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BackgroundMapDataSelectionDialog));
+ this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
+ this.flowLayoutPanel2 = new System.Windows.Forms.FlowLayoutPanel();
+ this.mapLayerLabel = new System.Windows.Forms.Label();
+ this.mapLayerComboBox = new System.Windows.Forms.ComboBox();
+ this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
+ this.cancelButton = new System.Windows.Forms.Button();
+ this.selectButton = new System.Windows.Forms.Button();
+ this.propertiesGroupBox = new System.Windows.Forms.GroupBox();
+ this.tableLayoutPanel1.SuspendLayout();
+ this.flowLayoutPanel2.SuspendLayout();
+ this.flowLayoutPanel1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // tableLayoutPanel1
+ //
+ resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
+ this.tableLayoutPanel1.Controls.Add(this.flowLayoutPanel2, 0, 0);
+ this.tableLayoutPanel1.Controls.Add(this.flowLayoutPanel1, 0, 2);
+ this.tableLayoutPanel1.Controls.Add(this.propertiesGroupBox, 0, 1);
+ this.tableLayoutPanel1.Name = "tableLayoutPanel1";
+ //
+ // flowLayoutPanel2
+ //
+ resources.ApplyResources(this.flowLayoutPanel2, "flowLayoutPanel2");
+ this.flowLayoutPanel2.Controls.Add(this.mapLayerLabel);
+ this.flowLayoutPanel2.Controls.Add(this.mapLayerComboBox);
+ this.flowLayoutPanel2.Name = "flowLayoutPanel2";
+ //
+ // mapLayerLabel
+ //
+ resources.ApplyResources(this.mapLayerLabel, "mapLayerLabel");
+ this.mapLayerLabel.Name = "mapLayerLabel";
+ //
+ // mapLayerComboBox
+ //
+ this.mapLayerComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.mapLayerComboBox.FormattingEnabled = true;
+ resources.ApplyResources(this.mapLayerComboBox, "mapLayerComboBox");
+ this.mapLayerComboBox.Name = "mapLayerComboBox";
+ this.mapLayerComboBox.Sorted = true;
+ this.mapLayerComboBox.SelectedIndexChanged += new System.EventHandler(this.MapLayerComboBox_OnSelectedIndexChanged);
+ //
+ // flowLayoutPanel1
+ //
+ resources.ApplyResources(this.flowLayoutPanel1, "flowLayoutPanel1");
+ this.flowLayoutPanel1.Controls.Add(this.cancelButton);
+ this.flowLayoutPanel1.Controls.Add(this.selectButton);
+ this.flowLayoutPanel1.Name = "flowLayoutPanel1";
+ //
+ // cancelButton
+ //
+ this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ resources.ApplyResources(this.cancelButton, "cancelButton");
+ this.cancelButton.Name = "cancelButton";
+ this.cancelButton.UseVisualStyleBackColor = true;
+ //
+ // selectButton
+ //
+ resources.ApplyResources(this.selectButton, "selectButton");
+ this.selectButton.Name = "selectButton";
+ this.selectButton.UseVisualStyleBackColor = true;
+ this.selectButton.Click += new System.EventHandler(this.OnSelectButtonClick);
+ //
+ // propertiesGroupBox
+ //
+ resources.ApplyResources(this.propertiesGroupBox, "propertiesGroupBox");
+ this.propertiesGroupBox.Name = "propertiesGroupBox";
+ this.propertiesGroupBox.TabStop = false;
+ //
+ // BackgroundMapDataSelectionDialog
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.tableLayoutPanel1);
+ this.Name = "BackgroundMapDataSelectionDialog";
+ this.tableLayoutPanel1.ResumeLayout(false);
+ this.tableLayoutPanel1.PerformLayout();
+ this.flowLayoutPanel2.ResumeLayout(false);
+ this.flowLayoutPanel2.PerformLayout();
+ this.flowLayoutPanel1.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
+ private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
+ private System.Windows.Forms.Button cancelButton;
+ private System.Windows.Forms.Button selectButton;
+ private System.Windows.Forms.GroupBox propertiesGroupBox;
+ private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel2;
+ private System.Windows.Forms.Label mapLayerLabel;
+ private System.Windows.Forms.ComboBox mapLayerComboBox;
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Dialogs/BackgroundMapDataSelectionDialog.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Dialogs/BackgroundMapDataSelectionDialog.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Dialogs/BackgroundMapDataSelectionDialog.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,177 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows.Forms;
+using Core.Common.Controls.Dialogs;
+using Core.Components.BruTile.Forms;
+using Core.Components.Gis.Data;
+using Core.Components.Gis.Forms.Views;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.Dialogs
+{
+ ///
+ /// A dialog which allows the user to make a selection from a given set of background layers. Upon
+ /// closing of the dialog, the selected background layer can be obtained.
+ ///
+ public partial class BackgroundMapDataSelectionDialog : DialogBase
+ {
+ private readonly HashSet mapDatas;
+ private BackgroundMapDataSelectionControl currentBackgroundMapDataSelectionControl;
+ private bool mapLayerComboBoxUpdating;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The parent of the dialog.
+ /// The active map data or null if none is active.
+ /// Thrown when is null.
+ public BackgroundMapDataSelectionDialog(IWin32Window dialogParent, ImageBasedMapData mapData)
+ : base(dialogParent, RingtoetsCommonFormsResources.SelectionDialogIcon, 500, 350)
+ {
+ mapDatas = new HashSet
+ {
+ new WellKnownMapDataControl(mapData as WellKnownTileSourceMapData),
+ new WmtsLocationControl(mapData as WmtsMapData, new BruTileWmtsCapabilityFactory())
+ };
+
+ InitializeComponent();
+ InitializeButtons();
+
+ BackgroundMapDataSelectionControl controlToSelect = GetBackgroundMapDataControlToSelect(mapData);
+ PreSelectComboBox(controlToSelect);
+ }
+
+ ///
+ /// Gets the selected or null if none selected.
+ ///
+ public ImageBasedMapData SelectedMapData { get; private set; }
+
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing)
+ {
+ components?.Dispose();
+ }
+
+ base.Dispose(disposing);
+ }
+
+ private BackgroundMapDataSelectionControl GetBackgroundMapDataControlToSelect(ImageBasedMapData mapData)
+ {
+ if (mapData is WellKnownTileSourceMapData)
+ {
+ return mapDatas.OfType().Single();
+ }
+
+ if (mapData is WmtsMapData)
+ {
+ return mapDatas.OfType().Single();
+ }
+
+ return mapDatas.First();
+ }
+
+ private void UpdatePropertiesGroupBox(BackgroundMapDataSelectionControl newBackgroundMapDataSelectionControl)
+ {
+ if (currentBackgroundMapDataSelectionControl != null)
+ {
+ currentBackgroundMapDataSelectionControl.SelectedMapDataChanged -= OnSelectedMapDataSelectionChanged;
+ }
+
+ propertiesGroupBox.Controls.Clear();
+ propertiesGroupBox.Controls.Add(newBackgroundMapDataSelectionControl);
+ newBackgroundMapDataSelectionControl.Dock = DockStyle.Fill;
+ newBackgroundMapDataSelectionControl.SelectedMapDataChanged += OnSelectedMapDataSelectionChanged;
+
+ currentBackgroundMapDataSelectionControl = newBackgroundMapDataSelectionControl;
+ UpdateSelectButton();
+ }
+
+ #region ComboBox
+
+ private void PreSelectComboBox(BackgroundMapDataSelectionControl controlToSelect)
+ {
+ mapLayerComboBox.BeginUpdate();
+
+ mapLayerComboBoxUpdating = true;
+ mapLayerComboBox.DataSource = mapDatas.ToArray();
+ mapLayerComboBox.DisplayMember = nameof(BackgroundMapDataSelectionControl.DisplayName);
+ mapLayerComboBox.SelectedItem = null;
+ mapLayerComboBoxUpdating = false;
+
+ mapLayerComboBox.EndUpdate();
+
+ mapLayerComboBox.SelectedItem = controlToSelect;
+ currentBackgroundMapDataSelectionControl = controlToSelect;
+ }
+
+ #endregion
+
+ #region Buttons
+
+ private void InitializeButtons()
+ {
+ UpdateSelectButton();
+ }
+
+ private void UpdateSelectButton()
+ {
+ selectButton.Enabled = currentBackgroundMapDataSelectionControl?.SelectedMapData != null;
+ }
+
+ protected override Button GetCancelButton()
+ {
+ return cancelButton;
+ }
+
+ #endregion
+
+ #region Event handlers
+
+ private void OnSelectButtonClick(object sender, EventArgs e)
+ {
+ SelectedMapData = currentBackgroundMapDataSelectionControl.SelectedMapData;
+ DialogResult = DialogResult.OK;
+ Close();
+ }
+
+ private void OnSelectedMapDataSelectionChanged(object sender, EventArgs e)
+ {
+ UpdateSelectButton();
+ }
+
+ private void MapLayerComboBox_OnSelectedIndexChanged(object sender, EventArgs eventArgs)
+ {
+ if (mapLayerComboBoxUpdating || mapLayerComboBox.SelectedIndex == -1)
+ {
+ return;
+ }
+
+ UpdatePropertiesGroupBox((BackgroundMapDataSelectionControl) mapLayerComboBox.SelectedItem);
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Dialogs/BackgroundMapDataSelectionDialog.resx
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Dialogs/BackgroundMapDataSelectionDialog.resx (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Dialogs/BackgroundMapDataSelectionDialog.resx (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,357 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ 1
+
+
+ True
+
+
+ True
+
+
+
+ 3, 6
+
+
+
+ 3, 6, 3, 0
+
+
+ 78, 13
+
+
+ 0
+
+
+ Type kaartlaag
+
+
+ mapLayerLabel
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ flowLayoutPanel2
+
+
+ 0
+
+
+ 87, 3
+
+
+ 255, 21
+
+
+ 0
+
+
+ mapLayerComboBox
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ flowLayoutPanel2
+
+
+ 1
+
+
+ Top
+
+
+ 3, 3
+
+
+ 728, 27
+
+
+ 0
+
+
+ flowLayoutPanel2
+
+
+ System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanel1
+
+
+ 0
+
+
+ True
+
+
+ 650, 3
+
+
+ 75, 23
+
+
+ 1
+
+
+ Annuleren
+
+
+ cancelButton
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ flowLayoutPanel1
+
+
+ 0
+
+
+ 569, 3
+
+
+ 75, 23
+
+
+ 2
+
+
+ Selecteren
+
+
+ selectButton
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ flowLayoutPanel1
+
+
+ 1
+
+
+ Bottom
+
+
+ 3, 480
+
+
+ Yes
+
+
+ 728, 29
+
+
+ 0
+
+
+ flowLayoutPanel1
+
+
+ System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanel1
+
+
+ 1
+
+
+ Fill
+
+
+ 3, 36
+
+
+ 728, 438
+
+
+ 1
+
+
+ Eigenschappen
+
+
+ propertiesGroupBox
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanel1
+
+
+ 2
+
+
+ Fill
+
+
+ 0, 0
+
+
+ 3
+
+
+ 734, 512
+
+
+ 0
+
+
+ tableLayoutPanel1
+
+
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 0
+
+
+ <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="flowLayoutPanel2" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="flowLayoutPanel1" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="propertiesGroupBox" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="AutoSize,0,Percent,100,AutoSize,0,Absolute,20,Absolute,20" /></TableLayoutSettings>
+
+
+ True
+
+
+ 6, 13
+
+
+ 734, 512
+
+
+ Selecteer achtergrondkaart
+
+
+ BackgroundMapDataSelectionDialog
+
+
+ System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Dialogs/ReferenceLineMetaSelectionDialog.Designer.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Dialogs/ReferenceLineMetaSelectionDialog.Designer.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Dialogs/ReferenceLineMetaSelectionDialog.Designer.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,160 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+namespace Riskeer.Integration.Forms.Dialogs
+{
+ partial class ReferenceLineMetaSelectionDialog
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ReferenceLineMetaSelectionDialog));
+ this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
+ this.Cancel = new System.Windows.Forms.Button();
+ this.Ok = new System.Windows.Forms.Button();
+ this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
+ this.LowLimitValueRadioButton = new System.Windows.Forms.RadioButton();
+ this.SignallingValueRadioButton = new System.Windows.Forms.RadioButton();
+ this.ReferenceLineMetaDataGridViewControl = new Core.Common.Controls.DataGrid.DataGridViewControl();
+ this.SelectAssessmentSectionLabel = new System.Windows.Forms.Label();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.flowLayoutPanel1.SuspendLayout();
+ this.tableLayoutPanel1.SuspendLayout();
+ this.groupBox1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // flowLayoutPanel1
+ //
+ resources.ApplyResources(this.flowLayoutPanel1, "flowLayoutPanel1");
+ this.flowLayoutPanel1.Controls.Add(this.Cancel);
+ this.flowLayoutPanel1.Controls.Add(this.Ok);
+ this.flowLayoutPanel1.Name = "flowLayoutPanel1";
+ //
+ // Cancel
+ //
+ this.Cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ resources.ApplyResources(this.Cancel, "Cancel");
+ this.Cancel.Name = "Cancel";
+ this.Cancel.UseVisualStyleBackColor = true;
+ this.Cancel.Click += new System.EventHandler(this.CancelButtonOnClick);
+ //
+ // Ok
+ //
+ this.Ok.DialogResult = System.Windows.Forms.DialogResult.OK;
+ resources.ApplyResources(this.Ok, "Ok");
+ this.Ok.Name = "Ok";
+ this.Ok.UseVisualStyleBackColor = true;
+ this.Ok.Click += new System.EventHandler(this.OkButtonOnClick);
+ //
+ // tableLayoutPanel1
+ //
+ resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
+ this.tableLayoutPanel1.Controls.Add(this.SelectAssessmentSectionLabel, 0, 0);
+ this.tableLayoutPanel1.Controls.Add(this.ReferenceLineMetaDataGridViewControl, 0, 1);
+ this.tableLayoutPanel1.Controls.Add(this.groupBox1, 0, 2);
+ this.tableLayoutPanel1.Controls.Add(this.flowLayoutPanel1, 0, 3);
+ this.tableLayoutPanel1.Name = "tableLayoutPanel1";
+ //
+ // LowLimitValueRadioButton
+ //
+ resources.ApplyResources(this.LowLimitValueRadioButton, "LowLimitValueRadioButton");
+ this.LowLimitValueRadioButton.Name = "LowLimitValueRadioButton";
+ this.LowLimitValueRadioButton.UseVisualStyleBackColor = true;
+ //
+ // SignallingValueRadioButton
+ //
+ resources.ApplyResources(this.SignallingValueRadioButton, "SignallingValueRadioButton");
+ this.SignallingValueRadioButton.Checked = true;
+ this.SignallingValueRadioButton.Name = "SignallingValueRadioButton";
+ this.SignallingValueRadioButton.TabStop = true;
+ this.SignallingValueRadioButton.UseVisualStyleBackColor = true;
+ //
+ // ReferenceLineMetaDataGridViewControl
+ //
+ resources.ApplyResources(this.ReferenceLineMetaDataGridViewControl, "ReferenceLineMetaDataGridViewControl");
+ this.ReferenceLineMetaDataGridViewControl.MultiSelect = false;
+ this.ReferenceLineMetaDataGridViewControl.Name = "ReferenceLineMetaDataGridViewControl";
+ this.ReferenceLineMetaDataGridViewControl.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
+ //
+ // SelectAssessmentSectionLabel
+ //
+ resources.ApplyResources(this.SelectAssessmentSectionLabel, "SelectAssessmentSectionLabel");
+ this.SelectAssessmentSectionLabel.Name = "SelectAssessmentSectionLabel";
+ //
+ // groupBox1
+ //
+ resources.ApplyResources(this.groupBox1, "groupBox1");
+ this.groupBox1.Controls.Add(this.SignallingValueRadioButton);
+ this.groupBox1.Controls.Add(this.LowLimitValueRadioButton);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.TabStop = false;
+ //
+ // ReferenceLineMetaSelectionDialog
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.tableLayoutPanel1);
+ this.Name = "ReferenceLineMetaSelectionDialog";
+ this.flowLayoutPanel1.ResumeLayout(false);
+ this.tableLayoutPanel1.ResumeLayout(false);
+ this.tableLayoutPanel1.PerformLayout();
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
+ private System.Windows.Forms.Button Ok;
+ private System.Windows.Forms.Button Cancel;
+ private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
+ private Core.Common.Controls.DataGrid.DataGridViewControl ReferenceLineMetaDataGridViewControl;
+ private System.Windows.Forms.RadioButton LowLimitValueRadioButton;
+ private System.Windows.Forms.RadioButton SignallingValueRadioButton;
+ private System.Windows.Forms.Label SelectAssessmentSectionLabel;
+ private System.Windows.Forms.GroupBox groupBox1;
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Dialogs/ReferenceLineMetaSelectionDialog.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Dialogs/ReferenceLineMetaSelectionDialog.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Dialogs/ReferenceLineMetaSelectionDialog.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,241 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text.RegularExpressions;
+using System.Windows.Forms;
+using Core.Common.Controls.DataGrid;
+using Core.Common.Controls.Dialogs;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.Contribution;
+using Ringtoets.Common.Forms.Helpers;
+using Riskeer.Integration.Forms.Properties;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.Dialogs
+{
+ ///
+ /// A dialog which allows the user to make a selection from a given set of . Upon
+ /// closing of the dialog, the selected can be obtained.
+ ///
+ public partial class ReferenceLineMetaSelectionDialog : DialogBase
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The parent of the dialog.
+ /// A list of the user can select.
+ /// Thrown when or
+ /// is null.
+ public ReferenceLineMetaSelectionDialog(IWin32Window dialogParent, IEnumerable referenceLineMetas)
+ : base(dialogParent, RingtoetsCommonFormsResources.SelectionDialogIcon, 372, 350)
+ {
+ if (referenceLineMetas == null)
+ {
+ throw new ArgumentNullException(nameof(referenceLineMetas));
+ }
+
+ InitializeComponent();
+ InitializeReferenceLineMetaDataGridViewControl(referenceLineMetas);
+ }
+
+ ///
+ /// Gets the from the selected row in the .
+ ///
+ public ReferenceLineMeta SelectedReferenceLineMeta { get; private set; }
+
+ ///
+ /// Gets the lower limit norm value from the selected row in the .
+ ///
+ public double SelectedLowerLimitNorm { get; private set; }
+
+ ///
+ /// Gets the signaling norm value from the selected row in the .
+ ///
+ public double SelectedSignalingNorm { get; private set; }
+
+ ///
+ /// Gets the norm type from the selected in the dialog.
+ ///
+ public NormType SelectedNormativeNorm { get; private set; }
+
+ protected override Button GetCancelButton()
+ {
+ return Cancel;
+ }
+
+ private void InitializeReferenceLineMetaDataGridViewControl(IEnumerable referenceLineMetas)
+ {
+ ReferenceLineMetaDataGridViewControl.AddTextBoxColumn("AssessmentSectionId", Resources.ReferenceLineMetaSelectionDialog_ColumnHeader_AssessmentSectionId);
+ ReferenceLineMetaDataGridViewControl.AddTextBoxColumn("SignalingValue", Resources.ReferenceLineMetaSelectionDialog_ColumnHeader_SignalingValue);
+ ReferenceLineMetaDataGridViewControl.AddTextBoxColumn("LowerLimitValue", Resources.ReferenceLineMetaSelectionDialog_ColumnHeader_LowerLimitValue);
+
+ IOrderedEnumerable dataSource = referenceLineMetas.Select(rlm => new ReferenceLineMetaSelectionRow(rlm)).OrderBy(row => row.AssessmentSectionId, new AssessmentSectionIdComparer());
+ ReferenceLineMetaDataGridViewControl.SetDataSource(dataSource.ToArray());
+ }
+
+ private void OkButtonOnClick(object sender, EventArgs e)
+ {
+ SetSelectionProperties();
+ Close();
+ }
+
+ private void SetSelectionProperties()
+ {
+ ReferenceLineMetaSelectionRow referenceLineMetaSelectionRow = GetSelectedReferenceLineMetaSelectionRow();
+ if (referenceLineMetaSelectionRow != null)
+ {
+ SelectedReferenceLineMeta = referenceLineMetaSelectionRow.ReferenceLineMeta;
+
+ SelectedNormativeNorm = SignallingValueRadioButton.Checked
+ ? NormType.Signaling
+ : NormType.LowerLimit;
+
+ double lowerLimitNormValue = GetNormValue(referenceLineMetaSelectionRow.LowerLimitValueReturnPeriod);
+
+ SelectedLowerLimitNorm = lowerLimitNormValue;
+ SelectedSignalingNorm = referenceLineMetaSelectionRow.SignalingReturnPeriod.HasValue
+ ? GetNormValue(referenceLineMetaSelectionRow.SignalingReturnPeriod.Value)
+ : lowerLimitNormValue;
+ }
+ }
+
+ private static double GetNormValue(int returnPeriod)
+ {
+ return 1.0 / returnPeriod;
+ }
+
+ private ReferenceLineMetaSelectionRow GetSelectedReferenceLineMetaSelectionRow()
+ {
+ DataGridViewRow selectedRow = ReferenceLineMetaDataGridViewControl.CurrentRow;
+ return (ReferenceLineMetaSelectionRow) selectedRow?.DataBoundItem;
+ }
+
+ private void CancelButtonOnClick(object sender, EventArgs e)
+ {
+ Close();
+ }
+
+ private class AssessmentSectionIdComparer : IComparer
+ {
+ public int Compare(string x, string y)
+ {
+ int idX;
+ string suffixX;
+ int subX;
+
+ int idY;
+ string suffixY;
+ int subY;
+
+ SplitAssessmentSectionId(x, out idX, out suffixX, out subX);
+ SplitAssessmentSectionId(y, out idY, out suffixY, out subY);
+
+ if (idX != idY)
+ {
+ return idX - idY;
+ }
+
+ if (string.IsNullOrEmpty(suffixX) != string.IsNullOrEmpty(suffixY))
+ {
+ return string.IsNullOrEmpty(suffixX) ? -1 : 1;
+ }
+
+ if (!string.IsNullOrEmpty(suffixX) && suffixX != suffixY)
+ {
+ return string.Compare(suffixX, suffixY, StringComparison.Ordinal);
+ }
+
+ return subX - subY;
+ }
+
+ private static void SplitAssessmentSectionId(string str, out int id, out string suffix, out int sub)
+ {
+ if (string.IsNullOrEmpty(str))
+ {
+ id = 0;
+ sub = 0;
+ suffix = string.Empty;
+ return;
+ }
+
+ string[] parts = str.Split('-');
+ string[] firstPart = Regex.Split(parts.First(), "([A-Za-z])");
+ if (firstPart.Length > 1)
+ {
+ int.TryParse(firstPart[0], out id);
+ suffix = firstPart[1];
+ }
+ else
+ {
+ int.TryParse(parts[0], out id);
+ suffix = string.Empty;
+ }
+
+ if (parts.Length == 2)
+ {
+ int.TryParse(parts[1], out sub);
+ }
+ else
+ {
+ sub = 0;
+ }
+ }
+ }
+
+ private class ReferenceLineMetaSelectionRow
+ {
+ public ReferenceLineMetaSelectionRow(ReferenceLineMeta referenceLineMeta)
+ {
+ AssessmentSectionId = referenceLineMeta.AssessmentSectionId;
+ ReferenceLineMeta = referenceLineMeta;
+
+ SignalingValue = GetNormValue(referenceLineMeta.SignalingValue);
+ if (SignalingValue != string.Empty)
+ {
+ SignalingReturnPeriod = referenceLineMeta.SignalingValue;
+ }
+
+ LowerLimitValue = GetNormValue(referenceLineMeta.LowerLimitValue);
+ if (LowerLimitValue != string.Empty)
+ {
+ LowerLimitValueReturnPeriod = referenceLineMeta.LowerLimitValue;
+ }
+ }
+
+ public string AssessmentSectionId { get; }
+ public string SignalingValue { get; }
+ public int? SignalingReturnPeriod { get; }
+ public string LowerLimitValue { get; }
+ public int LowerLimitValueReturnPeriod { get; }
+ public ReferenceLineMeta ReferenceLineMeta { get; }
+
+ private static string GetNormValue(int? returnPeriod)
+ {
+ return returnPeriod.HasValue && returnPeriod > 0
+ ? ProbabilityFormattingHelper.FormatFromReturnPeriod(returnPeriod.Value)
+ : string.Empty;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Dialogs/ReferenceLineMetaSelectionDialog.resx
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Dialogs/ReferenceLineMetaSelectionDialog.resx (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Dialogs/ReferenceLineMetaSelectionDialog.resx (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,393 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ True
+
+
+
+ 200, 3
+
+
+ 75, 23
+
+
+ 1
+
+
+ Annuleren
+
+
+ Cancel
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ flowLayoutPanel1
+
+
+ 0
+
+
+ 119, 3
+
+
+ 75, 23
+
+
+ 0
+
+
+ Toevoegen
+
+
+ Ok
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ flowLayoutPanel1
+
+
+ 1
+
+
+
+ Bottom
+
+
+ 3, 259
+
+
+ Yes
+
+
+ 278, 29
+
+
+ 0
+
+
+ flowLayoutPanel1
+
+
+ System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanel1
+
+
+ 3
+
+
+ 1
+
+
+ True
+
+
+ 3, 15
+
+
+ 3, 15, 3, 3
+
+
+ 108, 13
+
+
+ 0
+
+
+ Selecteer een traject:
+
+
+ SelectAssessmentSectionLabel
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanel1
+
+
+ 0
+
+
+ Top, Bottom, Left, Right
+
+
+ 3, 34
+
+
+ 278, 135
+
+
+ 2
+
+
+ ReferenceLineMetaDataGridViewControl
+
+
+ Core.Common.Controls.DataGrid.DataGridViewControl, Core.Common.Controls, Culture=neutral, PublicKeyToken=null
+
+
+ tableLayoutPanel1
+
+
+ 1
+
+
+ Top, Bottom, Left, Right
+
+
+ True
+
+
+ 6, 19
+
+
+ 117, 17
+
+
+ 2
+
+
+ Signaleringswaarde
+
+
+ SignallingValueRadioButton
+
+
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 0
+
+
+ True
+
+
+ 6, 42
+
+
+ 80, 17
+
+
+ 3
+
+
+ Ondergrens
+
+
+ LowLimitValueRadioButton
+
+
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 1
+
+
+ 3, 187
+
+
+ 3, 15, 3, 3
+
+
+ 278, 66
+
+
+ 4
+
+
+ Kies de norm van het dijktraject:
+
+
+ groupBox1
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanel1
+
+
+ 2
+
+
+ Fill
+
+
+ 0, 0
+
+
+ 3
+
+
+ 284, 291
+
+
+ 2
+
+
+ tableLayoutPanel1
+
+
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 0
+
+
+ <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="SelectAssessmentSectionLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="ReferenceLineMetaDataGridViewControl" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="groupBox1" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="flowLayoutPanel1" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="AutoSize,0,Percent,100,AutoSize,0,AutoSize,0" /></TableLayoutSettings>
+
+
+ True
+
+
+ 6, 13
+
+
+ 284, 291
+
+
+ 240, 130
+
+
+ Stel een traject samen
+
+
+ ReferenceLineMetaSelectionDialog
+
+
+ Core.Common.Controls.Dialogs.DialogBase, Core.Common.Controls, Culture=neutral, PublicKeyToken=null
+
+
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Editors/HlcdFileNameEditor.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Editors/HlcdFileNameEditor.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Editors/HlcdFileNameEditor.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,39 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Windows.Forms;
+using System.Windows.Forms.Design;
+using Riskeer.Integration.Forms.Properties;
+
+namespace Riskeer.Integration.Forms.Editors
+{
+ ///
+ /// This class provides a dialog to select a hydraulic location configuration database.
+ ///
+ public class HlcdFileNameEditor : FileNameEditor
+ {
+ protected override void InitializeDialog(OpenFileDialog openFileDialog)
+ {
+ base.InitializeDialog(openFileDialog);
+ openFileDialog.Filter = Resources.HlcdFileNameEditor_InitializeDialog_FileFilter;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/AssessmentSectionAssemblyMapDataFeaturesFactory.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/AssessmentSectionAssemblyMapDataFeaturesFactory.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/AssessmentSectionAssemblyMapDataFeaturesFactory.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,88 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Base.Geometry;
+using Core.Common.Util;
+using Core.Components.Gis.Features;
+using Ringtoets.Common.Data.Exceptions;
+using Ringtoets.Common.Forms.Factories;
+using Riskeer.AssemblyTool.Forms;
+using Riskeer.Integration.Data;
+using Riskeer.Integration.Data.Assembly;
+using Riskeer.Integration.Forms.Properties;
+using Riskeer.Integration.Util;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.Factories
+{
+ ///
+ /// Factory for creating collections of for assembly results
+ /// in an .
+ ///
+ public static class AssessmentSectionAssemblyMapDataFeaturesFactory
+ {
+ ///
+ /// Creates features for the combined failure mechanism section assembly.
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateCombinedFailureMechanismSectionAssemblyFeatures(AssessmentSection assessmentSection)
+ {
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ IEnumerable assemblyResults;
+ try
+ {
+ assemblyResults =
+ AssessmentSectionAssemblyFactory.AssembleCombinedPerFailureMechanismSection(assessmentSection, true);
+ }
+ catch (AssemblyException )
+ {
+ return new MapFeature[0];
+ }
+
+ var mapFeatures = new List();
+ foreach (CombinedFailureMechanismSectionAssemblyResult assemblyResult in assemblyResults)
+ {
+ IEnumerable geometry = FailureMechanismSectionHelper.GetFailureMechanismSectionGeometry(assessmentSection.ReferenceLine,
+ assemblyResult.SectionStart,
+ assemblyResult.SectionEnd);
+ MapFeature mapFeature = RingtoetsMapDataFeaturesFactory.CreateSingleLineMapFeature(geometry);
+
+ mapFeature.MetaData[RingtoetsCommonFormsResources.AssemblyCategory_Group_DisplayName] =
+ new EnumDisplayWrapper(
+ DisplayFailureMechanismSectionAssemblyCategoryGroupConverter.Convert(assemblyResult.TotalResult)).DisplayName;
+ mapFeature.MetaData[Resources.SectionNumber_DisplayName] = assemblyResult.SectionNumber;
+
+ mapFeatures.Add(mapFeature);
+ }
+
+ return mapFeatures;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/CombinedSectionAssemblyMapDataFactory.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/CombinedSectionAssemblyMapDataFactory.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/CombinedSectionAssemblyMapDataFactory.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,53 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Core.Components.Gis.Data;
+using Core.Components.Gis.Style;
+using Ringtoets.Common.Forms.Factories;
+using Riskeer.Integration.Forms.Properties;
+
+namespace Riskeer.Integration.Forms.Factories
+{
+ ///
+ /// Factory for creating for combined section assembly results.
+ ///
+ public static class CombinedSectionAssemblyMapDataFactory
+ {
+ ///
+ /// Creates a with default styling for a combined section assembly.
+ ///
+ /// The created .
+ public static MapLineData CreateCombinedSectionAssemblyResultMapData()
+ {
+ return new MapLineData(Resources.AssemblyResultPerSection_DisplayName,
+ new LineStyle
+ {
+ Width = 6,
+ DashStyle = LineDashStyle.Solid
+ },
+ MapThemeFactory.CreateDisplayFailureMechanismAssemblyCategoryGroupMapTheme())
+ {
+ ShowLabels = true,
+ SelectedMetaDataAttribute = Resources.SectionNumber_DisplayName
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/GrassCoverSlipOffInwardsAssemblyMapDataFeaturesFactory.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/GrassCoverSlipOffInwardsAssemblyMapDataFeaturesFactory.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/GrassCoverSlipOffInwardsAssemblyMapDataFeaturesFactory.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,113 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Components.Gis.Features;
+using Ringtoets.Common.Forms.Factories;
+using Riskeer.Integration.Data.StandAlone;
+using Riskeer.Integration.Data.StandAlone.AssemblyFactories;
+using Riskeer.Integration.Data.StandAlone.SectionResults;
+
+namespace Riskeer.Integration.Forms.Factories
+{
+ ///
+ /// Factory for creating collections of for assembly results in a .
+ ///
+ public static class GrassCoverSlipOffInwardsAssemblyMapDataFeaturesFactory
+ {
+ ///
+ /// Creates features for the simple assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateSimpleAssemblyFeatures(GrassCoverSlipOffInwardsFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ GrassCoverSlipOffInwardsFailureMechanismAssemblyFactory.AssembleSimpleAssessment);
+ }
+
+ ///
+ /// Creates features for the detailed assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateDetailedAssemblyFeatures(GrassCoverSlipOffInwardsFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ GrassCoverSlipOffInwardsFailureMechanismAssemblyFactory.AssembleDetailedAssessment);
+ }
+
+ ///
+ /// Creates features for the tailor made assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateTailorMadeAssemblyFeatures(GrassCoverSlipOffInwardsFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ GrassCoverSlipOffInwardsFailureMechanismAssemblyFactory.AssembleTailorMadeAssessment);
+ }
+
+ ///
+ /// Creates features for the combined assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateCombinedAssemblyFeatures(GrassCoverSlipOffInwardsFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ GrassCoverSlipOffInwardsFailureMechanismAssemblyFactory.AssembleCombinedAssessment);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/GrassCoverSlipOffOutwardsAssemblyMapDataFeaturesFactory.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/GrassCoverSlipOffOutwardsAssemblyMapDataFeaturesFactory.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/GrassCoverSlipOffOutwardsAssemblyMapDataFeaturesFactory.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,113 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Components.Gis.Features;
+using Ringtoets.Common.Forms.Factories;
+using Riskeer.Integration.Data.StandAlone;
+using Riskeer.Integration.Data.StandAlone.AssemblyFactories;
+using Riskeer.Integration.Data.StandAlone.SectionResults;
+
+namespace Riskeer.Integration.Forms.Factories
+{
+ ///
+ /// Factory for creating collections of for assembly results in a .
+ ///
+ public static class GrassCoverSlipOffOutwardsAssemblyMapDataFeaturesFactory
+ {
+ ///
+ /// Creates features for the simple assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateSimpleAssemblyFeatures(GrassCoverSlipOffOutwardsFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactory.AssembleSimpleAssessment);
+ }
+
+ ///
+ /// Creates features for the detailed assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateDetailedAssemblyFeatures(GrassCoverSlipOffOutwardsFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactory.AssembleDetailedAssessment);
+ }
+
+ ///
+ /// Creates features for the tailor made assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateTailorMadeAssemblyFeatures(GrassCoverSlipOffOutwardsFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactory.AssembleTailorMadeAssessment);
+ }
+
+ ///
+ /// Creates features for the combined assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateCombinedAssemblyFeatures(GrassCoverSlipOffOutwardsFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactory.AssembleCombinedAssessment);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/MacroStabilityOutwardsAssemblyMapDataFeaturesFactory.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/MacroStabilityOutwardsAssemblyMapDataFeaturesFactory.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/MacroStabilityOutwardsAssemblyMapDataFeaturesFactory.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,140 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Components.Gis.Features;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Forms.Factories;
+using Riskeer.Integration.Data.StandAlone;
+using Riskeer.Integration.Data.StandAlone.AssemblyFactories;
+using Riskeer.Integration.Data.StandAlone.SectionResults;
+
+namespace Riskeer.Integration.Forms.Factories
+{
+ ///
+ /// Factory for creating collections of for assembly results in a .
+ ///
+ public static class MacroStabilityOutwardsAssemblyMapDataFeaturesFactory
+ {
+ ///
+ /// Creates features for the simple assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateSimpleAssemblyFeatures(MacroStabilityOutwardsFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleSimpleAssessment);
+ }
+
+ ///
+ /// Creates features for the detailed assembly results in .
+ ///
+ /// The to create the features for.
+ /// The the belongs to.
+ /// A collection of .
+ /// Thrown when any parameter is null.
+ public static IEnumerable CreateDetailedAssemblyFeatures(MacroStabilityOutwardsFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ sectionResult => MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
+ sectionResult,
+ failureMechanism,
+ assessmentSection));
+ }
+
+ ///
+ /// Creates features for the tailor made assembly results in .
+ ///
+ /// The to create the features for.
+ /// The the belongs to.
+ /// A collection of .
+ /// Thrown when any parameter is null.
+ public static IEnumerable CreateTailorMadeAssemblyFeatures(MacroStabilityOutwardsFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ sectionResult => MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleTailorMadeAssessment(sectionResult,
+ failureMechanism,
+ assessmentSection));
+ }
+
+ ///
+ /// Creates features for the combined assembly results in .
+ ///
+ /// The to create the features for.
+ /// The the belongs to.
+ /// A collection of .
+ /// Thrown when any parameter is null.
+ public static IEnumerable CreateCombinedAssemblyFeatures(MacroStabilityOutwardsFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ sectionResult => MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
+ sectionResult,
+ failureMechanism,
+ assessmentSection));
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/MicrostabilityAssemblyMapDataFeaturesFactory.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/MicrostabilityAssemblyMapDataFeaturesFactory.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/MicrostabilityAssemblyMapDataFeaturesFactory.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,113 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Components.Gis.Features;
+using Ringtoets.Common.Forms.Factories;
+using Riskeer.Integration.Data.StandAlone;
+using Riskeer.Integration.Data.StandAlone.AssemblyFactories;
+using Riskeer.Integration.Data.StandAlone.SectionResults;
+
+namespace Riskeer.Integration.Forms.Factories
+{
+ ///
+ /// Factory for creating collections of for assembly results in a .
+ ///
+ public static class MicrostabilityAssemblyMapDataFeaturesFactory
+ {
+ ///
+ /// Creates features for the simple assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateSimpleAssemblyFeatures(MicrostabilityFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ MicrostabilityFailureMechanismAssemblyFactory.AssembleSimpleAssessment);
+ }
+
+ ///
+ /// Creates features for the detailed assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateDetailedAssemblyFeatures(MicrostabilityFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ MicrostabilityFailureMechanismAssemblyFactory.AssembleDetailedAssessment);
+ }
+
+ ///
+ /// Creates features for the tailor made assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateTailorMadeAssemblyFeatures(MicrostabilityFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ MicrostabilityFailureMechanismAssemblyFactory.AssembleTailorMadeAssessment);
+ }
+
+ ///
+ /// Creates features for the combined assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateCombinedAssemblyFeatures(MicrostabilityFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ MicrostabilityFailureMechanismAssemblyFactory.AssembleCombinedAssessment);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/PipingStructureAssemblyMapDataFeaturesFactory.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/PipingStructureAssemblyMapDataFeaturesFactory.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/PipingStructureAssemblyMapDataFeaturesFactory.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,113 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Components.Gis.Features;
+using Ringtoets.Common.Forms.Factories;
+using Riskeer.Integration.Data.StandAlone;
+using Riskeer.Integration.Data.StandAlone.AssemblyFactories;
+using Riskeer.Integration.Data.StandAlone.SectionResults;
+
+namespace Riskeer.Integration.Forms.Factories
+{
+ ///
+ /// Factory for creating collections of for assembly results in a .
+ ///
+ public static class PipingStructureAssemblyMapDataFeaturesFactory
+ {
+ ///
+ /// Creates features for the simple assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateSimpleAssemblyFeatures(PipingStructureFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ PipingStructureFailureMechanismAssemblyFactory.AssembleSimpleAssessment);
+ }
+
+ ///
+ /// Creates features for the detailed assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ ///Thrown when
+ /// is null.
+ public static IEnumerable CreateDetailedAssemblyFeatures(PipingStructureFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ PipingStructureFailureMechanismAssemblyFactory.AssembleDetailedAssessment);
+ }
+
+ ///
+ /// Creates features for the tailor made assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateTailorMadeAssemblyFeatures(PipingStructureFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ PipingStructureFailureMechanismAssemblyFactory.AssembleTailorMadeAssessment);
+ }
+
+ ///
+ /// Creates features for the combined assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateCombinedAssemblyFeatures(PipingStructureFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ PipingStructureFailureMechanismAssemblyFactory.AssembleCombinedAssessment);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/StrengthStabilityLengthwiseConstructionAssemblyMapDataFeaturesFactory.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/StrengthStabilityLengthwiseConstructionAssemblyMapDataFeaturesFactory.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/StrengthStabilityLengthwiseConstructionAssemblyMapDataFeaturesFactory.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,94 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Components.Gis.Features;
+using Ringtoets.Common.Forms.Factories;
+using Riskeer.Integration.Data.StandAlone;
+using Riskeer.Integration.Data.StandAlone.AssemblyFactories;
+using Riskeer.Integration.Data.StandAlone.SectionResults;
+
+namespace Riskeer.Integration.Forms.Factories
+{
+ ///
+ /// Factory for creating collections of for assembly results in a .
+ ///
+ public static class StrengthStabilityLengthwiseConstructionAssemblyMapDataFeaturesFactory
+ {
+ ///
+ /// Creates features for the simple assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateSimpleAssemblyFeatures(StrengthStabilityLengthwiseConstructionFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ StrengthStabilityLengthwiseConstructionFailureMechanismAssemblyFactory.AssembleSimpleAssessment);
+ }
+
+ ///
+ /// Creates features for the tailor made assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateTailorMadeAssemblyFeatures(StrengthStabilityLengthwiseConstructionFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ StrengthStabilityLengthwiseConstructionFailureMechanismAssemblyFactory.AssembleTailorMadeAssessment);
+ }
+
+ ///
+ /// Creates features for the combined assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateCombinedAssemblyFeatures(StrengthStabilityLengthwiseConstructionFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ StrengthStabilityLengthwiseConstructionFailureMechanismAssemblyFactory.AssembleCombinedAssessment);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/TechnicalInnovationAssemblyMapDataFeaturesFactory.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/TechnicalInnovationAssemblyMapDataFeaturesFactory.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/TechnicalInnovationAssemblyMapDataFeaturesFactory.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,94 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Components.Gis.Features;
+using Ringtoets.Common.Forms.Factories;
+using Riskeer.Integration.Data.StandAlone;
+using Riskeer.Integration.Data.StandAlone.AssemblyFactories;
+using Riskeer.Integration.Data.StandAlone.SectionResults;
+
+namespace Riskeer.Integration.Forms.Factories
+{
+ ///
+ /// Factory for creating collections of for assembly results in a .
+ ///
+ public static class TechnicalInnovationAssemblyMapDataFeaturesFactory
+ {
+ ///
+ /// Creates features for the simple assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateSimpleAssemblyFeatures(TechnicalInnovationFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ TechnicalInnovationFailureMechanismAssemblyFactory.AssembleSimpleAssessment);
+ }
+
+ ///
+ /// Creates features for the tailor made assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateTailorMadeAssemblyFeatures(TechnicalInnovationFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ TechnicalInnovationFailureMechanismAssemblyFactory.AssembleTailorMadeAssessment);
+ }
+
+ ///
+ /// Creates features for the combined assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateCombinedAssemblyFeatures(TechnicalInnovationFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ TechnicalInnovationFailureMechanismAssemblyFactory.AssembleCombinedAssessment);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/WaterPressureAsphaltCoverAssemblyMapDataFeaturesFactory.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/WaterPressureAsphaltCoverAssemblyMapDataFeaturesFactory.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Factories/WaterPressureAsphaltCoverAssemblyMapDataFeaturesFactory.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,94 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Components.Gis.Features;
+using Ringtoets.Common.Forms.Factories;
+using Riskeer.Integration.Data.StandAlone;
+using Riskeer.Integration.Data.StandAlone.AssemblyFactories;
+using Riskeer.Integration.Data.StandAlone.SectionResults;
+
+namespace Riskeer.Integration.Forms.Factories
+{
+ ///
+ /// Factory for creating collections of for assembly results in a .
+ ///
+ public static class WaterPressureAsphaltCoverAssemblyMapDataFeaturesFactory
+ {
+ ///
+ /// Creates features for the simple assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateSimpleAssemblyFeatures(WaterPressureAsphaltCoverFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ WaterPressureAsphaltCoverFailureMechanismAssemblyFactory.AssembleSimpleAssessment);
+ }
+
+ ///
+ /// Creates features for the tailor made assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateTailorMadeAssemblyFeatures(WaterPressureAsphaltCoverFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ WaterPressureAsphaltCoverFailureMechanismAssemblyFactory.AssembleTailorMadeAssessment);
+ }
+
+ ///
+ /// Creates features for the combined assembly results in .
+ ///
+ /// The to create the features for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable CreateCombinedAssemblyFeatures(WaterPressureAsphaltCoverFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ return AssemblyMapDataFeaturesFactory.CreateAssemblyCategoryGroupFeatures(
+ failureMechanism,
+ WaterPressureAsphaltCoverFailureMechanismAssemblyFactory.AssembleCombinedAssessment);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/AssessmentSectionMergeDataProviderDialog.Designer.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/AssessmentSectionMergeDataProviderDialog.Designer.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/AssessmentSectionMergeDataProviderDialog.Designer.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,177 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Windows.Forms;
+
+namespace Riskeer.Integration.Forms.Merge
+{
+ partial class AssessmentSectionMergeDataProviderDialog
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AssessmentSectionMergeDataProviderDialog));
+ this.toolTip = new System.Windows.Forms.ToolTip(this.components);
+ this.infoIcon = new System.Windows.Forms.PictureBox();
+ this.tableLayoutPanelForForm = new System.Windows.Forms.TableLayoutPanel();
+ this.assessmentSectionSelectLabel = new System.Windows.Forms.Label();
+ this.assessmentSectionComboBox = new System.Windows.Forms.ComboBox();
+ this.tableLayoutPanelForLabel = new System.Windows.Forms.TableLayoutPanel();
+ this.failureMechanismSelectLabel = new System.Windows.Forms.Label();
+ this.dataGridViewControl = new Core.Common.Controls.DataGrid.DataGridViewControl();
+ this.flowLayoutPanelButtons = new System.Windows.Forms.FlowLayoutPanel();
+ this.cancelButton = new System.Windows.Forms.Button();
+ this.importButton = new System.Windows.Forms.Button();
+ ((System.ComponentModel.ISupportInitialize)(this.infoIcon)).BeginInit();
+ this.tableLayoutPanelForForm.SuspendLayout();
+ this.tableLayoutPanelForLabel.SuspendLayout();
+ this.flowLayoutPanelButtons.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // toolTip
+ //
+ this.toolTip.AutoPopDelay = 5000;
+ this.toolTip.InitialDelay = 100;
+ this.toolTip.ReshowDelay = 100;
+ //
+ // infoIcon
+ //
+ resources.ApplyResources(this.infoIcon, "infoIcon");
+ this.infoIcon.Name = "infoIcon";
+ this.infoIcon.TabStop = false;
+ //
+ // tableLayoutPanelForForm
+ //
+ resources.ApplyResources(this.tableLayoutPanelForForm, "tableLayoutPanelForForm");
+ this.tableLayoutPanelForForm.Controls.Add(this.assessmentSectionSelectLabel, 0, 0);
+ this.tableLayoutPanelForForm.Controls.Add(this.assessmentSectionComboBox, 0, 1);
+ this.tableLayoutPanelForForm.Controls.Add(this.tableLayoutPanelForLabel, 0, 2);
+ this.tableLayoutPanelForForm.Controls.Add(this.dataGridViewControl, 0, 3);
+ this.tableLayoutPanelForForm.Controls.Add(this.flowLayoutPanelButtons, 0, 4);
+ this.tableLayoutPanelForForm.Name = "tableLayoutPanelForForm";
+ //
+ // assessmentSectionSelectLabel
+ //
+ resources.ApplyResources(this.assessmentSectionSelectLabel, "assessmentSectionSelectLabel");
+ this.assessmentSectionSelectLabel.Name = "assessmentSectionSelectLabel";
+ //
+ // assessmentSectionComboBox
+ //
+ resources.ApplyResources(this.assessmentSectionComboBox, "assessmentSectionComboBox");
+ this.assessmentSectionComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.assessmentSectionComboBox.Name = "assessmentSectionComboBox";
+ //
+ // tableLayoutPanelForLabel
+ //
+ resources.ApplyResources(this.tableLayoutPanelForLabel, "tableLayoutPanelForLabel");
+ this.tableLayoutPanelForLabel.Controls.Add(this.infoIcon, 1, 0);
+ this.tableLayoutPanelForLabel.Controls.Add(this.failureMechanismSelectLabel, 0, 0);
+ this.tableLayoutPanelForLabel.Name = "tableLayoutPanelForLabel";
+ //
+ // failureMechanismSelectLabel
+ //
+ resources.ApplyResources(this.failureMechanismSelectLabel, "failureMechanismSelectLabel");
+ this.failureMechanismSelectLabel.Name = "failureMechanismSelectLabel";
+ //
+ // dataGridViewControl
+ //
+ resources.ApplyResources(this.dataGridViewControl, "dataGridViewControl");
+ this.dataGridViewControl.MultiSelect = true;
+ this.dataGridViewControl.Name = "dataGridViewControl";
+ this.dataGridViewControl.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.RowHeaderSelect;
+ //
+ // flowLayoutPanelButtons
+ //
+ resources.ApplyResources(this.flowLayoutPanelButtons, "flowLayoutPanelButtons");
+ this.flowLayoutPanelButtons.Controls.Add(this.cancelButton);
+ this.flowLayoutPanelButtons.Controls.Add(this.importButton);
+ this.flowLayoutPanelButtons.Name = "flowLayoutPanelButtons";
+ //
+ // cancelButton
+ //
+ resources.ApplyResources(this.cancelButton, "cancelButton");
+ this.cancelButton.DialogResult = DialogResult.Cancel;
+ this.cancelButton.Name = "cancelButton";
+ this.cancelButton.UseVisualStyleBackColor = true;
+ //
+ // importButton
+ //
+ resources.ApplyResources(this.importButton, "importButton");
+ this.importButton.DialogResult = DialogResult.OK;
+ this.importButton.Name = "importButton";
+ this.importButton.UseVisualStyleBackColor = true;
+ //
+ // AssessmentSectionMergeDataProviderDialog
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.tableLayoutPanelForForm);
+ this.Name = "AssessmentSectionMergeDataProviderDialog";
+ ((System.ComponentModel.ISupportInitialize)(this.infoIcon)).EndInit();
+ this.tableLayoutPanelForForm.ResumeLayout(false);
+ this.tableLayoutPanelForForm.PerformLayout();
+ this.tableLayoutPanelForLabel.ResumeLayout(false);
+ this.tableLayoutPanelForLabel.PerformLayout();
+ this.flowLayoutPanelButtons.ResumeLayout(false);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TableLayoutPanel tableLayoutPanelForForm;
+ private System.Windows.Forms.TableLayoutPanel tableLayoutPanelForLabel;
+ private System.Windows.Forms.ToolTip toolTip;
+ private System.Windows.Forms.PictureBox infoIcon;
+ private System.Windows.Forms.Label assessmentSectionSelectLabel;
+ private System.Windows.Forms.Label failureMechanismSelectLabel;
+ private System.Windows.Forms.FlowLayoutPanel flowLayoutPanelButtons;
+ private System.Windows.Forms.Button cancelButton;
+ private System.Windows.Forms.Button importButton;
+ private Core.Common.Controls.DataGrid.DataGridViewControl dataGridViewControl;
+ private System.Windows.Forms.ComboBox assessmentSectionComboBox;
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/AssessmentSectionMergeDataProviderDialog.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/AssessmentSectionMergeDataProviderDialog.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/AssessmentSectionMergeDataProviderDialog.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,206 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows.Forms;
+using Core.Common.Controls.Dialogs;
+using Ringtoets.ClosingStructures.Data;
+using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.DuneErosion.Data;
+using Ringtoets.GrassCoverErosionInwards.Data;
+using Ringtoets.GrassCoverErosionOutwards.Data;
+using Ringtoets.HeightStructures.Data;
+using Ringtoets.MacroStabilityInwards.Data;
+using Ringtoets.Piping.Data;
+using Ringtoets.StabilityPointStructures.Data;
+using Ringtoets.StabilityStoneCover.Data;
+using Ringtoets.WaveImpactAsphaltCover.Data;
+using Riskeer.Integration.Data;
+using Riskeer.Integration.Data.Merge;
+using Riskeer.Integration.Data.StandAlone;
+using Riskeer.Integration.Forms.Properties;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+using CoreCommonGuiResources = Core.Common.Gui.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.Merge
+{
+ ///
+ /// A dialog for providing the data to merge.
+ ///
+ public partial class AssessmentSectionMergeDataProviderDialog : DialogBase, IAssessmentSectionMergeDataProvider
+ {
+ private FailureMechanismMergeDataRow[] failureMechanismMergeDataRows;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The parent of the dialog.
+ /// Thrown when
+ /// is null.
+ public AssessmentSectionMergeDataProviderDialog(IWin32Window dialogParent)
+ : base(dialogParent, RingtoetsCommonFormsResources.SelectionDialogIcon, 720, 590)
+ {
+ InitializeComponent();
+ InitializeComboBox();
+ InitializeTooltip();
+ InitializeDataGridView();
+ }
+
+ public AssessmentSectionMergeData GetMergeData(IEnumerable assessmentSections)
+ {
+ if (assessmentSections == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSections));
+ }
+
+ if (!assessmentSections.Any())
+ {
+ throw new ArgumentException($@"{nameof(assessmentSections)} must at least have one element.", nameof(assessmentSections));
+ }
+
+ SetComboBoxData(assessmentSections);
+
+ if (ShowDialog() == DialogResult.OK)
+ {
+ var constructionProperties = new AssessmentSectionMergeData.ConstructionProperties
+ {
+ MergePiping = FailureMechanismIsSelectedToMerge(),
+ MergeGrassCoverErosionInwards = FailureMechanismIsSelectedToMerge(),
+ MergeMacroStabilityInwards = FailureMechanismIsSelectedToMerge(),
+ MergeMacroStabilityOutwards = FailureMechanismIsSelectedToMerge(),
+ MergeMicrostability = FailureMechanismIsSelectedToMerge(),
+ MergeStabilityStoneCover = FailureMechanismIsSelectedToMerge(),
+ MergeWaveImpactAsphaltCover = FailureMechanismIsSelectedToMerge(),
+ MergeWaterPressureAsphaltCover = FailureMechanismIsSelectedToMerge(),
+ MergeGrassCoverErosionOutwards = FailureMechanismIsSelectedToMerge(),
+ MergeGrassCoverSlipOffOutwards = FailureMechanismIsSelectedToMerge(),
+ MergeGrassCoverSlipOffInwards = FailureMechanismIsSelectedToMerge(),
+ MergeHeightStructures = FailureMechanismIsSelectedToMerge(),
+ MergeClosingStructures = FailureMechanismIsSelectedToMerge(),
+ MergePipingStructure = FailureMechanismIsSelectedToMerge(),
+ MergeStabilityPointStructures = FailureMechanismIsSelectedToMerge(),
+ MergeStrengthStabilityLengthwiseConstruction = FailureMechanismIsSelectedToMerge(),
+ MergeDuneErosion = FailureMechanismIsSelectedToMerge(),
+ MergeTechnicalInnovation = FailureMechanismIsSelectedToMerge()
+ };
+
+ return new AssessmentSectionMergeData((AssessmentSection) assessmentSectionComboBox.SelectedItem,
+ constructionProperties);
+ }
+
+ return null;
+ }
+
+ protected override Button GetCancelButton()
+ {
+ return cancelButton;
+ }
+
+ private void InitializeComboBox()
+ {
+ assessmentSectionComboBox.SelectedIndexChanged += AssessmentSectionComboBoxOnSelectedIndexChanged;
+ }
+
+ private void InitializeDataGridView()
+ {
+ dataGridViewControl.AddCheckBoxColumn(nameof(FailureMechanismMergeDataRow.IsSelected),
+ Resources.FailureMechanismMergeDataRow_IsSelected_DisplayName);
+ dataGridViewControl.AddTextBoxColumn(nameof(FailureMechanismMergeDataRow.Name),
+ Resources.FailureMechanism_Name_DisplayName,
+ true);
+ dataGridViewControl.AddCheckBoxColumn(nameof(FailureMechanismMergeDataRow.IsRelevant),
+ Resources.FailureMechanism_IsRelevant_DisplayName,
+ true);
+ dataGridViewControl.AddCheckBoxColumn(nameof(FailureMechanismMergeDataRow.HasSections),
+ Resources.FailureMechanismMergeDataRow_HasSections_DisplayName,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(FailureMechanismMergeDataRow.NumberOfCalculations),
+ Resources.FailureMechanismMergeDataRow_NumberOfCalculations_DisplayName,
+ true);
+ }
+
+ private void InitializeTooltip()
+ {
+ infoIcon.BackgroundImage = CoreCommonGuiResources.information;
+ toolTip.SetToolTip(infoIcon, Resources.AssessmentSectionMergeDataProviderDialog_InfoToolTip);
+ }
+
+ private bool FailureMechanismIsSelectedToMerge()
+ where TFailureMechanism : IFailureMechanism
+ {
+ return failureMechanismMergeDataRows.Any(row => row.FailureMechanism is TFailureMechanism && row.IsSelected);
+ }
+
+ #region Event Handling
+
+ private void AssessmentSectionComboBoxOnSelectedIndexChanged(object sender, EventArgs eventArgs)
+ {
+ if (assessmentSectionComboBox.SelectedIndex == -1)
+ {
+ return;
+ }
+
+ SetDataGridViewData((AssessmentSection) assessmentSectionComboBox.SelectedItem);
+ }
+
+ #endregion
+
+ #region Data Setters
+
+ private void SetComboBoxData(IEnumerable assessmentSections)
+ {
+ assessmentSectionComboBox.DataSource = null;
+ assessmentSectionComboBox.DataSource = assessmentSections.ToArray();
+ assessmentSectionComboBox.DisplayMember = nameof(AssessmentSection.Name);
+ }
+
+ private void SetDataGridViewData(AssessmentSection assessmentSection)
+ {
+ failureMechanismMergeDataRows = new[]
+ {
+ new FailureMechanismMergeDataRow(assessmentSection.Piping),
+ new FailureMechanismMergeDataRow(assessmentSection.GrassCoverErosionInwards),
+ new FailureMechanismMergeDataRow(assessmentSection.MacroStabilityInwards),
+ new FailureMechanismMergeDataRow(assessmentSection.MacroStabilityOutwards),
+ new FailureMechanismMergeDataRow(assessmentSection.Microstability),
+ new FailureMechanismMergeDataRow(assessmentSection.StabilityStoneCover),
+ new FailureMechanismMergeDataRow(assessmentSection.WaveImpactAsphaltCover),
+ new FailureMechanismMergeDataRow(assessmentSection.WaterPressureAsphaltCover),
+ new FailureMechanismMergeDataRow(assessmentSection.GrassCoverErosionOutwards),
+ new FailureMechanismMergeDataRow(assessmentSection.GrassCoverSlipOffOutwards),
+ new FailureMechanismMergeDataRow(assessmentSection.GrassCoverSlipOffInwards),
+ new FailureMechanismMergeDataRow(assessmentSection.HeightStructures),
+ new FailureMechanismMergeDataRow(assessmentSection.ClosingStructures),
+ new FailureMechanismMergeDataRow(assessmentSection.PipingStructure),
+ new FailureMechanismMergeDataRow(assessmentSection.StabilityPointStructures),
+ new FailureMechanismMergeDataRow(assessmentSection.StrengthStabilityLengthwiseConstruction),
+ new FailureMechanismMergeDataRow(assessmentSection.DuneErosion),
+ new FailureMechanismMergeDataRow(assessmentSection.TechnicalInnovation)
+ };
+
+ dataGridViewControl.SetDataSource(failureMechanismMergeDataRows);
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/AssessmentSectionMergeDataProviderDialog.resx
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/AssessmentSectionMergeDataProviderDialog.resx (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/AssessmentSectionMergeDataProviderDialog.resx (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,441 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
+
+ Bottom, Right
+
+
+ Center
+
+
+
+ 455, 8
+
+
+ 7, 7, 7, 0
+
+
+ 16, 16
+
+
+
+ 0
+
+
+ infoIcon
+
+
+ System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanelForLabel
+
+
+ 0
+
+
+ True
+
+
+ 1
+
+
+ Bottom
+
+
+ 3, 14
+
+
+ 478, 16
+
+
+ 0
+
+
+ Selecteer traject:
+
+
+ BottomLeft
+
+
+ assessmentSectionSelectLabel
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanelForForm
+
+
+ 0
+
+
+ Fill
+
+
+ 3, 33
+
+
+ 478, 21
+
+
+ 0
+
+
+ assessmentSectionComboBox
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanelForForm
+
+
+ 1
+
+
+ 2
+
+
+ True
+
+
+ Bottom
+
+
+ 3, 11
+
+
+ 113, 13
+
+
+ 0
+
+
+ Selecteer toetssporen:
+
+
+ MiddleLeft
+
+
+ failureMechanismSelectLabel
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanelForLabel
+
+
+ 1
+
+
+ Fill
+
+
+ 3, 60
+
+
+ 1
+
+
+ 478, 24
+
+
+ 1
+
+
+ tableLayoutPanelForLabel
+
+
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanelForForm
+
+
+ 2
+
+
+ <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="infoIcon" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="failureMechanismSelectLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100" /><Rows Styles="Percent,100" /></TableLayoutSettings>
+
+
+ Fill
+
+
+ 3, 90
+
+
+ 478, 184
+
+
+ 2
+
+
+ dataGridViewControl
+
+
+ Core.Common.Controls.DataGrid.DataGridViewControl, Core.Common.Controls, Version=18.1.1.1, Culture=neutral, PublicKeyToken=null
+
+
+ tableLayoutPanelForForm
+
+
+ 3
+
+
+ True
+
+
+ 400, 3
+
+
+ 75, 23
+
+
+ 0
+
+
+ Annuleren
+
+
+ cancelButton
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ flowLayoutPanelButtons
+
+
+ 0
+
+
+ 319, 3
+
+
+ 75, 23
+
+
+ 1
+
+
+ Importeren
+
+
+ importButton
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ flowLayoutPanelButtons
+
+
+ 1
+
+
+ Bottom
+
+
+ RightToLeft
+
+
+ 3, 280
+
+
+ 478, 29
+
+
+ 3
+
+
+ flowLayoutPanelButtons
+
+
+ System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanelForForm
+
+
+ 4
+
+
+ Fill
+
+
+ 0, 0
+
+
+ 5
+
+
+ 484, 312
+
+
+ 0
+
+
+ tableLayoutPanelForForm
+
+
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 0
+
+
+ <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="assessmentSectionSelectLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="assessmentSectionComboBox" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tableLayoutPanelForLabel" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="dataGridViewControl" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="flowLayoutPanelButtons" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,30,AutoSize,0,Absolute,30,Percent,100,AutoSize,0" /></TableLayoutSettings>
+
+
+ True
+
+
+ 6, 13
+
+
+ 484, 312
+
+
+ 500, 350
+
+
+ Selecteer trajectinformatie
+
+
+ toolTip
+
+
+ System.Windows.Forms.ToolTip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ AssessmentSectionMergeDataProviderDialog
+
+
+ System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/AssessmentSectionMergeFilePathProvider.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/AssessmentSectionMergeFilePathProvider.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/AssessmentSectionMergeFilePathProvider.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,56 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Gui;
+using RingtoetsStorageCoreResources = Riskeer.Storage.Core.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.Merge
+{
+ ///
+ /// Class for providing a file path of a project that might contain assessment sections that can be merged.
+ ///
+ public class AssessmentSectionMergeFilePathProvider : IAssessmentSectionMergeFilePathProvider
+ {
+ private readonly IInquiryHelper inquiryHelper;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// Object responsible for inquiring the required data.
+ /// Thrown when
+ /// is null.
+ public AssessmentSectionMergeFilePathProvider(IInquiryHelper inquiryHelper)
+ {
+ if (inquiryHelper == null)
+ {
+ throw new ArgumentNullException(nameof(inquiryHelper));
+ }
+
+ this.inquiryHelper = inquiryHelper;
+ }
+
+ public string GetFilePath()
+ {
+ return inquiryHelper.GetSourceFileLocation(RingtoetsStorageCoreResources.Ringtoets_project_file_filter);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/FailureMechanismMergeDataRow.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/FailureMechanismMergeDataRow.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/FailureMechanismMergeDataRow.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,104 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Linq;
+using Ringtoets.Common.Data.FailureMechanism;
+
+namespace Riskeer.Integration.Forms.Merge
+{
+ ///
+ /// Row representing the information of a to be
+ /// used for merging.
+ ///
+ internal class FailureMechanismMergeDataRow
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The wrapped .
+ /// Thrown when
+ /// is null.
+ public FailureMechanismMergeDataRow(IFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ FailureMechanism = failureMechanism;
+ }
+
+ ///
+ /// Gets the wrapped failure mechanism of the row.
+ ///
+ public IFailureMechanism FailureMechanism { get; }
+
+ ///
+ /// Gets and sets whether the failure mechanism is selected to be merged.
+ ///
+ public bool IsSelected { get; set; }
+
+ ///
+ /// Gets the name of the failure mechanism.
+ ///
+ public string Name
+ {
+ get
+ {
+ return FailureMechanism.Name;
+ }
+ }
+
+ ///
+ /// Gets indicator whether the failure mechanism is marked relevant.
+ ///
+ public bool IsRelevant
+ {
+ get
+ {
+ return FailureMechanism.IsRelevant;
+ }
+ }
+
+ ///
+ /// Gets indicator whether the failure mechanism has sections.
+ ///
+ public bool HasSections
+ {
+ get
+ {
+ return FailureMechanism.Sections.Any();
+ }
+ }
+
+ ///
+ /// Gets the amount of calculations that are contained by the failure mechanism.
+ ///
+ public int NumberOfCalculations
+ {
+ get
+ {
+ return FailureMechanism.Calculations.Count();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/IAssessmentSectionMergeDataProvider.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/IAssessmentSectionMergeDataProvider.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/IAssessmentSectionMergeDataProvider.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,46 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Riskeer.Integration.Data;
+using Riskeer.Integration.Data.Merge;
+
+namespace Riskeer.Integration.Forms.Merge
+{
+ ///
+ /// Interface for providing the data to merge.
+ ///
+ public interface IAssessmentSectionMergeDataProvider
+ {
+ ///
+ /// Gets the data to merge.
+ ///
+ /// The collection of assessment sections to get the merge
+ /// data from.
+ /// The selected merge data.
+ /// Thrown when
+ /// is null.
+ /// Thrown when
+ /// contains no elements.
+ AssessmentSectionMergeData GetMergeData(IEnumerable assessmentSections);
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/IAssessmentSectionMergeFilePathProvider.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/IAssessmentSectionMergeFilePathProvider.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Merge/IAssessmentSectionMergeFilePathProvider.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,35 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+namespace Riskeer.Integration.Forms.Merge
+{
+ ///
+ /// Interface for providing a file path of a project that might contain assessment sections that can be merged.
+ ///
+ public interface IAssessmentSectionMergeFilePathProvider
+ {
+ ///
+ /// Gets the file path.
+ ///
+ /// A file path, or null if no file was chosen.
+ string GetFilePath();
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Observers/AssessmentSectionResultObserver.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Observers/AssessmentSectionResultObserver.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Observers/AssessmentSectionResultObserver.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,232 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Base;
+using Ringtoets.ClosingStructures.Data;
+using Ringtoets.Common.Data.Calculation;
+using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Common.Data.Structures;
+using Ringtoets.Common.Forms.Observers;
+using Ringtoets.DuneErosion.Data;
+using Ringtoets.GrassCoverErosionInwards.Data;
+using Ringtoets.GrassCoverErosionOutwards.Data;
+using Ringtoets.HeightStructures.Data;
+using Ringtoets.MacroStabilityInwards.Data;
+using Ringtoets.Piping.Data;
+using Ringtoets.StabilityPointStructures.Data;
+using Ringtoets.StabilityStoneCover.Data;
+using Ringtoets.WaveImpactAsphaltCover.Data;
+using Riskeer.Integration.Data;
+using Riskeer.Integration.Data.StandAlone;
+using Riskeer.Integration.Data.StandAlone.SectionResults;
+
+namespace Riskeer.Integration.Forms.Observers
+{
+ ///
+ /// Class that observes all objects in an related to
+ /// its section results.
+ ///
+ public class AssessmentSectionResultObserver : Observable, IDisposable
+ {
+ private readonly Observer assessmentSectionObserver;
+ private readonly Observer referenceLineObserver;
+ private readonly Observer closingStructuresObserver;
+ private readonly Observer duneErosionObserver;
+ private readonly Observer grassCoverErosionInwardsObserver;
+ private readonly Observer grassCoverErosionOutwardsObserver;
+ private readonly Observer heightStructuresObserver;
+ private readonly Observer macroStabilityInwardsObserver;
+ private readonly Observer pipingObserver;
+ private readonly Observer stabilityPointStructuresObserver;
+ private readonly Observer stabilityStoneCoverObserver;
+ private readonly Observer waveImpactAsphaltCoverObserver;
+ private readonly Observer grassCoverSlipOffInwardsObserver;
+ private readonly Observer grassCoverSlipOffOutwardsObserver;
+ private readonly Observer macroStabilityOutwardsObserver;
+ private readonly Observer microstabilityObserver;
+ private readonly Observer pipingStructureObserver;
+ private readonly Observer strengthStabilityLengthwiseConstructionObserver;
+ private readonly Observer technicalInnovationObserver;
+ private readonly Observer waterPressureAsphaltCoverObserver;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The to observe.
+ /// Thrown when is null.
+ public AssessmentSectionResultObserver(AssessmentSection assessmentSection)
+ {
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ assessmentSectionObserver = new Observer(() =>
+ {
+ ResubscribeFailureMechanismObservers(assessmentSection);
+ NotifyObservers();
+ })
+ {
+ Observable = assessmentSection
+ };
+
+ referenceLineObserver = new Observer(NotifyObservers)
+ {
+ Observable = assessmentSection.ReferenceLine
+ };
+
+ closingStructuresObserver = CreateCalculatableFailureMechanismObserver>(assessmentSection.ClosingStructures);
+
+ duneErosionObserver = CreateFailureMechanismObserver(assessmentSection.DuneErosion);
+
+ grassCoverErosionInwardsObserver = CreateCalculatableFailureMechanismObserver(assessmentSection.GrassCoverErosionInwards);
+
+ grassCoverErosionOutwardsObserver = CreateFailureMechanismObserver(assessmentSection.GrassCoverErosionOutwards);
+
+ heightStructuresObserver = CreateCalculatableFailureMechanismObserver>(assessmentSection.HeightStructures);
+
+ macroStabilityInwardsObserver = CreateCalculatableFailureMechanismObserver(assessmentSection.MacroStabilityInwards);
+
+ pipingObserver = CreateCalculatableFailureMechanismObserver(assessmentSection.Piping);
+
+ stabilityPointStructuresObserver = CreateCalculatableFailureMechanismObserver>(assessmentSection.StabilityPointStructures);
+
+ stabilityStoneCoverObserver = CreateFailureMechanismObserver(assessmentSection.StabilityStoneCover);
+
+ waveImpactAsphaltCoverObserver = CreateFailureMechanismObserver(assessmentSection.WaveImpactAsphaltCover);
+
+ grassCoverSlipOffInwardsObserver = CreateFailureMechanismObserver(assessmentSection.GrassCoverSlipOffInwards);
+
+ grassCoverSlipOffOutwardsObserver = CreateFailureMechanismObserver(assessmentSection.GrassCoverSlipOffOutwards);
+
+ macroStabilityOutwardsObserver = CreateFailureMechanismObserver(assessmentSection.MacroStabilityOutwards);
+
+ microstabilityObserver = CreateFailureMechanismObserver(assessmentSection.Microstability);
+
+ pipingStructureObserver = CreateFailureMechanismObserver(assessmentSection.PipingStructure);
+
+ strengthStabilityLengthwiseConstructionObserver = CreateFailureMechanismObserver(assessmentSection.StrengthStabilityLengthwiseConstruction);
+
+ technicalInnovationObserver = CreateFailureMechanismObserver(assessmentSection.TechnicalInnovation);
+
+ waterPressureAsphaltCoverObserver = CreateFailureMechanismObserver(assessmentSection.WaterPressureAsphaltCover);
+ }
+
+ public void Dispose()
+ {
+ Dispose(true);
+ GC.SuppressFinalize(this);
+ }
+
+ protected virtual void Dispose(bool disposing)
+ {
+ if (!disposing)
+ {
+ return;
+ }
+
+ assessmentSectionObserver.Dispose();
+ referenceLineObserver.Dispose();
+ closingStructuresObserver.Dispose();
+ duneErosionObserver.Dispose();
+ grassCoverErosionInwardsObserver.Dispose();
+ grassCoverErosionOutwardsObserver.Dispose();
+ heightStructuresObserver.Dispose();
+ macroStabilityInwardsObserver.Dispose();
+ pipingObserver.Dispose();
+ stabilityPointStructuresObserver.Dispose();
+ stabilityStoneCoverObserver.Dispose();
+ waveImpactAsphaltCoverObserver.Dispose();
+ grassCoverSlipOffInwardsObserver.Dispose();
+ grassCoverSlipOffOutwardsObserver.Dispose();
+ macroStabilityOutwardsObserver.Dispose();
+ microstabilityObserver.Dispose();
+ pipingStructureObserver.Dispose();
+ strengthStabilityLengthwiseConstructionObserver.Dispose();
+ technicalInnovationObserver.Dispose();
+ waterPressureAsphaltCoverObserver.Dispose();
+ }
+
+ private void ResubscribeFailureMechanismObservers(AssessmentSection assessmentSection)
+ {
+ closingStructuresObserver.Observable = assessmentSection.ClosingStructures;
+ duneErosionObserver.Observable = assessmentSection.DuneErosion;
+ grassCoverErosionInwardsObserver.Observable = assessmentSection.GrassCoverErosionInwards;
+ grassCoverErosionOutwardsObserver.Observable = assessmentSection.GrassCoverErosionOutwards;
+ heightStructuresObserver.Observable = assessmentSection.HeightStructures;
+ macroStabilityInwardsObserver.Observable = assessmentSection.MacroStabilityInwards;
+ pipingObserver.Observable = assessmentSection.Piping;
+ stabilityPointStructuresObserver.Observable = assessmentSection.StabilityPointStructures;
+ stabilityStoneCoverObserver.Observable = assessmentSection.StabilityStoneCover;
+ waveImpactAsphaltCoverObserver.Observable = assessmentSection.WaveImpactAsphaltCover;
+ grassCoverSlipOffInwardsObserver.Observable = assessmentSection.GrassCoverSlipOffInwards;
+ grassCoverSlipOffOutwardsObserver.Observable = assessmentSection.GrassCoverSlipOffOutwards;
+ macroStabilityOutwardsObserver.Observable = assessmentSection.MacroStabilityOutwards;
+ microstabilityObserver.Observable = assessmentSection.Microstability;
+ pipingStructureObserver.Observable = assessmentSection.PipingStructure;
+ strengthStabilityLengthwiseConstructionObserver.Observable = assessmentSection.StrengthStabilityLengthwiseConstruction;
+ technicalInnovationObserver.Observable = assessmentSection.TechnicalInnovation;
+ waterPressureAsphaltCoverObserver.Observable = assessmentSection.WaterPressureAsphaltCover;
+ }
+
+ private Observer CreateCalculatableFailureMechanismObserver(TFailureMechanism failureMechanism)
+ where TFailureMechanism : IFailureMechanism, IHasSectionResults, ICalculatableFailureMechanism
+ where TSectionResult : FailureMechanismSectionResult
+ where TCalculation : ICalculation
+ {
+ return new Observer(NotifyObservers)
+ {
+ Observable = new CalculatableFailureMechanismResultObserver(failureMechanism)
+ };
+ }
+
+ private Observer CreateFailureMechanismObserver(TFailureMechanism failureMechanism)
+ where TFailureMechanism : IFailureMechanism, IHasSectionResults
+ where TSectionResult : FailureMechanismSectionResult
+ {
+ return new Observer(NotifyObservers)
+ {
+ Observable = new FailureMechanismResultObserver(failureMechanism)
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/AssemblyResultCategoriesContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/AssemblyResultCategoriesContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/AssemblyResultCategoriesContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,59 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Controls.PresentationObjects;
+using Ringtoets.Common.Data.AssemblyTool;
+using Ringtoets.Common.Data.Contribution;
+using Ringtoets.Common.Data.Exceptions;
+using Riskeer.AssemblyTool.Data;
+using Riskeer.Integration.Data;
+
+namespace Riskeer.Integration.Forms.PresentationObjects
+{
+ ///
+ /// Presentation object for presenting the category boundaries used in the overall assembly results of an .
+ ///
+ public class AssemblyResultCategoriesContext : ObservableWrappedObjectContextBase
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The assessment section to present the overall assembly results for.
+ /// Thrown when is null.
+ public AssemblyResultCategoriesContext(AssessmentSection assessmentSection)
+ : base(assessmentSection)
+ {
+ FailureMechanismContribution failureMechanismContribution = assessmentSection.FailureMechanismContribution;
+
+ GetAssemblyCategoriesFunc = () => AssemblyToolCategoriesFactory.CreateFailureMechanismAssemblyCategories(failureMechanismContribution.SignalingNorm,
+ failureMechanismContribution.LowerLimitNorm,
+ assessmentSection.FailureProbabilityMarginFactor);
+ }
+
+ ///
+ /// Gets the function to retrieve a collection of .
+ ///
+ /// Thrown when an error occurs while creating the categories.
+ public Func> GetAssemblyCategoriesFunc { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/AssemblyResultPerSectionContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/AssemblyResultPerSectionContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/AssemblyResultPerSectionContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,40 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Controls.PresentationObjects;
+using Riskeer.Integration.Data;
+
+namespace Riskeer.Integration.Forms.PresentationObjects
+{
+ ///
+ /// Presentation object for presenting the assembly results of an on a per section basis.
+ ///
+ public class AssemblyResultPerSectionContext : ObservableWrappedObjectContextBase
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The assessment section to present the assembly results for on a per section basis.
+ /// Thrown when is null.
+ public AssemblyResultPerSectionContext(AssessmentSection assessmentSection) : base(assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/AssemblyResultPerSectionMapContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/AssemblyResultPerSectionMapContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/AssemblyResultPerSectionMapContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,40 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Riskeer.Integration.Data;
+
+namespace Riskeer.Integration.Forms.PresentationObjects
+{
+ ///
+ /// Presentation object for presenting the assembly results of an on a per section basis on a map.
+ ///
+ public class AssemblyResultPerSectionMapContext : AssemblyResultPerSectionContext
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The assessment section to present the assembly results for on a per section basis on a map.
+ /// Thrown when is null.
+ public AssemblyResultPerSectionMapContext(AssessmentSection assessmentSection)
+ : base(assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/AssemblyResultTotalContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/AssemblyResultTotalContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/AssemblyResultTotalContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,40 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Controls.PresentationObjects;
+using Riskeer.Integration.Data;
+
+namespace Riskeer.Integration.Forms.PresentationObjects
+{
+ ///
+ /// Presentation object for presenting the overall assembly results of an .
+ ///
+ public class AssemblyResultTotalContext : ObservableWrappedObjectContextBase
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The assessment section to present the overall assembly results for.
+ /// Thrown when is null.
+ public AssemblyResultTotalContext(AssessmentSection assessmentSection) : base(assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/AssemblyResultsContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/AssemblyResultsContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/AssemblyResultsContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,40 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Controls.PresentationObjects;
+using Riskeer.Integration.Data;
+
+namespace Riskeer.Integration.Forms.PresentationObjects
+{
+ ///
+ /// Presentation object for presenting all the assembly results of an
+ ///
+ public class AssemblyResultsContext : ObservableWrappedObjectContextBase
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The assessment section to present all the assembly results for.
+ /// Thrown when is null.
+ public AssemblyResultsContext(AssessmentSection assessmentSection) : base(assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/HydraulicBoundaryDatabaseContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/HydraulicBoundaryDatabaseContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/HydraulicBoundaryDatabaseContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,57 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Controls.PresentationObjects;
+using Ringtoets.Common.Data.Hydraulics;
+using Riskeer.Integration.Data;
+
+namespace Riskeer.Integration.Forms.PresentationObjects
+{
+ ///
+ /// Presentation object for all data required to configure an instance of .
+ ///
+ public class HydraulicBoundaryDatabaseContext : ObservableWrappedObjectContextBase
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The that the belongs to.
+ /// The assessment section that the belongs to.
+ /// Thrown when any parameter is null.
+ public HydraulicBoundaryDatabaseContext(HydraulicBoundaryDatabase wrappedData,
+ AssessmentSection assessmentSection)
+ : base(wrappedData)
+ {
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ AssessmentSection = assessmentSection;
+ }
+
+ ///
+ /// Gets the assessment section that the context belongs to.
+ ///
+ public AssessmentSection AssessmentSection { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/MacroStabilityOutwardsAssemblyCategoriesContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/MacroStabilityOutwardsAssemblyCategoriesContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/MacroStabilityOutwardsAssemblyCategoriesContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,58 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Ringtoets.Common.Data.AssemblyTool;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.AssemblyTool.Data;
+using Riskeer.Integration.Data.StandAlone;
+
+namespace Riskeer.Integration.Forms.PresentationObjects
+{
+ ///
+ /// This class is a presentation object for failure mechanism category boundaries for a
+ /// instance.
+ ///
+ public class MacroStabilityOutwardsAssemblyCategoriesContext : FailureMechanismAssemblyCategoriesContextBase
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The to wrap.
+ /// The assessment section the belongs to.
+ /// The function to get the 'N' parameter used to factor in the 'length effect'.
+ /// Thrown when any input parameter is null.
+ public MacroStabilityOutwardsAssemblyCategoriesContext(MacroStabilityOutwardsFailureMechanism wrappedData,
+ IAssessmentSection assessmentSection,
+ Func getNFunc)
+ : base(wrappedData, assessmentSection, getNFunc)
+ {
+ GetFailureMechanismSectionAssemblyCategoriesFunc = () =>
+ AssemblyToolCategoriesFactory.CreateGeotechnicalFailureMechanismSectionAssemblyCategories(assessmentSection.FailureMechanismContribution.Norm,
+ wrappedData.Contribution,
+ getNFunc());
+ }
+
+ public override Func> GetFailureMechanismSectionAssemblyCategoriesFunc { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/GrassCoverSlipOffInwardsFailureMechanismContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/GrassCoverSlipOffInwardsFailureMechanismContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/GrassCoverSlipOffInwardsFailureMechanismContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.Integration.Data.StandAlone;
+
+namespace Riskeer.Integration.Forms.PresentationObjects.StandAlone
+{
+ ///
+ /// This class is a presentation object for an instance of .
+ ///
+ public class GrassCoverSlipOffInwardsFailureMechanismContext : FailureMechanismContext
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The failure mechanism.
+ /// The parent of .
+ /// Thrown when any input argument is null.
+ public GrassCoverSlipOffInwardsFailureMechanismContext(GrassCoverSlipOffInwardsFailureMechanism failureMechanism, IAssessmentSection assessmentSection)
+ : base(failureMechanism, assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/GrassCoverSlipOffInwardsFailureMechanismSectionsContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/GrassCoverSlipOffInwardsFailureMechanismSectionsContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/GrassCoverSlipOffInwardsFailureMechanismSectionsContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.Integration.Data.StandAlone;
+
+namespace Riskeer.Integration.Forms.PresentationObjects.StandAlone
+{
+ ///
+ /// This class is a presentation object for .
+ ///
+ public class GrassCoverSlipOffInwardsFailureMechanismSectionsContext : FailureMechanismSectionsContext
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The to wrap.
+ /// The owning assessment section of .
+ /// Thrown when any input argument is null.
+ public GrassCoverSlipOffInwardsFailureMechanismSectionsContext(GrassCoverSlipOffInwardsFailureMechanism wrappedData, IAssessmentSection assessmentSection)
+ : base(wrappedData, assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/GrassCoverSlipOffOutwardsFailureMechanismContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/GrassCoverSlipOffOutwardsFailureMechanismContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/GrassCoverSlipOffOutwardsFailureMechanismContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.Integration.Data.StandAlone;
+
+namespace Riskeer.Integration.Forms.PresentationObjects.StandAlone
+{
+ ///
+ /// This class is a presentation object for an instance of .
+ ///
+ public class GrassCoverSlipOffOutwardsFailureMechanismContext : FailureMechanismContext
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The failure mechanism.
+ /// The parent of .
+ /// Thrown when any input argument is null.
+ public GrassCoverSlipOffOutwardsFailureMechanismContext(GrassCoverSlipOffOutwardsFailureMechanism failureMechanism, IAssessmentSection assessmentSection)
+ : base(failureMechanism, assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/GrassCoverSlipOffOutwardsFailureMechanismSectionsContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/GrassCoverSlipOffOutwardsFailureMechanismSectionsContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/GrassCoverSlipOffOutwardsFailureMechanismSectionsContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.Integration.Data.StandAlone;
+
+namespace Riskeer.Integration.Forms.PresentationObjects.StandAlone
+{
+ ///
+ /// This class is a presentation object for .
+ ///
+ public class GrassCoverSlipOffOutwardsFailureMechanismSectionsContext : FailureMechanismSectionsContext
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The to wrap.
+ /// The owning assessment section of .
+ /// Thrown when any input argument is null.
+ public GrassCoverSlipOffOutwardsFailureMechanismSectionsContext(GrassCoverSlipOffOutwardsFailureMechanism wrappedData, IAssessmentSection assessmentSection)
+ : base(wrappedData, assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/MacroStabilityOutwardsFailureMechanismContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/MacroStabilityOutwardsFailureMechanismContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/MacroStabilityOutwardsFailureMechanismContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.Integration.Data.StandAlone;
+
+namespace Riskeer.Integration.Forms.PresentationObjects.StandAlone
+{
+ ///
+ /// This class is a presentation object for an instance of .
+ ///
+ public class MacroStabilityOutwardsFailureMechanismContext : FailureMechanismContext
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The failure mechanism.
+ /// The parent of .
+ /// Thrown when any input argument is null.
+ public MacroStabilityOutwardsFailureMechanismContext(MacroStabilityOutwardsFailureMechanism failureMechanism, IAssessmentSection assessmentSection)
+ : base(failureMechanism, assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/MacroStabilityOutwardsFailureMechanismSectionsContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/MacroStabilityOutwardsFailureMechanismSectionsContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/MacroStabilityOutwardsFailureMechanismSectionsContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.Integration.Data.StandAlone;
+
+namespace Riskeer.Integration.Forms.PresentationObjects.StandAlone
+{
+ ///
+ /// This class is a presentation object for .
+ ///
+ public class MacroStabilityOutwardsFailureMechanismSectionsContext : FailureMechanismSectionsContext
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The to wrap.
+ /// The owning assessment section of .
+ /// Thrown when any input argument is null.
+ public MacroStabilityOutwardsFailureMechanismSectionsContext(MacroStabilityOutwardsFailureMechanism wrappedData, IAssessmentSection assessmentSection)
+ : base(wrappedData, assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/MicrostabilityFailureMechanismContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/MicrostabilityFailureMechanismContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/MicrostabilityFailureMechanismContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.Integration.Data.StandAlone;
+
+namespace Riskeer.Integration.Forms.PresentationObjects.StandAlone
+{
+ ///
+ /// This class is a presentation object for an instance of .
+ ///
+ public class MicrostabilityFailureMechanismContext : FailureMechanismContext
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The failure mechanism.
+ /// The parent of .
+ /// Thrown when any input argument is null.
+ public MicrostabilityFailureMechanismContext(MicrostabilityFailureMechanism failureMechanism, IAssessmentSection assessmentSection)
+ : base(failureMechanism, assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/MicrostabilityFailureMechanismSectionsContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/MicrostabilityFailureMechanismSectionsContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/MicrostabilityFailureMechanismSectionsContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.Integration.Data.StandAlone;
+
+namespace Riskeer.Integration.Forms.PresentationObjects.StandAlone
+{
+ ///
+ /// This class is a presentation object for .
+ ///
+ public class MicrostabilityFailureMechanismSectionsContext : FailureMechanismSectionsContext
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The to wrap.
+ /// The owning assessment section of .
+ /// Thrown when any input argument is null.
+ public MicrostabilityFailureMechanismSectionsContext(MicrostabilityFailureMechanism wrappedData, IAssessmentSection assessmentSection)
+ : base(wrappedData, assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/PipingStructureFailureMechanismContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/PipingStructureFailureMechanismContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/PipingStructureFailureMechanismContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.Integration.Data.StandAlone;
+
+namespace Riskeer.Integration.Forms.PresentationObjects.StandAlone
+{
+ ///
+ /// This class is a presentation object for an instance of .
+ ///
+ public class PipingStructureFailureMechanismContext : FailureMechanismContext
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The failure mechanism.
+ /// The parent of .
+ /// Thrown when any input argument is null.
+ public PipingStructureFailureMechanismContext(PipingStructureFailureMechanism failureMechanism, IAssessmentSection assessmentSection)
+ : base(failureMechanism, assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/PipingStructureFailureMechanismSectionsContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/PipingStructureFailureMechanismSectionsContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/PipingStructureFailureMechanismSectionsContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.Integration.Data.StandAlone;
+
+namespace Riskeer.Integration.Forms.PresentationObjects.StandAlone
+{
+ ///
+ /// This class is a presentation object for .
+ ///
+ public class PipingStructureFailureMechanismSectionsContext : FailureMechanismSectionsContext
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The to wrap.
+ /// The owning assessment section of .
+ /// Thrown when any input argument is null.
+ public PipingStructureFailureMechanismSectionsContext(PipingStructureFailureMechanism wrappedData, IAssessmentSection assessmentSection)
+ : base(wrappedData, assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/StrengthStabilityLengthwiseConstructionFailureMechanismContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/StrengthStabilityLengthwiseConstructionFailureMechanismContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/StrengthStabilityLengthwiseConstructionFailureMechanismContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,44 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.Integration.Data.StandAlone;
+
+namespace Riskeer.Integration.Forms.PresentationObjects.StandAlone
+{
+ ///
+ /// This class is a presentation object for an instance of .
+ ///
+ public class StrengthStabilityLengthwiseConstructionFailureMechanismContext : FailureMechanismContext
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The failure mechanism.
+ /// The parent of .
+ /// Thrown when any input argument is null.
+ public StrengthStabilityLengthwiseConstructionFailureMechanismContext(StrengthStabilityLengthwiseConstructionFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
+ : base(failureMechanism, assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/StrengthStabilityLengthwiseConstructionFailureMechanismSectionsContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/StrengthStabilityLengthwiseConstructionFailureMechanismSectionsContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/StrengthStabilityLengthwiseConstructionFailureMechanismSectionsContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,44 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.Integration.Data.StandAlone;
+
+namespace Riskeer.Integration.Forms.PresentationObjects.StandAlone
+{
+ ///
+ /// This class is a presentation object for .
+ ///
+ public class StrengthStabilityLengthwiseConstructionFailureMechanismSectionsContext : FailureMechanismSectionsContext
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The to wrap.
+ /// The owning assessment section of .
+ /// Thrown when any input argument is null.
+ public StrengthStabilityLengthwiseConstructionFailureMechanismSectionsContext(StrengthStabilityLengthwiseConstructionFailureMechanism wrappedData,
+ IAssessmentSection assessmentSection)
+ : base(wrappedData, assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/TechnicalInnovationFailureMechanismContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/TechnicalInnovationFailureMechanismContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/TechnicalInnovationFailureMechanismContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.Integration.Data.StandAlone;
+
+namespace Riskeer.Integration.Forms.PresentationObjects.StandAlone
+{
+ ///
+ /// This class is a presentation object for an instance of .
+ ///
+ public class TechnicalInnovationFailureMechanismContext : FailureMechanismContext
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The failure mechanism.
+ /// The parent of .
+ /// Thrown when any input argument is null.
+ public TechnicalInnovationFailureMechanismContext(TechnicalInnovationFailureMechanism failureMechanism, IAssessmentSection assessmentSection)
+ : base(failureMechanism, assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/TechnicalInnovationFailureMechanismSectionsContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/TechnicalInnovationFailureMechanismSectionsContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/TechnicalInnovationFailureMechanismSectionsContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.Integration.Data.StandAlone;
+
+namespace Riskeer.Integration.Forms.PresentationObjects.StandAlone
+{
+ ///
+ /// This class is a presentation object for .
+ ///
+ public class TechnicalInnovationFailureMechanismSectionsContext : FailureMechanismSectionsContext
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The to wrap.
+ /// The owning assessment section of .
+ /// Thrown when any input argument is null.
+ public TechnicalInnovationFailureMechanismSectionsContext(TechnicalInnovationFailureMechanism wrappedData, IAssessmentSection assessmentSection)
+ : base(wrappedData, assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/WaterPressureAsphaltCoverFailureMechanismContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/WaterPressureAsphaltCoverFailureMechanismContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/WaterPressureAsphaltCoverFailureMechanismContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.Integration.Data.StandAlone;
+
+namespace Riskeer.Integration.Forms.PresentationObjects.StandAlone
+{
+ ///
+ /// This class is a presentation object for an instance of .
+ ///
+ public class WaterPressureAsphaltCoverFailureMechanismContext : FailureMechanismContext
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The failure mechanism.
+ /// The parent of .
+ /// Thrown when any input argument is null.
+ public WaterPressureAsphaltCoverFailureMechanismContext(WaterPressureAsphaltCoverFailureMechanism failureMechanism, IAssessmentSection assessmentSection)
+ : base(failureMechanism, assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/WaterPressureAsphaltCoverFailureMechanismSectionsContext.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/WaterPressureAsphaltCoverFailureMechanismSectionsContext.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PresentationObjects/StandAlone/WaterPressureAsphaltCoverFailureMechanismSectionsContext.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.Integration.Data.StandAlone;
+
+namespace Riskeer.Integration.Forms.PresentationObjects.StandAlone
+{
+ ///
+ /// This class is a presentation object for .
+ ///
+ public class WaterPressureAsphaltCoverFailureMechanismSectionsContext : FailureMechanismSectionsContext
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The to wrap.
+ /// The owning assessment section of .
+ /// Thrown when any input argument is null.
+ public WaterPressureAsphaltCoverFailureMechanismSectionsContext(WaterPressureAsphaltCoverFailureMechanism wrappedData, IAssessmentSection assessmentSection)
+ : base(wrappedData, assessmentSection) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Properties/AssemblyInfo.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Properties/AssemblyInfo.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Properties/AssemblyInfo.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,27 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+[assembly: AssemblyTitle("Riskeer.Integration.Forms")]
+[assembly: AssemblyProduct("Riskeer.Integration.Forms")]
+[assembly: InternalsVisibleTo("Ringtoets.Integration.Forms.Test")]
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Properties/Resources.Designer.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Properties/Resources.Designer.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Properties/Resources.Designer.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,1090 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Riskeer.Integration.Forms.Properties {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ public class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ public static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Riskeer.Integration.Forms.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ public static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to T&raject toevoegen....
+ ///
+ public static string AddAssessmentSection_DisplayName {
+ get {
+ return ResourceManager.GetString("AddAssessmentSection_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ public static System.Drawing.Bitmap AddAssessmentSectionFolder {
+ get {
+ object obj = ResourceManager.GetObject("AddAssessmentSectionFolder", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Categoriegrenzen voor de gecombineerde toetssporen 1 en 2.
+ ///
+ public static string AssemblyResultCategories_DisplayName {
+ get {
+ return ResourceManager.GetString("AssemblyResultCategories_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Gecombineerd vakoordeel.
+ ///
+ public static string AssemblyResultPerSection_DisplayName {
+ get {
+ return ResourceManager.GetString("AssemblyResultPerSection_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Assemblagekaart.
+ ///
+ public static string AssemblyResultPerSectionMapView_DisplayName {
+ get {
+ return ResourceManager.GetString("AssemblyResultPerSectionMapView_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Toetsoordeel groepen 3 en 4.
+ ///
+ public static string AssemblyResultTotalView_FailureMechanismsWithoutProbabilityResultLabel_Text {
+ get {
+ return ResourceManager.GetString("AssemblyResultTotalView_FailureMechanismsWithoutProbabilityResultLabel_Text", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Toetsoordeel groepen 1 en 2.
+ ///
+ public static string AssemblyResultTotalView_FailureMechanismsWithProbabilityResultLabel_Text {
+ get {
+ return ResourceManager.GetString("AssemblyResultTotalView_FailureMechanismsWithProbabilityResultLabel_Text", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Benaderde faalkans [1/jaar].
+ ///
+ public static string AssemblyResultTotalView_Probability_DisplayName {
+ get {
+ return ResourceManager.GetString("AssemblyResultTotalView_Probability_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Veiligheidsoordeel.
+ ///
+ public static string AssemblyResultTotalView_TotalResultLabel_Text {
+ get {
+ return ResourceManager.GetString("AssemblyResultTotalView_TotalResultLabel_Text", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Toetsoordeel is verouderd. Druk op de "Toetsoordeel verversen" knop om opnieuw te berekenen..
+ ///
+ public static string AssemblyResultView_RefreshAssemblyResultsButton_Warning_Result_is_outdated_Press_Refresh_button_to_recalculate {
+ get {
+ return ResourceManager.GetString("AssemblyResultView_RefreshAssemblyResultsButton_Warning_Result_is_outdated_Press_" +
+ "Refresh_button_to_recalculate", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to ID van het traject..
+ ///
+ public static string AssessmentSection_Id_Description {
+ get {
+ return ResourceManager.GetString("AssessmentSection_Id_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to ID.
+ ///
+ public static string AssessmentSection_Id_DisplayName {
+ get {
+ return ResourceManager.GetString("AssessmentSection_Id_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Naam van het traject..
+ ///
+ public static string AssessmentSection_Name_Description {
+ get {
+ return ResourceManager.GetString("AssessmentSection_Name_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Naam.
+ ///
+ public static string AssessmentSection_Name_DisplayName {
+ get {
+ return ResourceManager.GetString("AssessmentSection_Name_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Selecteer het type traject, bepalend voor de faalkansbegroting..
+ ///
+ public static string AssessmentSectionComposition_Composition_Description {
+ get {
+ return ResourceManager.GetString("AssessmentSectionComposition_Composition_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Trajecttype.
+ ///
+ public static string AssessmentSectionComposition_Composition_DisplayName {
+ get {
+ return ResourceManager.GetString("AssessmentSectionComposition_Composition_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ public static System.Drawing.Bitmap AssessmentSectionFolder {
+ get {
+ object obj = ResourceManager.GetObject("AssessmentSectionFolder", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ public static System.Drawing.Bitmap AssessmentSectionFolderIcon {
+ get {
+ object obj = ResourceManager.GetObject("AssessmentSectionFolderIcon", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Het importeren van de referentielijn is mislukt..
+ ///
+ public static string AssessmentSectionFromFileCommandHandler_CreateAssessmentSection_Importing_ReferenceLineFailed {
+ get {
+ return ResourceManager.GetString("AssessmentSectionFromFileCommandHandler_CreateAssessmentSection_Importing_Referen" +
+ "ceLineFailed", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er zijn geen instellingen gevonden voor het geselecteerde traject. Standaardinstellingen zullen gebruikt worden..
+ ///
+ public static string AssessmentSectionFromFileCommandHandler_CreateAssessmentSection_No_settings_found_for_AssessmentSection {
+ get {
+ return ResourceManager.GetString("AssessmentSectionFromFileCommandHandler_CreateAssessmentSection_No_settings_found" +
+ "_for_AssessmentSection", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Het traject kan niet aangemaakt worden met een ondergrens van {0} en een signaleringswaarde van {1}. De waarde van de ondergrens en signaleringswaarde moet in het bereik {2} liggen en de ondergrens moet gelijk zijn aan of groter zijn dan de signaleringswaarde..
+ ///
+ public static string AssessmentSectionFromFileCommandHandler_Unable_to_create_assessmentSection_with_LowerLimitNorm_0_and_SignalingNorm_1_Norms_should_be_in_Range_2_ {
+ get {
+ return ResourceManager.GetString("AssessmentSectionFromFileCommandHandler_Unable_to_create_assessmentSection_with_L" +
+ "owerLimitNorm_0_and_SignalingNorm_1_Norms_should_be_in_Range_2_", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er kunnen geen trajecten gelezen worden uit het shapebestand..
+ ///
+ public static string AssessmentSectionFromFileCommandHandler_ValidateReferenceLineMetas_No_referenceLines_in_file {
+ get {
+ return ResourceManager.GetString("AssessmentSectionFromFileCommandHandler_ValidateReferenceLineMetas_No_referenceLi" +
+ "nes_in_file", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Trajectkaart.
+ ///
+ public static string AssessmentSectionMap_DisplayName {
+ get {
+ return ResourceManager.GetString("AssessmentSectionMap_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Hydraulische belastingen op trajectniveau worden altijd samengevoegd.
+ ///Daarbij gaan de huidige berekeningsresultaten voor belastingen op trajectniveau niet verloren..
+ ///
+ public static string AssessmentSectionMergeDataProviderDialog_InfoToolTip {
+ get {
+ return ResourceManager.GetString("AssessmentSectionMergeDataProviderDialog_InfoToolTip", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Geeft aan of de geselecteerde achtergrond kaartlaag in alle kaarten van dit traject wordt weergegeven..
+ ///
+ public static string BackgroundDataProperties_IsVisible_Description {
+ get {
+ return ResourceManager.GetString("BackgroundDataProperties_IsVisible_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Weergeven.
+ ///
+ public static string BackgroundDataProperties_IsVisible_DisplayName {
+ get {
+ return ResourceManager.GetString("BackgroundDataProperties_IsVisible_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Omschrijving van de achtergrond kaartlaag..
+ ///
+ public static string BackgroundDataProperties_Name_Description {
+ get {
+ return ResourceManager.GetString("BackgroundDataProperties_Name_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Omschrijving.
+ ///
+ public static string BackgroundDataProperties_Name_DisplayName {
+ get {
+ return ResourceManager.GetString("BackgroundDataProperties_Name_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Transparantie waarmee de achtergrond kaartlaag wordt weergegeven..
+ ///
+ public static string BackgroundDataProperties_Transparency_Description {
+ get {
+ return ResourceManager.GetString("BackgroundDataProperties_Transparency_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Transparantie.
+ ///
+ public static string BackgroundDataProperties_Transparency_DisplayName {
+ get {
+ return ResourceManager.GetString("BackgroundDataProperties_Transparency_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to WMTS.
+ ///
+ public static string BackgroundDataProperties_Wmts_Category {
+ get {
+ return ResourceManager.GetString("BackgroundDataProperties_Wmts_Category", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Het type afbeelding die door de geselecteerde kaartlaag aangeleverd wordt..
+ ///
+ public static string BackgroundDataProperties_Wmts_PreferredFormat_Description {
+ get {
+ return ResourceManager.GetString("BackgroundDataProperties_Wmts_PreferredFormat_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to De naam van de geselecteerde kaartlaag..
+ ///
+ public static string BackgroundDataProperties_Wmts_SelectedCapabilityIdentifier_Description {
+ get {
+ return ResourceManager.GetString("BackgroundDataProperties_Wmts_SelectedCapabilityIdentifier_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Volledige URL naar de Web Map Tile Service (WMTS) die als achtergrond kaartlaag gebruikt wordt..
+ ///
+ public static string BackgroundDataProperties_Wmts_Url_Description {
+ get {
+ return ResourceManager.GetString("BackgroundDataProperties_Wmts_Url_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to URL.
+ ///
+ public static string BackgroundDataProperties_Wmts_Url_DisplayName {
+ get {
+ return ResourceManager.GetString("BackgroundDataProperties_Wmts_Url_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Naam van de berekening..
+ ///
+ public static string Calculation_Name_Description {
+ get {
+ return ResourceManager.GetString("Calculation_Name_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Naam.
+ ///
+ public static string Calculation_Name_DisplayName {
+ get {
+ return ResourceManager.GetString("Calculation_Name_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Naam van de map met berekeningen..
+ ///
+ public static string CalculationGroup_Name_Description {
+ get {
+ return ResourceManager.GetString("CalculationGroup_Name_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Naam.
+ ///
+ public static string CalculationGroup_Name_DisplayName {
+ get {
+ return ResourceManager.GetString("CalculationGroup_Name_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Map met berekeningen.
+ ///
+ public static string CalculationGroupContextProperties_DisplayName {
+ get {
+ return ResourceManager.GetString("CalculationGroupContextProperties_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to De uitvoer van alle afhankelijke berekeningen is verwijderd..
+ ///
+ public static string Calculations_Cleared {
+ get {
+ return ResourceManager.GetString("Calculations_Cleared", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to De categoriegrenzen voor de gecombineerde toetssporen in groep 1 en 2..
+ ///
+ public static string CategoryBoundariesGroupOneAndTwo_Description {
+ get {
+ return ResourceManager.GetString("CategoryBoundariesGroupOneAndTwo_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Categoriegrenzen groep 1 en 2.
+ ///
+ public static string CategoryBoundariesGroupOneAndTwo_DisplayName {
+ get {
+ return ResourceManager.GetString("CategoryBoundariesGroupOneAndTwo_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to U heeft een ander hydraulische belastingendatabase bestand geselecteerd. Als gevolg hiervan moet de uitvoer van alle ervan afhankelijke berekeningen verwijderd worden.
+ ///
+ ///Weet u zeker dat u wilt doorgaan?.
+ ///
+ public static string Delete_Calculations_Text {
+ get {
+ return ResourceManager.GetString("Delete_Calculations_Text", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Is relevant.
+ ///
+ public static string FailureMechanism_IsRelevant_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanism_IsRelevant_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Toetsspoor.
+ ///
+ public static string FailureMechanism_Name_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanism_Name_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Categoriegrenzen voor dit traject.
+ ///
+ public static string FailureMechanismAssemblyCategories_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismAssemblyCategories_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to De categoriegrenzen voor dit traject en toetsspoor..
+ ///
+ public static string FailureMechanismAssemblyCategoriesProperties_FailureMechanismAssemblyCategories_Description {
+ get {
+ return ResourceManager.GetString("FailureMechanismAssemblyCategoriesProperties_FailureMechanismAssemblyCategories_D" +
+ "escription", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to De categoriegrenzen per vak voor dit toetsspoor..
+ ///
+ public static string FailureMechanismAssemblyCategoriesProperties_FailureMechanismSectionAssemblyCategories_Description {
+ get {
+ return ResourceManager.GetString("FailureMechanismAssemblyCategoriesProperties_FailureMechanismSectionAssemblyCateg" +
+ "ories_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Trajecttype: {0}.
+ ///
+ public static string FailureMechanismContributionView_AssessmentSectionCompositionLabelText_AssessmentSectionComposition_0_ {
+ get {
+ return ResourceManager.GetString("FailureMechanismContributionView_AssessmentSectionCompositionLabelText_Assessment" +
+ "SectionComposition_0_", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Toegestane bijdrage aan faalkans [%].
+ ///
+ public static string FailureMechanismContributionView_GridColumn_Contribution {
+ get {
+ return ResourceManager.GetString("FailureMechanismContributionView_GridColumn_Contribution", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Faalkansruimte [1/jaar].
+ ///
+ public static string FailureMechanismContributionView_GridColumn_ProbabilitySpace {
+ get {
+ return ResourceManager.GetString("FailureMechanismContributionView_GridColumn_ProbabilitySpace", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to n.v.t.
+ ///
+ public static string FailureMechanismContributionView_ProbabilityPerYear_Not_applicable {
+ get {
+ return ResourceManager.GetString("FailureMechanismContributionView_ProbabilityPerYear_Not_applicable", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Norm van het dijktraject: 1 / {0}.
+ ///
+ public static string FailureMechanismContributionView_ReturnPeriodLabelText_Norm_is_one_over_ReturnPeriod_0_ {
+ get {
+ return ResourceManager.GetString("FailureMechanismContributionView_ReturnPeriodLabelText_Norm_is_one_over_ReturnPer" +
+ "iod_0_", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Heeft vakindeling.
+ ///
+ public static string FailureMechanismMergeDataRow_HasSections_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismMergeDataRow_HasSections_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Selecteer.
+ ///
+ public static string FailureMechanismMergeDataRow_IsSelected_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismMergeDataRow_IsSelected_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Aantal berekeningen.
+ ///
+ public static string FailureMechanismMergeDataRow_NumberOfCalculations_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismMergeDataRow_NumberOfCalculations_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Overig ({0}).
+ ///
+ public static string FailureMechanismProperties_Contribution_Other_Percentage_0 {
+ get {
+ return ResourceManager.GetString("FailureMechanismProperties_Contribution_Other_Percentage_0", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Categoriegrenzen per vak.
+ ///
+ public static string FailureMechanismSectionAssemblyCategories_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismSectionAssemblyCategories_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to De gecombineerde faalkansruimte voor de toetssporen in groep 1 en 2..
+ ///
+ public static string FailureProbabilityMarginFactor_Description {
+ get {
+ return ResourceManager.GetString("FailureProbabilityMarginFactor_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Gecombineerde faalkansruimte.
+ ///
+ public static string FailureProbabilityMarginFactor_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureProbabilityMarginFactor_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to HLCD bestand|*.sqlite.
+ ///
+ public static string HlcdFileNameEditor_InitializeDialog_FileFilter {
+ get {
+ return ResourceManager.GetString("HlcdFileNameEditor_InitializeDialog_FileFilter", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to &Koppel aan database....
+ ///
+ public static string HydraulicBoundaryDatabase_Connect {
+ get {
+ return ResourceManager.GetString("HydraulicBoundaryDatabase_Connect", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Koppel aan hydraulische belastingendatabase..
+ ///
+ public static string HydraulicBoundaryDatabase_Connect_ToolTip {
+ get {
+ return ResourceManager.GetString("HydraulicBoundaryDatabase_Connect_ToolTip", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Locatie van het HRD bestand..
+ ///
+ public static string HydraulicBoundaryDatabase_FilePath_Description {
+ get {
+ return ResourceManager.GetString("HydraulicBoundaryDatabase_FilePath_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to HRD database locatie.
+ ///
+ public static string HydraulicBoundaryDatabase_FilePath_DisplayName {
+ get {
+ return ResourceManager.GetString("HydraulicBoundaryDatabase_FilePath_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Locatie waar de preprocessor bestanden opslaat..
+ ///
+ public static string HydraulicBoundaryDatabase_PreprocessorDirectory_Description {
+ get {
+ return ResourceManager.GetString("HydraulicBoundaryDatabase_PreprocessorDirectory_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Locatie preprocessor bestanden.
+ ///
+ public static string HydraulicBoundaryDatabase_PreprocessorDirectory_DisplayName {
+ get {
+ return ResourceManager.GetString("HydraulicBoundaryDatabase_PreprocessorDirectory_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Gebruik de preprocessor bij het uitvoeren van een berekening..
+ ///
+ public static string HydraulicBoundaryDatabase_UsePreprocessor_Description {
+ get {
+ return ResourceManager.GetString("HydraulicBoundaryDatabase_UsePreprocessor_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Gebruik preprocessor.
+ ///
+ public static string HydraulicBoundaryDatabase_UsePreprocessor_DisplayName {
+ get {
+ return ResourceManager.GetString("HydraulicBoundaryDatabase_UsePreprocessor_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Overige informatie..
+ ///
+ public static string HydraulicLocationConfigurationSettings_Comment_Description {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_Comment_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Overig.
+ ///
+ public static string HydraulicLocationConfigurationSettings_Comment_DisplayName {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_Comment_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Locatie van het HLCD bestand..
+ ///
+ public static string HydraulicLocationConfigurationSettings_FilePath_Description {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_FilePath_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to HLCD database locatie.
+ ///
+ public static string HydraulicLocationConfigurationSettings_FilePath_DisplayName {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_FilePath_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Klimaatinformatie met betrekking tot het meerpeil/de meerpeilen..
+ ///
+ public static string HydraulicLocationConfigurationSettings_LakeLevel_Description {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_LakeLevel_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Meerpeil.
+ ///
+ public static string HydraulicLocationConfigurationSettings_LakeLevel_DisplayName {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_LakeLevel_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Klimaatinformatie met betrekking tot de rivierafvoer..
+ ///
+ public static string HydraulicLocationConfigurationSettings_RiverDischarge_Description {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_RiverDischarge_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Rivierafvoer.
+ ///
+ public static string HydraulicLocationConfigurationSettings_RiverDischarge_DisplayName {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_RiverDischarge_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Algemene naam van het klimaatscenario..
+ ///
+ public static string HydraulicLocationConfigurationSettings_ScenarioName_Description {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_ScenarioName_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Klimaatscenario.
+ ///
+ public static string HydraulicLocationConfigurationSettings_ScenarioName_DisplayName {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_ScenarioName_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Projectkader waarin de statistiek bedoeld is te gebruiken..
+ ///
+ public static string HydraulicLocationConfigurationSettings_Scope_Description {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_Scope_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Toepassingskader.
+ ///
+ public static string HydraulicLocationConfigurationSettings_Scope_DisplayName {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_Scope_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Klimaatinformatie met betrekking tot de zeewaterstand..
+ ///
+ public static string HydraulicLocationConfigurationSettings_SeaLevel_Description {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_SeaLevel_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Zeewaterstand.
+ ///
+ public static string HydraulicLocationConfigurationSettings_SeaLevel_DisplayName {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_SeaLevel_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Klimaatinformatie met betrekking tot de windrichting..
+ ///
+ public static string HydraulicLocationConfigurationSettings_WindDirection_Description {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_WindDirection_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Windrichting.
+ ///
+ public static string HydraulicLocationConfigurationSettings_WindDirection_DisplayName {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_WindDirection_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Klimaatinformatie met betrekking tot de windsnelheid..
+ ///
+ public static string HydraulicLocationConfigurationSettings_WindSpeed_Description {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_WindSpeed_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Windsnelheid.
+ ///
+ public static string HydraulicLocationConfigurationSettings_WindSpeed_DisplayName {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_WindSpeed_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Jaartal van het jaar waarop de statistiek van toepassing is..
+ ///
+ public static string HydraulicLocationConfigurationSettings_Year_Description {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_Year_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Zichtjaar.
+ ///
+ public static string HydraulicLocationConfigurationSettings_Year_DisplayName {
+ get {
+ return ResourceManager.GetString("HydraulicLocationConfigurationSettings_Year_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Overstromingskans van het dijktraject die hoort bij het minimale beschermingsniveau dat de kering moet bieden..
+ ///
+ public static string LowerLimitNorm_Description {
+ get {
+ return ResourceManager.GetString("LowerLimitNorm_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Ondergrens [1/jaar].
+ ///
+ public static string LowerLimitNorm_DisplayName {
+ get {
+ return ResourceManager.GetString("LowerLimitNorm_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ public static System.Drawing.Bitmap Map {
+ get {
+ object obj = ResourceManager.GetObject("Map", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to De kans die wordt gebruikt als de norm van het dijktraject..
+ ///
+ public static string NormType_Description {
+ get {
+ return ResourceManager.GetString("NormType_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Norm van het dijktraject.
+ ///
+ public static string NormType_DisplayName {
+ get {
+ return ResourceManager.GetString("NormType_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Traject ID.
+ ///
+ public static string ReferenceLineMetaSelectionDialog_ColumnHeader_AssessmentSectionId {
+ get {
+ return ResourceManager.GetString("ReferenceLineMetaSelectionDialog_ColumnHeader_AssessmentSectionId", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Ondergrens.
+ ///
+ public static string ReferenceLineMetaSelectionDialog_ColumnHeader_LowerLimitValue {
+ get {
+ return ResourceManager.GetString("ReferenceLineMetaSelectionDialog_ColumnHeader_LowerLimitValue", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Signaleringswaarde.
+ ///
+ public static string ReferenceLineMetaSelectionDialog_ColumnHeader_SignalingValue {
+ get {
+ return ResourceManager.GetString("ReferenceLineMetaSelectionDialog_ColumnHeader_SignalingValue", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Lijst van alle coördinaten (X-coördinaat, Y-coördinaat) die samen de referentielijn vormen..
+ ///
+ public static string ReferenceLineProperties_Geometry_Description {
+ get {
+ return ResourceManager.GetString("ReferenceLineProperties_Geometry_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Coördinaten.
+ ///
+ public static string ReferenceLineProperties_Geometry_DisplayName {
+ get {
+ return ResourceManager.GetString("ReferenceLineProperties_Geometry_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Toetsoordeel verversen.
+ ///
+ public static string RefreshAssemblyResultsButton_Text {
+ get {
+ return ResourceManager.GetString("RefreshAssemblyResultsButton_Text", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Database op pad '{0}' gekoppeld..
+ ///
+ public static string RingtoetsPlugin_SetBoundaryDatabaseFilePath_Database_on_path_0_linked {
+ get {
+ return ResourceManager.GetString("RingtoetsPlugin_SetBoundaryDatabaseFilePath_Database_on_path_0_linked", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Korte beschrijving van het project..
+ ///
+ public static string RingtoetsProjectProperties_Description_Description {
+ get {
+ return ResourceManager.GetString("RingtoetsProjectProperties_Description_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Omschrijving.
+ ///
+ public static string RingtoetsProjectProperties_Description_DisplayName {
+ get {
+ return ResourceManager.GetString("RingtoetsProjectProperties_Description_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Naam van het project..
+ ///
+ public static string RingtoetsProjectProperties_Name_Description {
+ get {
+ return ResourceManager.GetString("RingtoetsProjectProperties_Name_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Naam.
+ ///
+ public static string RingtoetsProjectProperties_Name_DisplayName {
+ get {
+ return ResourceManager.GetString("RingtoetsProjectProperties_Name_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Traject Toevoegen.
+ ///
+ public static string RingtoetsRibbon_AddAssessmentSection {
+ get {
+ return ResourceManager.GetString("RingtoetsRibbon_AddAssessmentSection", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Vaknummer.
+ ///
+ public static string SectionNumber_DisplayName {
+ get {
+ return ResourceManager.GetString("SectionNumber_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Overstromingskans van het dijktraject waarvan overschrijding gemeld moet worden aan de Minister van I en M..
+ ///
+ public static string SignalingNorm_Description {
+ get {
+ return ResourceManager.GetString("SignalingNorm_Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Signaleringswaarde [1/jaar].
+ ///
+ public static string SignalingNorm_DisplayName {
+ get {
+ return ResourceManager.GetString("SignalingNorm_DisplayName", resourceCulture);
+ }
+ }
+ }
+}
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Properties/Resources.resx
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Properties/Resources.resx (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Properties/Resources.resx (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,454 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Naam van het traject.
+
+
+ Naam
+
+
+
+ ..\Resources\folder-stand.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Trajectkaart
+
+
+ ..\Resources\map.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ De uitvoer van alle afhankelijke berekeningen is verwijderd.
+
+
+ U heeft een ander hydraulische belastingendatabase bestand geselecteerd. Als gevolg hiervan moet de uitvoer van alle ervan afhankelijke berekeningen verwijderd worden.
+
+Weet u zeker dat u wilt doorgaan?
+
+
+ &Koppel aan database...
+
+
+ Koppel aan hydraulische belastingendatabase.
+
+
+ Locatie van het HRD bestand.
+
+
+ HRD database locatie
+
+
+ Database op pad '{0}' gekoppeld.
+
+
+ n.v.t
+
+
+ Map met berekeningen
+
+
+ Naam van de map met berekeningen.
+
+
+ Naam
+
+
+ Naam van de berekening.
+
+
+ Naam
+
+
+ ID van het traject.
+
+
+ ID
+
+
+ Signaleringswaarde
+
+
+ Traject ID
+
+
+ Ondergrens
+
+
+ Er zijn geen instellingen gevonden voor het geselecteerde traject. Standaardinstellingen zullen gebruikt worden.
+
+
+ Er kunnen geen trajecten gelezen worden uit het shapebestand.
+
+
+ Het importeren van de referentielijn is mislukt.
+
+
+ Het traject kan niet aangemaakt worden met een ondergrens van {0} en een signaleringswaarde van {1}. De waarde van de ondergrens en signaleringswaarde moet in het bereik {2} liggen en de ondergrens moet gelijk zijn aan of groter zijn dan de signaleringswaarde.
+
+
+ ..\Resources\folder-stand32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Korte beschrijving van het project.
+
+
+ Omschrijving
+
+
+ Naam van het project.
+
+
+ Naam
+
+
+ ..\Resources\AddFolder-stand32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Traject Toevoegen
+
+
+ T&raject toevoegen...
+
+
+ Selecteer het type traject, bepalend voor de faalkansbegroting.
+
+
+ Trajecttype
+
+
+ Norm van het dijktraject: 1 / {0}
+
+
+ Trajecttype: {0}
+
+
+ Geeft aan of de geselecteerde achtergrond kaartlaag in alle kaarten van dit traject wordt weergegeven.
+
+
+ Weergeven
+
+
+ Omschrijving van de achtergrond kaartlaag.
+
+
+ Omschrijving
+
+
+ Transparantie waarmee de achtergrond kaartlaag wordt weergegeven.
+
+
+ Transparantie
+
+
+ Volledige URL naar de Web Map Tile Service (WMTS) die als achtergrond kaartlaag gebruikt wordt.
+
+
+ URL
+
+
+ Het type afbeelding die door de geselecteerde kaartlaag aangeleverd wordt.
+
+
+ De naam van de geselecteerde kaartlaag.
+
+
+ WMTS
+
+
+ Overstromingskans van het dijktraject die hoort bij het minimale beschermingsniveau dat de kering moet bieden.
+
+
+ Ondergrens [1/jaar]
+
+
+ De kans die wordt gebruikt als de norm van het dijktraject.
+
+
+ Norm van het dijktraject
+
+
+ Overstromingskans van het dijktraject waarvan overschrijding gemeld moet worden aan de Minister van I en M.
+
+
+ Signaleringswaarde [1/jaar]
+
+
+ Locatie waar de preprocessor bestanden opslaat.
+
+
+ Locatie preprocessor bestanden
+
+
+ Gebruik de preprocessor bij het uitvoeren van een berekening.
+
+
+ Gebruik preprocessor
+
+
+ Coördinaten
+
+
+ Lijst van alle coördinaten (X-coördinaat, Y-coördinaat) die samen de referentielijn vormen.
+
+
+ Overig ({0})
+
+
+ Benaderde faalkans [1/jaar]
+
+
+ Veiligheidsoordeel
+
+
+ Toetsoordeel groepen 1 en 2
+
+
+ Toetsoordeel groepen 3 en 4
+
+
+ Toetsspoor
+
+
+ Toegestane bijdrage aan faalkans [%]
+
+
+ Faalkansruimte [1/jaar]
+
+
+ Toetsoordeel verversen
+
+
+ Toetsoordeel is verouderd. Druk op de "Toetsoordeel verversen" knop om opnieuw te berekenen.
+
+
+ De categoriegrenzen voor dit traject en toetsspoor.
+
+
+ Categoriegrenzen voor dit traject
+
+
+ De categoriegrenzen per vak voor dit toetsspoor.
+
+
+ Categoriegrenzen per vak
+
+
+ Heeft vakindeling
+
+
+ Aantal berekeningen
+
+
+ Selecteer
+
+
+ Is relevant
+
+
+ Hydraulische belastingen op trajectniveau worden altijd samengevoegd.
+Daarbij gaan de huidige berekeningsresultaten voor belastingen op trajectniveau niet verloren.
+
+
+ Gecombineerd vakoordeel
+
+
+ De categoriegrenzen voor de gecombineerde toetssporen in groep 1 en 2.
+
+
+ Categoriegrenzen groep 1 en 2
+
+
+ De gecombineerde faalkansruimte voor de toetssporen in groep 1 en 2.
+
+
+ Gecombineerde faalkansruimte
+
+
+ Categoriegrenzen voor de gecombineerde toetssporen 1 en 2
+
+
+ Vaknummer
+
+
+ Assemblagekaart
+
+
+ Overige informatie.
+
+
+ Overig
+
+
+ Locatie van het HLCD bestand.
+
+
+ HLCD database locatie
+
+
+ Klimaatinformatie met betrekking tot het meerpeil/de meerpeilen.
+
+
+ Meerpeil
+
+
+ Klimaatinformatie met betrekking tot de rivierafvoer.
+
+
+ Rivierafvoer
+
+
+ Algemene naam van het klimaatscenario.
+
+
+ Klimaatscenario
+
+
+ Projectkader waarin de statistiek bedoeld is te gebruiken.
+
+
+ Toepassingskader
+
+
+ Klimaatinformatie met betrekking tot de zeewaterstand.
+
+
+ Zeewaterstand
+
+
+ Klimaatinformatie met betrekking tot de windrichting.
+
+
+ Windrichting
+
+
+ Klimaatinformatie met betrekking tot de windsnelheid.
+
+
+ Windsnelheid
+
+
+ Jaartal van het jaar waarop de statistiek van toepassing is.
+
+
+ Zichtjaar
+
+
+ HLCD bestand|*.sqlite
+
+
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/AssemblyResultCategoriesProperties.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/AssemblyResultCategoriesProperties.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/AssemblyResultCategoriesProperties.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,93 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using Core.Common.Base.Data;
+using Core.Common.Gui.Attributes;
+using Core.Common.Gui.Converters;
+using Core.Common.Gui.PropertyBag;
+using Core.Common.Util.Attributes;
+using Riskeer.AssemblyTool.Data;
+using Riskeer.Integration.Data;
+using Riskeer.Integration.Forms.Properties;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.PropertyClasses
+{
+ ///
+ /// ViewModel of a collection of for properties panel.
+ ///
+ public class AssemblyResultCategoriesProperties : ObjectProperties>
+ {
+ private readonly AssessmentSection assessmentSection;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The collection of categories.
+ /// The assessment section.
+ /// Thrown when any parameter is null.
+ public AssemblyResultCategoriesProperties(IEnumerable categories,
+ AssessmentSection assessmentSection)
+ {
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ if (categories == null)
+ {
+ throw new ArgumentNullException(nameof(categories));
+ }
+
+ Data = categories;
+ this.assessmentSection = assessmentSection;
+ }
+
+ [PropertyOrder(1)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.CategoryBoundariesGroupOneAndTwo_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.CategoryBoundariesGroupOneAndTwo_Description))]
+ [TypeConverter(typeof(ExpandableArrayConverter))]
+ public FailureMechanismAssemblyCategoryProperties[] AssemblyCategories
+ {
+ get
+ {
+ return data.Select(category => new FailureMechanismAssemblyCategoryProperties(category)).ToArray();
+ }
+ }
+
+ [PropertyOrder(2)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.FailureProbabilityMarginFactor_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.FailureProbabilityMarginFactor_Description))]
+ public RoundedDouble FailureProbabilityMarginFactor
+ {
+ get
+ {
+ return assessmentSection.FailureProbabilityMarginFactor;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/AssessmentSectionCompositionProperties.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/AssessmentSectionCompositionProperties.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/AssessmentSectionCompositionProperties.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,91 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using Core.Common.Base;
+using Core.Common.Gui.Attributes;
+using Core.Common.Gui.PropertyBag;
+using Core.Common.Util;
+using Core.Common.Util.Attributes;
+using Ringtoets.Common.Data.AssessmentSection;
+using Riskeer.Integration.Forms.Properties;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.PropertyClasses
+{
+ ///
+ /// ViewModel of the composition of an for properties panel.
+ ///
+ public class AssessmentSectionCompositionProperties : ObjectProperties
+ {
+ private readonly IAssessmentSectionCompositionChangeHandler compositionChangeHandler;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The assessment section for which the properties are shown.
+ /// The for when the composition changes.
+ /// Thrown when any parameter is null.
+ public AssessmentSectionCompositionProperties(IAssessmentSection assessmentSection, IAssessmentSectionCompositionChangeHandler compositionChangeHandler)
+ {
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ if (compositionChangeHandler == null)
+ {
+ throw new ArgumentNullException(nameof(compositionChangeHandler));
+ }
+
+ Data = assessmentSection;
+ this.compositionChangeHandler = compositionChangeHandler;
+ }
+
+ [PropertyOrder(1)]
+ [TypeConverter(typeof(EnumTypeConverter))]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.AssessmentSectionComposition_Composition_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.AssessmentSectionComposition_Composition_Description))]
+ public AssessmentSectionComposition Composition
+ {
+ get
+ {
+ return data.Composition;
+ }
+ set
+ {
+ if (compositionChangeHandler.ConfirmCompositionChange())
+ {
+ IEnumerable changedObjects = compositionChangeHandler.ChangeComposition(data, value);
+ foreach (IObservable changedObject in changedObjects)
+ {
+ changedObject.NotifyObservers();
+ }
+
+ data.FailureMechanismContribution.NotifyObservers();
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/AssessmentSectionProperties.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/AssessmentSectionProperties.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/AssessmentSectionProperties.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,63 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Core.Common.Gui.PropertyBag;
+using Core.Common.Util.Attributes;
+using Ringtoets.Common.Data.AssessmentSection;
+using Riskeer.Integration.Data;
+using Riskeer.Integration.Forms.Properties;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.PropertyClasses
+{
+ ///
+ /// ViewModel of for properties panel.
+ ///
+ public class AssessmentSectionProperties : ObjectProperties
+ {
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.AssessmentSection_Id_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.AssessmentSection_Id_Description))]
+ public string Id
+ {
+ get
+ {
+ return data.Id;
+ }
+ }
+
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.AssessmentSection_Name_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.AssessmentSection_Name_Description))]
+ public string Name
+ {
+ get
+ {
+ return data.Name;
+ }
+ set
+ {
+ data.Name = value;
+ data.NotifyObservers();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/BackgroundDataProperties.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/BackgroundDataProperties.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/BackgroundDataProperties.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,162 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Base.Data;
+using Core.Common.Gui.Attributes;
+using Core.Common.Gui.PropertyBag;
+using Core.Common.Util.Attributes;
+using Riskeer.Integration.Forms.Properties;
+using Ringtoets.Common.Data.AssessmentSection;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+using GisFormsResources = Core.Components.Gis.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.PropertyClasses
+{
+ ///
+ /// ViewModel of the for properties panel.
+ ///
+ public class BackgroundDataProperties : ObjectProperties
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The data for which the properties are shown.
+ /// Thrown when
+ /// is null.
+ public BackgroundDataProperties(BackgroundData backgroundData)
+ {
+ if (backgroundData == null)
+ {
+ throw new ArgumentNullException(nameof(backgroundData));
+ }
+
+ Data = backgroundData;
+ }
+
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.BackgroundDataProperties_Name_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.BackgroundDataProperties_Name_Description))]
+ public string Name
+ {
+ get
+ {
+ var configuration = data.Configuration as WmtsBackgroundDataConfiguration;
+
+ return configuration != null
+ ? (configuration.IsConfigured
+ ? data.Name
+ : string.Empty)
+ : data.Name;
+ }
+ }
+
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.BackgroundDataProperties_Transparency_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.BackgroundDataProperties_Transparency_Description))]
+ public RoundedDouble Transparency
+ {
+ get
+ {
+ return data.Transparency;
+ }
+ set
+ {
+ data.Transparency = value;
+ data.NotifyObservers();
+ }
+ }
+
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.BackgroundDataProperties_IsVisible_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.BackgroundDataProperties_IsVisible_Description))]
+ public bool IsVisible
+ {
+ get
+ {
+ return data.IsVisible;
+ }
+ set
+ {
+ data.IsVisible = value;
+ data.NotifyObservers();
+ }
+ }
+
+ [DynamicVisibleValidationMethod]
+ public bool DynamicVisibleValidationMethod(string propertyName)
+ {
+ var configuration = data.Configuration as WmtsBackgroundDataConfiguration;
+
+ return configuration != null
+ && configuration.IsConfigured;
+ }
+
+ #region Wmts MapData
+
+ [DynamicVisible]
+ [ResourcesCategory(typeof(Resources), nameof(Resources.BackgroundDataProperties_Wmts_Category))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.BackgroundDataProperties_Wmts_Url_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.BackgroundDataProperties_Wmts_Url_Description))]
+ public string SourceCapabilitiesUrl
+ {
+ get
+ {
+ return GetBackgroundDataProperty(dataConfiguration => dataConfiguration.SourceCapabilitiesUrl);
+ }
+ }
+
+ [DynamicVisible]
+ [ResourcesCategory(typeof(Resources), nameof(Resources.BackgroundDataProperties_Wmts_Category))]
+ [ResourcesDisplayName(typeof(GisFormsResources), nameof(GisFormsResources.WmtsCapability_MapLayer_Id))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.BackgroundDataProperties_Wmts_SelectedCapabilityIdentifier_Description))]
+ public string SelectedCapabilityIdentifier
+ {
+ get
+ {
+ return GetBackgroundDataProperty(dataConfiguration => dataConfiguration.SelectedCapabilityIdentifier);
+ }
+ }
+
+ [DynamicVisible]
+ [ResourcesCategory(typeof(Resources), nameof(Resources.BackgroundDataProperties_Wmts_Category))]
+ [ResourcesDisplayName(typeof(GisFormsResources), nameof(GisFormsResources.WmtsCapability_MapLayer_Format))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.BackgroundDataProperties_Wmts_PreferredFormat_Description))]
+ public string PreferredFormat
+ {
+ get
+ {
+ return GetBackgroundDataProperty(dataConfiguration => dataConfiguration.PreferredFormat);
+ }
+ }
+
+ private string GetBackgroundDataProperty(Func getProperty)
+ {
+ var configuration = data.Configuration as WmtsBackgroundDataConfiguration;
+
+ return configuration != null && configuration.IsConfigured
+ ? getProperty(configuration)
+ : string.Empty;
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/CalculationContextProperties.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/CalculationContextProperties.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/CalculationContextProperties.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,50 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Core.Common.Gui.PropertyBag;
+using Core.Common.Util.Attributes;
+using Ringtoets.Common.Data.Calculation;
+using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.Integration.Forms.Properties;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.PropertyClasses
+{
+ public class CalculationContextProperties : ObjectProperties>
+ {
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.Calculation_Name_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.Calculation_Name_Description))]
+ public string Name
+ {
+ get
+ {
+ return data.WrappedData.Name;
+ }
+ set
+ {
+ data.WrappedData.Name = value;
+ data.WrappedData.NotifyObservers();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/CalculationGroupContextProperties.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/CalculationGroupContextProperties.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/CalculationGroupContextProperties.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,77 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Gui.Attributes;
+using Core.Common.Gui.PropertyBag;
+using Core.Common.Util.Attributes;
+using Ringtoets.Common.Data.Calculation;
+using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Riskeer.Integration.Forms.Properties;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.PropertyClasses
+{
+ ///
+ /// Object properties class for .
+ ///
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.CalculationGroupContextProperties_DisplayName))]
+ public class CalculationGroupContextProperties : ObjectProperties>
+ {
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The calculation context to use for the properties.
+ public CalculationGroupContextProperties(ICalculationContext calculationContext)
+ {
+ if (calculationContext == null)
+ {
+ throw new ArgumentNullException(nameof(calculationContext));
+ }
+
+ Data = calculationContext;
+ }
+
+ [DynamicReadOnly]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.CalculationGroup_Name_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.CalculationGroup_Name_Description))]
+ public string Name
+ {
+ get
+ {
+ return data.WrappedData.Name;
+ }
+ set
+ {
+ data.WrappedData.Name = value;
+ data.WrappedData.NotifyObservers();
+ }
+ }
+
+ [DynamicReadOnlyValidationMethod]
+ public bool DynamicReadOnlyValidator(string propertyName)
+ {
+ return data.Parent == null;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/FailureMechanismAssemblyCategoriesProperties.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/FailureMechanismAssemblyCategoriesProperties.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/FailureMechanismAssemblyCategoriesProperties.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,74 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using Core.Common.Gui.Attributes;
+using Core.Common.Gui.Converters;
+using Core.Common.Util.Attributes;
+using Riskeer.Integration.Forms.Properties;
+using Riskeer.AssemblyTool.Data;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.PropertyClasses
+{
+ ///
+ /// ViewModel of a collection of for properties panel.
+ ///
+ public class FailureMechanismAssemblyCategoriesProperties : FailureMechanismSectionAssemblyCategoriesProperties
+ {
+ private const int failureMechanismAssemblyCategoryPropertyIndex = 1;
+ private readonly IEnumerable failureMechanismAssemblyCategories;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The collection of .
+ /// The collection of .
+ /// Thrown when any parameter is null.
+ public FailureMechanismAssemblyCategoriesProperties(IEnumerable failureMechanismAssemblyCategories,
+ IEnumerable failureMechanismSectionAssemblyCategories)
+ : base(failureMechanismSectionAssemblyCategories)
+ {
+ if (failureMechanismAssemblyCategories == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismAssemblyCategories));
+ }
+
+ this.failureMechanismAssemblyCategories = failureMechanismAssemblyCategories;
+ }
+
+ [PropertyOrder(failureMechanismAssemblyCategoryPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.FailureMechanismAssemblyCategories_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.FailureMechanismAssemblyCategoriesProperties_FailureMechanismAssemblyCategories_Description))]
+ [TypeConverter(typeof(ExpandableArrayConverter))]
+ public FailureMechanismAssemblyCategoryProperties[] FailureMechanismAssemblyCategories
+ {
+ get
+ {
+ return failureMechanismAssemblyCategories.Select(category => new FailureMechanismAssemblyCategoryProperties(category)).ToArray();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/FailureMechanismAssemblyCategoryProperties.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/FailureMechanismAssemblyCategoryProperties.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/FailureMechanismAssemblyCategoryProperties.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,101 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.ComponentModel;
+using Core.Common.Gui.Attributes;
+using Core.Common.Gui.PropertyBag;
+using Core.Common.Util;
+using Core.Common.Util.Attributes;
+using Ringtoets.Common.Forms.TypeConverters;
+using Riskeer.AssemblyTool.Data;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.PropertyClasses
+{
+ ///
+ /// ViewModel of a for properties panel.
+ ///
+ [TypeConverter(typeof(ExpandableObjectConverter))]
+ public class FailureMechanismAssemblyCategoryProperties : ObjectProperties
+ {
+ private const int groupPropertyIndex = 1;
+ private const int lowerBoundaryPropertyIndex = 2;
+ private const int upperBoundaryPropertyIndex = 3;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ public FailureMechanismAssemblyCategoryProperties(FailureMechanismAssemblyCategory assemblyCategory)
+ {
+ if (assemblyCategory == null)
+ {
+ throw new ArgumentNullException(nameof(assemblyCategory));
+ }
+
+ Data = assemblyCategory;
+ }
+
+ [PropertyOrder(groupPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.CategoryProperties_Group_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.CategoryProperties_Group_Description))]
+ [TypeConverter(typeof(EnumTypeConverter))]
+ public FailureMechanismAssemblyCategoryGroup Group
+ {
+ get
+ {
+ return data.Group;
+ }
+ }
+
+ [PropertyOrder(lowerBoundaryPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.CategoryProperties_LowerBoundary_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.CategoryProperties_LowerBoundary_Description))]
+ [TypeConverter(typeof(NoProbabilityValueDoubleConverter))]
+ public double LowerBoundary
+ {
+ get
+ {
+ return data.LowerBoundary;
+ }
+ }
+
+ [PropertyOrder(upperBoundaryPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.CategoryProperties_UpperBoundary_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.CategoryProperties_UpperBoundary_Description))]
+ [TypeConverter(typeof(NoProbabilityValueDoubleConverter))]
+ public double UpperBoundary
+ {
+ get
+ {
+ return data.UpperBoundary;
+ }
+ }
+
+ public override string ToString()
+ {
+ return new EnumDisplayWrapper(data.Group).DisplayName;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/FailureMechanismSectionAssemblyCategoriesProperties.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/FailureMechanismSectionAssemblyCategoriesProperties.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/FailureMechanismSectionAssemblyCategoriesProperties.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,71 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using Core.Common.Gui.Attributes;
+using Core.Common.Gui.Converters;
+using Core.Common.Gui.PropertyBag;
+using Core.Common.Util.Attributes;
+using Riskeer.AssemblyTool.Data;
+using Riskeer.Integration.Forms.Properties;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.PropertyClasses
+{
+ ///
+ /// ViewModel of a collection of for properties panel.
+ ///
+ public class FailureMechanismSectionAssemblyCategoriesProperties : ObjectProperties>
+ {
+ private const int failureMechanismSectionAssemblyCategoryPropertyIndex = 1;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The collection of .
+ /// Thrown when any parameter is null.
+ public FailureMechanismSectionAssemblyCategoriesProperties(IEnumerable failureMechanismSectionAssemblyCategories)
+ {
+ if (failureMechanismSectionAssemblyCategories == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismSectionAssemblyCategories));
+ }
+
+ Data = failureMechanismSectionAssemblyCategories;
+ }
+
+ [PropertyOrder(failureMechanismSectionAssemblyCategoryPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.FailureMechanismSectionAssemblyCategories_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.FailureMechanismAssemblyCategoriesProperties_FailureMechanismSectionAssemblyCategories_Description))]
+ [TypeConverter(typeof(ExpandableArrayConverter))]
+ public FailureMechanismSectionAssemblyCategoryProperties[] FailureMechanismSectionAssemblyCategories
+ {
+ get
+ {
+ return data.Select(category => new FailureMechanismSectionAssemblyCategoryProperties(category)).ToArray();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/FailureMechanismSectionAssemblyCategoryProperties.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/FailureMechanismSectionAssemblyCategoryProperties.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/FailureMechanismSectionAssemblyCategoryProperties.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,101 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.ComponentModel;
+using Core.Common.Gui.Attributes;
+using Core.Common.Gui.PropertyBag;
+using Core.Common.Util;
+using Core.Common.Util.Attributes;
+using Ringtoets.Common.Forms.TypeConverters;
+using Riskeer.AssemblyTool.Data;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.PropertyClasses
+{
+ ///
+ /// ViewModel of a for properties panel.
+ ///
+ [TypeConverter(typeof(ExpandableObjectConverter))]
+ public class FailureMechanismSectionAssemblyCategoryProperties : ObjectProperties
+ {
+ private const int groupPropertyIndex = 1;
+ private const int lowerBoundaryPropertyIndex = 2;
+ private const int upperBoundaryPropertyIndex = 3;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ public FailureMechanismSectionAssemblyCategoryProperties(FailureMechanismSectionAssemblyCategory assemblyCategory)
+ {
+ if (assemblyCategory == null)
+ {
+ throw new ArgumentNullException(nameof(assemblyCategory));
+ }
+
+ Data = assemblyCategory;
+ }
+
+ [PropertyOrder(groupPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.CategoryProperties_Group_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.CategoryProperties_Group_Description))]
+ [TypeConverter(typeof(EnumTypeConverter))]
+ public FailureMechanismSectionAssemblyCategoryGroup Group
+ {
+ get
+ {
+ return data.Group;
+ }
+ }
+
+ [PropertyOrder(lowerBoundaryPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.CategoryProperties_LowerBoundary_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.CategoryProperties_LowerBoundary_Description))]
+ [TypeConverter(typeof(NoProbabilityValueDoubleConverter))]
+ public double LowerBoundary
+ {
+ get
+ {
+ return data.LowerBoundary;
+ }
+ }
+
+ [PropertyOrder(upperBoundaryPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.CategoryProperties_UpperBoundary_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.CategoryProperties_UpperBoundary_Description))]
+ [TypeConverter(typeof(NoProbabilityValueDoubleConverter))]
+ public double UpperBoundary
+ {
+ get
+ {
+ return data.UpperBoundary;
+ }
+ }
+
+ public override string ToString()
+ {
+ return new EnumDisplayWrapper(data.Group).DisplayName;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/HydraulicBoundaryDatabaseProperties.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/HydraulicBoundaryDatabaseProperties.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/HydraulicBoundaryDatabaseProperties.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,320 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.ComponentModel;
+using System.Drawing.Design;
+using System.Windows.Forms.Design;
+using Core.Common.Gui.Attributes;
+using Core.Common.Gui.PropertyBag;
+using Core.Common.Util.Attributes;
+using Ringtoets.Common.Data.Hydraulics;
+using Riskeer.Integration.Forms.Editors;
+using Riskeer.Integration.Forms.Properties;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.PropertyClasses
+{
+ ///
+ /// ViewModel of for properties panel.
+ ///
+ public class HydraulicBoundaryDatabaseProperties : ObjectProperties
+ {
+ private const int hrdFilePathPropertyIndex = 0;
+ private const int hlcdFilePathPropertyIndex = 1;
+ private const int scenarioNamePropertyIndex = 2;
+ private const int yearPropertyIndex = 3;
+ private const int scopePropertyIndex = 4;
+ private const int seaLevelPropertyIndex = 5;
+ private const int riverDischargePropertyIndex = 6;
+ private const int lakeLevelPropertyIndex = 7;
+ private const int windDirectionPropertyIndex = 8;
+ private const int windSpeedPropertyIndex = 9;
+ private const int commentPropertyIndex = 10;
+ private const int usePreprocessorPropertyIndex = 11;
+ private const int preprocessorDirectoryPropertyIndex = 12;
+
+ private readonly IHydraulicLocationConfigurationDatabaseImportHandler hydraulicLocationConfigurationDatabaseImportHandler;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The hydraulic boundary database to show the properties for.
+ /// The handler to update the hydraulic location configuration settings.
+ /// Thrown when any parameter is null.
+ public HydraulicBoundaryDatabaseProperties(HydraulicBoundaryDatabase hydraulicBoundaryDatabase,
+ IHydraulicLocationConfigurationDatabaseImportHandler hydraulicLocationConfigurationDatabaseImportHandler)
+ {
+ if (hydraulicBoundaryDatabase == null)
+ {
+ throw new ArgumentNullException(nameof(hydraulicBoundaryDatabase));
+ }
+
+ if (hydraulicLocationConfigurationDatabaseImportHandler == null)
+ {
+ throw new ArgumentNullException(nameof(hydraulicLocationConfigurationDatabaseImportHandler));
+ }
+
+ this.hydraulicLocationConfigurationDatabaseImportHandler = hydraulicLocationConfigurationDatabaseImportHandler;
+ Data = hydraulicBoundaryDatabase;
+ }
+
+ [PropertyOrder(hrdFilePathPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.HydraulicBoundaryDatabase_FilePath_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.HydraulicBoundaryDatabase_FilePath_Description))]
+ public string HrdFilePath
+ {
+ get
+ {
+ return data.IsLinked() ? data.FilePath : string.Empty;
+ }
+ }
+
+ [PropertyOrder(hlcdFilePathPropertyIndex)]
+ [DynamicVisible]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_FilePath_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_FilePath_Description))]
+ [Editor(typeof(HlcdFileNameEditor), typeof(UITypeEditor))]
+ public string HlcdFilePath
+ {
+ get
+ {
+ return data.IsLinked() ? data.HydraulicLocationConfigurationSettings.FilePath : string.Empty;
+ }
+ set
+ {
+ hydraulicLocationConfigurationDatabaseImportHandler.ImportHydraulicLocationConfigurationSettings(
+ data.HydraulicLocationConfigurationSettings, value);
+ }
+ }
+
+ [PropertyOrder(hlcdFilePathPropertyIndex)]
+ [DynamicVisible]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_FilePath_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_FilePath_Description))]
+ public string HlcdFilePathReadOnly
+ {
+ get
+ {
+ return data.IsLinked() ? data.HydraulicLocationConfigurationSettings.FilePath : string.Empty;
+ }
+ }
+
+ [PropertyOrder(scenarioNamePropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_ScenarioName_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_ScenarioName_Description))]
+ public string ScenarioName
+ {
+ get
+ {
+ return data.IsLinked() ? data.HydraulicLocationConfigurationSettings.ScenarioName : string.Empty;
+ }
+ }
+
+ [PropertyOrder(yearPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_Year_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_Year_Description))]
+ public string Year
+ {
+ get
+ {
+ return data.IsLinked() ? data.HydraulicLocationConfigurationSettings.Year.ToString() : string.Empty;
+ }
+ }
+
+ [PropertyOrder(scopePropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_Scope_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_Scope_Description))]
+ public string Scope
+ {
+ get
+ {
+ return data.IsLinked() ? data.HydraulicLocationConfigurationSettings.Scope : string.Empty;
+ }
+ }
+
+ [PropertyOrder(seaLevelPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_SeaLevel_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_SeaLevel_Description))]
+ public string SeaLevel
+ {
+ get
+ {
+ string seaLevel = data.HydraulicLocationConfigurationSettings.SeaLevel;
+ return data.IsLinked() && seaLevel != null ? seaLevel : string.Empty;
+ }
+ }
+
+ [PropertyOrder(riverDischargePropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_RiverDischarge_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_RiverDischarge_Description))]
+ public string RiverDischarge
+ {
+ get
+ {
+ string riverDischarge = data.HydraulicLocationConfigurationSettings.RiverDischarge;
+ return data.IsLinked() && riverDischarge != null ? riverDischarge : string.Empty;
+ }
+ }
+
+ [PropertyOrder(lakeLevelPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_LakeLevel_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_LakeLevel_Description))]
+ public string LakeLevel
+ {
+ get
+ {
+ string lakeLevel = data.HydraulicLocationConfigurationSettings.LakeLevel;
+ return data.IsLinked() && lakeLevel != null ? lakeLevel : string.Empty;
+ }
+ }
+
+ [PropertyOrder(windDirectionPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_WindDirection_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_WindDirection_Description))]
+ public string WindDirection
+ {
+ get
+ {
+ string windDirection = data.HydraulicLocationConfigurationSettings.WindDirection;
+ return data.IsLinked() && windDirection != null ? windDirection : string.Empty;
+ }
+ }
+
+ [PropertyOrder(windSpeedPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_WindSpeed_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_WindSpeed_Description))]
+ public string WindSpeed
+ {
+ get
+ {
+ string windSpeed = data.HydraulicLocationConfigurationSettings.WindSpeed;
+ return data.IsLinked() && windSpeed != null ? windSpeed : string.Empty;
+ }
+ }
+
+ [PropertyOrder(commentPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_Comment_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.HydraulicLocationConfigurationSettings_Comment_Description))]
+ public string Comment
+ {
+ get
+ {
+ string comment = data.HydraulicLocationConfigurationSettings.Comment;
+ return data.IsLinked() && comment != null ? comment : string.Empty;
+ }
+ }
+
+ [PropertyOrder(usePreprocessorPropertyIndex)]
+ [DynamicVisible]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.HydraulicBoundaryDatabase_UsePreprocessor_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.HydraulicBoundaryDatabase_UsePreprocessor_Description))]
+ public bool UsePreprocessor
+ {
+ get
+ {
+ return data.UsePreprocessor;
+ }
+ set
+ {
+ data.UsePreprocessor = value;
+ data.NotifyObservers();
+ }
+ }
+
+ [PropertyOrder(preprocessorDirectoryPropertyIndex)]
+ [DynamicVisible]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.HydraulicBoundaryDatabase_PreprocessorDirectory_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.HydraulicBoundaryDatabase_PreprocessorDirectory_Description))]
+ [Editor(typeof(FolderNameEditor), typeof(UITypeEditor))]
+ public string PreprocessorDirectory
+ {
+ get
+ {
+ return data.PreprocessorDirectory;
+ }
+ set
+ {
+ data.PreprocessorDirectory = value;
+ }
+ }
+
+ [PropertyOrder(preprocessorDirectoryPropertyIndex)]
+ [DynamicVisible]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.HydraulicBoundaryDatabase_PreprocessorDirectory_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.HydraulicBoundaryDatabase_PreprocessorDirectory_Description))]
+ public string PreprocessorDirectoryReadOnly
+ {
+ get
+ {
+ return data.PreprocessorDirectory;
+ }
+ }
+
+ [DynamicVisibleValidationMethod]
+ public bool DynamicVisibleValidationMethod(string propertyName)
+ {
+ bool canUsePreprocessor = data.CanUsePreprocessor;
+
+ if (propertyName.Equals(nameof(UsePreprocessor)) && !canUsePreprocessor)
+ {
+ return false;
+ }
+
+ if (propertyName.Equals(nameof(PreprocessorDirectory)) && (!canUsePreprocessor || !UsePreprocessor))
+ {
+ return false;
+ }
+
+ if (propertyName.Equals(nameof(PreprocessorDirectoryReadOnly)) && (!canUsePreprocessor || UsePreprocessor))
+ {
+ return false;
+ }
+
+ if (propertyName.Equals(nameof(HlcdFilePath)) && !data.IsLinked())
+ {
+ return false;
+ }
+
+ if (propertyName.Equals(nameof(HlcdFilePathReadOnly)) && data.IsLinked())
+ {
+ return false;
+ }
+
+ return true;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/IAssessmentSectionCompositionChangeHandler.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/IAssessmentSectionCompositionChangeHandler.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/IAssessmentSectionCompositionChangeHandler.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,52 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Base;
+using Ringtoets.Common.Data.AssessmentSection;
+
+namespace Riskeer.Integration.Forms.PropertyClasses
+{
+ ///
+ /// Interface for an object that can properly change the
+ /// of an .
+ ///
+ public interface IAssessmentSectionCompositionChangeHandler
+ {
+ ///
+ /// Checks to see if the replacement of the assessment section composition should occur or not.
+ ///
+ /// true if the change should occur, false otherwise.
+ bool ConfirmCompositionChange();
+
+ ///
+ /// Replaces the of the
+ /// and propagates the changes to underlying data structure.
+ ///
+ /// The section to be updated.
+ /// The new composition value.
+ /// All objects that have been affected by the change.
+ /// Thrown when
+ /// is null.
+ IEnumerable ChangeComposition(IAssessmentSection assessmentSection, AssessmentSectionComposition newComposition);
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/IHydraulicLocationConfigurationDatabaseImportHandler.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/IHydraulicLocationConfigurationDatabaseImportHandler.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/IHydraulicLocationConfigurationDatabaseImportHandler.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,42 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.Hydraulics;
+
+namespace Riskeer.Integration.Forms.PropertyClasses
+{
+ ///
+ /// Interface for an object that can properly import a .
+ ///
+ public interface IHydraulicLocationConfigurationDatabaseImportHandler
+ {
+ ///
+ /// Imports the information from the
+ /// and updates the .
+ ///
+ /// The hydraulic location configuration
+ /// settings to update.
+ /// The file path to import the data from.
+ /// Thrown when any parameter is null.
+ void ImportHydraulicLocationConfigurationSettings(HydraulicLocationConfigurationSettings hydraulicLocationConfigurationSettings, string hlcdFilePath);
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/NormProperties.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/NormProperties.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/NormProperties.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,117 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.ComponentModel;
+using Core.Common.Gui.Attributes;
+using Core.Common.Gui.PropertyBag;
+using Core.Common.Util;
+using Core.Common.Util.Attributes;
+using Ringtoets.Common.Data.Contribution;
+using Ringtoets.Common.Forms.ChangeHandlers;
+using Ringtoets.Common.Forms.PropertyClasses;
+using Ringtoets.Common.Forms.TypeConverters;
+using Riskeer.Integration.Forms.Properties;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.PropertyClasses
+{
+ ///
+ /// ViewModel of the norm values in the for properties panel.
+ ///
+ public class NormProperties : ObjectProperties
+ {
+ private readonly IObservablePropertyChangeHandler normChangeHandler;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The for which the properties are shown.
+ /// The for when the norm changes.
+ /// Thrown when any parameter is null.
+ public NormProperties(FailureMechanismContribution failureMechanismContribution, IObservablePropertyChangeHandler normChangeHandler)
+ {
+ if (failureMechanismContribution == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismContribution));
+ }
+
+ if (normChangeHandler == null)
+ {
+ throw new ArgumentNullException(nameof(normChangeHandler));
+ }
+
+ Data = failureMechanismContribution;
+ this.normChangeHandler = normChangeHandler;
+ }
+
+ [PropertyOrder(1)]
+ [TypeConverter(typeof(NoProbabilityValueDoubleConverter))]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.SignalingNorm_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.SignalingNorm_Description))]
+ public double SignalingNorm
+ {
+ get
+ {
+ return data.SignalingNorm;
+ }
+ set
+ {
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.SignalingNorm = value, normChangeHandler);
+ }
+ }
+
+ [PropertyOrder(2)]
+ [TypeConverter(typeof(NoProbabilityValueDoubleConverter))]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.LowerLimitNorm_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.LowerLimitNorm_Description))]
+ public double LowerLimitNorm
+ {
+ get
+ {
+ return data.LowerLimitNorm;
+ }
+ set
+ {
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.LowerLimitNorm = value, normChangeHandler);
+ }
+ }
+
+ [PropertyOrder(3)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.NormType_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.NormType_Description))]
+ [TypeConverter(typeof(EnumTypeConverter))]
+ public NormType NormativeNorm
+ {
+ get
+ {
+ return data.NormativeNorm;
+ }
+ set
+ {
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.NormativeNorm = value, normChangeHandler);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/ReferenceLineProperties.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/ReferenceLineProperties.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/ReferenceLineProperties.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,93 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.ComponentModel;
+using System.Linq;
+using Core.Common.Base.Data;
+using Core.Common.Base.Geometry;
+using Core.Common.Gui.Attributes;
+using Core.Common.Gui.Converters;
+using Core.Common.Gui.PropertyBag;
+using Core.Common.Util.Attributes;
+using Ringtoets.Common.Data.AssessmentSection;
+using Riskeer.Integration.Forms.Properties;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.PropertyClasses
+{
+ ///
+ /// ViewModel of a for properties panel.
+ ///
+ public class ReferenceLineProperties : ObjectProperties
+ {
+ private const int lengthPropertyIndex = 1;
+ private const int geometryPropertyIndex = 2;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The reference line to show the properties for.
+ /// Thrown when is null.
+ public ReferenceLineProperties(ReferenceLine referenceLine)
+ {
+ if (referenceLine == null)
+ {
+ throw new ArgumentNullException(nameof(referenceLine));
+ }
+
+ data = referenceLine;
+ }
+
+ [DynamicVisible]
+ [PropertyOrder(lengthPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.ReferenceLine_Length_Rounded_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.ReferenceLine_Length_Rounded_Description))]
+ public RoundedDouble Length
+ {
+ get
+ {
+ return new RoundedDouble(2, data.Length);
+ }
+ }
+
+ [DynamicVisible]
+ [PropertyOrder(geometryPropertyIndex)]
+ [TypeConverter(typeof(ExpandableArrayConverter))]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.ReferenceLineProperties_Geometry_DisplayName))]
+ [ResourcesDescription(typeof(Resources), nameof(Resources.ReferenceLineProperties_Geometry_Description))]
+ public Point2D[] Geometry
+ {
+ get
+ {
+ return data.Points.ToArray();
+ }
+ }
+
+ [DynamicVisibleValidationMethod]
+ public bool DynamicVisibleValidationMethod(string propertyName)
+ {
+ return data.Points.Any();
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/RingtoetsProjectProperties.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/RingtoetsProjectProperties.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/RingtoetsProjectProperties.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,64 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Core.Common.Base.Data;
+using Core.Common.Gui.Attributes;
+using Core.Common.Gui.PropertyBag;
+using Core.Common.Util.Attributes;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+using RingtoetsIntegrationFormsResources = Riskeer.Integration.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.PropertyClasses
+{
+ ///
+ /// This class describes the presentation of properties of a .
+ ///
+ public class RingtoetsProjectProperties : ObjectProperties
+ {
+ [PropertyOrder(1)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsIntegrationFormsResources), nameof(RingtoetsIntegrationFormsResources.RingtoetsProjectProperties_Name_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsIntegrationFormsResources), nameof(RingtoetsIntegrationFormsResources.RingtoetsProjectProperties_Name_Description))]
+ public string Name
+ {
+ get
+ {
+ return data.Name;
+ }
+ }
+
+ [PropertyOrder(2)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsIntegrationFormsResources), nameof(RingtoetsIntegrationFormsResources.RingtoetsProjectProperties_Description_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsIntegrationFormsResources), nameof(RingtoetsIntegrationFormsResources.RingtoetsProjectProperties_Description_Description))]
+ public string Description
+ {
+ get
+ {
+ return data.Description;
+ }
+ set
+ {
+ data.Description = value;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/StandAlone/MacroStabilityOutwardsFailureMechanismProperties.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/StandAlone/MacroStabilityOutwardsFailureMechanismProperties.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/StandAlone/MacroStabilityOutwardsFailureMechanismProperties.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,220 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Base.Data;
+using Core.Common.Gui.Attributes;
+using Core.Common.Gui.PropertyBag;
+using Core.Common.Util.Attributes;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.Probability;
+using Riskeer.Integration.Data.StandAlone;
+using Riskeer.Integration.Data.StandAlone.Input;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.PropertyClasses.StandAlone
+{
+ ///
+ /// ViewModel of properties panel.
+ ///
+ public class MacroStabilityOutwardsFailureMechanismProperties : ObjectProperties
+ {
+ private readonly IAssessmentSection assessmentSection;
+ private const int namePropertyIndex = 1;
+ private const int codePropertyIndex = 2;
+ private const int groupPropertyIndex = 3;
+ private const int contributionPropertyIndex = 4;
+ private const int isRelevantPropertyIndex = 5;
+ private const int aPropertyIndex = 6;
+ private const int bPropertyIndex = 7;
+ private const int sectionLengthPropertyIndex = 8;
+ private const int nPropertyIndex = 9;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The instance to show the properties of.
+ /// The assessment section the data belongs to.
+ /// Thrown when any parameter is null.
+ public MacroStabilityOutwardsFailureMechanismProperties(MacroStabilityOutwardsFailureMechanism data, IAssessmentSection assessmentSection)
+ {
+ if (data == null)
+ {
+ throw new ArgumentNullException(nameof(data));
+ }
+
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ Data = data;
+ this.assessmentSection = assessmentSection;
+ }
+
+ [DynamicVisibleValidationMethod]
+ public bool DynamicVisibleValidationMethod(string propertyName)
+ {
+ if (!data.IsRelevant && ShouldHidePropertyWhenFailureMechanismIrrelevant(propertyName))
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ private bool ShouldHidePropertyWhenFailureMechanismIrrelevant(string propertyName)
+ {
+ return nameof(Contribution).Equals(propertyName)
+ || nameof(A).Equals(propertyName)
+ || nameof(B).Equals(propertyName)
+ || nameof(SectionLength).Equals(propertyName)
+ || nameof(N).Equals(propertyName);
+ }
+
+ #region General
+
+ [PropertyOrder(namePropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Name_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Name_Description))]
+ public string Name
+ {
+ get
+ {
+ return data.Name;
+ }
+ }
+
+ [PropertyOrder(codePropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Code_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Code_Description))]
+ public string Code
+ {
+ get
+ {
+ return data.Code;
+ }
+ }
+
+ [PropertyOrder(groupPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Group_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Group_Description))]
+ public int Group
+ {
+ get
+ {
+ return data.Group;
+ }
+ }
+
+ [DynamicVisible]
+ [PropertyOrder(contributionPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Contribution_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Contribution_Description))]
+ public double Contribution
+ {
+ get
+ {
+ return data.Contribution;
+ }
+ }
+
+ [PropertyOrder(isRelevantPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_IsRelevant_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_IsRelevant_Description))]
+ public bool IsRelevant
+ {
+ get
+ {
+ return data.IsRelevant;
+ }
+ }
+
+ #endregion
+
+ #region Length effect parameters
+
+ [DynamicVisible]
+ [PropertyOrder(aPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_LengthEffect))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_ProbabilityAssessmentInput_A_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_ProbabilityAssessmentInput_A_Description))]
+ public double A
+ {
+ get
+ {
+ return data.MacroStabilityOutwardsProbabilityAssessmentInput.A;
+ }
+ set
+ {
+ data.MacroStabilityOutwardsProbabilityAssessmentInput.A = value;
+ data.NotifyObservers();
+ }
+ }
+
+ [DynamicVisible]
+ [PropertyOrder(bPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_LengthEffect))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_ProbabilityAssessmentInput_B_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_ProbabilityAssessmentInput_B_Description))]
+ public double B
+ {
+ get
+ {
+ return data.MacroStabilityOutwardsProbabilityAssessmentInput.B;
+ }
+ }
+
+ [DynamicVisible]
+ [PropertyOrder(sectionLengthPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_LengthEffect))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.ReferenceLine_Length_Rounded_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.ReferenceLine_Length_Rounded_Description))]
+ public RoundedDouble SectionLength
+ {
+ get
+ {
+ return new RoundedDouble(2, assessmentSection.ReferenceLine.Length);
+ }
+ }
+
+ [DynamicVisible]
+ [PropertyOrder(nPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_LengthEffect))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_N_Rounded_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_N_Rounded_Description))]
+ public RoundedDouble N
+ {
+ get
+ {
+ MacroStabilityOutwardsProbabilityAssessmentInput probabilityAssessmentInput = data.MacroStabilityOutwardsProbabilityAssessmentInput;
+ return new RoundedDouble(2, probabilityAssessmentInput.GetN(assessmentSection.ReferenceLine.Length));
+ }
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/StandAlone/PipingStructureFailureMechanismProperties.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/StandAlone/PipingStructureFailureMechanismProperties.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/StandAlone/PipingStructureFailureMechanismProperties.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,162 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Base.Data;
+using Core.Common.Gui.Attributes;
+using Core.Common.Gui.PropertyBag;
+using Core.Common.Util.Attributes;
+using Riskeer.Integration.Data.StandAlone;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.PropertyClasses.StandAlone
+{
+ ///
+ /// ViewModel of properties panel.
+ ///
+ public class PipingStructureFailureMechanismProperties : ObjectProperties
+ {
+ private const int namePropertyIndex = 1;
+ private const int codePropertyIndex = 2;
+ private const int groupPropertyIndex = 3;
+ private const int contributionPropertyIndex = 4;
+ private const int isRelevantPropertyIndex = 5;
+ private const int nPropertyIndex = 6;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The instance to show the properties of.
+ /// Thrown when input parameter is null.
+ public PipingStructureFailureMechanismProperties(PipingStructureFailureMechanism data)
+ {
+ if (data == null)
+ {
+ throw new ArgumentNullException(nameof(data));
+ }
+
+ Data = data;
+ }
+
+ #region Length effect parameters
+
+ [DynamicVisible]
+ [PropertyOrder(nPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_LengthEffect))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_N_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_N_Description))]
+ public RoundedDouble N
+ {
+ get
+ {
+ return data.N;
+ }
+ set
+ {
+ data.N = value;
+ data.NotifyObservers();
+ }
+ }
+
+ #endregion
+
+ [DynamicVisibleValidationMethod]
+ public bool DynamicVisibleValidationMethod(string propertyName)
+ {
+ if (!data.IsRelevant && ShouldHidePropertyWhenFailureMechanismIrrelevant(propertyName))
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ private bool ShouldHidePropertyWhenFailureMechanismIrrelevant(string propertyName)
+ {
+ return nameof(Contribution).Equals(propertyName) || nameof(N).Equals(propertyName);
+ }
+
+ #region General
+
+ [PropertyOrder(namePropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Name_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Name_Description))]
+ public string Name
+ {
+ get
+ {
+ return data.Name;
+ }
+ }
+
+ [PropertyOrder(codePropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Code_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Code_Description))]
+ public string Code
+ {
+ get
+ {
+ return data.Code;
+ }
+ }
+
+ [PropertyOrder(groupPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Group_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Group_Description))]
+ public int Group
+ {
+ get
+ {
+ return data.Group;
+ }
+ }
+
+ [DynamicVisible]
+ [PropertyOrder(contributionPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Contribution_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Contribution_Description))]
+ public double Contribution
+ {
+ get
+ {
+ return data.Contribution;
+ }
+ }
+
+ [PropertyOrder(isRelevantPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_IsRelevant_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_IsRelevant_Description))]
+ public bool IsRelevant
+ {
+ get
+ {
+ return data.IsRelevant;
+ }
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/StandAlone/StandAloneFailureMechanismProperties.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/StandAlone/StandAloneFailureMechanismProperties.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/PropertyClasses/StandAlone/StandAloneFailureMechanismProperties.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,153 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Linq;
+using Core.Common.Gui.Attributes;
+using Core.Common.Gui.PropertyBag;
+using Core.Common.Util.Attributes;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.Contribution;
+using Ringtoets.Common.Data.FailureMechanism;
+using Riskeer.Integration.Forms.Properties;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.PropertyClasses.StandAlone
+{
+ ///
+ /// ViewModel of properties panel.
+ ///
+ public class StandAloneFailureMechanismProperties : ObjectProperties
+ {
+ private const int namePropertyIndex = 1;
+ private const int codePropertyIndex = 2;
+ private const int groupPropertyIndex = 3;
+ private const int contributionPropertyIndex = 4;
+ private const int isRelevantPropertyIndex = 5;
+
+ private readonly IAssessmentSection assessmentSection;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The failure mechanism to show the properties for.
+ /// The assessment section the failure mechanism belongs to.
+ /// Thrown when any parameter is null.
+ public StandAloneFailureMechanismProperties(IFailureMechanism failureMechanism, IAssessmentSection assessmentSection)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ this.assessmentSection = assessmentSection;
+
+ Data = failureMechanism;
+ }
+
+ [DynamicVisibleValidationMethod]
+ public bool DynamicVisibleValidationMethod(string propertyName)
+ {
+ if (!data.IsRelevant && ShouldHidePropertyWhenFailureMechanismIrrelevant(propertyName))
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ private bool ShouldHidePropertyWhenFailureMechanismIrrelevant(string propertyName)
+ {
+ return nameof(Contribution).Equals(propertyName);
+ }
+
+ #region General
+
+ [PropertyOrder(namePropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Name_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Name_Description))]
+ public string Name
+ {
+ get
+ {
+ return data.Name;
+ }
+ }
+
+ [PropertyOrder(codePropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Code_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Code_Description))]
+ public string Code
+ {
+ get
+ {
+ return data.Code;
+ }
+ }
+
+ [PropertyOrder(groupPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Group_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Group_Description))]
+ public int Group
+ {
+ get
+ {
+ return data.Group;
+ }
+ }
+
+ [DynamicVisible]
+ [PropertyOrder(contributionPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Contribution_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_Contribution_Description))]
+ public string Contribution
+ {
+ get
+ {
+ return string.Format(Resources.FailureMechanismProperties_Contribution_Other_Percentage_0,
+ assessmentSection.GetContributingFailureMechanisms().Single(fm => fm is OtherFailureMechanism).Contribution);
+ }
+ }
+
+ [PropertyOrder(isRelevantPropertyIndex)]
+ [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_General))]
+ [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_IsRelevant_DisplayName))]
+ [ResourcesDescription(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.FailureMechanism_IsRelevant_Description))]
+ public bool IsRelevant
+ {
+ get
+ {
+ return data.IsRelevant;
+ }
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Resources/AddFolder-stand32.png
===================================================================
diff -u
Binary files differ
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Resources/folder-stand.png
===================================================================
diff -u
Binary files differ
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Resources/folder-stand32.png
===================================================================
diff -u
Binary files differ
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Resources/map.png
===================================================================
diff -u
Binary files differ
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/RingtoetsSettingsHelper.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/RingtoetsSettingsHelper.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/RingtoetsSettingsHelper.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,65 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Collections.Generic;
+using System.IO;
+using Core.Common.Util.Settings;
+
+namespace Riskeer.Integration.Forms
+{
+ ///
+ /// Class that defines helper methods related to Ringtoets settings.
+ ///
+ public class RingtoetsSettingsHelper : SettingsHelper
+ {
+ ///
+ /// Gets the directory of the "NBPW" shape file within the common documents directory.
+ ///
+ /// Directory path where the "NBPW" shape file can be found.
+ public static string GetCommonDocumentsRingtoetsShapeFileDirectory()
+ {
+ string commonDocuments = new RingtoetsSettingsHelper().GetCommonDocumentsDirectory();
+ return Path.Combine(commonDocuments, "NBPW");
+ }
+
+ public override string GetCommonDocumentsDirectory(params string[] subPath)
+ {
+ var ringtoetsCommonDocumentsPath = new List
+ {
+ "WTI",
+ "Ringtoets"
+ };
+ ringtoetsCommonDocumentsPath.AddRange(subPath);
+ return base.GetCommonDocumentsDirectory(ringtoetsCommonDocumentsPath.ToArray());
+ }
+
+ public override string GetApplicationLocalUserSettingsDirectory(params string[] subPath)
+ {
+ var ringtoetsApplicationPath = new List
+ {
+ "WTI",
+ "Ringtoets"
+ };
+ ringtoetsApplicationPath.AddRange(subPath);
+ return base.GetApplicationLocalUserSettingsDirectory(ringtoetsApplicationPath.ToArray());
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Riskeer.Integration.Forms.csproj
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Riskeer.Integration.Forms.csproj (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Riskeer.Integration.Forms.csproj (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,423 @@
+
+
+
+ {AD0CDC89-0A00-4068-AEEC-9838863C2FE8}
+ Riskeer.Integration.Forms
+ Riskeer.Integration.Forms
+
+
+
+
+ ..\..\..\..\packages\log4net.2.0.4\lib\net40-full\log4net.dll
+ True
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ AssessmentSectionMergeDataProviderDialog.cs
+
+
+ Form
+
+
+ BackgroundMapDataSelectionDialog.cs
+
+
+
+
+
+ UserControl
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+ True
+ Resources.resx
+
+
+
+
+ Form
+
+
+ ReferenceLineMetaSelectionDialog.cs
+
+
+
+ UserControl
+
+
+ AssemblyResultCategoriesView.cs
+
+
+ UserControl
+
+
+ AssemblyResultPerSectionMapView.cs
+
+
+ UserControl
+
+
+ AssemblyResultPerSectionView.cs
+
+
+ UserControl
+
+
+ AssemblyResultTotalView.cs
+
+
+ UserControl
+
+
+ AssessmentSectionView.cs
+
+
+
+ UserControl
+
+
+ FailureMechanismWithoutDetailedAssessmentView.cs
+
+
+ UserControl
+
+
+ FailureMechanismWithDetailedAssessmentView.cs
+
+
+ UserControl
+
+
+ MacroStabilityOutwardsAssemblyCategoriesView.cs
+
+
+ UserControl
+
+
+ FailureMechanismAssemblyCategoriesView.cs
+
+
+
+
+
+
+ UserControl
+
+
+ FailureMechanismContributionView.cs
+
+
+
+
+ UserControl
+
+
+ UserControl
+
+
+ AssessmentSectionAssemblyCategoriesView.cs
+
+
+
+
+
+
+
+
+
+
+ UserControl
+
+
+ UserControl
+
+
+ UserControl
+
+
+ UserControl
+
+
+ UserControl
+
+
+ UserControl
+
+
+ UserControl
+
+
+ UserControl
+
+
+
+
+ {3bbfd65b-b277-4e50-ae6d-bd24c3434609}
+ Core.Common.Base
+ False
+
+
+ {9a2d67e6-26ac-4d17-b11a-2b4372f2f572}
+ Core.Common.Controls
+ False
+
+
+ {30e4c2ae-719e-4d70-9fa9-668a9767fbfa}
+ Core.Common.Gui
+ False
+
+
+ {f49bd8b2-332a-4c91-a196-8cce0a2c7d98}
+ Core.Common.Util
+ False
+
+
+ {1BA9EBD0-AA64-4BE3-9791-B2EE344EC938}
+ Core.Components.BruTile.Forms
+ False
+
+
+ {4a06df0d-5d75-4bad-a95a-a3db9b7c4ad5}
+ Core.Components.Gis.Forms
+ False
+
+
+ {318BA582-88C9-4816-A54A-A7E431461DE3}
+ Core.Components.Gis
+ False
+
+
+ {420ED9C3-0C33-47EA-B893-121A9C0DB4F1}
+ Riskeer.AssemblyTool.Data
+ False
+
+
+ {22C5DDB8-2491-4BC6-BDC6-2A7B7EBF40C1}
+ Riskeer.AssemblyTool.Forms
+ False
+
+
+ {c6309704-d67b-434c-bc98-9f8910bc1d10}
+ Ringtoets.ClosingStructures.Data
+ False
+
+
+ {d4200f43-3f72-4f42-af0a-8ced416a38ec}
+ Ringtoets.Common.Data
+ False
+
+
+ {4d840673-3812-4338-a352-84854e32b8a0}
+ Ringtoets.Common.Forms
+ False
+
+
+ {52BA7627-CBAB-4209-BE77-3B5F31378277}
+ Ringtoets.Common.IO
+ False
+
+
+ {78AA56F5-431D-465C-AC50-3173D7E90AC1}
+ Ringtoets.Common.Primitives
+ False
+
+
+ {d1068432-c172-4aa6-847b-d9deb4c6de26}
+ Ringtoets.DuneErosion.Data
+ False
+
+
+ {90de728e-48ef-4665-ab38-3d88e41d9f4d}
+ Ringtoets.GrassCoverErosionInwards.Data
+ False
+
+
+ {E7225477-577F-4A17-B7EC-6721158E1543}
+ Ringtoets.GrassCoverErosionOutwards.Data
+ False
+
+
+ {1C0017D8-35B5-4CA0-8FC7-A83F46DBDC99}
+ Ringtoets.HeightStructures.Data
+ False
+
+
+ {83d6b73e-91d5-46b0-9218-955da1f75f7c}
+ Ringtoets.MacroStabilityInwards.Data
+ False
+
+
+ {e9b39743-2dc9-4922-9e0f-6ba3e0e54189}
+ Ringtoets.MacroStabilityInwards.Primitives
+ False
+
+
+ {ce994cc9-6f6a-48ac-b4be-02c30a21f4db}
+ Ringtoets.Piping.Data
+ False
+
+
+ {3d4b9740-8348-4434-8d77-b611fc6ee57f}
+ Ringtoets.StabilityPointStructures.Data
+ False
+
+
+ {b479e3af-7c34-488c-bb73-d324100d36c9}
+ Ringtoets.StabilityStoneCover.Data
+ False
+
+
+ {50963f12-448c-41ba-a62c-cdb0ab8d21e0}
+ Riskeer.Storage.Core
+ False
+
+
+ {567e0b69-5280-41ce-add6-443725a61c86}
+ Ringtoets.WaveImpactAsphaltCover.Data
+ False
+
+
+ {11f1f874-45af-43e4-8ae5-15a5c9593e28}
+ Riskeer.Integration.Data
+ False
+
+
+ {d4d21027-b2cd-47e2-a299-70885cc93ab4}
+ Riskeer.Integration.Util
+ False
+
+
+
+
+ BackgroundMapDataSelectionDialog.cs
+
+
+ AssessmentSectionMergeDataProviderDialog.cs
+
+
+ PublicResXFileCodeGenerator
+ Designer
+ Resources.Designer.cs
+
+
+ ReferenceLineMetaSelectionDialog.cs
+ Designer
+
+
+ AssemblyResultCategoriesView.cs
+
+
+ AssemblyResultPerSectionMapView.cs
+
+
+ AssemblyResultPerSectionView.cs
+
+
+ AssemblyResultTotalView.cs
+
+
+ AssessmentSectionView.cs
+
+
+ FailureMechanismWithoutDetailedAssessmentView.cs
+
+
+ FailureMechanismWithDetailedAssessmentView.cs
+
+
+ MacroStabilityOutwardsAssemblyCategoriesView.cs
+
+
+ FailureMechanismAssemblyCategoriesView.cs
+
+
+ FailureMechanismContributionView.cs
+ Designer
+
+
+ AssessmentSectionAssemblyCategoriesView.cs
+ Designer
+
+
+
+
+ Copying.licenseheader
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyCategoriesTable.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyCategoriesTable.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyCategoriesTable.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,75 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using Core.Common.Controls.DataGrid;
+using Riskeer.AssemblyTool.Data;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ ///
+ /// This class defines a table in which properties of instances are displayed.
+ ///
+ /// The type of the enum to display in the table rows.
+ public class AssemblyCategoriesTable : DataGridViewControl
+ where T : struct
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public AssemblyCategoriesTable()
+ {
+ AddColumns();
+ }
+
+ ///
+ /// Sets the given for which the properties
+ /// are shown in the table.
+ ///
+ /// The collection of .
+ public void SetData(IEnumerable> categories)
+ {
+ SetDataSource(categories?.Select(category => new AssemblyCategoryRow(category.Item1, category.Item2, category.Item3)).ToArray());
+ }
+
+ private void AddColumns()
+ {
+ AddTextBoxColumn(nameof(AssemblyCategoryRow.Group),
+ RingtoetsCommonFormsResources.AssemblyCategory_Group_DisplayName,
+ true);
+
+ AddColorColumn(nameof(AssemblyCategoryRow.Color),
+ RingtoetsCommonFormsResources.AssemblyCategory_Color_DisplayName);
+
+ AddTextBoxColumn(nameof(AssemblyCategoryRow.LowerBoundary),
+ RingtoetsCommonFormsResources.AssemblyCategory_LowerBoundary_DisplayName,
+ true);
+
+ AddTextBoxColumn(nameof(AssemblyCategoryRow.UpperBoundary),
+ RingtoetsCommonFormsResources.AssemblyCategory_UpperBoundary_DisplayName,
+ true);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyCategoryRow.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyCategoryRow.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyCategoryRow.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,84 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.ComponentModel;
+using System.Drawing;
+using Core.Common.Util;
+using Ringtoets.Common.Forms.TypeConverters;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ ///
+ /// This class represents a row displaying the properties of a .
+ ///
+ /// The type of the enum to display.
+ internal class AssemblyCategoryRow
+ where T : struct
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The to use.
+ /// The belonging to this category.
+ /// The category group of this category.
+ /// Thrown when
+ /// is null.
+ public AssemblyCategoryRow(AssemblyCategory assemblyCategory,
+ Color assemblyColor,
+ T assemblyCategoryGroup)
+ {
+ if (assemblyCategory == null)
+ {
+ throw new ArgumentNullException(nameof(assemblyCategory));
+ }
+
+ Group = assemblyCategoryGroup;
+ Color = assemblyColor;
+ UpperBoundary = assemblyCategory.UpperBoundary;
+ LowerBoundary = assemblyCategory.LowerBoundary;
+ }
+
+ ///
+ /// Gets the display name of the category group.
+ ///
+ [TypeConverter(typeof(EnumTypeConverter))]
+ public T Group { get; }
+
+ ///
+ /// Gets the color of the category.
+ ///
+ public Color Color { get; }
+
+ ///
+ /// Gets the lower boundary of the category.
+ ///
+ [TypeConverter(typeof(NoProbabilityValueDoubleConverter))]
+ public double LowerBoundary { get; }
+
+ ///
+ /// Gets the upper boundary of the category.
+ ///
+ [TypeConverter(typeof(NoProbabilityValueDoubleConverter))]
+ public double UpperBoundary { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultCategoriesView.Designer.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultCategoriesView.Designer.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultCategoriesView.Designer.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,93 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ partial class AssemblyResultCategoriesView
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.assemblyCategoriesTable = new AssemblyCategoriesTable();
+ this.groupBoxPanel = new System.Windows.Forms.Panel();
+ this.groupBoxPanel.SuspendLayout();
+ this.groupBox = new System.Windows.Forms.GroupBox();
+ this.groupBox.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // failureMechanismAssemblyCategoriesTable
+ //
+ this.assemblyCategoriesTable.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.assemblyCategoriesTable.MultiSelect = true;
+ this.assemblyCategoriesTable.Name = "assemblyCategoriesTable";
+ this.assemblyCategoriesTable.Padding = new System.Windows.Forms.Padding(5);
+ this.assemblyCategoriesTable.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.RowHeaderSelect;
+ //
+ // groupBoxPanel
+ //
+ this.groupBoxPanel.Controls.Add(this.groupBox);
+ this.groupBoxPanel.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.groupBoxPanel.Name = "groupBoxPanel";
+ this.groupBoxPanel.Padding = new System.Windows.Forms.Padding(3);
+ //
+ // groupBox
+ //
+ this.groupBox.Controls.Add(assemblyCategoriesTable);
+ this.groupBox.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.groupBox.Location = new System.Drawing.Point(0, 0);
+ this.groupBox.Margin = new System.Windows.Forms.Padding(5);
+ this.groupBox.Name = "groupBox";
+ this.groupBox.Size = new System.Drawing.Size(150, 150);
+ this.groupBox.TabIndex = 0;
+ this.groupBox.TabStop = false;
+ this.groupBox.Text = global::Riskeer.Integration.Forms.Properties.Resources.AssemblyResultCategories_DisplayName;
+ //
+ // AssemblyResultCategoriesView
+ //
+ this.Name = "AssemblyResultCategoriesView";
+ this.Controls.Add(this.groupBoxPanel);
+ this.Size = new System.Drawing.Size(750, 420);
+ this.AutoScrollMinSize = new System.Drawing.Size(400, 100);
+ this.groupBoxPanel.ResumeLayout(false);
+ this.groupBox.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private AssemblyCategoriesTable assemblyCategoriesTable;
+ private System.Windows.Forms.GroupBox groupBox;
+ private System.Windows.Forms.Panel groupBoxPanel;
+ }
+}
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultCategoriesView.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultCategoriesView.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultCategoriesView.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,101 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Windows.Forms;
+using Core.Common.Base;
+using Core.Common.Controls.Views;
+using Ringtoets.Common.Forms.Helpers;
+using Riskeer.AssemblyTool.Data;
+using Riskeer.Integration.Data;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ ///
+ /// View to show a collection of .
+ ///
+ public partial class AssemblyResultCategoriesView : UserControl, IView
+ {
+ private readonly Func> getAssemblyCategoriesFunc;
+
+ private readonly Observer failureMechanismContributionObserver;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The assessment section.
+ /// The func to get the assembly categories from.
+ /// Thrown when any parameter is null.
+ public AssemblyResultCategoriesView(AssessmentSection assessmentSection,
+ Func> getAssemblyCategoriesFunc)
+ {
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ if (getAssemblyCategoriesFunc == null)
+ {
+ throw new ArgumentNullException(nameof(getAssemblyCategoriesFunc));
+ }
+
+ AssessmentSection = assessmentSection;
+ this.getAssemblyCategoriesFunc = getAssemblyCategoriesFunc;
+
+ InitializeComponent();
+
+ failureMechanismContributionObserver = new Observer(UpdateTableData)
+ {
+ Observable = assessmentSection.FailureMechanismContribution
+ };
+
+ UpdateTableData();
+ }
+
+ public AssessmentSection AssessmentSection { get; }
+
+ public object Data { get; set; }
+
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing)
+ {
+ failureMechanismContributionObserver.Dispose();
+ components?.Dispose();
+ }
+
+ base.Dispose(disposing);
+ }
+
+ private void UpdateTableData()
+ {
+ assemblyCategoriesTable.SetData(
+ getAssemblyCategoriesFunc().Select(
+ category => new Tuple(
+ category,
+ AssemblyCategoryGroupColorHelper.GetFailureMechanismAssemblyCategoryGroupColor(category.Group),
+ category.Group)).ToArray());
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultCategoriesView.resx
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultCategoriesView.resx (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultCategoriesView.resx (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultPerSectionMapView.Designer.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultPerSectionMapView.Designer.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultPerSectionMapView.Designer.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,114 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Windows.Forms;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ partial class AssemblyResultPerSectionMapView
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AssemblyResultPerSectionMapView));
+ this.ringtoetsMapControl = new Ringtoets.Common.Forms.Views.RingtoetsMapControl();
+ this.warningPanel = new System.Windows.Forms.Panel();
+ this.warningIcon = new System.Windows.Forms.PictureBox();
+ this.warningText = new System.Windows.Forms.Label();
+ this.warningPanel.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.warningIcon)).BeginInit();
+ this.SuspendLayout();
+ //
+ // ringtoetsMapControl
+ //
+ this.ringtoetsMapControl.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.ringtoetsMapControl.Location = new System.Drawing.Point(0, 0);
+ this.ringtoetsMapControl.Margin = new System.Windows.Forms.Padding(0);
+ this.ringtoetsMapControl.Name = "ringtoetsMapControl";
+ this.ringtoetsMapControl.Size = new System.Drawing.Size(562, 150);
+ this.ringtoetsMapControl.TabIndex = 0;
+ //
+ // warningPanel
+ //
+ this.warningPanel.BackColor = System.Drawing.SystemColors.Info;
+ this.warningPanel.Controls.Add(this.warningText);
+ this.warningPanel.Controls.Add(this.warningIcon);
+ this.warningPanel.Location = new System.Drawing.Point(0, 25);
+ this.warningPanel.Name = "warningPanel";
+ this.warningPanel.Size = new System.Drawing.Size(562, 100);
+ this.warningPanel.TabIndex = 1;
+ this.warningPanel.AutoSize = true;
+ this.warningPanel.Dock = DockStyle.Top;
+ //
+ // warningIcon
+ //
+ this.warningIcon.Image = global::Ringtoets.Common.Forms.Properties.Resources.PencilWarning.ToBitmap();
+ this.warningIcon.Location = new System.Drawing.Point(4, 4);
+ this.warningIcon.MaximumSize = new System.Drawing.Size(16, 16);
+ this.warningIcon.Name = "warningIcon";
+ this.warningIcon.Size = new System.Drawing.Size(16, 16);
+ this.warningIcon.TabIndex = 0;
+ this.warningIcon.TabStop = false;
+ this.warningIcon.SizeMode = PictureBoxSizeMode.StretchImage;
+ this.warningIcon.Dock = DockStyle.Left;
+ //
+ // warningText
+ //
+ this.warningText.AutoSize = true;
+ this.warningText.Location = new System.Drawing.Point(27, 6);
+ this.warningText.Name = "warningText";
+ this.warningText.Size = new System.Drawing.Size(35, 13);
+ this.warningText.TabIndex = 1;
+ this.warningText.Text = global::Ringtoets.Common.Forms.Properties.Resources.ManualAssemblyWarning_FailureMechanismAssemblyResult_is_based_on_manual_assemblies;
+ //
+ // AssemblyResultPerSectionMapView
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.ringtoetsMapControl);
+ this.Controls.Add(this.warningPanel);
+ this.Name = "AssemblyResultPerSectionMapView";
+ this.Size = new System.Drawing.Size(562, 150);
+ this.warningPanel.ResumeLayout(false);
+ this.warningPanel.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.warningIcon)).EndInit();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private Ringtoets.Common.Forms.Views.RingtoetsMapControl ringtoetsMapControl;
+ private Panel warningPanel;
+ private PictureBox warningIcon;
+ private Label warningText;
+ }
+}
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultPerSectionMapView.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultPerSectionMapView.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultPerSectionMapView.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,228 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Windows.Forms;
+using Core.Common.Base;
+using Core.Components.Gis.Data;
+using Core.Components.Gis.Forms;
+using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.Common.Forms.Factories;
+using Ringtoets.Common.Forms.Helpers;
+using Riskeer.Integration.Data;
+using Riskeer.Integration.Data.Assembly;
+using Riskeer.Integration.Forms.Factories;
+using Riskeer.Integration.Forms.Observers;
+using Riskeer.Integration.Forms.Properties;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ ///
+ /// The map view for the assembly result per section for all failure mechanisms of
+ /// the .
+ ///
+ public partial class AssemblyResultPerSectionMapView : UserControl, IMapView
+ {
+ private readonly MapLineData assemblyResultsMapData;
+ private readonly MapLineData referenceLineMapData;
+ private readonly MapPointData hydraulicBoundaryLocationsMapData;
+
+ private Observer assessmentSectionResultObserver;
+ private Observer hydraulicBoundaryLocationsObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waterLevelCalculationsForFactorizedSignalingNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waterLevelCalculationsForSignalingNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waterLevelCalculationsForLowerLimitNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waterLevelCalculationsForFactorizedLowerLimitNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waveHeightCalculationsForFactorizedSignalingNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waveHeightCalculationsForSignalingNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waveHeightCalculationsForLowerLimitNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waveHeightCalculationsForFactorizedLowerLimitNormObserver;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The to create the view for.
+ /// Thrown when
+ /// is null.
+ public AssemblyResultPerSectionMapView(AssessmentSection assessmentSection)
+ {
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ InitializeComponent();
+
+ AssessmentSection = assessmentSection;
+
+ CreateObservers();
+
+ var mapDataCollection = new MapDataCollection(Resources.AssemblyResultPerSectionMapView_DisplayName);
+ assemblyResultsMapData = CombinedSectionAssemblyMapDataFactory.CreateCombinedSectionAssemblyResultMapData();
+ referenceLineMapData = RingtoetsMapDataFactory.CreateReferenceLineMapData();
+ hydraulicBoundaryLocationsMapData = RingtoetsMapDataFactory.CreateHydraulicBoundaryLocationsMapData();
+
+ mapDataCollection.Add(referenceLineMapData);
+ mapDataCollection.Add(hydraulicBoundaryLocationsMapData);
+ mapDataCollection.Add(assemblyResultsMapData);
+
+ SetAllMapDataFeatures();
+ SetWarningPanel();
+
+ ringtoetsMapControl.SetAllData(mapDataCollection, assessmentSection.BackgroundData);
+ }
+
+ ///
+ /// Gets the the view belongs to.
+ ///
+ public AssessmentSection AssessmentSection { get; }
+
+ public object Data { get; set; }
+
+ public IMapControl Map
+ {
+ get
+ {
+ return ringtoetsMapControl.MapControl;
+ }
+ }
+
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing)
+ {
+ assessmentSectionResultObserver.Dispose();
+ waterLevelCalculationsForFactorizedSignalingNormObserver.Dispose();
+ waterLevelCalculationsForSignalingNormObserver.Dispose();
+ waterLevelCalculationsForLowerLimitNormObserver.Dispose();
+ waterLevelCalculationsForFactorizedLowerLimitNormObserver.Dispose();
+ waveHeightCalculationsForFactorizedSignalingNormObserver.Dispose();
+ waveHeightCalculationsForSignalingNormObserver.Dispose();
+ waveHeightCalculationsForLowerLimitNormObserver.Dispose();
+ waveHeightCalculationsForFactorizedLowerLimitNormObserver.Dispose();
+ hydraulicBoundaryLocationsObserver.Dispose();
+
+ components?.Dispose();
+ }
+
+ base.Dispose(disposing);
+ }
+
+ private void CreateObservers()
+ {
+ assessmentSectionResultObserver = new Observer(() =>
+ {
+ UpdateAssessmentSectionData();
+ SetWarningPanel();
+ })
+ {
+ Observable = new AssessmentSectionResultObserver(AssessmentSection)
+ };
+
+ waterLevelCalculationsForFactorizedSignalingNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ AssessmentSection.WaterLevelCalculationsForFactorizedSignalingNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waterLevelCalculationsForSignalingNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ AssessmentSection.WaterLevelCalculationsForSignalingNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waterLevelCalculationsForLowerLimitNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ AssessmentSection.WaterLevelCalculationsForLowerLimitNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waterLevelCalculationsForFactorizedLowerLimitNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ AssessmentSection.WaterLevelCalculationsForFactorizedLowerLimitNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waveHeightCalculationsForFactorizedSignalingNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ AssessmentSection.WaveHeightCalculationsForFactorizedSignalingNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waveHeightCalculationsForSignalingNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ AssessmentSection.WaveHeightCalculationsForSignalingNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waveHeightCalculationsForLowerLimitNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ AssessmentSection.WaveHeightCalculationsForLowerLimitNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waveHeightCalculationsForFactorizedLowerLimitNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ AssessmentSection.WaveHeightCalculationsForFactorizedLowerLimitNorm, UpdateHydraulicBoundaryLocationsMapData);
+
+ hydraulicBoundaryLocationsObserver = new Observer(UpdateHydraulicBoundaryLocationsMapData)
+ {
+ Observable = AssessmentSection.HydraulicBoundaryDatabase.Locations
+ };
+ }
+
+ private void SetAllMapDataFeatures()
+ {
+ SetReferenceLineMapData();
+ SetHydraulicBoundaryLocationsMapData();
+ SetAssemblyResultsMapData();
+ }
+
+ private void SetWarningPanel()
+ {
+ warningPanel.Visible = AssessmentSectionHelper.HasManualAssemblyResults(AssessmentSection);
+ }
+
+ private void UpdateAssessmentSectionData()
+ {
+ UpdateAssemblyResultsMapData();
+ UpdateReferenceLineMapData();
+ }
+
+ #region AssemblyResults MapData
+
+ private void UpdateAssemblyResultsMapData()
+ {
+ SetAssemblyResultsMapData();
+ assemblyResultsMapData.NotifyObservers();
+ }
+
+ private void SetAssemblyResultsMapData()
+ {
+ assemblyResultsMapData.Features = AssessmentSectionAssemblyMapDataFeaturesFactory.CreateCombinedFailureMechanismSectionAssemblyFeatures(AssessmentSection);
+ }
+
+ #endregion
+
+ #region ReferenceLine MapData
+
+ private void UpdateReferenceLineMapData()
+ {
+ SetReferenceLineMapData();
+ referenceLineMapData.NotifyObservers();
+ }
+
+ private void SetReferenceLineMapData()
+ {
+ referenceLineMapData.Features = RingtoetsMapDataFeaturesFactory.CreateReferenceLineFeatures(AssessmentSection.ReferenceLine,
+ AssessmentSection.Id,
+ AssessmentSection.Name);
+ }
+
+ #endregion
+
+ #region HydraulicBoundaryLocations MapData
+
+ private void UpdateHydraulicBoundaryLocationsMapData()
+ {
+ SetHydraulicBoundaryLocationsMapData();
+ hydraulicBoundaryLocationsMapData.NotifyObservers();
+ }
+
+ private void SetHydraulicBoundaryLocationsMapData()
+ {
+ hydraulicBoundaryLocationsMapData.Features = RingtoetsMapDataFeaturesFactory.CreateHydraulicBoundaryLocationFeatures(AssessmentSection);
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultPerSectionMapView.resx
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultPerSectionMapView.resx (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultPerSectionMapView.resx (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultPerSectionView.Designer.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultPerSectionView.Designer.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultPerSectionView.Designer.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,133 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+namespace Riskeer.Integration.Forms.Views
+{
+ partial class AssemblyResultPerSectionView
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ this.dataGridViewControl = new Core.Common.Controls.DataGrid.DataGridViewControl();
+ this.refreshAssemblyResultsButton = new System.Windows.Forms.Button();
+ this.buttonGroupBox = new System.Windows.Forms.GroupBox();
+ this.errorProvider = new System.Windows.Forms.ErrorProvider(this.components);
+ this.warningProvider = new System.Windows.Forms.ErrorProvider(this.components);
+ this.manualAssemblyWarningProvider = new System.Windows.Forms.ErrorProvider(this.components);
+ this.buttonGroupBox.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.warningProvider)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.manualAssemblyWarningProvider)).BeginInit();
+ this.SuspendLayout();
+ //
+ // dataGridViewControl
+ //
+ this.dataGridViewControl.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.dataGridViewControl.Location = new System.Drawing.Point(0, 43);
+ this.dataGridViewControl.MultiSelect = true;
+ this.dataGridViewControl.Name = "dataGridViewControl";
+ this.dataGridViewControl.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.RowHeaderSelect;
+ this.dataGridViewControl.Size = new System.Drawing.Size(789, 373);
+ this.dataGridViewControl.TabIndex = 3;
+ //
+ // refreshAssemblyResultsButton
+ //
+ this.refreshAssemblyResultsButton.AutoSize = true;
+ this.refreshAssemblyResultsButton.Enabled = false;
+ this.refreshAssemblyResultsButton.Location = new System.Drawing.Point(3, 14);
+ this.refreshAssemblyResultsButton.Name = "refreshAssemblyResultsButton";
+ this.refreshAssemblyResultsButton.Size = new System.Drawing.Size(164, 23);
+ this.refreshAssemblyResultsButton.TabIndex = 0;
+ this.refreshAssemblyResultsButton.Text = global::Riskeer.Integration.Forms.Properties.Resources.RefreshAssemblyResultsButton_Text;
+ this.refreshAssemblyResultsButton.UseVisualStyleBackColor = true;
+ this.refreshAssemblyResultsButton.Click += new System.EventHandler(this.RefreshAssemblyResults_Click);
+ //
+ // buttonGroupBox
+ //
+ this.buttonGroupBox.Controls.Add(this.refreshAssemblyResultsButton);
+ this.buttonGroupBox.Dock = System.Windows.Forms.DockStyle.Top;
+ this.buttonGroupBox.Location = new System.Drawing.Point(0, 0);
+ this.buttonGroupBox.MinimumSize = new System.Drawing.Size(180, 43);
+ this.buttonGroupBox.Name = "buttonGroupBox";
+ this.buttonGroupBox.Size = new System.Drawing.Size(789, 43);
+ this.buttonGroupBox.TabIndex = 2;
+ this.buttonGroupBox.TabStop = false;
+ //
+ // errorProvider
+ //
+ this.errorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.NeverBlink;
+ this.errorProvider.ContainerControl = this;
+ this.errorProvider.Icon = global::Ringtoets.Common.Forms.Properties.Resources.ErrorIcon;
+ this.errorProvider.SetIconPadding(this.refreshAssemblyResultsButton, 4);
+ //
+ // warningProvider
+ //
+ this.warningProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.NeverBlink;
+ this.warningProvider.ContainerControl = this;
+ this.warningProvider.Icon = global::Ringtoets.Common.Forms.Properties.Resources.warning;
+ this.warningProvider.SetIconPadding(this.refreshAssemblyResultsButton, 4);
+ //
+ // manualAssemblyWarningProvider
+ //
+ this.manualAssemblyWarningProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.NeverBlink;
+ this.manualAssemblyWarningProvider.ContainerControl = this;
+ this.manualAssemblyWarningProvider.Icon = global::Ringtoets.Common.Forms.Properties.Resources.PencilWarning;
+ this.manualAssemblyWarningProvider.SetIconPadding(this.refreshAssemblyResultsButton, 4);
+ //
+ // AssemblyResultPerSectionView
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.AutoScrollMinSize = new System.Drawing.Size(300, 250);
+ this.Controls.Add(this.dataGridViewControl);
+ this.Controls.Add(this.buttonGroupBox);
+ this.Name = "AssemblyResultPerSectionView";
+ this.Size = new System.Drawing.Size(789, 416);
+ this.buttonGroupBox.ResumeLayout(false);
+ this.buttonGroupBox.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.warningProvider)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.manualAssemblyWarningProvider)).EndInit();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private Core.Common.Controls.DataGrid.DataGridViewControl dataGridViewControl;
+ private System.Windows.Forms.Button refreshAssemblyResultsButton;
+ private System.Windows.Forms.GroupBox buttonGroupBox;
+ private System.Windows.Forms.ErrorProvider errorProvider;
+ private System.Windows.Forms.ErrorProvider warningProvider;
+ private System.Windows.Forms.ErrorProvider manualAssemblyWarningProvider;
+ }
+}
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultPerSectionView.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultPerSectionView.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultPerSectionView.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,269 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Linq;
+using System.Windows.Forms;
+using Core.Common.Base;
+using Core.Common.Controls.DataGrid;
+using Core.Common.Controls.Views;
+using Ringtoets.Common.Data.Exceptions;
+using Riskeer.Integration.Data;
+using Riskeer.Integration.Data.Assembly;
+using Riskeer.Integration.Forms.Observers;
+using Riskeer.Integration.Forms.Properties;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+using PipingDataResources = Ringtoets.Piping.Data.Properties.Resources;
+using GrassCoverErosionInwardsDataResources = Ringtoets.GrassCoverErosionInwards.Data.Properties.Resources;
+using MacroStabilityInwardsDataResources = Ringtoets.MacroStabilityInwards.Data.Properties.Resources;
+using IntegrationDataResources = Riskeer.Integration.Data.Properties.Resources;
+using StabilityStoneCoverDataResources = Ringtoets.StabilityStoneCover.Data.Properties.Resources;
+using WaveImpactAsphaltCoverDataResources = Ringtoets.WaveImpactAsphaltCover.Data.Properties.Resources;
+using GrassCoverErosionOutwardsDataResources = Ringtoets.GrassCoverErosionOutwards.Data.Properties.Resources;
+using HeightStructuresDataResources = Ringtoets.HeightStructures.Data.Properties.Resources;
+using ClosingStructuresDataResources = Ringtoets.ClosingStructures.Data.Properties.Resources;
+using StabilityPointStructuresDataResources = Ringtoets.StabilityPointStructures.Data.Properties.Resources;
+using DuneErosionDataResources = Ringtoets.DuneErosion.Data.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ ///
+ /// The view for the assembly result per section for all failure mechanisms of
+ /// the .
+ ///
+ public partial class AssemblyResultPerSectionView : UserControl, IView
+ {
+ private readonly Observer assessmentSectionResultObserver;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The to create the view for.
+ /// Thrown when
+ /// is null.
+ public AssemblyResultPerSectionView(AssessmentSection assessmentSection)
+ {
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ AssessmentSection = assessmentSection;
+ InitializeComponent();
+
+ assessmentSectionResultObserver = new Observer(EnableRefreshButton)
+ {
+ Observable = new AssessmentSectionResultObserver(assessmentSection)
+ };
+ }
+
+ ///
+ /// Gets the the view belongs to.
+ ///
+ public AssessmentSection AssessmentSection { get; }
+
+ public object Data { get; set; }
+
+ protected override void OnLoad(EventArgs e)
+ {
+ base.OnLoad(e);
+
+ InitializeDataGridView();
+ CheckManualAssemblyResults();
+
+ dataGridViewControl.CellFormatting += HandleCellStyling;
+ }
+
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing)
+ {
+ components?.Dispose();
+ assessmentSectionResultObserver.Dispose();
+ }
+
+ base.Dispose(disposing);
+ }
+
+ private void EnableRefreshButton()
+ {
+ if (!refreshAssemblyResultsButton.Enabled)
+ {
+ refreshAssemblyResultsButton.Enabled = true;
+
+ warningProvider.SetError(refreshAssemblyResultsButton,
+ Resources.AssemblyResultView_RefreshAssemblyResultsButton_Warning_Result_is_outdated_Press_Refresh_button_to_recalculate);
+
+ warningProvider.SetIconPadding(refreshAssemblyResultsButton,
+ string.IsNullOrEmpty(errorProvider.GetError(refreshAssemblyResultsButton)) ? 4 : 24);
+ CheckManualAssemblyResults();
+ }
+ }
+
+ private void CheckManualAssemblyResults()
+ {
+ SetManualAssemblyWarningIconPadding();
+
+ if (AssessmentSectionHelper.HasManualAssemblyResults(AssessmentSection))
+ {
+ manualAssemblyWarningProvider.SetError(refreshAssemblyResultsButton,
+ RingtoetsCommonFormsResources.ManualAssemblyWarning_FailureMechanismAssemblyResult_is_based_on_manual_assemblies);
+ }
+ }
+
+ private void SetManualAssemblyWarningIconPadding()
+ {
+ bool hasError = !string.IsNullOrEmpty(errorProvider.GetError(refreshAssemblyResultsButton));
+ bool hasWarning = !string.IsNullOrEmpty(warningProvider.GetError(refreshAssemblyResultsButton));
+
+ int manualAssemblyWarningPadding;
+ if (hasError && hasWarning)
+ {
+ manualAssemblyWarningPadding = 44;
+ }
+ else if (hasError || hasWarning)
+ {
+ manualAssemblyWarningPadding = 24;
+ }
+ else
+ {
+ manualAssemblyWarningPadding = 4;
+ }
+
+ manualAssemblyWarningProvider.SetIconPadding(refreshAssemblyResultsButton,
+ manualAssemblyWarningPadding);
+ }
+
+ private void HandleCellStyling(object sender, DataGridViewCellFormattingEventArgs e)
+ {
+ dataGridViewControl.FormatCellWithColumnStateDefinition(e.RowIndex, e.ColumnIndex);
+ }
+
+ private void InitializeDataGridView()
+ {
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.SectionNumber),
+ Resources.SectionNumber_DisplayName,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.SectionStart),
+ RingtoetsCommonFormsResources.SectionStart_DisplayName,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.SectionEnd),
+ RingtoetsCommonFormsResources.SectionEnd_DisplayName,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.TotalResult),
+ Resources.AssemblyResultPerSection_DisplayName,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.Piping),
+ PipingDataResources.PipingFailureMechanism_DisplayCode,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.GrassCoverErosionInwards),
+ GrassCoverErosionInwardsDataResources.GrassCoverErosionInwardsFailureMechanism_DisplayCode,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.MacroStabilityInwards),
+ MacroStabilityInwardsDataResources.MacroStabilityInwardsFailureMechanism_Code,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.MacroStabilityOutwards),
+ IntegrationDataResources.MacroStabilityOutwardsFailureMechanism_Code,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.Microstability),
+ IntegrationDataResources.MicrostabilityFailureMechanism_Code,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.StabilityStoneCover),
+ StabilityStoneCoverDataResources.StabilityStoneCoverFailureMechanism_Code,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.WaveImpactAsphaltCover),
+ WaveImpactAsphaltCoverDataResources.WaveImpactAsphaltCoverFailureMechanism_Code,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.WaterPressureAsphaltCover),
+ IntegrationDataResources.WaterPressureAsphaltCoverFailureMechanism_Code,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.GrassCoverErosionOutwards),
+ GrassCoverErosionOutwardsDataResources.GrassCoverErosionOutwardsFailureMechanism_Code,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.GrassCoverSlipOffOutwards),
+ IntegrationDataResources.GrassCoverSlipOffOutwardsFailureMechanism_Code,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.GrassCoverSlipOffInwards),
+ IntegrationDataResources.GrassCoverSlipOffInwardsFailureMechanism_Code,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.HeightStructures),
+ HeightStructuresDataResources.HeightStructuresFailureMechanism_Code,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.ClosingStructures),
+ ClosingStructuresDataResources.ClosingStructuresFailureMechanism_Code,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.PipingStructure),
+ IntegrationDataResources.PipingStructureFailureMechanism_Code,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.StabilityPointStructures),
+ StabilityPointStructuresDataResources.StabilityPointStructuresFailureMechanism_Code,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.StrengthStabilityLengthwiseConstruction),
+ IntegrationDataResources.StrengthStabilityLengthwiseConstructionFailureMechanism_Code,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.DuneErosion),
+ DuneErosionDataResources.DuneErosionFailureMechanism_Code,
+ true);
+ dataGridViewControl.AddTextBoxColumn(nameof(CombinedFailureMechanismSectionAssemblyResultRow.TechnicalInnovation),
+ IntegrationDataResources.TechnicalInnovationFailureMechanism_Code,
+ true);
+
+ SetDataSource();
+ }
+
+ private void RefreshAssemblyResults_Click(object sender, EventArgs e)
+ {
+ refreshAssemblyResultsButton.Enabled = false;
+ SetDataSource();
+ }
+
+ private void SetDataSource()
+ {
+ ClearCurrentData();
+
+ if (!AssessmentSection.ReferenceLine.Points.Any())
+ {
+ return;
+ }
+
+ try
+ {
+ dataGridViewControl.SetDataSource(AssessmentSectionAssemblyFactory.AssembleCombinedPerFailureMechanismSection(AssessmentSection, true)
+ .Select(r => new CombinedFailureMechanismSectionAssemblyResultRow(r))
+ .ToArray());
+ }
+ catch (AssemblyException e)
+ {
+ errorProvider.SetError(refreshAssemblyResultsButton, e.Message);
+ }
+
+ CheckManualAssemblyResults();
+ }
+
+ private void ClearCurrentData()
+ {
+ errorProvider.SetError(refreshAssemblyResultsButton, string.Empty);
+ warningProvider.SetError(refreshAssemblyResultsButton, string.Empty);
+ manualAssemblyWarningProvider.SetError(refreshAssemblyResultsButton, string.Empty);
+ dataGridViewControl.SetDataSource(Enumerable.Empty());
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultPerSectionView.resx
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultPerSectionView.resx (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultPerSectionView.resx (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultTotalView.Designer.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultTotalView.Designer.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultTotalView.Designer.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,241 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Riskeer.Integration.Forms.Controls;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ partial class AssemblyResultTotalView
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ this.dataGridViewControl = new Core.Common.Controls.DataGrid.DataGridViewControl();
+ this.refreshAssemblyResultsButton = new System.Windows.Forms.Button();
+ this.assemblyResultGroupBox = new System.Windows.Forms.GroupBox();
+ this.assemblyResultTableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
+ this.totalResultLabel = new System.Windows.Forms.Label();
+ this.failureMechanismsWithProbabilityLabel = new System.Windows.Forms.Label();
+ this.failureMechanismsWithoutProbabilityLabel = new System.Windows.Forms.Label();
+ this.totalAssemblyCategoryGroupControl = new AssessmentSectionAssemblyCategoryGroupControl();
+ this.failureMechanismsWithProbabilityAssemblyControl = new Ringtoets.Common.Forms.Controls.FailureMechanismAssemblyControl();
+ this.failureMechanismsWithoutProbabilityAssemblyControl = new Ringtoets.Common.Forms.Controls.FailureMechanismAssemblyCategoryGroupControl();
+ this.refreshButtonPanel = new System.Windows.Forms.Panel();
+ this.warningProvider = new System.Windows.Forms.ErrorProvider(this.components);
+ this.manualAssemblyWarningProvider = new System.Windows.Forms.ErrorProvider(this.components);
+ this.assemblyResultGroupBox.SuspendLayout();
+ this.assemblyResultTableLayoutPanel.SuspendLayout();
+ this.refreshButtonPanel.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.warningProvider)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.manualAssemblyWarningProvider)).BeginInit();
+ this.SuspendLayout();
+ //
+ // dataGridViewControl
+ //
+ this.dataGridViewControl.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.dataGridViewControl.Location = new System.Drawing.Point(0, 145);
+ this.dataGridViewControl.MultiSelect = true;
+ this.dataGridViewControl.Name = "dataGridViewControl";
+ this.dataGridViewControl.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.RowHeaderSelect;
+ this.dataGridViewControl.Size = new System.Drawing.Size(789, 271);
+ this.dataGridViewControl.TabIndex = 3;
+ //
+ // refreshAssemblyResultsButton
+ //
+ this.refreshAssemblyResultsButton.AutoSize = true;
+ this.refreshAssemblyResultsButton.Dock = System.Windows.Forms.DockStyle.Left;
+ this.refreshAssemblyResultsButton.Enabled = false;
+ this.refreshAssemblyResultsButton.Location = new System.Drawing.Point(5, 5);
+ this.refreshAssemblyResultsButton.Name = "refreshAssemblyResultsButton";
+ this.refreshAssemblyResultsButton.Size = new System.Drawing.Size(164, 25);
+ this.refreshAssemblyResultsButton.TabIndex = 0;
+ this.refreshAssemblyResultsButton.Text = global::Riskeer.Integration.Forms.Properties.Resources.RefreshAssemblyResultsButton_Text;
+ this.refreshAssemblyResultsButton.UseVisualStyleBackColor = true;
+ this.refreshAssemblyResultsButton.Click += new System.EventHandler(this.RefreshAssemblyResults_Click);
+ //
+ // assemblyResultGroupBox
+ //
+ this.assemblyResultGroupBox.Controls.Add(this.assemblyResultTableLayoutPanel);
+ this.assemblyResultGroupBox.Dock = System.Windows.Forms.DockStyle.Top;
+ this.assemblyResultGroupBox.Location = new System.Drawing.Point(0, 35);
+ this.assemblyResultGroupBox.Margin = new System.Windows.Forms.Padding(5);
+ this.assemblyResultGroupBox.Name = "assemblyResultGroupBox";
+ this.assemblyResultGroupBox.Size = new System.Drawing.Size(789, 110);
+ this.assemblyResultGroupBox.TabIndex = 1;
+ this.assemblyResultGroupBox.TabStop = false;
+ this.assemblyResultGroupBox.Text = global::Ringtoets.Common.Forms.Properties.Resources.CombinedAssembly_DisplayName;
+ //
+ // assemblyResultTableLayoutPanel
+ //
+ this.assemblyResultTableLayoutPanel.AutoSize = true;
+ this.assemblyResultTableLayoutPanel.ColumnCount = 2;
+ this.assemblyResultTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
+ this.assemblyResultTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
+ this.assemblyResultTableLayoutPanel.Controls.Add(this.totalResultLabel, 0, 0);
+ this.assemblyResultTableLayoutPanel.Controls.Add(this.failureMechanismsWithProbabilityLabel, 0, 1);
+ this.assemblyResultTableLayoutPanel.Controls.Add(this.failureMechanismsWithoutProbabilityLabel, 0, 2);
+ this.assemblyResultTableLayoutPanel.Controls.Add(this.totalAssemblyCategoryGroupControl, 1, 0);
+ this.assemblyResultTableLayoutPanel.Controls.Add(this.failureMechanismsWithProbabilityAssemblyControl, 1, 1);
+ this.assemblyResultTableLayoutPanel.Controls.Add(this.failureMechanismsWithoutProbabilityAssemblyControl, 1, 2);
+ this.assemblyResultTableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.assemblyResultTableLayoutPanel.Location = new System.Drawing.Point(3, 16);
+ this.assemblyResultTableLayoutPanel.Name = "assemblyResultTableLayoutPanel";
+ this.assemblyResultTableLayoutPanel.RowCount = 3;
+ this.assemblyResultTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
+ this.assemblyResultTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
+ this.assemblyResultTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
+ this.assemblyResultTableLayoutPanel.Size = new System.Drawing.Size(783, 91);
+ this.assemblyResultTableLayoutPanel.TabIndex = 0;
+ //
+ // totalResultLabel
+ //
+ this.totalResultLabel.AutoSize = true;
+ this.totalResultLabel.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.totalResultLabel.Location = new System.Drawing.Point(3, 0);
+ this.totalResultLabel.Name = "totalResultLabel";
+ this.totalResultLabel.Size = new System.Drawing.Size(81, 30);
+ this.totalResultLabel.TabIndex = 0;
+ this.totalResultLabel.Text = global::Riskeer.Integration.Forms.Properties.Resources.AssemblyResultTotalView_TotalResultLabel_Text;
+ this.totalResultLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ //
+ // failureMechanismsWithProbabilityLabel
+ //
+ this.failureMechanismsWithProbabilityLabel.AutoSize = true;
+ this.failureMechanismsWithProbabilityLabel.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.failureMechanismsWithProbabilityLabel.Location = new System.Drawing.Point(3, 30);
+ this.failureMechanismsWithProbabilityLabel.Name = "failureMechanismsWithProbabilityLabel";
+ this.failureMechanismsWithProbabilityLabel.Size = new System.Drawing.Size(81, 30);
+ this.failureMechanismsWithProbabilityLabel.TabIndex = 1;
+ this.failureMechanismsWithProbabilityLabel.Text = global::Riskeer.Integration.Forms.Properties.Resources.AssemblyResultTotalView_FailureMechanismsWithProbabilityResultLabel_Text;
+ this.failureMechanismsWithProbabilityLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ //
+ // failureMechanismsWithoutProbabilityLabel
+ //
+ this.failureMechanismsWithoutProbabilityLabel.AutoSize = true;
+ this.failureMechanismsWithoutProbabilityLabel.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.failureMechanismsWithoutProbabilityLabel.Location = new System.Drawing.Point(3, 60);
+ this.failureMechanismsWithoutProbabilityLabel.Name = "failureMechanismsWithoutProbabilityLabel";
+ this.failureMechanismsWithoutProbabilityLabel.Size = new System.Drawing.Size(81, 31);
+ this.failureMechanismsWithoutProbabilityLabel.TabIndex = 2;
+ this.failureMechanismsWithoutProbabilityLabel.Text = global::Riskeer.Integration.Forms.Properties.Resources.AssemblyResultTotalView_FailureMechanismsWithoutProbabilityResultLabel_Text;
+ this.failureMechanismsWithoutProbabilityLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ //
+ // totalAssemblyCategoryGroupControl
+ //
+ this.totalAssemblyCategoryGroupControl.AutoSize = true;
+ this.totalAssemblyCategoryGroupControl.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.totalAssemblyCategoryGroupControl.Location = new System.Drawing.Point(90, 3);
+ this.totalAssemblyCategoryGroupControl.Name = "totalAssemblyCategoryGroupControl";
+ this.totalAssemblyCategoryGroupControl.Size = new System.Drawing.Size(690, 24);
+ this.totalAssemblyCategoryGroupControl.TabIndex = 3;
+ //
+ // failureMechanismsWithProbabilityAssemblyControl
+ //
+ this.failureMechanismsWithProbabilityAssemblyControl.AutoSize = true;
+ this.failureMechanismsWithProbabilityAssemblyControl.Dock = System.Windows.Forms.DockStyle.Left;
+ this.failureMechanismsWithProbabilityAssemblyControl.Location = new System.Drawing.Point(90, 33);
+ this.failureMechanismsWithProbabilityAssemblyControl.Name = "failureMechanismsWithProbabilityAssemblyControl";
+ this.failureMechanismsWithProbabilityAssemblyControl.Size = new System.Drawing.Size(112, 24);
+ this.failureMechanismsWithProbabilityAssemblyControl.TabIndex = 4;
+ //
+ // failureMechanismsWithoutProbabilityAssemblyControl
+ //
+ this.failureMechanismsWithoutProbabilityAssemblyControl.AutoSize = true;
+ this.failureMechanismsWithoutProbabilityAssemblyControl.Dock = System.Windows.Forms.DockStyle.Left;
+ this.failureMechanismsWithoutProbabilityAssemblyControl.Location = new System.Drawing.Point(90, 63);
+ this.failureMechanismsWithoutProbabilityAssemblyControl.Name = "failureMechanismsWithoutProbabilityAssemblyControl";
+ this.failureMechanismsWithoutProbabilityAssemblyControl.Size = new System.Drawing.Size(56, 25);
+ this.failureMechanismsWithoutProbabilityAssemblyControl.TabIndex = 5;
+ //
+ // refreshButtonPanel
+ //
+ this.refreshButtonPanel.Controls.Add(this.refreshAssemblyResultsButton);
+ this.refreshButtonPanel.Dock = System.Windows.Forms.DockStyle.Top;
+ this.refreshButtonPanel.Location = new System.Drawing.Point(0, 0);
+ this.refreshButtonPanel.Name = "refreshButtonPanel";
+ this.refreshButtonPanel.Padding = new System.Windows.Forms.Padding(5);
+ this.refreshButtonPanel.Size = new System.Drawing.Size(789, 35);
+ this.refreshButtonPanel.TabIndex = 1;
+ //
+ // warningProvider
+ //
+ this.warningProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.NeverBlink;
+ this.warningProvider.ContainerControl = this;
+ this.warningProvider.Icon = global::Ringtoets.Common.Forms.Properties.Resources.warning;
+ this.warningProvider.SetIconPadding(this.refreshAssemblyResultsButton, 4);
+ //
+ // manualAssemblyWarningProvider
+ //
+ this.manualAssemblyWarningProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.NeverBlink;
+ this.manualAssemblyWarningProvider.ContainerControl = this;
+ this.manualAssemblyWarningProvider.Icon = global::Ringtoets.Common.Forms.Properties.Resources.PencilWarning;
+ this.manualAssemblyWarningProvider.SetIconPadding(this.refreshAssemblyResultsButton, 4);
+ //
+ // AssemblyResultTotalView
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.AutoScrollMinSize = new System.Drawing.Size(350, 250);
+ this.Controls.Add(this.dataGridViewControl);
+ this.Controls.Add(this.assemblyResultGroupBox);
+ this.Controls.Add(this.refreshButtonPanel);
+ this.Name = "AssemblyResultTotalView";
+ this.Size = new System.Drawing.Size(789, 416);
+ this.assemblyResultGroupBox.ResumeLayout(false);
+ this.assemblyResultGroupBox.PerformLayout();
+ this.assemblyResultTableLayoutPanel.ResumeLayout(false);
+ this.assemblyResultTableLayoutPanel.PerformLayout();
+ this.refreshButtonPanel.ResumeLayout(false);
+ this.refreshButtonPanel.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.warningProvider)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.manualAssemblyWarningProvider)).EndInit();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private Core.Common.Controls.DataGrid.DataGridViewControl dataGridViewControl;
+ private System.Windows.Forms.Button refreshAssemblyResultsButton;
+ private System.Windows.Forms.GroupBox assemblyResultGroupBox;
+ private System.Windows.Forms.TableLayoutPanel assemblyResultTableLayoutPanel;
+ private System.Windows.Forms.Label totalResultLabel;
+ private System.Windows.Forms.Label failureMechanismsWithProbabilityLabel;
+ private System.Windows.Forms.Label failureMechanismsWithoutProbabilityLabel;
+ private Controls.AssessmentSectionAssemblyCategoryGroupControl totalAssemblyCategoryGroupControl;
+ private Ringtoets.Common.Forms.Controls.FailureMechanismAssemblyControl failureMechanismsWithProbabilityAssemblyControl;
+ private Ringtoets.Common.Forms.Controls.FailureMechanismAssemblyCategoryGroupControl failureMechanismsWithoutProbabilityAssemblyControl;
+ private System.Windows.Forms.Panel refreshButtonPanel;
+ private System.Windows.Forms.ErrorProvider warningProvider;
+ private System.Windows.Forms.ErrorProvider manualAssemblyWarningProvider;
+ }
+}
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultTotalView.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultTotalView.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultTotalView.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,449 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Windows.Forms;
+using Core.Common.Base;
+using Core.Common.Controls.DataGrid;
+using Core.Common.Controls.Views;
+using Core.Common.Util.Extensions;
+using Ringtoets.ClosingStructures.Data;
+using Ringtoets.Common.Data.Exceptions;
+using Ringtoets.DuneErosion.Data;
+using Ringtoets.GrassCoverErosionInwards.Data;
+using Ringtoets.GrassCoverErosionOutwards.Data;
+using Ringtoets.HeightStructures.Data;
+using Ringtoets.MacroStabilityInwards.Data;
+using Ringtoets.Piping.Data;
+using Ringtoets.StabilityPointStructures.Data;
+using Ringtoets.StabilityStoneCover.Data;
+using Ringtoets.WaveImpactAsphaltCover.Data;
+using Riskeer.Integration.Data;
+using Riskeer.Integration.Data.Assembly;
+using Riskeer.Integration.Data.StandAlone;
+using Riskeer.Integration.Data.StandAlone.AssemblyFactories;
+using Riskeer.Integration.Forms.Observers;
+using Riskeer.Integration.Forms.Properties;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ ///
+ /// The view for the combined assembly result for all failure mechanisms of
+ /// the .
+ ///
+ public partial class AssemblyResultTotalView : UserControl, IView
+ {
+ private readonly Observer assessmentSectionObserver;
+ private readonly Observer assessmentSectionResultObserver;
+ private IEnumerable assemblyResultRows;
+
+ private bool updateDataSource;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The to create the view for.
+ /// Thrown when
+ /// is null.
+ public AssemblyResultTotalView(AssessmentSection assessmentSection)
+ {
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ AssessmentSection = assessmentSection;
+
+ InitializeComponent();
+
+ assessmentSectionObserver = new Observer(() =>
+ {
+ updateDataSource = true;
+ EnableRefreshButton();
+ })
+ {
+ Observable = assessmentSection
+ };
+
+ assessmentSectionResultObserver = new Observer(EnableRefreshButton)
+ {
+ Observable = new AssessmentSectionResultObserver(assessmentSection)
+ };
+ }
+
+ ///
+ /// Gets the the view belongs to.
+ ///
+ public AssessmentSection AssessmentSection { get; }
+
+ public object Data { get; set; }
+
+ protected override void OnLoad(EventArgs e)
+ {
+ base.OnLoad(e);
+
+ InitializeDataGridView();
+ CheckManualAssemblyResults();
+ UpdateAssemblyResultControls();
+
+ dataGridViewControl.CellFormatting += HandleCellStyling;
+ }
+
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing)
+ {
+ components?.Dispose();
+ assessmentSectionObserver.Dispose();
+ assessmentSectionResultObserver.Dispose();
+ }
+
+ base.Dispose(disposing);
+ }
+
+ private void EnableRefreshButton()
+ {
+ if (!refreshAssemblyResultsButton.Enabled)
+ {
+ refreshAssemblyResultsButton.Enabled = true;
+ warningProvider.SetError(refreshAssemblyResultsButton,
+ Resources.AssemblyResultView_RefreshAssemblyResultsButton_Warning_Result_is_outdated_Press_Refresh_button_to_recalculate);
+ SetManualAssemblyWarningPadding();
+ }
+ }
+
+ private void InitializeDataGridView()
+ {
+ dataGridViewControl.AddTextBoxColumn(nameof(FailureMechanismAssemblyResultRowBase.Name),
+ Resources.FailureMechanism_Name_DisplayName,
+ true);
+
+ dataGridViewControl.AddTextBoxColumn(nameof(FailureMechanismAssemblyResultRowBase.Code),
+ RingtoetsCommonFormsResources.FailureMechanism_Code_DisplayName,
+ true);
+
+ dataGridViewControl.AddTextBoxColumn(nameof(FailureMechanismAssemblyResultRowBase.Group),
+ RingtoetsCommonFormsResources.FailureMechanism_Group_DisplayName,
+ true);
+
+ dataGridViewControl.AddTextBoxColumn(nameof(FailureMechanismAssemblyResultRowBase.CategoryGroup),
+ RingtoetsCommonFormsResources.AssemblyResult_DisplayName,
+ true);
+
+ dataGridViewControl.AddTextBoxColumn(nameof(FailureMechanismAssemblyResultRowBase.Probability),
+ Resources.AssemblyResultTotalView_Probability_DisplayName,
+ true);
+
+ SetDataSource();
+ }
+
+ private void SetDataSource()
+ {
+ assemblyResultRows = new List
+ {
+ CreatePipingFailureMechanismAssemblyResultRow(),
+ CreateGrassCoverErosionInwardsFailureMechanismAssemblyResultRow(),
+ CreateMacroStabilityInwardsFailureMechanismAssemblyResultRow(),
+ CreateMacroStabilityOutwardsFailureMechanismAssemblyResultRow(),
+ CreateMicrostabilityFailureMechanismAssemblyResultRow(),
+ CreateStabilityStoneCoverFailureMechanismAssemblyResultRow(),
+ CreateWaveImpactFailureMechanismAssemblyResultRow(),
+ CreateWaterPressureAsphaltCoverFailureMechanismAssemblyResultRow(),
+ CreateGrassCoverErosionOutwardsFailureMechanismAssemblyResultRow(),
+ CreateGrassCoverSlipOffOutwardsFailureMechanismAssemblyResultRow(),
+ CreateGrassCoverSlipOffInwardsFailureMechanismAssemblyResultRow(),
+ CreateHeightStructuresFailureMechanismAssemblyResultRow(),
+ CreateClosingStructuresFailureMechanismAssemblyResultRow(),
+ CreatePipingStructureFailureMechanismAssemblyResultRow(),
+ CreateStabilityPointsStructuresFailureMechanismAssemblyResultRow(),
+ CreateStrengthStabilityLengthWiseConstructionFailureMechanismAssemblyResultRow(),
+ CreateDuneErosionFailureMechanismAssemblyResultRow(),
+ CreateTechnicalInnovationFailureMechanismAssemblyResultRow()
+ };
+
+ dataGridViewControl.SetDataSource(assemblyResultRows);
+ updateDataSource = false;
+ }
+
+ private void RefreshAssemblyResults_Click(object sender, EventArgs e)
+ {
+ ResetRefreshAssemblyResultsButton();
+
+ CheckManualAssemblyResults();
+
+ if (updateDataSource)
+ {
+ SetDataSource();
+ }
+ else
+ {
+ assemblyResultRows.ForEachElementDo(row => row.Update());
+ dataGridViewControl.RefreshDataGridView();
+ }
+
+ UpdateAssemblyResultControls();
+ }
+
+ private void CheckManualAssemblyResults()
+ {
+ if (AssessmentSectionHelper.HasManualAssemblyResults(AssessmentSection))
+ {
+ SetManualAssemblyWarningPadding();
+ manualAssemblyWarningProvider.SetError(refreshAssemblyResultsButton,
+ RingtoetsCommonFormsResources.ManualAssemblyWarning_FailureMechanismAssemblyResult_is_based_on_manual_assemblies);
+ }
+ }
+
+ private void SetManualAssemblyWarningPadding()
+ {
+ manualAssemblyWarningProvider.SetIconPadding(refreshAssemblyResultsButton, string.IsNullOrEmpty(warningProvider.GetError(refreshAssemblyResultsButton)) ? 4 : 24);
+ }
+
+ private void ResetRefreshAssemblyResultsButton()
+ {
+ refreshAssemblyResultsButton.Enabled = false;
+ warningProvider.SetError(refreshAssemblyResultsButton, string.Empty);
+ manualAssemblyWarningProvider.SetError(refreshAssemblyResultsButton, string.Empty);
+ }
+
+ private void UpdateAssemblyResultControls()
+ {
+ UpdateTotalAssemblyCategoryGroupControl();
+ UpdateFailureMechanismsWithProbabilityAssemblyControl();
+ UpdateFailureMechanismsWithoutProbabilityAssemblyControl();
+ }
+
+ private void UpdateFailureMechanismsWithoutProbabilityAssemblyControl()
+ {
+ failureMechanismsWithoutProbabilityAssemblyControl.ClearAssemblyResult();
+ failureMechanismsWithoutProbabilityAssemblyControl.ClearMessages();
+
+ try
+ {
+ failureMechanismsWithoutProbabilityAssemblyControl.SetAssemblyResult(
+ AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithoutProbability(AssessmentSection, true));
+ }
+ catch (AssemblyException e)
+ {
+ failureMechanismsWithoutProbabilityAssemblyControl.SetError(e.Message);
+ }
+ }
+
+ private void UpdateFailureMechanismsWithProbabilityAssemblyControl()
+ {
+ failureMechanismsWithProbabilityAssemblyControl.ClearAssemblyResult();
+ failureMechanismsWithProbabilityAssemblyControl.ClearMessages();
+
+ try
+ {
+ failureMechanismsWithProbabilityAssemblyControl.SetAssemblyResult(
+ AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(AssessmentSection, true));
+ }
+ catch (AssemblyException e)
+ {
+ failureMechanismsWithProbabilityAssemblyControl.SetError(e.Message);
+ }
+ }
+
+ private void UpdateTotalAssemblyCategoryGroupControl()
+ {
+ totalAssemblyCategoryGroupControl.ClearAssemblyResult();
+ totalAssemblyCategoryGroupControl.ClearMessages();
+
+ try
+ {
+ totalAssemblyCategoryGroupControl.SetAssemblyResult(
+ AssessmentSectionAssemblyFactory.AssembleAssessmentSection(AssessmentSection, true));
+ }
+ catch (AssemblyException e)
+ {
+ totalAssemblyCategoryGroupControl.SetError(e.Message);
+ }
+ }
+
+ private void HandleCellStyling(object sender, DataGridViewCellFormattingEventArgs e)
+ {
+ dataGridViewControl.FormatCellWithColumnStateDefinition(e.RowIndex, e.ColumnIndex);
+ }
+
+ #region Failure mechanism assembly result rows
+
+ #region Group 1
+
+ private FailureMechanismAssemblyResultRow CreateClosingStructuresFailureMechanismAssemblyResultRow()
+ {
+ ClosingStructuresFailureMechanism closingStructures = AssessmentSection.ClosingStructures;
+ return new FailureMechanismAssemblyResultRow(closingStructures,
+ () => ClosingStructuresFailureMechanismAssemblyFactory.AssembleFailureMechanism(closingStructures,
+ AssessmentSection,
+ true));
+ }
+
+ private FailureMechanismAssemblyResultRow CreateHeightStructuresFailureMechanismAssemblyResultRow()
+ {
+ HeightStructuresFailureMechanism heightStructures = AssessmentSection.HeightStructures;
+ return new FailureMechanismAssemblyResultRow(heightStructures,
+ () => HeightStructuresFailureMechanismAssemblyFactory.AssembleFailureMechanism(heightStructures,
+ AssessmentSection,
+ true));
+ }
+
+ private FailureMechanismAssemblyResultRow CreateStabilityPointsStructuresFailureMechanismAssemblyResultRow()
+ {
+ StabilityPointStructuresFailureMechanism stabilityPointStructures = AssessmentSection.StabilityPointStructures;
+ return new FailureMechanismAssemblyResultRow(stabilityPointStructures,
+ () => StabilityPointStructuresFailureMechanismAssemblyFactory.AssembleFailureMechanism(stabilityPointStructures,
+ AssessmentSection,
+ true));
+ }
+
+ private FailureMechanismAssemblyResultRow CreateGrassCoverErosionInwardsFailureMechanismAssemblyResultRow()
+ {
+ GrassCoverErosionInwardsFailureMechanism grassCoverErosionInwards = AssessmentSection.GrassCoverErosionInwards;
+ return new FailureMechanismAssemblyResultRow(grassCoverErosionInwards,
+ () => GrassCoverErosionInwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(grassCoverErosionInwards,
+ AssessmentSection,
+ true));
+ }
+
+ #endregion
+
+ #region Group 2
+
+ private FailureMechanismAssemblyResultRowBase CreatePipingFailureMechanismAssemblyResultRow()
+ {
+ PipingFailureMechanism piping = AssessmentSection.Piping;
+ return new FailureMechanismAssemblyResultRow(piping,
+ () => PipingFailureMechanismAssemblyFactory.AssembleFailureMechanism(piping,
+ AssessmentSection,
+ true));
+ }
+
+ private FailureMechanismAssemblyResultRowBase CreateMacroStabilityInwardsFailureMechanismAssemblyResultRow()
+ {
+ MacroStabilityInwardsFailureMechanism macroStabilityInwards = AssessmentSection.MacroStabilityInwards;
+ return new FailureMechanismAssemblyResultRow(macroStabilityInwards,
+ () => MacroStabilityInwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(macroStabilityInwards,
+ AssessmentSection,
+ true));
+ }
+
+ #endregion
+
+ #region Group 3
+
+ private FailureMechanismAssemblyCategoryGroupResultRow CreateStabilityStoneCoverFailureMechanismAssemblyResultRow()
+ {
+ StabilityStoneCoverFailureMechanism stabilityStoneCover = AssessmentSection.StabilityStoneCover;
+ return new FailureMechanismAssemblyCategoryGroupResultRow(stabilityStoneCover,
+ () => StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(stabilityStoneCover, true));
+ }
+
+ private FailureMechanismAssemblyCategoryGroupResultRow CreateWaveImpactFailureMechanismAssemblyResultRow()
+ {
+ WaveImpactAsphaltCoverFailureMechanism waveImpactAsphaltCover = AssessmentSection.WaveImpactAsphaltCover;
+ return new FailureMechanismAssemblyCategoryGroupResultRow(waveImpactAsphaltCover,
+ () => WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(waveImpactAsphaltCover, true));
+ }
+
+ private FailureMechanismAssemblyCategoryGroupResultRow CreateGrassCoverErosionOutwardsFailureMechanismAssemblyResultRow()
+ {
+ GrassCoverErosionOutwardsFailureMechanism grassCoverErosionOutwards = AssessmentSection.GrassCoverErosionOutwards;
+ return new FailureMechanismAssemblyCategoryGroupResultRow(grassCoverErosionOutwards,
+ () => GrassCoverErosionOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(grassCoverErosionOutwards, true));
+ }
+
+ private FailureMechanismAssemblyCategoryGroupResultRow CreateDuneErosionFailureMechanismAssemblyResultRow()
+ {
+ DuneErosionFailureMechanism duneErosion = AssessmentSection.DuneErosion;
+ return new FailureMechanismAssemblyCategoryGroupResultRow(duneErosion,
+ () => DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(duneErosion, true));
+ }
+
+ #endregion
+
+ #region Group 4
+
+ private FailureMechanismAssemblyResultRowBase CreateMacroStabilityOutwardsFailureMechanismAssemblyResultRow()
+ {
+ MacroStabilityOutwardsFailureMechanism macroStabilityOutwards = AssessmentSection.MacroStabilityOutwards;
+ return new FailureMechanismAssemblyCategoryGroupResultRow(macroStabilityOutwards,
+ () => MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(macroStabilityOutwards,
+ AssessmentSection,
+ true));
+ }
+
+ private FailureMechanismAssemblyCategoryGroupResultRow CreateMicrostabilityFailureMechanismAssemblyResultRow()
+ {
+ MicrostabilityFailureMechanism microstability = AssessmentSection.Microstability;
+ return new FailureMechanismAssemblyCategoryGroupResultRow(microstability,
+ () => MicrostabilityFailureMechanismAssemblyFactory.AssembleFailureMechanism(microstability, true));
+ }
+
+ private FailureMechanismAssemblyCategoryGroupResultRow CreateWaterPressureAsphaltCoverFailureMechanismAssemblyResultRow()
+ {
+ WaterPressureAsphaltCoverFailureMechanism waterPressureAsphaltCover = AssessmentSection.WaterPressureAsphaltCover;
+ return new FailureMechanismAssemblyCategoryGroupResultRow(waterPressureAsphaltCover,
+ () => WaterPressureAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(waterPressureAsphaltCover, true));
+ }
+
+ private FailureMechanismAssemblyCategoryGroupResultRow CreateGrassCoverSlipOffOutwardsFailureMechanismAssemblyResultRow()
+ {
+ GrassCoverSlipOffOutwardsFailureMechanism grassCoverSlipOffOutwards = AssessmentSection.GrassCoverSlipOffOutwards;
+ return new FailureMechanismAssemblyCategoryGroupResultRow(grassCoverSlipOffOutwards,
+ () => GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(grassCoverSlipOffOutwards, true));
+ }
+
+ private FailureMechanismAssemblyCategoryGroupResultRow CreateGrassCoverSlipOffInwardsFailureMechanismAssemblyResultRow()
+ {
+ GrassCoverSlipOffInwardsFailureMechanism grassCoverSlipOffInwards = AssessmentSection.GrassCoverSlipOffInwards;
+ return new FailureMechanismAssemblyCategoryGroupResultRow(grassCoverSlipOffInwards,
+ () => GrassCoverSlipOffInwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(grassCoverSlipOffInwards, true));
+ }
+
+ private FailureMechanismAssemblyCategoryGroupResultRow CreatePipingStructureFailureMechanismAssemblyResultRow()
+ {
+ PipingStructureFailureMechanism pipingStructure = AssessmentSection.PipingStructure;
+ return new FailureMechanismAssemblyCategoryGroupResultRow(pipingStructure,
+ () => PipingStructureFailureMechanismAssemblyFactory.AssembleFailureMechanism(pipingStructure, true));
+ }
+
+ private FailureMechanismAssemblyCategoryGroupResultRow CreateStrengthStabilityLengthWiseConstructionFailureMechanismAssemblyResultRow()
+ {
+ StrengthStabilityLengthwiseConstructionFailureMechanism strengthStabilityLengthwiseConstruction = AssessmentSection.StrengthStabilityLengthwiseConstruction;
+ return new FailureMechanismAssemblyCategoryGroupResultRow(strengthStabilityLengthwiseConstruction,
+ () => StrengthStabilityLengthwiseConstructionFailureMechanismAssemblyFactory.AssembleFailureMechanism(strengthStabilityLengthwiseConstruction, true));
+ }
+
+ private FailureMechanismAssemblyCategoryGroupResultRow CreateTechnicalInnovationFailureMechanismAssemblyResultRow()
+ {
+ TechnicalInnovationFailureMechanism technicalInnovation = AssessmentSection.TechnicalInnovation;
+ return new FailureMechanismAssemblyCategoryGroupResultRow(technicalInnovation,
+ () => TechnicalInnovationFailureMechanismAssemblyFactory.AssembleFailureMechanism(technicalInnovation, true));
+ }
+
+ #endregion
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultTotalView.resx
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultTotalView.resx (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultTotalView.resx (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssessmentSectionAssemblyCategoriesView.Designer.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssessmentSectionAssemblyCategoriesView.Designer.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssessmentSectionAssemblyCategoriesView.Designer.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,67 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ partial class AssessmentSectionAssemblyCategoriesView
+ {
+
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AssessmentSectionAssemblyCategoriesView));
+ this.assemblyCategoriesTable = new AssemblyCategoriesTable();
+ this.SuspendLayout();
+ //
+ // assessmentSectionAssemblyCategoriesTable
+ //
+ resources.ApplyResources(this.assemblyCategoriesTable, "assemblyCategoriesTable");
+ this.assemblyCategoriesTable.MultiSelect = true;
+ this.assemblyCategoriesTable.Name = "assemblyCategoriesTable";
+ this.assemblyCategoriesTable.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.RowHeaderSelect;
+ //
+ // FailureMechanismSectionsView
+ //
+ this.Controls.Add(this.assemblyCategoriesTable);
+ this.Name = "AssessmentSectionAssemblyCategoriesView";
+ resources.ApplyResources(this, "$this");
+ this.ResumeLayout(false);
+
+ }
+
+
+ #endregion
+
+ private AssemblyCategoriesTable assemblyCategoriesTable;
+ }
+}
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssessmentSectionAssemblyCategoriesView.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssessmentSectionAssemblyCategoriesView.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssessmentSectionAssemblyCategoriesView.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,99 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Drawing;
+using System.Linq;
+using System.Windows.Forms;
+using Core.Common.Base;
+using Core.Common.Controls.Views;
+using Ringtoets.Common.Data.AssemblyTool;
+using Ringtoets.Common.Data.Contribution;
+using Ringtoets.Common.Forms.Helpers;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ ///
+ /// View for a to show
+ /// a collection of .
+ ///
+ public partial class AssessmentSectionAssemblyCategoriesView : UserControl, IView
+ {
+ private readonly Observer failureMechanismContributionObserver;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The failure mechanism contribution belonging to the view.
+ /// Thrown when
+ /// is null.
+ public AssessmentSectionAssemblyCategoriesView(FailureMechanismContribution failureMechanismContribution)
+ {
+ if (failureMechanismContribution == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismContribution));
+ }
+
+ InitializeComponent();
+
+ failureMechanismContributionObserver = new Observer(UpdateTableData)
+ {
+ Observable = failureMechanismContribution
+ };
+
+ FailureMechanismContribution = failureMechanismContribution;
+
+ UpdateTableData();
+ }
+
+ ///
+ /// Gets the the view belongs to.
+ ///
+ public FailureMechanismContribution FailureMechanismContribution { get; }
+
+ public object Data { get; set; }
+
+ protected override void Dispose(bool disposing)
+ {
+ failureMechanismContributionObserver.Dispose();
+
+ if (disposing)
+ {
+ components?.Dispose();
+ }
+
+ base.Dispose(disposing);
+ }
+
+ private void UpdateTableData()
+ {
+ assemblyCategoriesTable.SetData(
+ AssemblyToolCategoriesFactory.CreateAssessmentSectionAssemblyCategories(
+ FailureMechanismContribution.SignalingNorm,
+ FailureMechanismContribution.LowerLimitNorm)
+ .Select(category => new Tuple(
+ category,
+ AssemblyCategoryGroupColorHelper.GetAssessmentSectionAssemblyCategoryGroupColor(category.Group),
+ category.Group)).ToArray());
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssessmentSectionAssemblyCategoriesView.resx
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssessmentSectionAssemblyCategoriesView.resx (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssessmentSectionAssemblyCategoriesView.resx (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ Fill
+
+
+
+ 0, 0
+
+
+ 750, 420
+
+
+
+ 0
+
+
+ assemblyCategoriesTable
+
+
+ Ringtoets.Integration.Forms.Views.AssessmentSectionAssemblyCategoriesTable, Ringtoets.Common.Forms, Version=18.1.1.1, Culture=neutral, PublicKeyToken=null
+
+
+ $this
+
+
+ 0
+
+
+ True
+
+
+ 750, 420
+
+
+ AssessmentSectionAssemblyCategoriesView
+
+
+ System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssessmentSectionView.Designer.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssessmentSectionView.Designer.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssessmentSectionView.Designer.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,64 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+namespace Riskeer.Integration.Forms.Views
+{
+ partial class AssessmentSectionView
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.ringtoetsMapControl = new Ringtoets.Common.Forms.Views.RingtoetsMapControl();
+ this.SuspendLayout();
+ //
+ // ringtoetsMapControl
+ //
+ this.ringtoetsMapControl.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.ringtoetsMapControl.Location = new System.Drawing.Point(0, 0);
+ this.ringtoetsMapControl.Name = "ringtoetsMapControl";
+ this.ringtoetsMapControl.Size = new System.Drawing.Size(150, 150);
+ this.ringtoetsMapControl.TabIndex = 0;
+ //
+ // AssessmentSectionView
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.ringtoetsMapControl);
+ this.Name = "AssessmentSectionView";
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private Ringtoets.Common.Forms.Views.RingtoetsMapControl ringtoetsMapControl;
+ }
+}
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssessmentSectionView.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssessmentSectionView.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssessmentSectionView.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,190 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Windows.Forms;
+using Core.Common.Base;
+using Core.Components.Gis.Data;
+using Core.Components.Gis.Forms;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.Common.Forms.Factories;
+using Ringtoets.Common.Forms.Helpers;
+using Riskeer.Integration.Forms.Properties;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ ///
+ /// This class is a view showing map data for an assessment section.
+ ///
+ public partial class AssessmentSectionView : UserControl, IMapView
+ {
+ private readonly IAssessmentSection assessmentSection;
+
+ private readonly MapLineData referenceLineMapData;
+ private readonly MapPointData hydraulicBoundaryLocationsMapData;
+
+ private Observer assessmentSectionObserver;
+ private Observer referenceLineObserver;
+ private Observer hydraulicBoundaryLocationsObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waterLevelCalculationsForFactorizedSignalingNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waterLevelCalculationsForSignalingNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waterLevelCalculationsForLowerLimitNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waterLevelCalculationsForFactorizedLowerLimitNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waveHeightCalculationsForFactorizedSignalingNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waveHeightCalculationsForSignalingNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waveHeightCalculationsForLowerLimitNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waveHeightCalculationsForFactorizedLowerLimitNormObserver;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The assessment section to show the data for.
+ /// Thrown when
+ /// is null.
+ public AssessmentSectionView(IAssessmentSection assessmentSection)
+ {
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ InitializeComponent();
+
+ this.assessmentSection = assessmentSection;
+
+ CreateObservers();
+
+ var mapDataCollection = new MapDataCollection(Resources.AssessmentSectionMap_DisplayName);
+ referenceLineMapData = RingtoetsMapDataFactory.CreateReferenceLineMapData();
+ hydraulicBoundaryLocationsMapData = RingtoetsMapDataFactory.CreateHydraulicBoundaryLocationsMapData();
+
+ mapDataCollection.Add(referenceLineMapData);
+ mapDataCollection.Add(hydraulicBoundaryLocationsMapData);
+
+ SetAllMapDataFeatures();
+ ringtoetsMapControl.SetAllData(mapDataCollection, assessmentSection.BackgroundData);
+ }
+
+ public object Data { get; set; }
+
+ public IMapControl Map
+ {
+ get
+ {
+ return ringtoetsMapControl.MapControl;
+ }
+ }
+
+ protected override void Dispose(bool disposing)
+ {
+ assessmentSectionObserver.Dispose();
+ referenceLineObserver.Dispose();
+ waterLevelCalculationsForFactorizedSignalingNormObserver.Dispose();
+ waterLevelCalculationsForSignalingNormObserver.Dispose();
+ waterLevelCalculationsForLowerLimitNormObserver.Dispose();
+ waterLevelCalculationsForFactorizedLowerLimitNormObserver.Dispose();
+ waveHeightCalculationsForFactorizedSignalingNormObserver.Dispose();
+ waveHeightCalculationsForSignalingNormObserver.Dispose();
+ waveHeightCalculationsForLowerLimitNormObserver.Dispose();
+ waveHeightCalculationsForFactorizedLowerLimitNormObserver.Dispose();
+ hydraulicBoundaryLocationsObserver.Dispose();
+
+ if (disposing)
+ {
+ components?.Dispose();
+ }
+
+ base.Dispose(disposing);
+ }
+
+ private void CreateObservers()
+ {
+ assessmentSectionObserver = new Observer(UpdateReferenceLineMapData)
+ {
+ Observable = assessmentSection
+ };
+
+ referenceLineObserver = new Observer(UpdateReferenceLineMapData)
+ {
+ Observable = assessmentSection.ReferenceLine
+ };
+
+ waterLevelCalculationsForFactorizedSignalingNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ assessmentSection.WaterLevelCalculationsForFactorizedSignalingNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waterLevelCalculationsForSignalingNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ assessmentSection.WaterLevelCalculationsForSignalingNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waterLevelCalculationsForLowerLimitNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ assessmentSection.WaterLevelCalculationsForLowerLimitNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waterLevelCalculationsForFactorizedLowerLimitNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ assessmentSection.WaterLevelCalculationsForFactorizedLowerLimitNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waveHeightCalculationsForFactorizedSignalingNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ assessmentSection.WaveHeightCalculationsForFactorizedSignalingNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waveHeightCalculationsForSignalingNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ assessmentSection.WaveHeightCalculationsForSignalingNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waveHeightCalculationsForLowerLimitNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ assessmentSection.WaveHeightCalculationsForLowerLimitNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waveHeightCalculationsForFactorizedLowerLimitNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ assessmentSection.WaveHeightCalculationsForFactorizedLowerLimitNorm, UpdateHydraulicBoundaryLocationsMapData);
+
+ hydraulicBoundaryLocationsObserver = new Observer(UpdateHydraulicBoundaryLocationsMapData)
+ {
+ Observable = assessmentSection.HydraulicBoundaryDatabase.Locations
+ };
+ }
+
+ private void SetAllMapDataFeatures()
+ {
+ SetReferenceLineMapData();
+ SetHydraulicBoundaryLocationsMapData();
+ }
+
+ #region ReferenceLine MapData
+
+ private void UpdateReferenceLineMapData()
+ {
+ SetReferenceLineMapData();
+ referenceLineMapData.NotifyObservers();
+ }
+
+ private void SetReferenceLineMapData()
+ {
+ referenceLineMapData.Features = RingtoetsMapDataFeaturesFactory.CreateReferenceLineFeatures(assessmentSection.ReferenceLine, assessmentSection.Id, assessmentSection.Name);
+ }
+
+ #endregion
+
+ #region HydraulicBoundaryLocations MapData
+
+ private void UpdateHydraulicBoundaryLocationsMapData()
+ {
+ SetHydraulicBoundaryLocationsMapData();
+ hydraulicBoundaryLocationsMapData.NotifyObservers();
+ }
+
+ private void SetHydraulicBoundaryLocationsMapData()
+ {
+ hydraulicBoundaryLocationsMapData.Features = RingtoetsMapDataFeaturesFactory.CreateHydraulicBoundaryLocationFeatures(assessmentSection);
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssessmentSectionView.resx
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssessmentSectionView.resx (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/AssessmentSectionView.resx (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/CombinedFailureMechanismSectionAssemblyResultRow.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/CombinedFailureMechanismSectionAssemblyResultRow.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/CombinedFailureMechanismSectionAssemblyResultRow.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,380 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using Core.Common.Base.Data;
+using Core.Common.Controls.DataGrid;
+using Ringtoets.Common.Forms.Helpers;
+using Riskeer.AssemblyTool.Data;
+using Riskeer.Integration.Data.Assembly;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ ///
+ /// This class represents a row displaying the properties of the .
+ ///
+ public class CombinedFailureMechanismSectionAssemblyResultRow : IHasColumnStateDefinitions
+ {
+ private const int totalResultIndex = 3;
+ private const int pipingIndex = 4;
+ private const int grassCoverErosionInwardsIndex = 5;
+ private const int macroStabilityInwardsIndex = 6;
+ private const int macroStabilityOutwardsIndex = 7;
+ private const int microstabililityIndex = 8;
+ private const int stabilityStoneCoverIndex = 9;
+ private const int waveImpactAsphaltCoverIndex = 10;
+ private const int waterPressureAsphaltCoverIndex = 11;
+ private const int grassCoverErosionOutwardsIndex = 12;
+ private const int grassCoverSlipOffOutwardsIndex = 13;
+ private const int grassCoverSlipOffInwardsIndex = 14;
+ private const int heightStructuresIndex = 15;
+ private const int closingStructuresIndex = 16;
+ private const int pipingStructureIndex = 17;
+ private const int stabilityPointStructuresIndex = 18;
+ private const int strengthStabilityLengthwiseConstructionIndex = 19;
+ private const int duneErosionIndex = 20;
+ private const int technicalInnovationIndex = 21;
+
+ private readonly CombinedFailureMechanismSectionAssemblyResult combinedFailureMechanismSectionAssemblyResult;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The
+ /// to wrap so that it can be displayed as a row.
+ /// Thrown when
+ /// is null.
+ public CombinedFailureMechanismSectionAssemblyResultRow(
+ CombinedFailureMechanismSectionAssemblyResult combinedFailureMechanismSectionAssemblyResult)
+ {
+ if (combinedFailureMechanismSectionAssemblyResult == null)
+ {
+ throw new ArgumentNullException(nameof(combinedFailureMechanismSectionAssemblyResult));
+ }
+
+ this.combinedFailureMechanismSectionAssemblyResult = combinedFailureMechanismSectionAssemblyResult;
+
+ ColumnStateDefinitions = new Dictionary();
+ CreateColumnStateDefinitions();
+ SetColumnStateDefinitionColors();
+ }
+
+ ///
+ /// Gets the number of the section.
+ ///
+ public int SectionNumber
+ {
+ get
+ {
+ return combinedFailureMechanismSectionAssemblyResult.SectionNumber;
+ }
+ }
+
+ ///
+ /// Gets the start of the section from the beginning of the reference line.
+ /// [m]
+ ///
+ public RoundedDouble SectionStart
+ {
+ get
+ {
+ return new RoundedDouble(2, combinedFailureMechanismSectionAssemblyResult.SectionStart);
+ }
+ }
+
+ ///
+ /// Gets the end of the section from the beginning of the reference line.
+ /// [m]
+ ///
+ public RoundedDouble SectionEnd
+ {
+ get
+ {
+ return new RoundedDouble(2, combinedFailureMechanismSectionAssemblyResult.SectionEnd);
+ }
+ }
+
+ ///
+ /// Gets the total assembly result.
+ ///
+ public string TotalResult
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.TotalResult);
+ }
+ }
+
+ ///
+ /// Gets the assembly result for piping.
+ ///
+ public string Piping
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.Piping);
+ }
+ }
+
+ ///
+ /// Gets the assembly result for grass cover erosion inwards.
+ ///
+ public string GrassCoverErosionInwards
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.GrassCoverErosionInwards);
+ }
+ }
+
+ ///
+ /// Gets the assembly result for macro stability inwards.
+ ///
+ public string MacroStabilityInwards
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.MacroStabilityInwards);
+ }
+ }
+
+ ///
+ /// Gets the assembly result for macro stability outwards.
+ ///
+ public string MacroStabilityOutwards
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.MacroStabilityOutwards);
+ }
+ }
+
+ ///
+ /// Gets the assembly result for microstability.
+ ///
+ public string Microstability
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.Microstability);
+ }
+ }
+
+ ///
+ /// Gets the assembly result for stability stone cover.
+ ///
+ public string StabilityStoneCover
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.StabilityStoneCover);
+ }
+ }
+
+ ///
+ /// Gets the assembly result for wave impact asphalt cover.
+ ///
+ public string WaveImpactAsphaltCover
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.WaveImpactAsphaltCover);
+ }
+ }
+
+ ///
+ /// Gets the assembly result for water pressure asphalt cover.
+ ///
+ public string WaterPressureAsphaltCover
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.WaterPressureAsphaltCover);
+ }
+ }
+
+ ///
+ /// Gets the assembly result for grass cover erosion outwards.
+ ///
+ public string GrassCoverErosionOutwards
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.GrassCoverErosionOutwards);
+ }
+ }
+
+ ///
+ /// Gets the assembly result for grass cover slip off outwards.
+ ///
+ public string GrassCoverSlipOffOutwards
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.GrassCoverSlipOffOutwards);
+ }
+ }
+
+ ///
+ /// Gets the assembly result for grass cover slip off inwards.
+ ///
+ public string GrassCoverSlipOffInwards
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.GrassCoverSlipOffInwards);
+ }
+ }
+
+ ///
+ /// Gets the assembly result for height structures.
+ ///
+ public string HeightStructures
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.HeightStructures);
+ }
+ }
+
+ ///
+ /// Gets the assembly result for closing structures.
+ ///
+ public string ClosingStructures
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.ClosingStructures);
+ }
+ }
+
+ ///
+ /// Gets the assembly result for piping structure.
+ ///
+ public string PipingStructure
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.PipingStructure);
+ }
+ }
+
+ ///
+ /// Gets the assembly result for stability point structures.
+ ///
+ public string StabilityPointStructures
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.StabilityPointStructures);
+ }
+ }
+
+ ///
+ /// Gets the assembly result for strength stability lengthwise construction.
+ ///
+ public string StrengthStabilityLengthwiseConstruction
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.StrengthStabilityLengthwiseConstruction);
+ }
+ }
+
+ ///
+ /// Gets the assembly result for dune erosion.
+ ///
+ public string DuneErosion
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.DuneErosion);
+ }
+ }
+
+ ///
+ /// Gets the assembly result for technical innovation.
+ ///
+ public string TechnicalInnovation
+ {
+ get
+ {
+ return FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(combinedFailureMechanismSectionAssemblyResult.TechnicalInnovation);
+ }
+ }
+
+ public IDictionary ColumnStateDefinitions { get; }
+
+ private void CreateColumnStateDefinitions()
+ {
+ ColumnStateDefinitions.Add(totalResultIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ ColumnStateDefinitions.Add(pipingIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ ColumnStateDefinitions.Add(grassCoverErosionInwardsIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ ColumnStateDefinitions.Add(macroStabilityInwardsIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ ColumnStateDefinitions.Add(macroStabilityOutwardsIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ ColumnStateDefinitions.Add(microstabililityIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ ColumnStateDefinitions.Add(stabilityStoneCoverIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ ColumnStateDefinitions.Add(waveImpactAsphaltCoverIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ ColumnStateDefinitions.Add(waterPressureAsphaltCoverIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ ColumnStateDefinitions.Add(grassCoverErosionOutwardsIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ ColumnStateDefinitions.Add(grassCoverSlipOffOutwardsIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ ColumnStateDefinitions.Add(grassCoverSlipOffInwardsIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ ColumnStateDefinitions.Add(heightStructuresIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ ColumnStateDefinitions.Add(closingStructuresIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ ColumnStateDefinitions.Add(pipingStructureIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ ColumnStateDefinitions.Add(stabilityPointStructuresIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ ColumnStateDefinitions.Add(strengthStabilityLengthwiseConstructionIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ ColumnStateDefinitions.Add(duneErosionIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ ColumnStateDefinitions.Add(technicalInnovationIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ }
+
+ private void SetColumnStateDefinitionColors()
+ {
+ ColumnStateDefinitions[totalResultIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.TotalResult);
+ ColumnStateDefinitions[pipingIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.Piping);
+ ColumnStateDefinitions[grassCoverErosionInwardsIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.GrassCoverErosionInwards);
+ ColumnStateDefinitions[macroStabilityInwardsIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.MacroStabilityInwards);
+ ColumnStateDefinitions[macroStabilityOutwardsIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.MacroStabilityOutwards);
+ ColumnStateDefinitions[microstabililityIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.Microstability);
+ ColumnStateDefinitions[stabilityStoneCoverIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.StabilityStoneCover);
+ ColumnStateDefinitions[waveImpactAsphaltCoverIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.WaveImpactAsphaltCover);
+ ColumnStateDefinitions[waterPressureAsphaltCoverIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.WaterPressureAsphaltCover);
+ ColumnStateDefinitions[grassCoverErosionOutwardsIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.GrassCoverErosionOutwards);
+ ColumnStateDefinitions[grassCoverSlipOffOutwardsIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.GrassCoverSlipOffOutwards);
+ ColumnStateDefinitions[grassCoverSlipOffInwardsIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.GrassCoverSlipOffInwards);
+ ColumnStateDefinitions[heightStructuresIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.HeightStructures);
+ ColumnStateDefinitions[closingStructuresIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.ClosingStructures);
+ ColumnStateDefinitions[pipingStructureIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.PipingStructure);
+ ColumnStateDefinitions[stabilityPointStructuresIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.StabilityPointStructures);
+ ColumnStateDefinitions[strengthStabilityLengthwiseConstructionIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.StrengthStabilityLengthwiseConstruction);
+ ColumnStateDefinitions[duneErosionIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.DuneErosion);
+ ColumnStateDefinitions[technicalInnovationIndex].Style = CreateCellStyle(combinedFailureMechanismSectionAssemblyResult.TechnicalInnovation);
+ }
+
+ private static CellStyle CreateCellStyle(FailureMechanismSectionAssemblyCategoryGroup assemblyCategoryGroup)
+ {
+ return new CellStyle(Color.FromKnownColor(KnownColor.ControlText),
+ AssemblyCategoryGroupColorHelper.GetFailureMechanismSectionAssemblyCategoryGroupColor(assemblyCategoryGroup));
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyCategoriesView.Designer.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyCategoriesView.Designer.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyCategoriesView.Designer.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,119 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ partial class FailureMechanismAssemblyCategoriesView
+ {
+
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.failureMechanismSectionAssemblyCategoriesTable = new AssemblyCategoriesTable();
+ this.failureMechanismAssemblyCategoriesTable = new AssemblyCategoriesTable();
+ this.failureMechanismAssemblyGroupBox = new System.Windows.Forms.GroupBox();
+ this.failureMechanismSectionAssemblyGroupBox = new System.Windows.Forms.GroupBox();
+ this.tableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
+ this.failureMechanismAssemblyGroupBox.SuspendLayout();
+ this.failureMechanismSectionAssemblyGroupBox.SuspendLayout();
+ this.tableLayoutPanel.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // failureMechanismSectionAssemblyCategoriesTable
+ //
+ this.failureMechanismSectionAssemblyCategoriesTable.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.failureMechanismSectionAssemblyCategoriesTable.MultiSelect = true;
+ this.failureMechanismSectionAssemblyCategoriesTable.Name = "failureMechanismSectionAssemblyCategoriesTable";
+ this.failureMechanismSectionAssemblyCategoriesTable.Padding = new System.Windows.Forms.Padding(5);
+ this.failureMechanismSectionAssemblyCategoriesTable.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.RowHeaderSelect;
+ //
+ // failureMechanismAssemblyCategoriesTable
+ //
+ this.failureMechanismAssemblyCategoriesTable.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.failureMechanismAssemblyCategoriesTable.MultiSelect = true;
+ this.failureMechanismAssemblyCategoriesTable.Name = "failureMechanismAssemblyCategoriesTable";
+ this.failureMechanismAssemblyCategoriesTable.Padding = new System.Windows.Forms.Padding(5);
+ this.failureMechanismAssemblyCategoriesTable.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.RowHeaderSelect;
+ //
+ // failureMechanismAssemblyGroupBox
+ //
+ this.failureMechanismAssemblyGroupBox.Controls.Add(this.failureMechanismAssemblyCategoriesTable);
+ this.failureMechanismAssemblyGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.failureMechanismAssemblyGroupBox.Name = "failureMechanismAssemblyGroupBox";
+ this.failureMechanismAssemblyGroupBox.Text = global::Riskeer.Integration.Forms.Properties.Resources.FailureMechanismAssemblyCategories_DisplayName;
+ //
+ // failureMechanismSectionAssemblyGroupBox
+ //
+ this.failureMechanismSectionAssemblyGroupBox.Controls.Add(this.failureMechanismSectionAssemblyCategoriesTable);
+ this.failureMechanismSectionAssemblyGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.failureMechanismSectionAssemblyGroupBox.Name = "failureMechanismSectionAssemblyGroupBox";
+ this.failureMechanismSectionAssemblyGroupBox.Text = global::Riskeer.Integration.Forms.Properties.Resources.FailureMechanismSectionAssemblyCategories_DisplayName;
+ //
+ // tableLayoutPanel
+ //
+ this.tableLayoutPanel.ColumnCount = 2;
+ this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
+ this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
+ this.tableLayoutPanel.Controls.Add(this.failureMechanismSectionAssemblyGroupBox, 1, 0);
+ this.tableLayoutPanel.Controls.Add(this.failureMechanismAssemblyGroupBox, 0, 0);
+ this.tableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.tableLayoutPanel.Location = new System.Drawing.Point(0, 0);
+ this.tableLayoutPanel.Name = "tableLayoutPanel";
+ this.tableLayoutPanel.RowCount = 1;
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
+ this.tableLayoutPanel.Size = new System.Drawing.Size(750, 420);
+ this.tableLayoutPanel.TabIndex = 2;
+ //
+ // FailureMechanismAssemblyCategoriesView
+ //
+ this.Controls.Add(this.tableLayoutPanel);
+ this.Name = "FailureMechanismAssemblyCategoriesView";
+ this.Size = new System.Drawing.Size(750, 420);
+ this.AutoScrollMinSize = new System.Drawing.Size(400, 100);
+ this.failureMechanismAssemblyGroupBox.ResumeLayout(false);
+ this.failureMechanismSectionAssemblyGroupBox.ResumeLayout(false);
+ this.tableLayoutPanel.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+
+ #endregion
+
+ private AssemblyCategoriesTable failureMechanismSectionAssemblyCategoriesTable;
+ private AssemblyCategoriesTable failureMechanismAssemblyCategoriesTable;
+ private System.Windows.Forms.TableLayoutPanel tableLayoutPanel;
+ private System.Windows.Forms.GroupBox failureMechanismAssemblyGroupBox;
+ private System.Windows.Forms.GroupBox failureMechanismSectionAssemblyGroupBox;
+ }
+}
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyCategoriesView.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyCategoriesView.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyCategoriesView.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,125 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using Core.Common.Base;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Common.Forms.Helpers;
+using Ringtoets.Common.Forms.Views;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ ///
+ /// View for an to show
+ /// its assembly categories.
+ ///
+ public partial class FailureMechanismAssemblyCategoriesView : CloseForFailureMechanismView
+ {
+ private readonly Func> getFailureMechanismAssemblyCategoriesFunc;
+ private readonly Func> getFailureMechanismSectionAssemblyCategoriesFunc;
+ private readonly Observer failureMechanismObserver;
+ private readonly Observer assessmentSectionObserver;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The failure mechanism belonging to the view.
+ /// The assessment section belonging to the view.
+ /// The function to get a collection
+ /// of .
+ /// The function to get a collection
+ /// of .
+ /// Thrown when any parameter is null.
+ public FailureMechanismAssemblyCategoriesView(IFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection,
+ Func> getFailureMechanismAssemblyCategoriesFunc,
+ Func> getFailureMechanismSectionAssemblyCategoriesFunc)
+ : base(failureMechanism)
+ {
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ if (getFailureMechanismAssemblyCategoriesFunc == null)
+ {
+ throw new ArgumentNullException(nameof(getFailureMechanismAssemblyCategoriesFunc));
+ }
+
+ if (getFailureMechanismSectionAssemblyCategoriesFunc == null)
+ {
+ throw new ArgumentNullException(nameof(getFailureMechanismSectionAssemblyCategoriesFunc));
+ }
+
+ this.getFailureMechanismAssemblyCategoriesFunc = getFailureMechanismAssemblyCategoriesFunc;
+ this.getFailureMechanismSectionAssemblyCategoriesFunc = getFailureMechanismSectionAssemblyCategoriesFunc;
+
+ InitializeComponent();
+
+ failureMechanismObserver = new Observer(UpdateTableData)
+ {
+ Observable = failureMechanism
+ };
+
+ assessmentSectionObserver = new Observer(UpdateTableData)
+ {
+ Observable = assessmentSection
+ };
+
+ UpdateTableData();
+ }
+
+ protected override void Dispose(bool disposing)
+ {
+ failureMechanismObserver.Dispose();
+ assessmentSectionObserver.Dispose();
+
+ if (disposing)
+ {
+ components?.Dispose();
+ }
+
+ base.Dispose(disposing);
+ }
+
+ private void UpdateTableData()
+ {
+ failureMechanismAssemblyCategoriesTable.SetData(
+ getFailureMechanismAssemblyCategoriesFunc().Select(
+ category => new Tuple(
+ category,
+ AssemblyCategoryGroupColorHelper.GetFailureMechanismAssemblyCategoryGroupColor(category.Group),
+ category.Group)).ToArray());
+
+ failureMechanismSectionAssemblyCategoriesTable.SetData(
+ getFailureMechanismSectionAssemblyCategoriesFunc().Select(
+ category => new Tuple(
+ category,
+ AssemblyCategoryGroupColorHelper.GetFailureMechanismSectionAssemblyCategoryGroupColor(category.Group),
+ category.Group)).ToArray());
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyCategoriesView.resx
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyCategoriesView.resx (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyCategoriesView.resx (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyCategoryGroupResultRow.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyCategoryGroupResultRow.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyCategoryGroupResultRow.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,72 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.Exceptions;
+using Ringtoets.Common.Data.FailureMechanism;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ ///
+ /// This class represents a row displaying the properties of a
+ /// and its .
+ ///
+ internal class FailureMechanismAssemblyCategoryGroupResultRow : FailureMechanismAssemblyResultRowBase
+ {
+ private readonly Func getFailureMechanismAssemblyCategoryGroup;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The to wrap so that it can be displayed as a row.
+ /// Gets the
+ /// of the failure mechanism.
+ /// Thrown when any parameter is null.
+ public FailureMechanismAssemblyCategoryGroupResultRow(IFailureMechanism failureMechanism,
+ Func getFailureMechanismAssemblyCategoryGroup)
+ : base(failureMechanism)
+ {
+ if (getFailureMechanismAssemblyCategoryGroup == null)
+ {
+ throw new ArgumentNullException(nameof(getFailureMechanismAssemblyCategoryGroup));
+ }
+
+ this.getFailureMechanismAssemblyCategoryGroup = getFailureMechanismAssemblyCategoryGroup;
+ Probability = double.NaN;
+
+ Update();
+ }
+
+ protected override void TryGetDerivedData()
+ {
+ try
+ {
+ CategoryGroup = getFailureMechanismAssemblyCategoryGroup();
+ }
+ catch (AssemblyException e)
+ {
+ CategoryGroup = FailureMechanismAssemblyCategoryGroup.None;
+ GetCategoryGroupColumnStateDefinition().ErrorText = e.Message;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyResultRow.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyResultRow.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyResultRow.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,74 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.Exceptions;
+using Ringtoets.Common.Data.FailureMechanism;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ ///
+ /// This class represents a row displaying the properties of a
+ /// and its .
+ ///
+ internal class FailureMechanismAssemblyResultRow : FailureMechanismAssemblyResultRowBase
+ {
+ private readonly Func getFailureMechanismAssembly;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The to wrap so that it can be displayed as a row.
+ /// Gets the
+ /// of the failure mechanism.
+ /// Thrown when any parameter is null.
+ public FailureMechanismAssemblyResultRow(IFailureMechanism failureMechanism,
+ Func getFailureMechanismAssembly)
+ : base(failureMechanism)
+ {
+ if (getFailureMechanismAssembly == null)
+ {
+ throw new ArgumentNullException(nameof(getFailureMechanismAssembly));
+ }
+
+ this.getFailureMechanismAssembly = getFailureMechanismAssembly;
+
+ Update();
+ }
+
+ protected override void TryGetDerivedData()
+ {
+ try
+ {
+ FailureMechanismAssembly failureMechanismAssembly = getFailureMechanismAssembly();
+ CategoryGroup = failureMechanismAssembly.Group;
+ Probability = failureMechanismAssembly.Probability;
+ }
+ catch (AssemblyException e)
+ {
+ CategoryGroup = FailureMechanismAssemblyCategoryGroup.None;
+ Probability = double.NaN;
+ GetCategoryGroupColumnStateDefinition().ErrorText = e.Message;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyResultRowBase.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyResultRowBase.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyResultRowBase.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,147 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using Core.Common.Controls.DataGrid;
+using Core.Common.Util;
+using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Common.Forms.Helpers;
+using Ringtoets.Common.Forms.TypeConverters;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ ///
+ /// This class represents a row displaying the properties of a
+ /// and its assembly result.
+ ///
+ internal abstract class FailureMechanismAssemblyResultRowBase : IHasColumnStateDefinitions
+ {
+ private const int categoryIndex = 3;
+ private readonly IFailureMechanism failureMechanism;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The to wrap so that it can be displayed as a row.
+ /// Thrown when any parameters is null.
+ protected FailureMechanismAssemblyResultRowBase(IFailureMechanism failureMechanism)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ this.failureMechanism = failureMechanism;
+
+ ColumnStateDefinitions = new Dictionary();
+ CreateColumnStateDefinitions();
+ }
+
+ ///
+ /// Gets the name of the failure mechanism.
+ ///
+ public string Name
+ {
+ get
+ {
+ return failureMechanism.Name;
+ }
+ }
+
+ ///
+ /// Gets the code of the failure mechanism.
+ ///
+ public string Code
+ {
+ get
+ {
+ return failureMechanism.Code;
+ }
+ }
+
+ ///
+ /// Gets the group of the failure mechanism.
+ ///
+ public int Group
+ {
+ get
+ {
+ return failureMechanism.Group;
+ }
+ }
+
+ ///
+ /// Gets the group of the failure mechanism assembly.
+ ///
+ [TypeConverter(typeof(EnumTypeConverter))]
+ public FailureMechanismAssemblyCategoryGroup CategoryGroup { get; protected set; }
+
+ ///
+ /// Gets the probability of the failure mechanism assembly.
+ ///
+ [TypeConverter(typeof(NoProbabilityValueDoubleConverter))]
+ public double Probability { get; protected set; }
+
+ public IDictionary ColumnStateDefinitions { get; }
+
+ ///
+ /// Updates all data and states in the row.
+ ///
+ public void Update()
+ {
+ ResetErrorTexts();
+ TryGetDerivedData();
+
+ SetCategoryGroupColumnStateDefinition();
+ }
+
+ ///
+ /// Gets the derived data for the failure mechanism.
+ ///
+ protected abstract void TryGetDerivedData();
+
+ protected DataGridViewColumnStateDefinition GetCategoryGroupColumnStateDefinition()
+ {
+ return ColumnStateDefinitions[categoryIndex];
+ }
+
+ private void SetCategoryGroupColumnStateDefinition()
+ {
+ GetCategoryGroupColumnStateDefinition().Style =
+ new CellStyle(Color.FromKnownColor(KnownColor.ControlText),
+ AssemblyCategoryGroupColorHelper.GetFailureMechanismAssemblyCategoryGroupColor(CategoryGroup));
+ }
+
+ private void CreateColumnStateDefinitions()
+ {
+ ColumnStateDefinitions.Add(categoryIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition());
+ }
+
+ private void ResetErrorTexts()
+ {
+ ColumnStateDefinitions[categoryIndex].ErrorText = string.Empty;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismContributionItemRow.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismContributionItemRow.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismContributionItemRow.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,251 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Controls.DataGrid;
+using Core.Common.Controls.Views;
+using Core.Common.Gui.Commands;
+using Ringtoets.Common.Data.Contribution;
+using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Common.Forms.Helpers;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ ///
+ /// This class represents a row of .
+ ///
+ internal class FailureMechanismContributionItemRow : IHasColumnStateDefinitions
+ {
+ private readonly IViewCommands viewCommands;
+ private readonly IFailureMechanism failureMechanism;
+ private readonly FailureMechanismContribution failureMechanismContribution;
+
+ private readonly int isRelevantColumnIndex;
+ private readonly int nameColumnIndex;
+ private readonly int codeColumnIndex;
+ private readonly int contributionColumnIndex;
+ private readonly int probabilitySpaceColumnIndex;
+
+ ///
+ /// Fired when the row has started updating.
+ ///
+ public EventHandler RowUpdated;
+
+ ///
+ /// Fired when the row has finished updating.
+ ///
+ public EventHandler RowUpdateDone;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The failure mechanism this row contains.
+ /// The failure mechanism contribution to get the norm from.
+ /// Class responsible for exposing high level
+ /// related commands.
+ /// The property values required to create an instance of
+ /// .
+ /// Thrown when any parameter is null.
+ internal FailureMechanismContributionItemRow(IFailureMechanism failureMechanism, FailureMechanismContribution failureMechanismContribution,
+ IViewCommands viewCommands, ConstructionProperties constructionProperties)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ if (failureMechanismContribution == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismContribution));
+ }
+
+ if (viewCommands == null)
+ {
+ throw new ArgumentNullException(nameof(viewCommands));
+ }
+
+ if (constructionProperties == null)
+ {
+ throw new ArgumentNullException(nameof(constructionProperties));
+ }
+
+ this.failureMechanism = failureMechanism;
+ this.failureMechanismContribution = failureMechanismContribution;
+ this.viewCommands = viewCommands;
+
+ isRelevantColumnIndex = constructionProperties.IsRelevantColumnIndex;
+ nameColumnIndex = constructionProperties.NameColumnIndex;
+ codeColumnIndex = constructionProperties.CodeColumnIndex;
+ contributionColumnIndex = constructionProperties.ContributionColumnIndex;
+ probabilitySpaceColumnIndex = constructionProperties.ProbabilitySpaceColumnIndex;
+
+ CreateColumnStateDefinitions();
+
+ Update();
+ }
+
+ ///
+ /// Gets the name of the failure mechanism.
+ ///
+ public string Name
+ {
+ get
+ {
+ return failureMechanism.Name;
+ }
+ }
+
+ ///
+ /// Gets the code of the failure mechanism.
+ ///
+ public string Code
+ {
+ get
+ {
+ return failureMechanism.Code;
+ }
+ }
+
+ ///
+ /// Gets the contribution of the failure mechanism.
+ ///
+ public double Contribution
+ {
+ get
+ {
+ return failureMechanism.Contribution;
+ }
+ }
+
+ ///
+ /// Gets the probability space of the failure mechanism.
+ ///
+ public double ProbabilitySpace
+ {
+ get
+ {
+ return 100 / (failureMechanismContribution.Norm * failureMechanism.Contribution);
+ }
+ }
+
+ ///
+ /// Gets or sets whether the failure mechanism is relevant.
+ ///
+ public bool IsRelevant
+ {
+ get
+ {
+ return failureMechanism.IsRelevant;
+ }
+ set
+ {
+ if (!value)
+ {
+ viewCommands.RemoveAllViewsForItem(failureMechanism);
+ }
+
+ failureMechanism.IsRelevant = value;
+
+ Update();
+
+ RowUpdated?.Invoke(this, EventArgs.Empty);
+ failureMechanism.NotifyObservers();
+ RowUpdateDone?.Invoke(this, EventArgs.Empty);
+ }
+ }
+
+ public IDictionary ColumnStateDefinitions { get; private set; }
+
+ public void Update()
+ {
+ if (!IsRelevant)
+ {
+ FailureMechanismSectionResultRowHelper.DisableColumn(ColumnStateDefinitions[nameColumnIndex]);
+ FailureMechanismSectionResultRowHelper.DisableColumn(ColumnStateDefinitions[codeColumnIndex]);
+ FailureMechanismSectionResultRowHelper.DisableColumn(ColumnStateDefinitions[contributionColumnIndex]);
+ FailureMechanismSectionResultRowHelper.DisableColumn(ColumnStateDefinitions[probabilitySpaceColumnIndex]);
+ }
+ else
+ {
+ FailureMechanismSectionResultRowHelper.EnableColumn(ColumnStateDefinitions[nameColumnIndex], true);
+ FailureMechanismSectionResultRowHelper.EnableColumn(ColumnStateDefinitions[codeColumnIndex], true);
+ FailureMechanismSectionResultRowHelper.EnableColumn(ColumnStateDefinitions[contributionColumnIndex], true);
+ FailureMechanismSectionResultRowHelper.EnableColumn(ColumnStateDefinitions[probabilitySpaceColumnIndex], true);
+ }
+ }
+
+ private void CreateColumnStateDefinitions()
+ {
+ ColumnStateDefinitions = new Dictionary
+ {
+ {
+ isRelevantColumnIndex, failureMechanism is OtherFailureMechanism
+ ? DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition()
+ : new DataGridViewColumnStateDefinition()
+ },
+ {
+ nameColumnIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition()
+ },
+ {
+ codeColumnIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition()
+ },
+ {
+ contributionColumnIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition()
+ },
+ {
+ probabilitySpaceColumnIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition()
+ }
+ };
+ }
+
+ ///
+ /// Class holding the various construction parameters for .
+ ///
+ internal class ConstructionProperties
+ {
+ ///
+ /// Gets or sets the relevant column index.
+ ///
+ public int IsRelevantColumnIndex { internal get; set; }
+
+ ///
+ /// Gets or sets the name column index.
+ ///
+ public int NameColumnIndex { internal get; set; }
+
+ ///
+ /// Gets or sets the code column index.
+ ///
+ public int CodeColumnIndex { internal get; set; }
+
+ ///
+ /// Gets or sets the contribution column index.
+ ///
+ public int ContributionColumnIndex { internal get; set; }
+
+ ///
+ /// Gets or sets the probability space column index.
+ ///
+ public int ProbabilitySpaceColumnIndex { internal get; set; }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismContributionView.Designer.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismContributionView.Designer.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismContributionView.Designer.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,95 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Windows.Forms;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ partial class FailureMechanismContributionView
+ {
+
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FailureMechanismContributionView));
+ this.groupBoxAssessmentSectionDetails = new System.Windows.Forms.GroupBox();
+ this.returnPeriodLabel = new System.Windows.Forms.Label();
+ this.assessmentSectionCompositionLabel = new System.Windows.Forms.Label();
+ this.probabilityDistributionGrid = new Core.Common.Controls.DataGrid.DataGridViewControl();
+ this.groupBoxAssessmentSectionDetails.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // groupBoxAssessmentSectionDetails
+ //
+ this.groupBoxAssessmentSectionDetails.Controls.Add(this.returnPeriodLabel);
+ this.groupBoxAssessmentSectionDetails.Controls.Add(this.assessmentSectionCompositionLabel);
+ resources.ApplyResources(this.groupBoxAssessmentSectionDetails, "groupBoxAssessmentSectionDetails");
+ this.groupBoxAssessmentSectionDetails.Name = "groupBoxAssessmentSectionDetails";
+ this.groupBoxAssessmentSectionDetails.TabStop = false;
+ //
+ // returnPeriodLabel
+ //
+ resources.ApplyResources(this.returnPeriodLabel, "returnPeriodLabel");
+ this.returnPeriodLabel.Name = "returnPeriodLabel";
+ //
+ // assessmentSectionCompositionLabel
+ //
+ resources.ApplyResources(this.assessmentSectionCompositionLabel, "assessmentSectionCompositionLabel");
+ this.assessmentSectionCompositionLabel.Name = "assessmentSectionCompositionLabel";
+ //
+ // probabilityDistributionGrid
+ //
+ resources.ApplyResources(this.probabilityDistributionGrid, "probabilityDistributionGrid");
+ this.probabilityDistributionGrid.MultiSelect = true;
+ this.probabilityDistributionGrid.Name = "probabilityDistributionGrid";
+ this.probabilityDistributionGrid.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.RowHeaderSelect;
+ //
+ // FailureMechanismContributionView
+ //
+ this.Controls.Add(this.probabilityDistributionGrid);
+ this.Controls.Add(this.groupBoxAssessmentSectionDetails);
+ this.Name = "FailureMechanismContributionView";
+ resources.ApplyResources(this, "$this");
+ this.groupBoxAssessmentSectionDetails.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private GroupBox groupBoxAssessmentSectionDetails;
+ private Label returnPeriodLabel;
+ private Label assessmentSectionCompositionLabel;
+ private Core.Common.Controls.DataGrid.DataGridViewControl probabilityDistributionGrid;
+
+
+ }
+}
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismContributionView.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismContributionView.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismContributionView.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,291 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows.Forms;
+using Core.Common.Base;
+using Core.Common.Controls.DataGrid;
+using Core.Common.Controls.Views;
+using Core.Common.Gui.Commands;
+using Core.Common.Util;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.FailureMechanism;
+using Riskeer.Integration.Forms.Properties;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ ///
+ /// View for the .
+ ///
+ public partial class FailureMechanismContributionView : UserControl, IView
+ {
+ private const int isRelevantColumnIndex = 0;
+ private const int nameColumnIndex = 1;
+ private const int codeColumnIndex = 2;
+ private const int contributionColumnIndex = 3;
+ private const int probabilitySpaceColumnIndex = 4;
+
+ ///
+ /// Actually only interested in the following changes:
+ ///
+ ///
+ ///
+ ///
+ ///
+ private readonly List failureMechanismObservers;
+
+ private readonly Observer failureMechanismContributionObserver;
+ private readonly Observer assessmentSectionObserver;
+
+ private readonly IViewCommands viewCommands;
+
+ private bool rowUpdating;
+ private FailureMechanismContributionItemRow[] failureMechanismContributionItemRows;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The assessment section to get the data from.
+ /// Objects exposing high level related commands.
+ /// Thrown when any parameter is null.
+ public FailureMechanismContributionView(IAssessmentSection assessmentSection,
+ IViewCommands viewCommands)
+ {
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ if (viewCommands == null)
+ {
+ throw new ArgumentNullException(nameof(viewCommands));
+ }
+
+ InitializeComponent();
+
+ this.viewCommands = viewCommands;
+
+ failureMechanismObservers = new List();
+ failureMechanismContributionObserver = new Observer(() =>
+ {
+ probabilityDistributionGrid.RefreshDataGridView();
+ SetReturnPeriodText();
+ })
+ {
+ Observable = assessmentSection.FailureMechanismContribution
+ };
+ assessmentSectionObserver = new Observer(() =>
+ {
+ DetachFromFailureMechanisms();
+ UpdateView();
+ AttachToFailureMechanisms();
+ })
+ {
+ Observable = assessmentSection
+ };
+
+ AssessmentSection = assessmentSection;
+ AttachToFailureMechanisms();
+ }
+
+ ///
+ /// Gets the assessment section this view belongs to.
+ ///
+ public IAssessmentSection AssessmentSection { get; }
+
+ public object Data { get; set; }
+
+ protected override void OnLoad(EventArgs e)
+ {
+ base.OnLoad(e);
+ InitializeGridColumns();
+
+ probabilityDistributionGrid.CellFormatting += HandleCellStyling;
+ probabilityDistributionGrid.CellFormatting += ProbabilityDistributionGridOnCellFormatting;
+
+ UpdateView();
+ }
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing)
+ {
+ components?.Dispose();
+ DetachFromFailureMechanisms();
+ failureMechanismContributionObserver.Dispose();
+ assessmentSectionObserver.Dispose();
+
+ RemoveRowEvents();
+ }
+
+ base.Dispose(disposing);
+ }
+
+ private void UpdateView()
+ {
+ SetAssessmentSectionComposition();
+ SetReturnPeriodText();
+ SetGridDataSource();
+ }
+
+ private Observer CreateFailureMechanismObserver(IFailureMechanism failureMechanism)
+ {
+ return new Observer(() =>
+ {
+ if (rowUpdating)
+ {
+ return;
+ }
+
+ failureMechanismContributionItemRows.ForEachElementDo(row => row.Update());
+ probabilityDistributionGrid.RefreshDataGridView();
+ })
+ {
+ Observable = failureMechanism
+ };
+ }
+
+ private void DetachFromFailureMechanisms()
+ {
+ failureMechanismObservers.ForEachElementDo(o => o.Dispose());
+ failureMechanismObservers.Clear();
+ }
+
+ private void AttachToFailureMechanisms()
+ {
+ failureMechanismObservers.AddRange(AssessmentSection.GetContributingFailureMechanisms()
+ .Select(CreateFailureMechanismObserver)
+ .ToArray());
+ }
+
+ private void SetGridDataSource()
+ {
+ RemoveRowEvents();
+ failureMechanismContributionItemRows = AssessmentSection.GetContributingFailureMechanisms()
+ .Select(fm => new FailureMechanismContributionItemRow(
+ fm, AssessmentSection.FailureMechanismContribution,
+ viewCommands, new FailureMechanismContributionItemRow.ConstructionProperties
+ {
+ IsRelevantColumnIndex = isRelevantColumnIndex,
+ NameColumnIndex = nameColumnIndex,
+ CodeColumnIndex = codeColumnIndex,
+ ContributionColumnIndex = contributionColumnIndex,
+ ProbabilitySpaceColumnIndex = probabilitySpaceColumnIndex
+ })).ToArray();
+
+ probabilityDistributionGrid.SetDataSource(failureMechanismContributionItemRows);
+
+ failureMechanismContributionItemRows.ForEachElementDo(row =>
+ {
+ row.RowUpdated += RowUpdated;
+ row.RowUpdateDone += RowUpdateDone;
+ });
+ }
+
+ private void RemoveRowEvents()
+ {
+ failureMechanismContributionItemRows?.ForEachElementDo(row =>
+ {
+ row.RowUpdated -= RowUpdated;
+ row.RowUpdateDone -= RowUpdateDone;
+ });
+ }
+
+ private void RowUpdateDone(object sender, EventArgs eventArgs)
+ {
+ rowUpdating = false;
+ }
+
+ private void RowUpdated(object sender, EventArgs eventArgs)
+ {
+ rowUpdating = true;
+ probabilityDistributionGrid.RefreshDataGridView();
+ }
+
+ private void SetReturnPeriodText()
+ {
+ returnPeriodLabel.Text = string.Format(Resources.FailureMechanismContributionView_ReturnPeriodLabelText_Norm_is_one_over_ReturnPeriod_0_,
+ Convert.ToInt32(1.0 / AssessmentSection.FailureMechanismContribution.Norm));
+ }
+
+ private void SetAssessmentSectionComposition()
+ {
+ string assessmentSectionComposition = new EnumDisplayWrapper(AssessmentSection.Composition).DisplayName;
+ assessmentSectionCompositionLabel.Text = string.Format(Resources.FailureMechanismContributionView_AssessmentSectionCompositionLabelText_AssessmentSectionComposition_0_,
+ assessmentSectionComposition);
+ }
+
+ private void InitializeGridColumns()
+ {
+ probabilityDistributionGrid.AddCheckBoxColumn(nameof(FailureMechanismContributionItemRow.IsRelevant),
+ Resources.FailureMechanism_IsRelevant_DisplayName);
+
+ probabilityDistributionGrid.AddTextBoxColumn(nameof(FailureMechanismContributionItemRow.Name),
+ Resources.FailureMechanism_Name_DisplayName,
+ true);
+
+ probabilityDistributionGrid.AddTextBoxColumn(nameof(FailureMechanismContributionItemRow.Code),
+ RingtoetsCommonFormsResources.FailureMechanism_Code_DisplayName,
+ true);
+
+ probabilityDistributionGrid.AddTextBoxColumn(nameof(FailureMechanismContributionItemRow.Contribution),
+ Resources.FailureMechanismContributionView_GridColumn_Contribution,
+ true);
+
+ probabilityDistributionGrid.AddTextBoxColumn(nameof(FailureMechanismContributionItemRow.ProbabilitySpace),
+ Resources.FailureMechanismContributionView_GridColumn_ProbabilitySpace,
+ true,
+ DataGridViewAutoSizeColumnMode.Fill,
+ 100,
+ "1/#,#");
+ }
+
+ #region Event handling
+
+ private void HandleCellStyling(object sender, DataGridViewCellFormattingEventArgs e)
+ {
+ probabilityDistributionGrid.FormatCellWithColumnStateDefinition(e.RowIndex, e.ColumnIndex);
+ }
+
+ private void ProbabilityDistributionGridOnCellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
+ {
+ if (e.ColumnIndex == probabilitySpaceColumnIndex)
+ {
+ var row = (FailureMechanismContributionItemRow) probabilityDistributionGrid.Rows[e.RowIndex].DataBoundItem;
+ if (Math.Abs(row.Contribution) < 1e-6)
+ {
+ e.Value = Resources.FailureMechanismContributionView_ProbabilityPerYear_Not_applicable;
+ e.FormattingApplied = true;
+ }
+ }
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismContributionView.resx
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismContributionView.resx (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismContributionView.resx (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,252 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ Microsoft Sans Serif, 8.25pt
+
+
+
+ NoControl
+
+
+ 9, 43
+
+
+ 200, 18
+
+
+
+ 10
+
+
+ Norm van het dijktraject: 1 / jaar
+
+
+ returnPeriodLabel
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBoxAssessmentSectionDetails
+
+
+ 0
+
+
+ Microsoft Sans Serif, 8.25pt
+
+
+ NoControl
+
+
+ 9, 24
+
+
+ 190, 26
+
+
+ 9
+
+
+ Trajecttype: Dijk
+
+
+ assessmentSectionCompositionLabel
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBoxAssessmentSectionDetails
+
+
+ 1
+
+
+ Top
+
+
+ Microsoft Sans Serif, 8.25pt
+
+
+ 0, 0
+
+
+ 750, 65
+
+
+ 7
+
+
+ Trajectgegevens
+
+
+ groupBoxAssessmentSectionDetails
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 1
+
+
+ Fill
+
+
+ 0, 65
+
+
+ 4, 4, 4, 4
+
+
+ 750, 355
+
+
+ 6
+
+
+ probabilityDistributionGrid
+
+
+ Core.Common.Controls.DataGrid.DataGridViewControl, Core.Common.Controls, Culture=neutral, PublicKeyToken=null
+
+
+ $this
+
+
+ 0
+
+
+ True
+
+
+ 750, 420
+
+
+ FailureMechanismContributionView
+
+
+ System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismWithDetailedAssessmentView.Designer.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismWithDetailedAssessmentView.Designer.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismWithDetailedAssessmentView.Designer.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,66 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Ringtoets.Common.Forms.Views;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ partial class FailureMechanismWithDetailedAssessmentView
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.ringtoetsMapControl = new Ringtoets.Common.Forms.Views.RingtoetsMapControl();
+ this.SuspendLayout();
+ //
+ // ringtoetsMapControl
+ //
+ this.ringtoetsMapControl.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.ringtoetsMapControl.Location = new System.Drawing.Point(0, 0);
+ this.ringtoetsMapControl.Name = "ringtoetsMapControl";
+ this.ringtoetsMapControl.Size = new System.Drawing.Size(150, 150);
+ this.ringtoetsMapControl.TabIndex = 0;
+ //
+ // FailureMechanismWithDetailedAssessmentView
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.ringtoetsMapControl);
+ this.Name = "FailureMechanismWithDetailedAssessmentView";
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private RingtoetsMapControl ringtoetsMapControl;
+ }
+}
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismWithDetailedAssessmentView.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismWithDetailedAssessmentView.cs (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismWithDetailedAssessmentView.cs (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,347 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Windows.Forms;
+using Core.Common.Base;
+using Core.Components.Gis.Data;
+using Core.Components.Gis.Features;
+using Core.Components.Gis.Forms;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.Common.Forms.Factories;
+using Ringtoets.Common.Forms.Helpers;
+
+namespace Riskeer.Integration.Forms.Views
+{
+ ///
+ /// This class is a view showing map data for a failure mechanism with a detailed assessment.
+ ///
+ public partial class FailureMechanismWithDetailedAssessmentView : UserControl, IMapView
+ where TFailureMechanism : IHasSectionResults
+ where TSectionResult : FailureMechanismSectionResult
+ {
+ private readonly Func> getSimpleAssemblyFeaturesFunc;
+ private readonly Func> getDetailedAssemblyFeaturesFunc;
+ private readonly Func> getTailorMadeAssemblyFeaturesFunc;
+ private readonly Func> getCombinedAssemblyFeaturesFunc;
+
+ private MapDataCollection mapDataCollection;
+ private MapLineData referenceLineMapData;
+ private MapPointData hydraulicBoundaryLocationsMapData;
+
+ private MapLineData sectionsMapData;
+ private MapPointData sectionsStartPointMapData;
+ private MapPointData sectionsEndPointMapData;
+
+ private MapLineData simpleAssemblyMapData;
+ private MapLineData detailedAssemblyMapData;
+ private MapLineData tailorMadeAssemblyMapData;
+ private MapLineData combinedAssemblyMapData;
+
+ private Observer failureMechanismObserver;
+ private Observer assessmentSectionObserver;
+ private Observer referenceLineObserver;
+ private Observer hydraulicBoundaryLocationsObserver;
+
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waterLevelCalculationsForFactorizedSignalingNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waterLevelCalculationsForSignalingNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waterLevelCalculationsForLowerLimitNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waterLevelCalculationsForFactorizedLowerLimitNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waveHeightCalculationsForFactorizedSignalingNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waveHeightCalculationsForSignalingNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waveHeightCalculationsForLowerLimitNormObserver;
+ private RecursiveObserver, HydraulicBoundaryLocationCalculation> waveHeightCalculationsForFactorizedLowerLimitNormObserver;
+ private RecursiveObserver, TSectionResult> sectionResultObserver;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The failure mechanism to show the data for.
+ /// The assessment section to show the data for.
+ /// The that returns a collection of representing
+ /// the simple assembly results for this failure mechanism.
+ /// The that returns a collection of representing
+ /// the detailed assembly results for this failure mechanism.
+ /// The that returns a collection of representing
+ /// the tailor made assembly results for this failure mechanism.
+ /// The that returns a collection of representing
+ /// the combined assembly results for this failure mechanism.
+ /// Thrown when any parameter is null.
+ public FailureMechanismWithDetailedAssessmentView(TFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection,
+ Func> getSimpleAssemblyFeaturesFunc,
+ Func> getDetailedAssemblyFeaturesFunc,
+ Func> getTailorMadeAssemblyFeaturesFunc,
+ Func> getCombinedAssemblyFeaturesFunc)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ if (getSimpleAssemblyFeaturesFunc == null)
+ {
+ throw new ArgumentNullException(nameof(getSimpleAssemblyFeaturesFunc));
+ }
+
+ if (getDetailedAssemblyFeaturesFunc == null)
+ {
+ throw new ArgumentNullException(nameof(getDetailedAssemblyFeaturesFunc));
+ }
+
+ if (getTailorMadeAssemblyFeaturesFunc == null)
+ {
+ throw new ArgumentNullException(nameof(getTailorMadeAssemblyFeaturesFunc));
+ }
+
+ if (getCombinedAssemblyFeaturesFunc == null)
+ {
+ throw new ArgumentNullException(nameof(getCombinedAssemblyFeaturesFunc));
+ }
+
+ this.getSimpleAssemblyFeaturesFunc = getSimpleAssemblyFeaturesFunc;
+ this.getDetailedAssemblyFeaturesFunc = getDetailedAssemblyFeaturesFunc;
+ this.getTailorMadeAssemblyFeaturesFunc = getTailorMadeAssemblyFeaturesFunc;
+ this.getCombinedAssemblyFeaturesFunc = getCombinedAssemblyFeaturesFunc;
+
+ InitializeComponent();
+
+ FailureMechanism = failureMechanism;
+ AssessmentSection = assessmentSection;
+
+ CreateObservers();
+
+ CreateMapData();
+ SetAllMapDataFeatures();
+ ringtoetsMapControl.SetAllData(mapDataCollection, assessmentSection.BackgroundData);
+ }
+
+ ///
+ /// Gets the failure mechanism.
+ ///
+ public TFailureMechanism FailureMechanism { get; }
+
+ ///
+ /// Gets the assessment section.
+ ///
+ public IAssessmentSection AssessmentSection { get; }
+
+ public object Data { get; set; }
+
+ public IMapControl Map
+ {
+ get
+ {
+ return ringtoetsMapControl.MapControl;
+ }
+ }
+
+ protected override void Dispose(bool disposing)
+ {
+ failureMechanismObserver.Dispose();
+ assessmentSectionObserver.Dispose();
+ referenceLineObserver.Dispose();
+ hydraulicBoundaryLocationsObserver.Dispose();
+ waterLevelCalculationsForFactorizedSignalingNormObserver.Dispose();
+ waterLevelCalculationsForSignalingNormObserver.Dispose();
+ waterLevelCalculationsForLowerLimitNormObserver.Dispose();
+ waterLevelCalculationsForFactorizedLowerLimitNormObserver.Dispose();
+ waveHeightCalculationsForFactorizedSignalingNormObserver.Dispose();
+ waveHeightCalculationsForSignalingNormObserver.Dispose();
+ waveHeightCalculationsForLowerLimitNormObserver.Dispose();
+ waveHeightCalculationsForFactorizedLowerLimitNormObserver.Dispose();
+ sectionResultObserver.Dispose();
+
+ if (disposing)
+ {
+ components?.Dispose();
+ }
+
+ base.Dispose(disposing);
+ }
+
+ private void CreateMapData()
+ {
+ mapDataCollection = new MapDataCollection(FailureMechanism.Name);
+ referenceLineMapData = RingtoetsMapDataFactory.CreateReferenceLineMapData();
+ hydraulicBoundaryLocationsMapData = RingtoetsMapDataFactory.CreateHydraulicBoundaryLocationsMapData();
+
+ MapDataCollection sectionsMapDataCollection = RingtoetsMapDataFactory.CreateSectionsMapDataCollection();
+ sectionsMapData = RingtoetsMapDataFactory.CreateFailureMechanismSectionsMapData();
+ sectionsStartPointMapData = RingtoetsMapDataFactory.CreateFailureMechanismSectionsStartPointMapData();
+ sectionsEndPointMapData = RingtoetsMapDataFactory.CreateFailureMechanismSectionsEndPointMapData();
+
+ MapDataCollection assemblyMapDataCollection = AssemblyMapDataFactory.CreateAssemblyMapDataCollection();
+ tailorMadeAssemblyMapData = AssemblyMapDataFactory.CreateTailorMadeAssemblyMapData();
+ detailedAssemblyMapData = AssemblyMapDataFactory.CreateDetailedAssemblyMapData();
+ simpleAssemblyMapData = AssemblyMapDataFactory.CreateSimpleAssemblyMapData();
+ combinedAssemblyMapData = AssemblyMapDataFactory.CreateCombinedAssemblyMapData();
+
+ mapDataCollection.Add(referenceLineMapData);
+
+ sectionsMapDataCollection.Add(sectionsMapData);
+ sectionsMapDataCollection.Add(sectionsStartPointMapData);
+ sectionsMapDataCollection.Add(sectionsEndPointMapData);
+ mapDataCollection.Add(sectionsMapDataCollection);
+
+ assemblyMapDataCollection.Add(tailorMadeAssemblyMapData);
+ assemblyMapDataCollection.Add(detailedAssemblyMapData);
+ assemblyMapDataCollection.Add(simpleAssemblyMapData);
+ assemblyMapDataCollection.Add(combinedAssemblyMapData);
+ mapDataCollection.Add(assemblyMapDataCollection);
+
+ mapDataCollection.Add(hydraulicBoundaryLocationsMapData);
+ }
+
+ private void CreateObservers()
+ {
+ failureMechanismObserver = new Observer(UpdateFailureMechanismMapData)
+ {
+ Observable = FailureMechanism
+ };
+ assessmentSectionObserver = new Observer(UpdateReferenceLineMapData)
+ {
+ Observable = AssessmentSection
+ };
+ referenceLineObserver = new Observer(UpdateReferenceLineMapData)
+ {
+ Observable = AssessmentSection.ReferenceLine
+ };
+ hydraulicBoundaryLocationsObserver = new Observer(UpdateHydraulicBoundaryLocationsMapData)
+ {
+ Observable = AssessmentSection.HydraulicBoundaryDatabase.Locations
+ };
+
+ waterLevelCalculationsForFactorizedSignalingNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ AssessmentSection.WaterLevelCalculationsForFactorizedSignalingNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waterLevelCalculationsForSignalingNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ AssessmentSection.WaterLevelCalculationsForSignalingNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waterLevelCalculationsForLowerLimitNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ AssessmentSection.WaterLevelCalculationsForLowerLimitNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waterLevelCalculationsForFactorizedLowerLimitNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ AssessmentSection.WaterLevelCalculationsForFactorizedLowerLimitNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waveHeightCalculationsForFactorizedSignalingNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ AssessmentSection.WaveHeightCalculationsForFactorizedSignalingNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waveHeightCalculationsForSignalingNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ AssessmentSection.WaveHeightCalculationsForSignalingNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waveHeightCalculationsForLowerLimitNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ AssessmentSection.WaveHeightCalculationsForLowerLimitNorm, UpdateHydraulicBoundaryLocationsMapData);
+ waveHeightCalculationsForFactorizedLowerLimitNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver(
+ AssessmentSection.WaveHeightCalculationsForFactorizedLowerLimitNorm, UpdateHydraulicBoundaryLocationsMapData);
+
+ sectionResultObserver = new RecursiveObserver, TSectionResult>(UpdateAssemblyMapData, sr => sr)
+ {
+ Observable = FailureMechanism.SectionResults
+ };
+ }
+
+ private void SetAllMapDataFeatures()
+ {
+ SetReferenceLineMapData();
+ SetSectionsMapData();
+ SetHydraulicBoundaryLocationsMapData();
+ UpdateAssemblyMapData();
+ }
+
+ #region Assembly MapData
+
+ private void UpdateAssemblyMapData()
+ {
+ SetAssemblyMapData();
+ simpleAssemblyMapData.NotifyObservers();
+ detailedAssemblyMapData.NotifyObservers();
+ tailorMadeAssemblyMapData.NotifyObservers();
+ combinedAssemblyMapData.NotifyObservers();
+ }
+
+ private void SetAssemblyMapData()
+ {
+ simpleAssemblyMapData.Features = getSimpleAssemblyFeaturesFunc();
+ detailedAssemblyMapData.Features = getDetailedAssemblyFeaturesFunc();
+ tailorMadeAssemblyMapData.Features = getTailorMadeAssemblyFeaturesFunc();
+ combinedAssemblyMapData.Features = getCombinedAssemblyFeaturesFunc();
+ }
+
+ #endregion
+
+ #region AssessmentSection MapData
+
+ private void UpdateReferenceLineMapData()
+ {
+ SetReferenceLineMapData();
+ referenceLineMapData.NotifyObservers();
+ }
+
+ private void SetReferenceLineMapData()
+ {
+ referenceLineMapData.Features = RingtoetsMapDataFeaturesFactory.CreateReferenceLineFeatures(
+ AssessmentSection.ReferenceLine, AssessmentSection.Id, AssessmentSection.Name);
+ }
+
+ #endregion
+
+ #region FailureMechanism MapData
+
+ private void UpdateFailureMechanismMapData()
+ {
+ SetSectionsMapData();
+ sectionsMapData.NotifyObservers();
+ sectionsStartPointMapData.NotifyObservers();
+ sectionsEndPointMapData.NotifyObservers();
+
+ UpdateAssemblyMapData();
+ }
+
+ private void SetSectionsMapData()
+ {
+ IEnumerable failureMechanismSections = FailureMechanism.Sections;
+
+ sectionsMapData.Features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionFeatures(failureMechanismSections);
+ sectionsStartPointMapData.Features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionStartPointFeatures(failureMechanismSections);
+ sectionsEndPointMapData.Features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionEndPointFeatures(failureMechanismSections);
+ }
+
+ #endregion
+
+ #region HydraulicBoundaryLocations MapData
+
+ private void UpdateHydraulicBoundaryLocationsMapData()
+ {
+ SetHydraulicBoundaryLocationsMapData();
+ hydraulicBoundaryLocationsMapData.NotifyObservers();
+ }
+
+ private void SetHydraulicBoundaryLocationsMapData()
+ {
+ hydraulicBoundaryLocationsMapData.Features = RingtoetsMapDataFeaturesFactory.CreateHydraulicBoundaryLocationFeatures(AssessmentSection);
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismWithDetailedAssessmentView.resx
===================================================================
diff -u
--- Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismWithDetailedAssessmentView.resx (revision 0)
+++ Ringtoets/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismWithDetailedAssessmentView.resx (revision 0585edaba71d05905dd6196ded7356dbd5155214)
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+