Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsFailureMechanismView.cs =================================================================== diff -u -r8a4e33ad81793b510d09c0baa879d48ed3a19783 -ra85570f5c1014111a7dc7cabaad7d6fcbdad6f01 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsFailureMechanismView.cs (.../MacroStabilityInwardsFailureMechanismView.cs) (revision 8a4e33ad81793b510d09c0baa879d48ed3a19783) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsFailureMechanismView.cs (.../MacroStabilityInwardsFailureMechanismView.cs) (revision a85570f5c1014111a7dc7cabaad7d6fcbdad6f01) @@ -45,18 +45,6 @@ /// public partial class MacroStabilityInwardsFailureMechanismView : UserControl, IMapView { - private readonly Observer failureMechanismObserver; - private readonly Observer hydraulicBoundaryLocationsObserver; - private readonly Observer assessmentSectionObserver; - private readonly Observer surfaceLinesObserver; - private readonly Observer stochasticSoilModelsObserver; - - private readonly RecursiveObserver, HydraulicBoundaryLocation> hydraulicBoundaryLocationObserver; - private readonly RecursiveObserver calculationInputObserver; - private readonly RecursiveObserver calculationGroupObserver; - private readonly RecursiveObserver calculationObserver; - private readonly RecursiveObserver surfaceLineObserver; - private readonly MapDataCollection mapDataCollection; private readonly MapLineData referenceLineMapData; private readonly MapLineData sectionsMapData; @@ -66,7 +54,18 @@ private readonly MapPointData sectionsEndPointMapData; private readonly MapPointData hydraulicBoundaryLocationsMapData; private readonly MapLineData calculationsMapData; + private Observer failureMechanismObserver; + private Observer hydraulicBoundaryLocationsObserver; + private Observer assessmentSectionObserver; + private Observer surfaceLinesObserver; + private Observer stochasticSoilModelsObserver; + private RecursiveObserver, HydraulicBoundaryLocation> hydraulicBoundaryLocationObserver; + private RecursiveObserver calculationInputObserver; + private RecursiveObserver calculationGroupObserver; + private RecursiveObserver calculationObserver; + private RecursiveObserver surfaceLineObserver; + private MacroStabilityInwardsFailureMechanismContext data; /// @@ -93,20 +92,8 @@ FailureMechanism = failureMechanism; AssessmentSection = assessmentSection; - failureMechanismObserver = new Observer(UpdateMapData); - assessmentSectionObserver = new Observer(UpdateMapData); - hydraulicBoundaryLocationsObserver = new Observer(UpdateHydraulicBoundaryLocationsMapData); - surfaceLinesObserver = new Observer(UpdateSurfaceLinesMapData); - stochasticSoilModelsObserver = new Observer(UpdateStochasticSoilModelsMapData); + CreateObservers(); - hydraulicBoundaryLocationObserver = new RecursiveObserver, HydraulicBoundaryLocation>( - UpdateHydraulicBoundaryLocationsMapData, hbl => hbl); - calculationInputObserver = new RecursiveObserver( - UpdateCalculationsMapData, pcg => pcg.Children.Concat(pcg.Children.OfType().Select(pc => pc.InputParameters))); - calculationGroupObserver = new RecursiveObserver(UpdateCalculationsMapData, pcg => pcg.Children); - calculationObserver = new RecursiveObserver(UpdateCalculationsMapData, pcg => pcg.Children); - surfaceLineObserver = new RecursiveObserver(UpdateSurfaceLinesMapData, rpslc => rpslc); - mapDataCollection = new MapDataCollection(MacroStabilityInwardsDataResources.MacroStabilityInwardsFailureMechanism_DisplayName); referenceLineMapData = RingtoetsMapDataFactory.CreateReferenceLineMapData(); hydraulicBoundaryLocationsMapData = RingtoetsMapDataFactory.CreateHydraulicBoundaryLocationsMapData(); @@ -207,9 +194,27 @@ { components?.Dispose(); } + base.Dispose(disposing); } + private void CreateObservers() + { + failureMechanismObserver = new Observer(UpdateMapData); + assessmentSectionObserver = new Observer(UpdateMapData); + hydraulicBoundaryLocationsObserver = new Observer(UpdateHydraulicBoundaryLocationsMapData); + surfaceLinesObserver = new Observer(UpdateSurfaceLinesMapData); + stochasticSoilModelsObserver = new Observer(UpdateStochasticSoilModelsMapData); + + hydraulicBoundaryLocationObserver = new RecursiveObserver, HydraulicBoundaryLocation>( + UpdateHydraulicBoundaryLocationsMapData, hbl => hbl); + calculationInputObserver = new RecursiveObserver( + UpdateCalculationsMapData, pcg => pcg.Children.Concat(pcg.Children.OfType().Select(pc => pc.InputParameters))); + calculationGroupObserver = new RecursiveObserver(UpdateCalculationsMapData, pcg => pcg.Children); + calculationObserver = new RecursiveObserver(UpdateCalculationsMapData, pcg => pcg.Children); + surfaceLineObserver = new RecursiveObserver(UpdateSurfaceLinesMapData, rpslc => rpslc); + } + private void UpdateMapData() { UpdateCalculationsMapData();