예제 #1
0
 /// <summary>
 /// Creates a new instance of <see cref="PipingCalculationRow"/>.
 /// </summary>
 /// <param name="calculationScenario">The <see cref="IPipingCalculationScenario{TPipingInput}"/> this row contains.</param>
 /// <param name="calculationType">The description of the type of calculation scenario that is presented in the row.</param>
 /// <param name="handler">The handler responsible for handling effects of a property change.</param>
 /// <exception cref="ArgumentNullException">Thrown when <paramref name="calculationScenario"/> or
 /// <paramref name="handler"/> is <c>null</c>.</exception>
 internal PipingCalculationRow(IPipingCalculationScenario <PipingInput> calculationScenario,
                               string calculationType,
                               IObservablePropertyChangeHandler handler)
     : base(calculationScenario, handler)
 {
     CalculationType = calculationType;
 }
예제 #2
0
 /// <summary>
 /// Creates a new <see cref="DesignVariableProperties{TDistribution}"/>.
 /// </summary>
 /// <param name="readOnlyProperties">Indicates which properties, if any, should be marked as read-only.</param>
 /// <param name="designVariable">The data of the <see cref="TDistribution"/> to create the properties for.</param>
 /// <param name="handler">The handler responsible for handling effects of a property change.</param>
 /// <exception cref="ArgumentNullException">Thrown when <paramref name="designVariable"/> is <c>null</c>.</exception>
 /// <exception cref="ArgumentException">Thrown when any number of properties in this class is editable and the
 /// <paramref name="handler"/> is <c>null</c>.</exception>
 protected DesignVariableProperties(DistributionReadOnlyProperties readOnlyProperties,
                                    DesignVariable <TDistribution> designVariable,
                                    IObservablePropertyChangeHandler handler)
     : base(readOnlyProperties, GetDistribution(designVariable), handler)
 {
     DesignVariable = designVariable;
 }
        /// <summary>
        /// Creates a new instance of <see cref="ClosingStructuresCalculationRow"/>.
        /// </summary>
        /// <param name="calculationScenario">The <see cref="StructuresCalculationScenario{ClosingStructuresInput}"/> this row contains.</param>
        /// <param name="handler">The handler responsible for handling effects of a property change.</param>
        /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception>
        internal ClosingStructuresCalculationRow(StructuresCalculationScenario <ClosingStructuresInput> calculationScenario,
                                                 IObservablePropertyChangeHandler handler)
            : base(calculationScenario, handler)
        {
            ColumnStateDefinitions = new Dictionary <int, DataGridViewColumnStateDefinition>
            {
                {
                    useBreakWaterColumnIndex, new DataGridViewColumnStateDefinition()
                },
                {
                    breakWaterTypeColumnIndex, new DataGridViewColumnStateDefinition()
                },
                {
                    breakWaterHeightColumnIndex, new DataGridViewColumnStateDefinition()
                },
                {
                    useForeshoreColumnIndex, new DataGridViewColumnStateDefinition()
                },
                {
                    meanInsideWaterLevelColumnIndex, new DataGridViewColumnStateDefinition()
                }
            };

            UpdateUseBreakWaterColumnStateDefinitions();
            UpdateBreakWaterTypeAndHeightColumnStateDefinitions();
            UpdateUseForeshoreColumnStateDefinitions();
            UpdateMeanInsideWaterLevelColumnStateDefinitions();
        }
 public void SetUp()
 {
     mockRepository    = new MockRepository();
     handler           = mockRepository.Stub <IObservablePropertyChangeHandler>();
     assessmentSection = mockRepository.Stub <IAssessmentSection>();
     failureMechanism  = mockRepository.Stub <IFailureMechanism>();
 }
