Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Forms/Views/HeightStructuresFailureMechanismView.cs =================================================================== diff -u -r31012b85637f7fcf6b28f498fc996edcda2eb505 -rb519fc798c63691f04bb8008b562a94ed9232d51 --- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Forms/Views/HeightStructuresFailureMechanismView.cs (.../HeightStructuresFailureMechanismView.cs) (revision 31012b85637f7fcf6b28f498fc996edcda2eb505) +++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Forms/Views/HeightStructuresFailureMechanismView.cs (.../HeightStructuresFailureMechanismView.cs) (revision b519fc798c63691f04bb8008b562a94ed9232d51) @@ -48,6 +48,7 @@ private readonly Observer hydraulicBoundaryDatabaseObserver; private readonly Observer foreshoreProfilesObserver; private readonly Observer structuresObserver; + private readonly Observer backgroundMapDataObserver; private readonly RecursiveObserver calculationInputObserver; private readonly RecursiveObserver calculationGroupObserver; @@ -63,6 +64,8 @@ private readonly MapPointData structuresMapData; private readonly MapLineData calculationsMapData; + private WmtsMapData backgroundMapData; + private HeightStructuresFailureMechanismContext data; /// @@ -85,6 +88,7 @@ hydraulicBoundaryDatabaseObserver = new Observer(UpdateMapData); foreshoreProfilesObserver = new Observer(UpdateMapData); structuresObserver = new Observer(UpdateMapData); + backgroundMapDataObserver = new Observer(UpdateBackgroundMapData); calculationInputObserver = new RecursiveObserver( UpdateMapData, pcg => pcg.Children.Concat(pcg.Children.OfType>().Select(pc => pc.InputParameters))); @@ -132,6 +136,8 @@ calculationGroupObserver.Observable = null; calculationObserver.Observable = null; + backgroundMapDataObserver.Observable = null; + Map.Data = null; Map.BackgroundMapData = null; } @@ -147,10 +153,14 @@ calculationGroupObserver.Observable = data.WrappedData.CalculationsGroup; calculationObserver.Observable = data.WrappedData.CalculationsGroup; + backgroundMapDataObserver.Observable = data.Parent.BackgroundMapData2; + SetMapDataFeatures(); + backgroundMapData = RingtoetsBackgroundMapDataFactory.CreateBackgroundMapData(data.Parent.BackgroundMapData2); + Map.Data = mapDataCollection; - Map.BackgroundMapData = data.Parent.BackgroundMapData; + Map.BackgroundMapData = backgroundMapData; } } } @@ -181,6 +191,12 @@ base.Dispose(disposing); } + private void UpdateBackgroundMapData() + { + RingtoetsBackgroundMapDataFactory.UpdateBackgroundMapData(backgroundMapData, data.Parent.BackgroundMapData2); + backgroundMapData.NotifyObservers(); + } + private void UpdateMapData() { SetMapDataFeatures();