Index: Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/StructuresInputBaseProperties.cs =================================================================== diff -u -re6cb95313c163aebfb0f01470855068785ce61bb -rf3c7ae4cc9069268dba97e9dd691bf449fa393db --- Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/StructuresInputBaseProperties.cs (.../StructuresInputBaseProperties.cs) (revision e6cb95313c163aebfb0f01470855068785ce61bb) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/StructuresInputBaseProperties.cs (.../StructuresInputBaseProperties.cs) (revision f3c7ae4cc9069268dba97e9dd691bf449fa393db) @@ -349,6 +349,7 @@ } } + [DynamicReadOnly] [DynamicPropertyOrder] [ResourcesCategory(typeof(Resources), nameof(Resources.Categories_Schematization))] [ResourcesDisplayName(typeof(Resources), nameof(Resources.Structure_StructureNormalOrientation_DisplayName))] @@ -375,7 +376,9 @@ get { return new LogNormalDistributionProperties( - DistributionPropertiesReadOnly.None, + HasStructure() + ? DistributionPropertiesReadOnly.None + : DistributionPropertiesReadOnly.All, data.WrappedData.FlowWidthAtBottomProtection, PropertyChangeHandler); } @@ -391,7 +394,9 @@ get { return new NormalDistributionProperties( - DistributionPropertiesReadOnly.None, + HasStructure() + ? DistributionPropertiesReadOnly.None + : DistributionPropertiesReadOnly.All, data.WrappedData.WidthFlowApertures, PropertyChangeHandler); } @@ -407,7 +412,9 @@ get { return new VariationCoefficientLogNormalDistributionProperties( - VariationCoefficientDistributionPropertiesReadOnly.None, + HasStructure() + ? VariationCoefficientDistributionPropertiesReadOnly.None + : VariationCoefficientDistributionPropertiesReadOnly.All, data.WrappedData.StorageStructureArea, PropertyChangeHandler); } @@ -423,7 +430,9 @@ get { return new LogNormalDistributionProperties( - DistributionPropertiesReadOnly.None, + HasStructure() + ? DistributionPropertiesReadOnly.None + : DistributionPropertiesReadOnly.All, data.WrappedData.AllowedLevelIncreaseStorage, PropertyChangeHandler); } @@ -439,7 +448,9 @@ get { return new VariationCoefficientLogNormalDistributionProperties( - VariationCoefficientDistributionPropertiesReadOnly.None, + HasStructure() + ? VariationCoefficientDistributionPropertiesReadOnly.None + : VariationCoefficientDistributionPropertiesReadOnly.All, data.WrappedData.CriticalOvertoppingDischarge, PropertyChangeHandler); } @@ -550,5 +561,21 @@ } #endregion + + protected bool HasStructure() + { + return data.WrappedData.Structure != null; + } + + [DynamicReadOnlyValidationMethod] + public bool IsReadOnly(string property) + { + if (property == nameof(StructureNormalOrientation)) + { + return !HasStructure(); + } + + return false; + } } } \ No newline at end of file