예제 #5
0
        /// <summary>
        /// Creates a new instance of <see cref="MacroStabilityInwardsWaterStressesProperties"/>.
        /// </summary>
        /// <param name="data">The data of the properties.</param>
        /// <param name="generalInput">General calculation parameters that are the same across all calculations.</param>
        /// <param name="assessmentLevel">The assessment level at stake.</param>
        /// <param name="propertyChangeHandler">The handler responsible for handling effects of a property change.</param>
        /// <exception cref="ArgumentNullException">Thrown when <paramref name="data"/>, <paramref name="generalInput"/>
        /// or <paramref name="propertyChangeHandler"/> is <c>null</c>.</exception>
        public MacroStabilityInwardsWaterStressesProperties(MacroStabilityInwardsInput data,
                                                            GeneralMacroStabilityInwardsInput generalInput,
                                                            RoundedDouble assessmentLevel,
                                                            IObservablePropertyChangeHandler propertyChangeHandler)
        {
            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            if (generalInput == null)
            {
                throw new ArgumentNullException(nameof(generalInput));
            }

            if (propertyChangeHandler == null)
            {
                throw new ArgumentNullException(nameof(propertyChangeHandler));
            }

            this.data                  = data;
            this.generalInput          = generalInput;
            this.assessmentLevel       = assessmentLevel;
            this.propertyChangeHandler = propertyChangeHandler;
        }
 /// <summary>
 /// Creates a new instance of <see cref="VariationCoefficientLogNormalDistributionProperties"/>.
 /// </summary>
 /// <param name="readOnlyProperties">Indicates which properties, if any, should be
 /// marked as read-only.</param>
 /// <param name="distribution">The <see cref="VariationCoefficientLogNormalDistribution"/> to create the properties for.</param>
 /// <param name="handler">Optional handler that is used to handle property changes.</param>
 /// <exception cref="ArgumentNullException">Thrown when <paramref name="distribution"/> is <c>null</c>.</exception>
 /// <exception cref="ArgumentException">Thrown when any number of properties in this class is editable and the
 /// <paramref name="handler"/> is <c>null</c>.</exception>
 public VariationCoefficientLogNormalDistributionProperties(
     VariationCoefficientDistributionReadOnlyProperties readOnlyProperties,
     VariationCoefficientLogNormalDistribution distribution,
     IObservablePropertyChangeHandler handler)
     : base(readOnlyProperties, distribution, handler)
 {
 }
 /// <summary>
 /// Creates a new <see cref="VariationCoefficientDesignVariableProperties{TDistribution}"/>.
 /// </summary>
 /// <param name="readOnlyProperties">Indicates which properties, if any, should be marked as read-only.</param>
 /// <param name="designVariable">The data of the <see cref="TDistribution"/> to create the properties for.</param>
 /// <param name="handler">The handler responsible for handling effects of a property change.</param>
 /// <exception cref="ArgumentNullException">Thrown when <paramref name="designVariable"/> is <c>null</c>.</exception>
 /// <exception cref="ArgumentException">Thrown when any number of properties in this class is editable and the
 /// <paramref name="handler"/> is <c>null</c>.</exception>
 protected VariationCoefficientDesignVariableProperties(VariationCoefficientDistributionReadOnlyProperties readOnlyProperties,
                                                        VariationCoefficientDesignVariable <TDistribution> designVariable,
                                                        IObservablePropertyChangeHandler handler)
     : base(readOnlyProperties, GetDistribution(designVariable), handler)
 {
     this.designVariable = designVariable;
 }
 /// <summary>
 /// Creates a new instance of <see cref="NormalDistributionProperties"/>.
 /// </summary>
 /// <param name="readOnlyProperties">Indicates which properties, if any, should be
 /// marked as read-only.</param>
 /// <param name="distribution">The <see cref="NormalDistribution"/> to create the properties for.</param>
 /// <param name="handler">Optional handler that is used to handle property changes.</param>
 /// <exception cref="ArgumentNullException">Thrown when <paramref name="distribution"/> is <c>null</c>.</exception>
 /// <exception cref="ArgumentException">Thrown when any number of properties in this class is editable and the
 /// <paramref name="handler"/> is <c>null</c>.</exception>
 public NormalDistributionProperties(
     DistributionReadOnlyProperties readOnlyProperties,
     NormalDistribution distribution,
     IObservablePropertyChangeHandler handler) :
     base(readOnlyProperties, distribution, handler)
 {
 }
