Index: Riskeer/Common/src/Riskeer.Common.Forms/Views/StructuresFailureMechanismResultView.cs
===================================================================
diff -u -rc20f5b24ecc1b1d69e499cffb5d117b3026810da -rf4cbcdd45b2e235aa947d60188a574fe9d36abbe
--- Riskeer/Common/src/Riskeer.Common.Forms/Views/StructuresFailureMechanismResultView.cs (.../StructuresFailureMechanismResultView.cs) (revision c20f5b24ecc1b1d69e499cffb5d117b3026810da)
+++ Riskeer/Common/src/Riskeer.Common.Forms/Views/StructuresFailureMechanismResultView.cs (.../StructuresFailureMechanismResultView.cs) (revision f4cbcdd45b2e235aa947d60188a574fe9d36abbe)
@@ -26,10 +26,8 @@
using Riskeer.AssemblyTool.Data;
using Riskeer.Common.Data;
using Riskeer.Common.Data.AssessmentSection;
-using Riskeer.Common.Data.Calculation;
using Riskeer.Common.Data.FailureMechanism;
using Riskeer.Common.Data.Structures;
-using Riskeer.Common.Forms.Builders;
using Riskeer.Common.Forms.Providers;
namespace Riskeer.Common.Forms.Views
@@ -39,20 +37,11 @@
///
/// The type of failure mechanism.
/// The type of input.
- public class StructuresFailureMechanismResultView : FailureMechanismResultView
+ public class StructuresFailureMechanismResultView : AdoptableFailureMechanismResultView<
+ TFailureMechanism, StructuresCalculationScenario, TStructuresInput>
where TFailureMechanism : IFailureMechanism, ICalculatableFailureMechanism, IFailureMechanism
where TStructuresInput : IStructuresCalculationInput, new()
{
- private const int initialFailureMechanismResultTypeIndex = 2;
- private const int initialFailureMechanismResultSectionProbabilityIndex = 3;
- private const int furtherAnalysisTypeIndex = 4;
- private const int refinedSectionProbabilityIndex = 5;
- private const int sectionProbabilityIndex = 6;
- private const int assemblyGroupIndex = 7;
-
- private readonly RecursiveObserver calculationInputsObserver;
- private readonly RecursiveObserver calculationGroupObserver;
-
///
/// Creates a new instance of .
///
@@ -66,105 +55,28 @@
TFailureMechanism failureMechanism,
IAssessmentSection assessmentSection,
Func performFailureMechanismAssemblyFunc)
- : base(failureMechanismSectionResults, failureMechanism, assessmentSection, performFailureMechanismAssemblyFunc)
- {
- // The concat is needed to observe the input of calculations in child groups.
- calculationInputsObserver = new RecursiveObserver(
- UpdateInternalViewData,
- cg => cg.Children.Concat(cg.Children
- .OfType>()
- .Select(scenario => scenario.InputParameters)
- .Cast