Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Forms/Views/HeightStructuresFailureMechanismView.cs =================================================================== diff -u -r9e16393c81aeaccdcd50fcfbe4f45f1d934bf822 -r7c278254d516cc03b8b60086ab6a3a80efd9855b --- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Forms/Views/HeightStructuresFailureMechanismView.cs (.../HeightStructuresFailureMechanismView.cs) (revision 9e16393c81aeaccdcd50fcfbe4f45f1d934bf822) +++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Forms/Views/HeightStructuresFailureMechanismView.cs (.../HeightStructuresFailureMechanismView.cs) (revision 7c278254d516cc03b8b60086ab6a3a80efd9855b) @@ -45,18 +45,18 @@ /// public partial class HeightStructuresFailureMechanismView : UserControl, IMapView { - private readonly Observer failureMechanismObserver; - private readonly Observer assessmentSectionObserver; - private readonly Observer hydraulicBoundaryLocationsObserver; - private readonly Observer foreshoreProfilesObserver; - private readonly Observer structuresObserver; + private Observer failureMechanismObserver; + private Observer assessmentSectionObserver; + private Observer hydraulicBoundaryLocationsObserver; + private Observer foreshoreProfilesObserver; + private Observer structuresObserver; - private readonly RecursiveObserver, HydraulicBoundaryLocation> hydraulicBoundaryLocationObserver; - private readonly RecursiveObserver calculationInputObserver; - private readonly RecursiveObserver calculationGroupObserver; - private readonly RecursiveObserver> calculationObserver; - private readonly RecursiveObserver foreshoreProfileObserver; - private readonly RecursiveObserver, HeightStructure> structureObserver; + private RecursiveObserver, HydraulicBoundaryLocation> hydraulicBoundaryLocationObserver; + private RecursiveObserver calculationInputObserver; + private RecursiveObserver calculationGroupObserver; + private RecursiveObserver> calculationObserver; + private RecursiveObserver foreshoreProfileObserver; + private RecursiveObserver, HeightStructure> structureObserver; private readonly MapDataCollection mapDataCollection; private readonly MapLineData referenceLineMapData; @@ -94,22 +94,8 @@ FailureMechanism = failureMechanism; AssessmentSection = assessmentSection; - failureMechanismObserver = new Observer(UpdateMapData); - assessmentSectionObserver = new Observer(UpdateMapData); - hydraulicBoundaryLocationsObserver = new Observer(UpdateMapData); - foreshoreProfilesObserver = new Observer(UpdateMapData); - structuresObserver = 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); - structureObserver = new RecursiveObserver, HeightStructure>(UpdateMapData, coll => coll); - mapDataCollection = new MapDataCollection(HeightStructuresDataResources.HeightStructuresFailureMechanism_DisplayName); referenceLineMapData = RingtoetsMapDataFactory.CreateReferenceLineMapData(); hydraulicBoundaryLocationsMapData = RingtoetsMapDataFactory.CreateHydraulicBoundaryLocationsMapData(); @@ -130,6 +116,58 @@ mapDataCollection.Add(calculationsMapData); } + 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 + }; + structuresObserver = new Observer(UpdateMapData) + { + Observable = FailureMechanism.HeightStructures + }; + + 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.CalculationsGroup + }; + calculationGroupObserver = new RecursiveObserver(UpdateMapData, pcg => pcg.Children) + { + Observable = FailureMechanism.CalculationsGroup + }; + calculationObserver = new RecursiveObserver>(UpdateMapData, pcg => pcg.Children) + { + Observable = FailureMechanism.CalculationsGroup + }; + foreshoreProfileObserver = new RecursiveObserver(UpdateMapData, coll => coll) + { + Observable = FailureMechanism.ForeshoreProfiles + }; + structureObserver = new RecursiveObserver, HeightStructure>(UpdateMapData, coll => coll) + { + Observable = FailureMechanism.HeightStructures + }; + } + /// /// Gets the failure mechanism. ///