예제 #9
0
 /// <summary>
 /// Creates a new <see cref="LogNormalDistributionDesignVariableProperties"/>.
 /// </summary>
 /// <param name="readOnlyProperties">Indicates which properties, if any, should be marked as read-only.</param>
 /// <param name="designVariable">The <see cref="DesignVariable{T}"/> to create the properties for.</param>
 /// <param name="handler">The handler responsible for handling effects of a property change.</param>
 /// <exception cref="ArgumentNullException">Thrown when <paramref name="designVariable"/> is <c>null</c>.</exception>
 /// <exception cref="ArgumentException">Thrown when any number of properties in this class is editable and the
 /// <paramref name="handler"/> is <c>null</c>.</exception>
 public LogNormalDistributionDesignVariableProperties(DistributionReadOnlyProperties readOnlyProperties,
                                                      DesignVariable <LogNormalDistribution> designVariable,
                                                      IObservablePropertyChangeHandler handler)
     : base(readOnlyProperties,
            designVariable,
            handler)
 {
 }
예제 #10
0
 /// <summary>
 /// Creates a new <see cref="VariationCoefficientLogNormalDistributionDesignVariableProperties"/>.
 /// </summary>
 /// <param name="readOnlyProperties">Indicates which properties, if any, should be marked as read-only.</param>
 /// <param name="designVariable">The <see cref="DesignVariable{T}"/> to create the properties for.</param>
 /// <param name="handler">The handler responsible for handling effects of a property change.</param>
 /// <exception cref="ArgumentNullException">Thrown when <paramref name="designVariable"/> is <c>null</c>.</exception>
 /// <exception cref="ArgumentException">Thrown when any number of properties in this class is editable and the
 /// <paramref name="handler"/> is <c>null</c>.</exception>
 public VariationCoefficientLogNormalDistributionDesignVariableProperties(VariationCoefficientDistributionReadOnlyProperties readOnlyProperties,
                                                                          VariationCoefficientDesignVariable <VariationCoefficientLogNormalDistribution> designVariable,
                                                                          IObservablePropertyChangeHandler handler)
     : base(readOnlyProperties,
            designVariable,
            handler)
 {
 }
예제 #11
0
        /// <summary>
        /// Creates a new instance of <see cref="WaveHeightCalculationsForUserDefinedTargetProbabilityProperties"/>.
        /// </summary>
        /// <param name="calculationsForTargetProbability">The <see cref="HydraulicBoundaryLocationCalculationsForTargetProbability"/> to show the properties for.</param>
        /// <param name="targetProbabilityChangeHandler">The <see cref="IObservablePropertyChangeHandler"/> for when the target probability changes.</param>
        /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception>
        public WaveHeightCalculationsForUserDefinedTargetProbabilityProperties(HydraulicBoundaryLocationCalculationsForTargetProbability calculationsForTargetProbability,
                                                                               IObservablePropertyChangeHandler targetProbabilityChangeHandler)
            : base(calculationsForTargetProbability?.HydraulicBoundaryLocationCalculations ?? throw new ArgumentNullException(nameof(calculationsForTargetProbability)))
        {
            if (targetProbabilityChangeHandler == null)
            {
                throw new ArgumentNullException(nameof(targetProbabilityChangeHandler));
            }

            this.calculationsForTargetProbability = calculationsForTargetProbability;
            this.targetProbabilityChangeHandler   = targetProbabilityChangeHandler;
        }
예제 #12
0
        /// <summary>
        /// Creates a new instance of <see cref="MacroStabilityInwardsGridSettingsProperties"/>.
        /// </summary>
        /// <param name="data">The data of the properties.</param>
        /// <param name="handler">The handler responsible for handling effects of a property change.</param>
        /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception>
        public MacroStabilityInwardsSlipPlaneSettingsProperties(MacroStabilityInwardsInput data, IObservablePropertyChangeHandler handler)
        {
            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            if (handler == null)
            {
                throw new ArgumentNullException(nameof(handler));
            }

            Data = data;
            propertyChangeHandler = handler;
        }
예제 #13
0
        /// <summary>
        /// Creates a new instance of <see cref="MacroStabilityInwardsLocationInputOffsetProperties"/>.
        /// </summary>
        /// <param name="data">The data of the properties.</param>
        /// <param name="handler">The handler responsible for handling effects of a property change.</param>
        /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception>
        public MacroStabilityInwardsLocationInputOffsetProperties(MacroStabilityInwardsLocationInputBase data, IObservablePropertyChangeHandler handler)
        {
            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            if (handler == null)
            {
                throw new ArgumentNullException(nameof(handler));
            }

            this.data             = data;
            propertyChangeHandler = handler;
        }
