Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingCalculationRow.cs
===================================================================
diff -u -re182f6f394aa75e739467a77e7bcacd9a8b25429 -rd1801f9195d05454d18a71295e98656ab37ee128
--- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingCalculationRow.cs (.../PipingCalculationRow.cs) (revision e182f6f394aa75e739467a77e7bcacd9a8b25429)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingCalculationRow.cs (.../PipingCalculationRow.cs) (revision d1801f9195d05454d18a71295e98656ab37ee128)
@@ -23,7 +23,7 @@
using System.Globalization;
using Core.Common.Base.Data;
using Core.Common.Controls.DataGrid;
-using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.Common.Forms.UITypeEditors;
using Ringtoets.Piping.Data;
namespace Ringtoets.Piping.Forms.Views
@@ -131,17 +131,21 @@
///
/// Gets or sets the hydraulic boundary location of the .
///
- public DataGridViewComboBoxItemWrapper HydraulicBoundaryLocation
+ public DataGridViewComboBoxItemWrapper SelectableHydraulicBoundaryLocation
{
get
{
- return new DataGridViewComboBoxItemWrapper(pipingCalculation.InputParameters.HydraulicBoundaryLocation);
+ return new DataGridViewComboBoxItemWrapper(
+ new SelectableHydraulicBoundaryLocation(pipingCalculation.InputParameters.HydraulicBoundaryLocation,
+ pipingCalculation.InputParameters.SurfaceLine != null
+ ? pipingCalculation.InputParameters.SurfaceLine.ReferenceLineIntersectionWorldPoint
+ : null));
}
set
{
- pipingCalculation.InputParameters.HydraulicBoundaryLocation = value != null
- ? value.WrappedObject
- : null;
+ pipingCalculation.InputParameters.HydraulicBoundaryLocation = value == null || value.WrappedObject == null
+ ? null
+ : value.WrappedObject.HydraulicBoundaryLocation;
pipingCalculation.InputParameters.NotifyObservers();
}
Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingCalculationsView.cs
===================================================================
diff -u -r35736e566f1d9c04eda094b3a6da4180f647c2f3 -rd1801f9195d05454d18a71295e98656ab37ee128
--- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingCalculationsView.cs (.../PipingCalculationsView.cs) (revision 35736e566f1d9c04eda094b3a6da4180f647c2f3)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingCalculationsView.cs (.../PipingCalculationsView.cs) (revision d1801f9195d05454d18a71295e98656ab37ee128)
@@ -33,9 +33,11 @@
using Ringtoets.Common.Data.FailureMechanism;
using Ringtoets.Common.Data.Hydraulics;
using Ringtoets.Common.Forms.Helpers;
+using Ringtoets.Common.Forms.UITypeEditors;
using Ringtoets.Piping.Data;
using Ringtoets.Piping.Forms.PresentationObjects;
using Ringtoets.Piping.Forms.Properties;
+using Ringtoets.Piping.Primitives;
using Ringtoets.Piping.Service;
using CoreCommonControlsResources = Core.Common.Controls.Properties.Resources;
@@ -48,7 +50,7 @@
{
private const int stochasticSoilModelColumnIndex = 1;
private const int stochasticSoilProfileColumnIndex = 2;
- private const int hydraulicBoundaryLocationColumnIndex = 4;
+ private const int selectableHydraulicBoundaryLocationColumnIndex = 4;
private readonly Observer assessmentSectionObserver;
private readonly RecursiveObserver pipingInputObserver;
private readonly RecursiveObserver pipingCalculationGroupObserver;
@@ -74,7 +76,7 @@
pipingStochasticSoilModelsObserver = new Observer(OnStochasticSoilModelsUpdate);
pipingFailureMechanismObserver = new Observer(OnPipingFailureMechanismUpdate);
- assessmentSectionObserver = new Observer(UpdateHydraulicBoundaryLocationsColumn);
+ assessmentSectionObserver = new Observer(UpdateSelectableHydraulicBoundaryLocationsColumn);
// The concat is needed to observe the input of calculations in child groups.
pipingInputObserver = new RecursiveObserver(UpdateDataGridViewDataSource, pcg => pcg.Children.Concat