Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/RingtoetsMapControl.cs
===================================================================
diff -u -rb48b5cf86db182ea3e86296def02347e4389e482 -r0e377ba898e65f01baf49fe38de1816858ddb502
--- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/RingtoetsMapControl.cs (.../RingtoetsMapControl.cs) (revision b48b5cf86db182ea3e86296def02347e4389e482)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/RingtoetsMapControl.cs (.../RingtoetsMapControl.cs) (revision 0e377ba898e65f01baf49fe38de1816858ddb502)
@@ -19,18 +19,20 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
+using System.Windows.Forms;
using Core.Common.Base;
-using Core.Components.DotSpatial.Forms;
using Core.Components.Gis.Data;
+using Core.Components.Gis.Forms;
using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Utils.TypeConverters;
namespace Ringtoets.Common.Forms.Views
{
///
- /// This class describes a map control with background.
+ /// Ringtoets map control with background data synchronization.
///
- public class RingtoetsMapControl : MapControl
+ public partial class RingtoetsMapControl : UserControl
{
private readonly Observer backgroundDataObserver;
@@ -41,55 +43,83 @@
///
public RingtoetsMapControl()
{
+ InitializeComponent();
+
backgroundDataObserver = new Observer(OnBackgroundDataUpdated);
}
///
- /// Gets or sets the .
+ /// Gets the wrapped .
///
- public BackgroundData BackgroundData
+ public IMapControl MapControl
{
get
{
- return backgroundData;
+ return mapControl;
}
- set
+ }
+
+ ///
+ /// Sets all data to the control.
+ ///
+ /// The to set to the control.
+ /// The to set to the control.
+ /// Thrown when any of the parameters is null.
+ public void SetAllData(MapDataCollection data, BackgroundData background)
+ {
+ if (data == null)
{
- backgroundData = value;
- backgroundDataObserver.Observable = backgroundData;
+ throw new ArgumentNullException(nameof(data));
+ }
- BackgroundMapData = backgroundData != null
- ? BackgroundDataConverter.ConvertFrom(backgroundData)
- : null;
+ if (background == null)
+ {
+ throw new ArgumentNullException(nameof(background));
}
+
+ backgroundData = background;
+ backgroundDataObserver.Observable = backgroundData;
+
+ mapControl.Data = data;
+ mapControl.BackgroundMapData = backgroundData != null
+ ? BackgroundDataConverter.ConvertFrom(backgroundData)
+ : null;
}
- public override void RemoveAllData()
+ ///
+ /// Removes all data from the control.
+ ///
+ public void RemoveAllData()
{
- Removing = true;
- BackgroundData = null;
- Data = null;
- Removing = false;
+ backgroundData = null;
+ backgroundDataObserver.Observable = null;
+
+ mapControl.RemoveAllData();
}
protected override void Dispose(bool disposing)
{
backgroundDataObserver.Dispose();
+ if (disposing)
+ {
+ components?.Dispose();
+ }
+
base.Dispose(disposing);
}
private void OnBackgroundDataUpdated()
{
- if (backgroundData.Configuration is WmtsBackgroundDataConfiguration && BackgroundMapData is WmtsMapData
- || backgroundData.Configuration is WellKnownBackgroundDataConfiguration && BackgroundMapData is WellKnownTileSourceMapData)
+ if (backgroundData.Configuration is WmtsBackgroundDataConfiguration && mapControl.BackgroundMapData is WmtsMapData
+ || backgroundData.Configuration is WellKnownBackgroundDataConfiguration && mapControl.BackgroundMapData is WellKnownTileSourceMapData)
{
UpdateBackgroundMapData();
- BackgroundMapData.NotifyObservers();
+ mapControl.BackgroundMapData.NotifyObservers();
}
else
{
- BackgroundMapData = BackgroundDataConverter.ConvertFrom(backgroundData);
+ mapControl.BackgroundMapData = BackgroundDataConverter.ConvertFrom(backgroundData);
}
}
@@ -102,23 +132,23 @@
if (newData.IsConfigured)
{
var newWmtsData = (WmtsMapData) newData;
- ((WmtsMapData) BackgroundMapData).Configure(newWmtsData.SourceCapabilitiesUrl,
- newWmtsData.SelectedCapabilityIdentifier,
- newWmtsData.PreferredFormat);
+ ((WmtsMapData) mapControl.BackgroundMapData).Configure(newWmtsData.SourceCapabilitiesUrl,
+ newWmtsData.SelectedCapabilityIdentifier,
+ newWmtsData.PreferredFormat);
}
else
{
- ((WmtsMapData) BackgroundMapData).RemoveConfiguration();
+ ((WmtsMapData) mapControl.BackgroundMapData).RemoveConfiguration();
}
}
else if (backgroundData.Configuration is WellKnownBackgroundDataConfiguration)
{
- ((WellKnownTileSourceMapData) BackgroundMapData).SetTileSource(((WellKnownTileSourceMapData) newData).TileSource);
+ ((WellKnownTileSourceMapData) mapControl.BackgroundMapData).SetTileSource(((WellKnownTileSourceMapData) newData).TileSource);
}
- BackgroundMapData.IsVisible = newData.IsVisible;
- BackgroundMapData.Name = newData.Name;
- BackgroundMapData.Transparency = newData.Transparency;
+ mapControl.BackgroundMapData.IsVisible = newData.IsVisible;
+ mapControl.BackgroundMapData.Name = newData.Name;
+ mapControl.BackgroundMapData.Transparency = newData.Transparency;
}
}
}
\ No newline at end of file