예제 #14
0
        /// <summary>
        /// Creates a new instance of <see cref="CalculationRow{TCalculation}"/>.
        /// </summary>
        /// <param name="calculation">The <see cref="ICalculation"/> this row contains.</param>
        /// <param name="propertyChangeHandler">The handler responsible for handling effects of a property change.</param>
        /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception>
        protected CalculationRow(TCalculation calculation, IObservablePropertyChangeHandler propertyChangeHandler)
        {
            if (calculation == null)
            {
                throw new ArgumentNullException(nameof(calculation));
            }

            if (propertyChangeHandler == null)
            {
                throw new ArgumentNullException(nameof(propertyChangeHandler));
            }

            Calculation           = calculation;
            PropertyChangeHandler = propertyChangeHandler;
        }
예제 #15
0
        /// <summary>
        /// Creates a new instance of <see cref="MacroStabilityInwardsGridProperties"/>.
        /// </summary>
        /// <param name="data">The data of the properties.</param>
        /// <param name="handler">The handler responsible for handling effects of a property change.</param>
        /// <param name="isReadOnly">Indicates whether the properties are read only.</param>
        /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception>
        public MacroStabilityInwardsGridProperties(MacroStabilityInwardsGrid data, IObservablePropertyChangeHandler handler, bool isReadOnly)
        {
            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            if (handler == null)
            {
                throw new ArgumentNullException(nameof(handler));
            }

            this.data             = data;
            propertyChangeHandler = handler;
            this.isReadOnly       = isReadOnly;
        }
        /// <summary>
        /// Creates a new instance of <see cref="GrassCoverErosionInwardsInputContextProperties"/>.
        /// </summary>
        /// <param name="data">The instance to show the properties for.</param>
        /// <param name="handler">The handler responsible for handling effects of a property change.</param>
        /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception>
        public GrassCoverErosionInwardsInputContextProperties(GrassCoverErosionInwardsInputContext data,
                                                              IObservablePropertyChangeHandler handler)
        {
            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            if (handler == null)
            {
                throw new ArgumentNullException(nameof(handler));
            }

            Data = data;
            propertyChangeHandler = handler;
        }
예제 #17
0
        /// <summary>
        /// Creates a new instance of <see cref="ProbabilisticPipingInputContextProperties"/>.
        /// </summary>
        /// <param name="data">The instance to show the properties for.</param>
        /// <param name="propertyChangeHandler">The handler responsible for handling effects of a property change.</param>
        /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception>
        public ProbabilisticPipingInputContextProperties(ProbabilisticPipingInputContext data,
                                                         IObservablePropertyChangeHandler propertyChangeHandler)
        {
            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            if (propertyChangeHandler == null)
            {
                throw new ArgumentNullException(nameof(propertyChangeHandler));
            }

            Data = data;

            this.propertyChangeHandler = propertyChangeHandler;
        }
예제 #18
0
            public TestCalculationRowWithColumnStateDefinitions(TestCalculation calculation,
                                                                IObservablePropertyChangeHandler propertyChangeHandler,
                                                                bool initialReadOnlyState)
                : base(calculation, propertyChangeHandler)
            {
                ColumnStateDefinitions = new Dictionary <int, DataGridViewColumnStateDefinition>
                {
                    {
                        nameColumnIndex, new DataGridViewColumnStateDefinition()
                    },
                    {
                        selectableHydraulicBoundaryLocationsColumnIndex, new DataGridViewColumnStateDefinition()
                    }
                };

                SetReadOnlyState(initialReadOnlyState);
            }
예제 #19
0
        /// <summary>
        /// Creates a new instance of <see cref="UseBreakWaterProperties"/>in which the
        /// properties are editable.
        /// </summary>
        /// <param name="useBreakWaterData">The data to use for the properties.</param>
        /// <param name="handler">Optional handler that is used to handle property changes.</param>
        /// <exception cref="ArgumentNullException">Thrown when any input parameter is <c>null</c>.</exception>
        public UseBreakWaterProperties(
            IUseBreakWater useBreakWaterData,
            IObservablePropertyChangeHandler handler)
        {
            if (useBreakWaterData == null)
            {
                throw new ArgumentNullException(nameof(useBreakWaterData));
            }

            if (handler == null)
            {
                throw new ArgumentNullException(nameof(handler));
            }

            data          = useBreakWaterData;
            changeHandler = handler;
        }
