Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsInputView.cs
===================================================================
diff -u -r462a9f89d625ca85e6ce2e2ff628db3d83913b99 -r18a53a9b2a6c09a3af46cb9c023de3f323639f30
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsInputView.cs (.../GrassCoverErosionInwardsInputView.cs) (revision 462a9f89d625ca85e6ce2e2ff628db3d83913b99)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsInputView.cs (.../GrassCoverErosionInwardsInputView.cs) (revision 18a53a9b2a6c09a3af46cb9c023de3f323639f30)
@@ -20,15 +20,20 @@
// All rights reserved.
using System.Windows.Forms;
+using Core.Common.Base;
using Core.Components.Charting.Forms;
+using Ringtoets.GrassCoverErosionInwards.Data;
namespace Ringtoets.GrassCoverErosionInwards.Forms.Views
{
///
/// This class is a view to show the grass cover erosion inwards input.
///
- public partial class GrassCoverErosionInwardsInputView : UserControl, IChartView
+ public partial class GrassCoverErosionInwardsInputView : UserControl, IChartView, IObserver
{
+ private object data;
+ private GrassCoverErosionInwardsCalculation calculation;
+
///
/// Creates a new instance of .
///
@@ -37,14 +42,68 @@
InitializeComponent();
}
- public object Data { get; set; }
+ ///
+ /// Gets or sets the calculation the input belongs to.
+ ///
+ public GrassCoverErosionInwardsCalculation Calculation
+ {
+ get
+ {
+ return calculation;
+ }
+ set
+ {
+ DetachFromData();
+ calculation = value;
+ SetChartTitle();
+ AttachToData();
+ }
+ }
+ public object Data
+ {
+ get
+ {
+ return data;
+ }
+ set
+ {
+ data = value as GrassCoverErosionInwardsInput;
+ }
+ }
+
public IChartControl Chart
{
get
{
return chartControl;
}
}
+
+ public void UpdateObserver()
+ {
+ SetChartTitle();
+ }
+
+ private void SetChartTitle()
+ {
+ chartControl.ChartTitle = calculation != null ? calculation.Name : string.Empty;
+ }
+
+ private void DetachFromData()
+ {
+ if (calculation != null)
+ {
+ calculation.Detach(this);
+ }
+ }
+
+ private void AttachToData()
+ {
+ if (calculation != null)
+ {
+ calculation.Attach(this);
+ }
+ }
}
-}
+}
\ No newline at end of file