Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismView.cs =================================================================== diff -u -rdab9d7780fa5c2827e252e0e7e4c421707a63bb0 -re0a46541935eb2d914b5eead00682f7208f9dfdc --- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismView.cs (.../FailureMechanismView.cs) (revision dab9d7780fa5c2827e252e0e7e4c421707a63bb0) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismView.cs (.../FailureMechanismView.cs) (revision e0a46541935eb2d914b5eead00682f7208f9dfdc) @@ -94,8 +94,7 @@ mapDataCollection.Add(sectionsEndPointMapData); mapDataCollection.Add(hydraulicBoundaryLocationsMapData); - SetMapDataFeatures(); - + SetAllMappDataFeatures(); ringtoetsMapControl.SetAllData(mapDataCollection, assessmentSection.BackgroundData); } @@ -143,58 +142,82 @@ private void CreateObservers() { - failureMechanismObserver = new Observer(UpdateMapData) + failureMechanismObserver = new Observer(UpdateSectionsMapData) { Observable = FailureMechanism }; - assessmentSectionObserver = new Observer(UpdateMapData) + assessmentSectionObserver = new Observer(UpdateRefereceLineMapData) { Observable = AssessmentSection }; - hydraulicBoundaryLocationsObserver = new Observer(UpdateMapData) + hydraulicBoundaryLocationsObserver = new Observer(UpdateHydraulicBoundaryLocationsMapData) { Observable = AssessmentSection.HydraulicBoundaryDatabase.Locations }; waterLevelCalculationsForFactorizedSignalingNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver( - AssessmentSection.WaterLevelCalculationsForFactorizedSignalingNorm, UpdateMapData); + AssessmentSection.WaterLevelCalculationsForFactorizedSignalingNorm, UpdateHydraulicBoundaryLocationsMapData); waterLevelCalculationsForSignalingNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver( - AssessmentSection.WaterLevelCalculationsForSignalingNorm, UpdateMapData); + AssessmentSection.WaterLevelCalculationsForSignalingNorm, UpdateHydraulicBoundaryLocationsMapData); waterLevelCalculationsForLowerLimitNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver( - AssessmentSection.WaterLevelCalculationsForLowerLimitNorm, UpdateMapData); + AssessmentSection.WaterLevelCalculationsForLowerLimitNorm, UpdateHydraulicBoundaryLocationsMapData); waterLevelCalculationsForFactorizedLowerLimitNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver( - AssessmentSection.WaterLevelCalculationsForFactorizedLowerLimitNorm, UpdateMapData); + AssessmentSection.WaterLevelCalculationsForFactorizedLowerLimitNorm, UpdateHydraulicBoundaryLocationsMapData); waveHeightCalculationsForFactorizedSignalingNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver( - AssessmentSection.WaveHeightCalculationsForFactorizedSignalingNorm, UpdateMapData); + AssessmentSection.WaveHeightCalculationsForFactorizedSignalingNorm, UpdateHydraulicBoundaryLocationsMapData); waveHeightCalculationsForSignalingNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver( - AssessmentSection.WaveHeightCalculationsForSignalingNorm, UpdateMapData); + AssessmentSection.WaveHeightCalculationsForSignalingNorm, UpdateHydraulicBoundaryLocationsMapData); waveHeightCalculationsForLowerLimitNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver( - AssessmentSection.WaveHeightCalculationsForLowerLimitNorm, UpdateMapData); + AssessmentSection.WaveHeightCalculationsForLowerLimitNorm, UpdateHydraulicBoundaryLocationsMapData); waveHeightCalculationsForFactorizedLowerLimitNormObserver = ObserverHelper.CreateHydraulicBoundaryLocationCalculationsObserver( - AssessmentSection.WaveHeightCalculationsForFactorizedLowerLimitNorm, UpdateMapData); + AssessmentSection.WaveHeightCalculationsForFactorizedLowerLimitNorm, UpdateHydraulicBoundaryLocationsMapData); } - private void UpdateMapData() + private void SetAllMappDataFeatures() { - SetMapDataFeatures(); + SetRefereceLineMapData(); + SetSectionsMapData(); + SetHydraulicBoundaryLocationsMapData(); + } - referenceLineMapData.NotifyObservers(); - sectionsMapData.NotifyObservers(); - sectionsStartPointMapData.NotifyObservers(); - sectionsEndPointMapData.NotifyObservers(); - hydraulicBoundaryLocationsMapData.NotifyObservers(); + private void SetRefereceLineMapData() + { + referenceLineMapData.Features = RingtoetsMapDataFeaturesFactory.CreateReferenceLineFeatures( + AssessmentSection.ReferenceLine, AssessmentSection.Id, AssessmentSection.Name); } - private void SetMapDataFeatures() + private void SetSectionsMapData() { - ReferenceLine referenceLine = AssessmentSection.ReferenceLine; IEnumerable failureMechanismSections = FailureMechanism.Sections; - referenceLineMapData.Features = RingtoetsMapDataFeaturesFactory.CreateReferenceLineFeatures(referenceLine, AssessmentSection.Id, AssessmentSection.Name); sectionsMapData.Features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionFeatures(failureMechanismSections); sectionsStartPointMapData.Features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionStartPointFeatures(failureMechanismSections); sectionsEndPointMapData.Features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionEndPointFeatures(failureMechanismSections); + } + + private void SetHydraulicBoundaryLocationsMapData() + { hydraulicBoundaryLocationsMapData.Features = RingtoetsMapDataFeaturesFactory.CreateHydraulicBoundaryLocationFeatures(AssessmentSection); } + + private void UpdateRefereceLineMapData() + { + SetRefereceLineMapData(); + referenceLineMapData.NotifyObservers(); + } + + private void UpdateSectionsMapData() + { + SetSectionsMapData(); + sectionsMapData.NotifyObservers(); + sectionsStartPointMapData.NotifyObservers(); + sectionsEndPointMapData.NotifyObservers(); + } + + private void UpdateHydraulicBoundaryLocationsMapData() + { + SetHydraulicBoundaryLocationsMapData(); + hydraulicBoundaryLocationsMapData.NotifyObservers(); + } } } \ No newline at end of file