예제 #20
0
        /// <summary>
        /// Creates a new instance of <see cref="DistributionPropertiesBase{TDistribution}"/>.
        /// </summary>
        /// <param name="readOnlyProperties">Indicates which properties, if any, should be marked as read-only.</param>
        /// <param name="distribution">The <see cref="TDistribution"/> to create the properties for.</param>
        /// <param name="handler">The handler responsible for handling effects of a property change.</param>
        /// <exception cref="ArgumentNullException">Thrown when <paramref name="distribution"/> is <c>null</c>.</exception>
        /// <exception cref="ArgumentException">Thrown when any number of properties in this class is editable and the
        /// <paramref name="handler"/> is <c>null</c>.</exception>
        protected DistributionPropertiesBase(DistributionReadOnlyProperties readOnlyProperties,
                                             TDistribution distribution,
                                             IObservablePropertyChangeHandler handler)
        {
            if (distribution == null)
            {
                throw new ArgumentNullException(nameof(distribution));
            }

            if (!readOnlyProperties.HasFlag(DistributionReadOnlyProperties.All) &&
                handler == null)
            {
                throw new ArgumentException(@"Change handler required if changes are possible.", nameof(handler));
            }

            Data = distribution;

            isMeanReadOnly = readOnlyProperties.HasFlag(DistributionReadOnlyProperties.Mean);
            isStandardDeviationReadOnly = readOnlyProperties.HasFlag(DistributionReadOnlyProperties.StandardDeviation);

            changeHandler = handler;
        }
예제 #21
0
        /// <summary>
        /// Creates a new instance of <see cref="DuneLocationCalculationsForUserDefinedTargetProbabilityProperties"/>.
        /// </summary>
        /// <param name="calculationsForTargetProbability">The <see cref="DuneLocationCalculationsForTargetProbability"/> to show the properties for.</param>
        /// <param name="targetProbabilityChangeHandler">The <see cref="IObservablePropertyChangeHandler"/> for when the target probability changes.</param>
        /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception>
        public DuneLocationCalculationsForUserDefinedTargetProbabilityProperties(DuneLocationCalculationsForTargetProbability calculationsForTargetProbability,
                                                                                 IObservablePropertyChangeHandler targetProbabilityChangeHandler)
        {
            if (calculationsForTargetProbability == null)
            {
                throw new ArgumentNullException(nameof(calculationsForTargetProbability));
            }

            if (targetProbabilityChangeHandler == null)
            {
                throw new ArgumentNullException(nameof(targetProbabilityChangeHandler));
            }

            Data = calculationsForTargetProbability;

            this.targetProbabilityChangeHandler = targetProbabilityChangeHandler;

            calculationsObserver = new RecursiveObserver <IObservableEnumerable <DuneLocationCalculation>, DuneLocationCalculation>(OnRefreshRequired, list => list)
            {
                Observable = calculationsForTargetProbability.DuneLocationCalculations
            };
        }
