Index: Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Forms/Views/StabilityStoneCoverFailureMechanismView.cs =================================================================== diff -u -r3dd1f76c697d23b7a0b1cb150b129cfafaf9d3bb -r6c8f55c1ce2b99cb2f3a3be2599166f864681496 --- Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Forms/Views/StabilityStoneCoverFailureMechanismView.cs (.../StabilityStoneCoverFailureMechanismView.cs) (revision 3dd1f76c697d23b7a0b1cb150b129cfafaf9d3bb) +++ Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Forms/Views/StabilityStoneCoverFailureMechanismView.cs (.../StabilityStoneCoverFailureMechanismView.cs) (revision 6c8f55c1ce2b99cb2f3a3be2599166f864681496) @@ -45,17 +45,6 @@ /// public partial class StabilityStoneCoverFailureMechanismView : UserControl, IMapView { - private readonly Observer failureMechanismObserver; - private readonly Observer assessmentSectionObserver; - private readonly Observer hydraulicBoundaryLocationsObserver; - private readonly Observer foreshoreProfilesObserver; - - private readonly RecursiveObserver, HydraulicBoundaryLocation> hydraulicBoundaryLocationObserver; - private readonly RecursiveObserver calculationInputObserver; - private readonly RecursiveObserver calculationGroupObserver; - private readonly RecursiveObserver calculationObserver; - private readonly RecursiveObserver foreshoreProfileObserver; - private readonly MapDataCollection mapDataCollection; private readonly MapLineData referenceLineMapData; private readonly MapLineData sectionsMapData; @@ -64,7 +53,17 @@ private readonly MapPointData hydraulicBoundaryLocationsMapData; private readonly MapLineData foreshoreProfilesMapData; private readonly MapLineData calculationsMapData; + private Observer failureMechanismObserver; + private Observer assessmentSectionObserver; + private Observer hydraulicBoundaryLocationsObserver; + private Observer foreshoreProfilesObserver; + private RecursiveObserver, HydraulicBoundaryLocation> hydraulicBoundaryLocationObserver; + private RecursiveObserver calculationInputObserver; + private RecursiveObserver calculationGroupObserver; + private RecursiveObserver calculationObserver; + private RecursiveObserver foreshoreProfileObserver; + private StabilityStoneCoverFailureMechanismContext data; /// @@ -91,19 +90,8 @@ FailureMechanism = failureMechanism; AssessmentSection = assessmentSection; - failureMechanismObserver = new Observer(UpdateMapData); - assessmentSectionObserver = new Observer(UpdateMapData); - hydraulicBoundaryLocationsObserver = new Observer(UpdateMapData); - foreshoreProfilesObserver = new Observer(UpdateMapData); + CreateObservers(); - hydraulicBoundaryLocationObserver = new RecursiveObserver, HydraulicBoundaryLocation>( - UpdateMapData, hbl => hbl); - calculationInputObserver = new RecursiveObserver( - UpdateMapData, pcg => pcg.Children.Concat(pcg.Children.OfType().Select(pc => pc.InputParameters))); - calculationGroupObserver = new RecursiveObserver(UpdateMapData, pcg => pcg.Children); - calculationObserver = new RecursiveObserver(UpdateMapData, pcg => pcg.Children); - foreshoreProfileObserver = new RecursiveObserver(UpdateMapData, coll => coll); - mapDataCollection = new MapDataCollection(StabilityStoneCoverDataResources.StabilityStoneCoverFailureMechanism_DisplayName); referenceLineMapData = RingtoetsMapDataFactory.CreateReferenceLineMapData(); hydraulicBoundaryLocationsMapData = RingtoetsMapDataFactory.CreateHydraulicBoundaryLocationsMapData(); @@ -202,9 +190,54 @@ { components?.Dispose(); } + base.Dispose(disposing); } + private void CreateObservers() + { + failureMechanismObserver = new Observer(UpdateMapData) + { + Observable = FailureMechanism + }; + assessmentSectionObserver = new Observer(UpdateMapData) + { + Observable = AssessmentSection + }; + hydraulicBoundaryLocationsObserver = new Observer(UpdateMapData) + { + Observable = AssessmentSection.HydraulicBoundaryDatabase.Locations + }; + foreshoreProfilesObserver = new Observer(UpdateMapData) + { + Observable = FailureMechanism.ForeshoreProfiles + }; + + hydraulicBoundaryLocationObserver = new RecursiveObserver, HydraulicBoundaryLocation>( + UpdateMapData, hbl => hbl) + { + Observable = AssessmentSection.HydraulicBoundaryDatabase.Locations + }; + calculationInputObserver = new RecursiveObserver( + UpdateMapData, pcg => pcg.Children.Concat(pcg.Children.OfType() + .Select(pc => pc.InputParameters))) + { + Observable = FailureMechanism.WaveConditionsCalculationGroup + }; + calculationGroupObserver = new RecursiveObserver(UpdateMapData, pcg => pcg.Children) + { + Observable = FailureMechanism.WaveConditionsCalculationGroup + }; + calculationObserver = new RecursiveObserver(UpdateMapData, pcg => pcg.Children) + { + Observable = FailureMechanism.WaveConditionsCalculationGroup + }; + foreshoreProfileObserver = new RecursiveObserver(UpdateMapData, coll => coll) + { + Observable = FailureMechanism.ForeshoreProfiles + }; + } + private void UpdateMapData() { SetMapDataFeatures();