Index: Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/LogNormalDistributionVariationProperties.cs =================================================================== diff -u -r9ee17a39e4ba653cfc2e1a576f0ac53dcdf8a7dc -r9050ad5f3a80e630b2fcc092942a40d6343286a0 --- Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/LogNormalDistributionVariationProperties.cs (.../LogNormalDistributionVariationProperties.cs) (revision 9ee17a39e4ba653cfc2e1a576f0ac53dcdf8a7dc) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/LogNormalDistributionVariationProperties.cs (.../LogNormalDistributionVariationProperties.cs) (revision 9050ad5f3a80e630b2fcc092942a40d6343286a0) @@ -20,10 +20,8 @@ // All rights reserved. using System; -using System.ComponentModel; using Core.Common.Base; using Core.Common.Base.Data; -using Core.Common.Gui.Attributes; using Core.Common.Gui.PropertyBag; using Core.Common.Utils.Attributes; using Ringtoets.Common.Data.Probabilistics; @@ -32,25 +30,36 @@ namespace Ringtoets.Common.Forms.PropertyClasses { /// - /// An implementation for - /// properties that displays variation coefficient. + /// An implementation for . /// - public class LogNormalDistributionVariationProperties : LogNormalDistributionProperties, IDistributionVariationCoefficient + public class LogNormalDistributionVariationProperties : VariationCoefficientDistributionPropertiesBase { /// /// Creates a new read-only instance of . /// - public LogNormalDistributionVariationProperties() : this(null, DistributionPropertiesReadOnly.All) {} + public LogNormalDistributionVariationProperties() : this(VariationCoefficientDistributionPropertiesReadOnly.All, null) {} /// /// Creates a new instance of . /// - /// Object to notify upon change. - /// Sets if and/or - /// should be marked read-only. - public LogNormalDistributionVariationProperties(IObservable observerable, DistributionPropertiesReadOnly propertiesReadOnly) - : base(observerable, propertiesReadOnly) {} + /// Indicates which properties, if any, should be + /// marked as read-only. + /// The object to be notified of changes to properties. + /// Can be null if all properties are marked as read-only by . + /// Thrown when + /// is null and any number of properties in this class is editable. + public LogNormalDistributionVariationProperties(VariationCoefficientDistributionPropertiesReadOnly propertiesReadOnly, IObservable observable) + : base(propertiesReadOnly, observable) {} + public override string DistributionType + { + get + { + return Resources.DistributionType_LogNormal; + } + } + + [ResourcesDescription(typeof(Resources), "LogNormalDistribution_Mean_Description")] public override RoundedDouble Mean { get @@ -59,49 +68,21 @@ } set { - var variationCoefficient = data.GetVariationCoefficient(); - - SetMean(value); - if (!double.IsInfinity(variationCoefficient)) - { - data.SetStandardDeviationFromVariationCoefficient(variationCoefficient); - Observerable.NotifyObservers(); - } + base.Mean = value; } } - [Browsable(false)] - public override RoundedDouble StandardDeviation { get; set; } - - [PropertyOrder(3)] - [DynamicReadOnly] - [ResourcesDisplayName(typeof(Resources), "Distribution_VariationCoefficient_DisplayName")] [ResourcesDescription(typeof(Resources), "LogNormalDistribution_VariationCoefficient_Description")] - public RoundedDouble VariationCoefficient + public override RoundedDouble CoefficientOfVariation { get { - return data.GetVariationCoefficient(); + return base.CoefficientOfVariation; } set { - if (IsVariationCoefficientReadOnly) - { - throw new ArgumentException("Variation coefficient is set to be read-only."); - } - if (Observerable == null) - { - throw new ArgumentException("No observerable object set."); - } - data.SetStandardDeviationFromVariationCoefficient(value); - Observerable.NotifyObservers(); + base.CoefficientOfVariation = value; } } - - public override string ToString() - { - return data == null ? Resources.Distribution_VariationCoefficient_DisplayName : - string.Format("{0} ({1} = {2})", Mean, Resources.Distribution_VariationCoefficient_DisplayName, VariationCoefficient); - } } } \ No newline at end of file