예제 #22
0
        /// <summary>
        /// Creates a new instance of <see cref="StabilityPointStructuresCalculationRow"/>.
        /// </summary>
        /// <param name="calculationScenario">The <see cref="StructuresCalculationScenario{StabilityPointStructuresInput}"/> this row contains.</param>
        /// <param name="handler">The handler responsible for handling effects of a property change.</param>
        /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception>
        internal StabilityPointStructuresCalculationRow(StructuresCalculationScenario <StabilityPointStructuresInput> calculationScenario,
                                                        IObservablePropertyChangeHandler handler)
            : base(calculationScenario, handler)
        {
            ColumnStateDefinitions = new Dictionary <int, DataGridViewColumnStateDefinition>
            {
                {
                    useBreakWaterColumnIndex, new DataGridViewColumnStateDefinition()
                },
                {
                    breakWaterTypeColumnIndex, new DataGridViewColumnStateDefinition()
                },
                {
                    breakWaterHeightColumnIndex, new DataGridViewColumnStateDefinition()
                },
                {
                    useForeshoreColumnIndex, new DataGridViewColumnStateDefinition()
                },
                {
                    constructiveStrengthLinearLoadModelColumnIndex, new DataGridViewColumnStateDefinition()
                },
                {
                    constructiveStrengthQuadraticLoadModelColumnIndex, new DataGridViewColumnStateDefinition()
                },
                {
                    stabilityLinearLoadModelColumnIndex, new DataGridViewColumnStateDefinition()
                },
                {
                    stabilityQuadraticLoadModelColumnIndex, new DataGridViewColumnStateDefinition()
                }
            };

            UpdateUseBreakWaterColumnStateDefinitions();
            UpdateBreakWaterTypeAndHeightColumnStateDefinitions();
            UpdateUseForeshoreColumnStateDefinitions();
            UpdateLoadSchematizationColumnStateDefinitions();
        }
        /// <summary>
        /// Creates a new instance of <see cref="WaveConditionsInputContextProperties{TContext,TInput,TCalculationType}"/>.
        /// </summary>
        /// <param name="context">The <see cref="WaveConditionsInputContext{TInput}"/> for which the properties are shown.</param>
        /// <param name="getAssessmentLevelFunc"><see cref="Func{TResult}"/> for obtaining the assessment level.</param>
        /// <param name="propertyChangeHandler">The handler responsible for handling effects of a property change.</param>
        /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception>
        protected WaveConditionsInputContextProperties(TContext context,
                                                       Func <RoundedDouble> getAssessmentLevelFunc,
                                                       IObservablePropertyChangeHandler propertyChangeHandler)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            if (getAssessmentLevelFunc == null)
            {
                throw new ArgumentNullException(nameof(getAssessmentLevelFunc));
            }

            if (propertyChangeHandler == null)
            {
                throw new ArgumentNullException(nameof(propertyChangeHandler));
            }

            Data = context;

            this.getAssessmentLevelFunc = getAssessmentLevelFunc;
            this.propertyChangeHandler  = propertyChangeHandler;
        }
예제 #24
0
        /// <summary>
        /// Creates a new instance of <see cref="MacroStabilityInwardsInputContextProperties"/>.
        /// </summary>
        /// <param name="data">The instance to show the properties for.</param>
        /// <param name="getNormativeAssessmentLevelFunc"><see cref="Func{TResult}"/> for obtaining the normative assessment level.</param>
        /// <param name="propertyChangeHandler">The handler responsible for handling effects of a property change.</param>
        /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception>
        public MacroStabilityInwardsInputContextProperties(MacroStabilityInwardsInputContext data,
                                                           Func <RoundedDouble> getNormativeAssessmentLevelFunc,
                                                           IObservablePropertyChangeHandler propertyChangeHandler)
        {
            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            if (getNormativeAssessmentLevelFunc == null)
            {
                throw new ArgumentNullException(nameof(getNormativeAssessmentLevelFunc));
            }

            if (propertyChangeHandler == null)
            {
                throw new ArgumentNullException(nameof(this.propertyChangeHandler));
            }

            Data = data;

            this.getNormativeAssessmentLevelFunc = getNormativeAssessmentLevelFunc;
            this.propertyChangeHandler           = propertyChangeHandler;
        }
        /// <summary>
        /// Creates a new instance of <see cref="GrassCoverErosionInwardsCalculationRow"/>.
        /// </summary>
        /// <param name="calculationScenario">The <see cref="GrassCoverErosionInwardsCalculationScenario"/> this row contains.</param>
        /// <param name="handler">The handler responsible for handling effects of a property change.</param>
        /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception>
        internal GrassCoverErosionInwardsCalculationRow(GrassCoverErosionInwardsCalculationScenario calculationScenario,
                                                        IObservablePropertyChangeHandler handler) :
            base(calculationScenario, handler)
        {
            ColumnStateDefinitions = new Dictionary <int, DataGridViewColumnStateDefinition>
            {
                {
                    useBreakWaterColumnIndex, new DataGridViewColumnStateDefinition()
                },
                {
                    breakWaterTypeColumnIndex, new DataGridViewColumnStateDefinition()
                },
                {
                    breakWaterHeightColumnIndex, new DataGridViewColumnStateDefinition()
                },
                {
                    useForeshoreColumnIndex, new DataGridViewColumnStateDefinition()
                }
            };

            UpdateUseBreakWaterColumnStateDefinitions();
            UpdateBreakWaterTypeAndHeightColumnStateDefinitions();
            UpdateUseForeshoreColumnStateDefinitions();
        }
