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