Index: Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsCalculationRow.cs =================================================================== diff -u -rb5f55a106a119d827da89d0b47251f5854f080b7 -r8b712b8935477a50d1a008769d6f0f3bc582128a --- Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsCalculationRow.cs (.../GrassCoverErosionInwardsCalculationRow.cs) (revision b5f55a106a119d827da89d0b47251f5854f080b7) +++ Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsCalculationRow.cs (.../GrassCoverErosionInwardsCalculationRow.cs) (revision 8b712b8935477a50d1a008769d6f0f3bc582128a) @@ -40,6 +40,7 @@ /// public class GrassCoverErosionInwardsCalculationRow : CalculationRow, IHasColumnStateDefinitions { + private const int useBreakWaterColumnIndex = 3; private const int breakWaterTypeColumnIndex = 4; private const int breakWaterHeightColumnIndex = 5; private const int useForeshoreColumnIndex = 6; @@ -61,6 +62,7 @@ { ColumnStateDefinitions = new Dictionary(); CreateColumnStateDefinitions(); + UpdateUseBreakWaterColumnStateDefinitions(); UpdateBreakWaterTypeAndHeightColumnStateDefinitions(); UpdateUseForeshoreColumnStateDefinitions(); } @@ -77,6 +79,8 @@ if (!ReferenceEquals(Calculation.InputParameters.DikeProfile, valueToSet)) { PropertyChangeHelper.ChangePropertyAndNotify(() => Calculation.InputParameters.DikeProfile = valueToSet, PropertyChangeHandler); + UpdateUseBreakWaterColumnStateDefinitions(); + UpdateBreakWaterTypeAndHeightColumnStateDefinitions(); DikeProfileChanged?.Invoke(this, EventArgs.Empty); } } @@ -204,6 +208,7 @@ private void CreateColumnStateDefinitions() { + ColumnStateDefinitions.Add(useBreakWaterColumnIndex, new DataGridViewColumnStateDefinition()); ColumnStateDefinitions.Add(breakWaterTypeColumnIndex, new DataGridViewColumnStateDefinition()); ColumnStateDefinitions.Add(breakWaterHeightColumnIndex, new DataGridViewColumnStateDefinition()); ColumnStateDefinitions.Add(useForeshoreColumnIndex, new DataGridViewColumnStateDefinition()); @@ -236,5 +241,18 @@ ColumnStateHelper.EnableColumn(ColumnStateDefinitions[useForeshoreColumnIndex]); } } + + private void UpdateUseBreakWaterColumnStateDefinitions() + { + DikeProfile dikeProfile = Calculation.InputParameters.DikeProfile; + if (dikeProfile == null) + { + ColumnStateHelper.DisableColumn(ColumnStateDefinitions[useBreakWaterColumnIndex]); + } + else + { + ColumnStateHelper.EnableColumn(ColumnStateDefinitions[useBreakWaterColumnIndex]); + } + } } } \ No newline at end of file Index: Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Forms.Test/Views/GrassCoverErosionInwardsCalculationRowTest.cs =================================================================== diff -u -rb5f55a106a119d827da89d0b47251f5854f080b7 -r8b712b8935477a50d1a008769d6f0f3bc582128a --- Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Forms.Test/Views/GrassCoverErosionInwardsCalculationRowTest.cs (.../GrassCoverErosionInwardsCalculationRowTest.cs) (revision b5f55a106a119d827da89d0b47251f5854f080b7) +++ Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Forms.Test/Views/GrassCoverErosionInwardsCalculationRowTest.cs (.../GrassCoverErosionInwardsCalculationRowTest.cs) (revision 8b712b8935477a50d1a008769d6f0f3bc582128a) @@ -44,6 +44,7 @@ [TestFixture] public class GrassCoverErosionInwardsCalculationRowTest { + private const int useBreakWaterColumnIndex = 3; private const int breakWaterTypeColumnIndex = 4; private const int breakWaterHeightColumnIndex = 5; private const int useForeshoreColumnIndex = 6; @@ -67,8 +68,9 @@ Assert.AreSame(calculationScenario, row.Calculation); IDictionary columnStateDefinitions = row.ColumnStateDefinitions; - Assert.AreEqual(3, columnStateDefinitions.Count); + Assert.AreEqual(4, columnStateDefinitions.Count); + DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnStateDefinition(columnStateDefinitions, useBreakWaterColumnIndex); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnStateDefinition(columnStateDefinitions, breakWaterTypeColumnIndex); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnStateDefinition(columnStateDefinitions, breakWaterHeightColumnIndex); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnStateDefinition(columnStateDefinitions, useForeshoreColumnIndex);