예제 #26
0
 /// <summary>
 /// Creates a new instance of the <see cref="StabilityPointStructuresInputContextProperties"/> class.
 /// </summary>
 /// <param name="data">The instance to show the properties of.</param>
 /// <param name="propertyChangeHandler">The handler responsible for handling effects of a property change.</param>
 /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception>
 public StabilityPointStructuresInputContextProperties(StabilityPointStructuresInputContext data, IObservablePropertyChangeHandler propertyChangeHandler)
     : base(data, new ConstructionProperties
 {
     StructurePropertyIndex                              = structurePropertyIndex,
     StructureLocationPropertyIndex                      = structureLocationPropertyIndex,
     StructureNormalOrientationPropertyIndex             = structureNormalOrientationPropertyIndex,
     FlowWidthAtBottomProtectionPropertyIndex            = flowWidthAtBottomProtectionPropertyIndex,
     WidthFlowAperturesPropertyIndex                     = widthFlowAperturesPropertyIndex,
     StorageStructureAreaPropertyIndex                   = storageStructureAreaPropertyIndex,
     AllowedLevelIncreaseStoragePropertyIndex            = allowedLevelIncreaseStoragePropertyIndex,
     CriticalOvertoppingDischargePropertyIndex           = criticalOvertoppingDischargePropertyIndex,
     FailureProbabilityStructureWithErosionPropertyIndex = failureProbabilityStructureWithErosionPropertyIndex,
     ForeshoreProfilePropertyIndex                       = foreshoreProfilePropertyIndex,
     UseBreakWaterPropertyIndex                          = useBreakWaterPropertyIndex,
     UseForeshorePropertyIndex                           = useForeshorePropertyIndex,
     HydraulicBoundaryLocationPropertyIndex              = hydraulicBoundaryLocationPropertyIndex,
     StormDurationPropertyIndex                          = stormDurationPropertyIndex
 }, propertyChangeHandler)
 {
 }
 public TestMacroStabilityInwardsLocationProperties(MacroStabilityInwardsLocationInputBase data,
                                                    IObservablePropertyChangeHandler handler)
     : base(data, handler)
 {
 }
예제 #28
0
        /// <summary>
        /// Changes the property value using the <paramref name="setPropertyDelegate"/> and then notifies the observers of the objects
        /// that were affected by the change.
        /// </summary>
        /// <param name="setPropertyDelegate">The property change action.</param>
        /// <param name="changeHandler">The handler which is responsible for determining changes due to the property change.</param>
        /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception>
        public static void ChangePropertyAndNotify(SetObservablePropertyValueDelegate setPropertyDelegate, IObservablePropertyChangeHandler changeHandler)
        {
            if (setPropertyDelegate == null)
            {
                throw new ArgumentNullException(nameof(setPropertyDelegate));
            }

            if (changeHandler == null)
            {
                throw new ArgumentNullException(nameof(changeHandler));
            }

            IEnumerable <IObservable> affectedObjects = changeHandler.SetPropertyValueAfterConfirmation(setPropertyDelegate);

            NotifyAffectedObjects(affectedObjects);
        }
 public SimpleStructuresInputProperties(SimpleInputContext context,
                                        ConstructionProperties constructionProperties,
                                        IObservablePropertyChangeHandler handler)
     : base(context, constructionProperties, handler)
 {
 }
예제 #30
0
 /// <summary>
 /// Creates a new instance of <see cref="GrassCoverErosionOutwardsWaveConditionsInputContextProperties"/>.
 /// </summary>
 /// <param name="context">The <see cref="GrassCoverErosionOutwardsWaveConditionsInputContext"/> for which
 /// the properties are shown.</param>
 /// <param name="getAssessmentLevelFunc"><see cref="Func{TResult}"/> for obtaining the assessment level.</param>
 /// <param name="propertyChangeHandler">The handler responsible for handling effects of a property change.</param>
 /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception>
 public GrassCoverErosionOutwardsWaveConditionsInputContextProperties(GrassCoverErosionOutwardsWaveConditionsInputContext context,
                                                                      Func <RoundedDouble> getAssessmentLevelFunc,
                                                                      IObservablePropertyChangeHandler propertyChangeHandler)
     : base(context, getAssessmentLevelFunc, propertyChangeHandler)
 {
 }