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