Index: Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.Designer.cs
===================================================================
diff -u -r88b53a8d5ebad04e8fb9dd1c240078bdd9904c6f -r77e3b60549930fa1846e5bc11fd5d17af5c35a91
--- Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 88b53a8d5ebad04e8fb9dd1c240078bdd9904c6f)
+++ Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 77e3b60549930fa1846e5bc11fd5d17af5c35a91)
@@ -1,4 +1,4 @@
-// Copyright (C) Stichting Deltares 2021. All rights reserved.
+// Copyright (C) Stichting Deltares 2021. All rights reserved.
//
// This file is part of Riskeer.
//
@@ -1780,7 +1780,7 @@
}
///
- /// Looks up a localized string similar to Toetsoordeel voor dit toetsspoor:.
+ /// Looks up a localized string similar to Gecombineerde faalkans (1/jaar).
///
public static string FailureMechanismResultView_FailureMechanismAssemblyLabel {
get {
Index: Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.resx
===================================================================
diff -u -r88b53a8d5ebad04e8fb9dd1c240078bdd9904c6f -r77e3b60549930fa1846e5bc11fd5d17af5c35a91
--- Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision 88b53a8d5ebad04e8fb9dd1c240078bdd9904c6f)
+++ Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision 77e3b60549930fa1846e5bc11fd5d17af5c35a91)
@@ -1348,7 +1348,7 @@
..\Resources\error.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
- Toetsoordeel voor dit toetsspoor:
+ Gecombineerde faalkans (1/jaar)
Categoriegrenzen
Index: Riskeer/Common/src/Riskeer.Common.Forms/Views/FailureMechanismResultView.Designer.cs
===================================================================
diff -u -re72b7c913b164e9dc9ca4aeafb52aa1e85ba6346 -r77e3b60549930fa1846e5bc11fd5d17af5c35a91
--- Riskeer/Common/src/Riskeer.Common.Forms/Views/FailureMechanismResultView.Designer.cs (.../FailureMechanismResultView.Designer.cs) (revision e72b7c913b164e9dc9ca4aeafb52aa1e85ba6346)
+++ Riskeer/Common/src/Riskeer.Common.Forms/Views/FailureMechanismResultView.Designer.cs (.../FailureMechanismResultView.Designer.cs) (revision 77e3b60549930fa1846e5bc11fd5d17af5c35a91)
@@ -19,6 +19,8 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System.Windows.Forms;
+
namespace Riskeer.Common.Forms.Views
{
partial class FailureMechanismResultView
@@ -39,23 +41,30 @@
this.components = new System.ComponentModel.Container();
this.TableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
this.failureMechanismAssemblyLabel = new System.Windows.Forms.Label();
+ this.probabilityResultTypeComboBox = new System.Windows.Forms.ComboBox();
+ this.failurePathAssemblyProbabilityTextBox = new System.Windows.Forms.TextBox();
this.DataGridViewControl = new Core.Common.Controls.DataGrid.DataGridViewControl();
+ this.errorProvider = new System.Windows.Forms.ErrorProvider(this.components);
this.TableLayoutPanel.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
this.SuspendLayout();
//
// TableLayoutPanel
//
- this.TableLayoutPanel.ColumnCount = 3;
- this.TableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
- this.TableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
- this.TableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 30F));
+ this.TableLayoutPanel.ColumnCount = 4;
+ this.TableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.AutoSize));
+ this.TableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.AutoSize));
+ this.TableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 150F));
+ this.TableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 363F));
this.TableLayoutPanel.Controls.Add(this.failureMechanismAssemblyLabel, 0, 0);
+ this.TableLayoutPanel.Controls.Add(this.probabilityResultTypeComboBox, 1, 0);
+ this.TableLayoutPanel.Controls.Add(this.failurePathAssemblyProbabilityTextBox, 2, 0);
this.TableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.TableLayoutPanel.Location = new System.Drawing.Point(0, 0);
+ this.TableLayoutPanel.Location = new System.Drawing.Point(0, 42);
this.TableLayoutPanel.Name = "TableLayoutPanel";
this.TableLayoutPanel.RowCount = 1;
this.TableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
- this.TableLayoutPanel.Size = new System.Drawing.Size(764, 30);
+ this.TableLayoutPanel.Size = new System.Drawing.Size(764, 40);
this.TableLayoutPanel.TabIndex = 1;
//
// failureMechanismAssemblyLabel
@@ -64,33 +73,63 @@
this.failureMechanismAssemblyLabel.Dock = System.Windows.Forms.DockStyle.Fill;
this.failureMechanismAssemblyLabel.Location = new System.Drawing.Point(3, 0);
this.failureMechanismAssemblyLabel.Name = "failureMechanismAssemblyLabel";
- this.failureMechanismAssemblyLabel.Size = new System.Drawing.Size(197, 30);
+ this.failureMechanismAssemblyLabel.Size = new System.Drawing.Size(162, 40);
this.failureMechanismAssemblyLabel.TabIndex = 2;
this.failureMechanismAssemblyLabel.Text = global::Riskeer.Common.Forms.Properties.Resources.FailureMechanismResultView_FailureMechanismAssemblyLabel;
this.failureMechanismAssemblyLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
+ // probabilityResultTypeComboBox
+ //
+ this.probabilityResultTypeComboBox.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.probabilityResultTypeComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.probabilityResultTypeComboBox.FormattingEnabled = true;
+ this.probabilityResultTypeComboBox.Location = new System.Drawing.Point(171, 10);
+ this.probabilityResultTypeComboBox.Margin = new System.Windows.Forms.Padding(3, 10, 3, 10);
+ this.probabilityResultTypeComboBox.Name = "probabilityResultTypeComboBox";
+ this.probabilityResultTypeComboBox.Size = new System.Drawing.Size(121, 21);
+ this.probabilityResultTypeComboBox.TabIndex = 3;
+ this.probabilityResultTypeComboBox.SelectedIndexChanged += new System.EventHandler(this.ProbabilityResultTypeComboBoxSelectedIndexChanged);
+ //
+ // failurePathAssemblyProbabilityTextBox
+ //
+ this.failurePathAssemblyProbabilityTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.failurePathAssemblyProbabilityTextBox.Location = new System.Drawing.Point(298, 10);
+ this.failurePathAssemblyProbabilityTextBox.Margin = new System.Windows.Forms.Padding(3, 10, 3, 10);
+ this.failurePathAssemblyProbabilityTextBox.Name = "failurePathAssemblyProbabilityTextBox";
+ this.failurePathAssemblyProbabilityTextBox.Size = new System.Drawing.Size(100, 20);
+ this.failurePathAssemblyProbabilityTextBox.KeyDown += new KeyEventHandler(this.FailurePathAssemblyProbabilityTextBoxKeyDown);
+ this.failurePathAssemblyProbabilityTextBox.TabIndex = 4;
+ //
// DataGridViewControl
//
this.DataGridViewControl.Dock = System.Windows.Forms.DockStyle.Fill;
- this.DataGridViewControl.Location = new System.Drawing.Point(0, 30);
+ this.DataGridViewControl.Location = new System.Drawing.Point(0, 0);
this.DataGridViewControl.MultiSelect = true;
this.DataGridViewControl.Name = "DataGridViewControl";
this.DataGridViewControl.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.RowHeaderSelect;
- this.DataGridViewControl.Size = new System.Drawing.Size(764, 52);
+ this.DataGridViewControl.Size = new System.Drawing.Size(764, 42);
this.DataGridViewControl.TabIndex = 0;
//
- // FailureMechanismResultViewOld
+ // errorProvider
//
+ this.errorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.NeverBlink;
+ this.errorProvider.ContainerControl = this;
+ this.errorProvider.Icon = global::Riskeer.Common.Forms.Properties.Resources.ErrorIcon;
+ //
+ // FailureMechanismResultView
+ //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.AutoScroll = true;
this.AutoScrollMinSize = new System.Drawing.Size(500, 0);
this.Controls.Add(this.DataGridViewControl);
this.Controls.Add(this.TableLayoutPanel);
- this.Name = "FailureMechanismResultViewOld";
+ this.errorProvider.SetIconPadding(this, 10);
+ this.Name = "FailureMechanismResultView";
this.Size = new System.Drawing.Size(764, 82);
this.TableLayoutPanel.ResumeLayout(false);
this.TableLayoutPanel.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
this.ResumeLayout(false);
}
@@ -100,5 +139,8 @@
protected Core.Common.Controls.DataGrid.DataGridViewControl DataGridViewControl;
protected System.Windows.Forms.TableLayoutPanel TableLayoutPanel;
private System.Windows.Forms.Label failureMechanismAssemblyLabel;
+ private System.Windows.Forms.ComboBox probabilityResultTypeComboBox;
+ private System.Windows.Forms.TextBox failurePathAssemblyProbabilityTextBox;
+ private ErrorProvider errorProvider;
}
}
Index: Riskeer/Common/src/Riskeer.Common.Forms/Views/FailureMechanismResultView.cs
===================================================================
diff -u -r74407a8a8acd86ad005b3d9515251193f3cf26af -r77e3b60549930fa1846e5bc11fd5d17af5c35a91
--- Riskeer/Common/src/Riskeer.Common.Forms/Views/FailureMechanismResultView.cs (.../FailureMechanismResultView.cs) (revision 74407a8a8acd86ad005b3d9515251193f3cf26af)
+++ Riskeer/Common/src/Riskeer.Common.Forms/Views/FailureMechanismResultView.cs (.../FailureMechanismResultView.cs) (revision 77e3b60549930fa1846e5bc11fd5d17af5c35a91)
@@ -21,13 +21,20 @@
using System;
using System.Collections.Generic;
+using System.ComponentModel;
using System.Linq;
+using System.Runtime.CompilerServices;
using System.Windows.Forms;
using Core.Common.Base;
using Core.Common.Controls.DataGrid;
using Core.Common.Controls.Views;
+using Core.Common.Util;
using Core.Common.Util.Extensions;
+using Riskeer.Common.Data.AssemblyTool;
+using Riskeer.Common.Data.Exceptions;
using Riskeer.Common.Data.FailureMechanism;
+using Riskeer.Common.Data.FailurePath;
+using Riskeer.Common.Forms.TypeConverters;
namespace Riskeer.Common.Forms.Views
{
@@ -38,7 +45,7 @@
/// .
/// The type of the row that is used to show the data.
/// The type of the failure mechanism this view belongs to.
- public abstract partial class FailureMechanismResultView : UserControl, IView
+ public abstract partial class FailureMechanismResultView : UserControl, IView, INotifyPropertyChanged
where TSectionResult : FailureMechanismSectionResult
where TSectionResultRow : FailureMechanismSectionResultRow
where TFailureMechanism : IHasSectionResults
@@ -50,7 +57,11 @@
private IEnumerable sectionResultRows;
private bool rowUpdating;
+ private double failurePathAssemblyProbability;
+ private bool probabilityResultTypeComboBoxUpdating;
+ public event PropertyChangedEventHandler PropertyChanged;
+
///
/// Creates a new instance of .
///
@@ -91,13 +102,32 @@
{
Observable = failureMechanismSectionResults
};
+
+ InitializeComboBox();
+ InitializeTextBox();
}
///
/// Gets the failure mechanism.
///
public TFailureMechanism FailureMechanism { get; }
+ [TypeConverter(typeof(NoProbabilityValueDoubleConverter))]
+ public double FailurePathAssemblyProbability
+ {
+ get => failurePathAssemblyProbability;
+ set
+ {
+ if (IsManualAssembly())
+ {
+ FailureMechanism.AssemblyResult.ManualFailurePathAssemblyProbability = value;
+ }
+
+ failurePathAssemblyProbability = value;
+ OnPropertyChanged(nameof(FailurePathAssemblyProbability));
+ }
+ }
+
public object Data { get; set; }
protected override void OnLoad(EventArgs e)
@@ -119,6 +149,12 @@
/// A display object which can be added as a row to the .
protected abstract TSectionResultRow CreateFailureMechanismSectionResultRow(TSectionResult sectionResult);
+ ///
+ /// Gets the length effect factor 'N'.
+ ///
+ /// A representing the length effect factor 'N'.
+ protected abstract double GetN();
+
protected override void Dispose(bool disposing)
{
failureMechanismObserver.Dispose();
@@ -148,6 +184,8 @@
protected void UpdateView()
{
UpdateDataGridViewDataSource();
+ UpdateFailurePathAssemblyControls();
+ UpdateAssemblyData();
}
///
@@ -158,6 +196,51 @@
DataGridViewControl.RefreshDataGridView(false);
}
+ private void InitializeComboBox()
+ {
+ IEnumerable> dataSource =
+ Enum.GetValues(typeof(FailurePathAssemblyProbabilityResultType))
+ .Cast()
+ .Select(e => new EnumDisplayWrapper(e))
+ .ToArray();
+
+ probabilityResultTypeComboBox.BeginUpdate();
+
+ probabilityResultTypeComboBoxUpdating = true;
+ probabilityResultTypeComboBox.DataSource = dataSource;
+ probabilityResultTypeComboBox.ValueMember = nameof(EnumDisplayWrapper.Value);
+ probabilityResultTypeComboBox.DisplayMember = nameof(EnumDisplayWrapper.DisplayName);
+ probabilityResultTypeComboBox.SelectedItem = FailureMechanism.AssemblyResult.ProbabilityResultType;
+ probabilityResultTypeComboBoxUpdating = false;
+
+ probabilityResultTypeComboBox.EndUpdate();
+ }
+
+ private void InitializeTextBox()
+ {
+ Binding failurePathAssemblyProbabilityBinding = failurePathAssemblyProbabilityTextBox.DataBindings.Add(nameof(TextBox.Text), this,
+ nameof(FailurePathAssemblyProbability),
+ true,
+ DataSourceUpdateMode.OnValidation);
+ failurePathAssemblyProbabilityBinding.BindingComplete += FailurePathAssemblyProbabilityTextBoxBindingBindingComplete;
+ }
+
+ private void UpdateFailurePathAssemblyControls()
+ {
+ failurePathAssemblyProbabilityTextBox.Enabled = IsManualAssembly();
+ failurePathAssemblyProbabilityTextBox.ReadOnly = !IsManualAssembly();
+ failurePathAssemblyProbabilityTextBox.Refresh();
+ }
+
+ private void UpdateAssemblyData()
+ {
+ ClearErrorMessage();
+
+ FailurePathAssemblyProbability = IsManualAssembly()
+ ? FailureMechanism.AssemblyResult.ManualFailurePathAssemblyProbability
+ : TryGetFailurePathAssemblyProbability();
+ }
+
///
/// Updates the data source of the data grid view with the current known failure mechanism section results.
///
@@ -198,6 +281,7 @@
{
rowUpdating = true;
RefreshDataGrid();
+ UpdateAssemblyData();
}
private void HandleCellStyling(object sender, DataGridViewCellFormattingEventArgs e)
@@ -214,6 +298,81 @@
sectionResultRows.ForEachElementDo(row => row.Update());
DataGridViewControl.RefreshDataGridView();
+
+ UpdateAssemblyData();
}
+
+ private double TryGetFailurePathAssemblyProbability()
+ {
+ try
+ {
+ return FailurePathAssemblyResultFactory.AssemblyFailurePath(GetN(), sectionResultRows.Select(r => r.AssemblyResult));
+ }
+ catch (AssemblyException e)
+ {
+ SetErrorMessage(e.Message);
+ return double.NaN;
+ }
+ }
+
+ private void ProbabilityResultTypeComboBoxSelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (probabilityResultTypeComboBoxUpdating || probabilityResultTypeComboBox.SelectedIndex == -1)
+ {
+ return;
+ }
+
+ FailureMechanism.AssemblyResult.ProbabilityResultType = (FailurePathAssemblyProbabilityResultType) probabilityResultTypeComboBox.SelectedValue;
+
+ ClearErrorMessage();
+ UpdateAssemblyData();
+ UpdateFailurePathAssemblyControls();
+ }
+
+ private void FailurePathAssemblyProbabilityTextBoxBindingBindingComplete(object sender, BindingCompleteEventArgs e)
+ {
+ if (IsManualAssembly())
+ {
+ if (e.BindingCompleteState != BindingCompleteState.Success)
+ {
+ SetErrorMessage(e.ErrorText);
+ FailurePathAssemblyProbability = double.NaN;
+ }
+ else if (e.BindingCompleteState == BindingCompleteState.Success)
+ {
+ ClearErrorMessage();
+ }
+ }
+ }
+
+ private void FailurePathAssemblyProbabilityTextBoxKeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Enter)
+ {
+ failureMechanismAssemblyLabel.Focus(); // Focus on different component to commit value
+ e.Handled = true;
+ }
+ }
+
+ private bool IsManualAssembly()
+ {
+ return FailureMechanism.AssemblyResult.ProbabilityResultType == FailurePathAssemblyProbabilityResultType.Manual;
+ }
+
+ private void SetErrorMessage(string errorMessage)
+ {
+ errorProvider.SetIconPadding(failurePathAssemblyProbabilityTextBox, 5);
+ errorProvider.SetError(failurePathAssemblyProbabilityTextBox, errorMessage);
+ }
+
+ private void ClearErrorMessage()
+ {
+ errorProvider.SetError(failurePathAssemblyProbabilityTextBox, string.Empty);
+ }
+
+ private void OnPropertyChanged([CallerMemberName] string propertyName = null)
+ {
+ PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
+ }
}
}
\ No newline at end of file
Index: Riskeer/Common/src/Riskeer.Common.Forms/Views/FailureMechanismResultView.resx
===================================================================
diff -u -re72b7c913b164e9dc9ca4aeafb52aa1e85ba6346 -r77e3b60549930fa1846e5bc11fd5d17af5c35a91
--- Riskeer/Common/src/Riskeer.Common.Forms/Views/FailureMechanismResultView.resx (.../FailureMechanismResultView.resx) (revision e72b7c913b164e9dc9ca4aeafb52aa1e85ba6346)
+++ Riskeer/Common/src/Riskeer.Common.Forms/Views/FailureMechanismResultView.resx (.../FailureMechanismResultView.resx) (revision 77e3b60549930fa1846e5bc11fd5d17af5c35a91)
@@ -117,7 +117,8 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
17, 17
\ No newline at end of file
Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/FailureMechanismResultViewOldTest.cs
===================================================================
diff -u -rac43a498c0b19cdf26f6007192ef9904f3a6fae3 -r77e3b60549930fa1846e5bc11fd5d17af5c35a91
--- Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/FailureMechanismResultViewOldTest.cs (.../FailureMechanismResultViewOldTest.cs) (revision ac43a498c0b19cdf26f6007192ef9904f3a6fae3)
+++ Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/FailureMechanismResultViewOldTest.cs (.../FailureMechanismResultViewOldTest.cs) (revision 77e3b60549930fa1846e5bc11fd5d17af5c35a91)
@@ -91,7 +91,7 @@
Assert.IsTrue(assemblyResultLabel.AutoSize);
Assert.AreEqual(DockStyle.Fill, assemblyResultLabel.Dock);
Assert.AreEqual(ContentAlignment.MiddleLeft, assemblyResultLabel.TextAlign);
- Assert.AreEqual("Toetsoordeel voor dit toetsspoor:", assemblyResultLabel.Text);
+ Assert.AreEqual("Gecombineerde faalkans (1/jaar)", assemblyResultLabel.Text);
Assert.IsInstanceOf(tableLayoutPanel.GetControlFromPosition(2, 0));
Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs
===================================================================
diff -u -r82b497dea6643606db6d39bfce4e86c24bd048d2 -r77e3b60549930fa1846e5bc11fd5d17af5c35a91
--- Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs (.../FailureMechanismResultViewTest.cs) (revision 82b497dea6643606db6d39bfce4e86c24bd048d2)
+++ Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs (.../FailureMechanismResultViewTest.cs) (revision 77e3b60549930fa1846e5bc11fd5d17af5c35a91)
@@ -100,14 +100,14 @@
Assert.AreEqual(2, view.Controls.Count);
var tableLayoutPanel = (TableLayoutPanel) new ControlTester("TableLayoutPanel").TheObject;
- Assert.AreEqual(3, tableLayoutPanel.ColumnCount);
+ Assert.AreEqual(4, tableLayoutPanel.ColumnCount);
Assert.AreEqual(1, tableLayoutPanel.RowCount);
var assemblyResultLabel = (Label) tableLayoutPanel.GetControlFromPosition(0, 0);
Assert.IsTrue(assemblyResultLabel.AutoSize);
Assert.AreEqual(DockStyle.Fill, assemblyResultLabel.Dock);
Assert.AreEqual(ContentAlignment.MiddleLeft, assemblyResultLabel.TextAlign);
- Assert.AreEqual("Toetsoordeel voor dit toetsspoor:", assemblyResultLabel.Text);
+ Assert.AreEqual("Gecombineerde faalkans (1/jaar)", assemblyResultLabel.Text);
Assert.IsInstanceOf(view);
Assert.IsInstanceOf(view);
@@ -437,6 +437,13 @@
return new TestRow(sectionResult);
}
+ public double N { private get; set; }
+
+ protected override double GetN()
+ {
+ return N;
+ }
+
protected override void AddDataGridColumns()
{
DataGridViewControl.AddTextBoxColumn(nameof(TestRow.Name), "Test", true);
Index: Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingFailureMechanismResultView.cs
===================================================================
diff -u -r5b444427ebef3934be3d209a66770dfca4154e48 -r77e3b60549930fa1846e5bc11fd5d17af5c35a91
--- Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingFailureMechanismResultView.cs (.../PipingFailureMechanismResultView.cs) (revision 5b444427ebef3934be3d209a66770dfca4154e48)
+++ Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingFailureMechanismResultView.cs (.../PipingFailureMechanismResultView.cs) (revision 77e3b60549930fa1846e5bc11fd5d17af5c35a91)
@@ -26,6 +26,7 @@
using Riskeer.Common.Data.AssessmentSection;
using Riskeer.Common.Data.Calculation;
using Riskeer.Common.Data.FailureMechanism;
+using Riskeer.Common.Data.Probability;
using Riskeer.Common.Forms;
using Riskeer.Common.Forms.Builders;
using Riskeer.Common.Forms.Views;
@@ -102,6 +103,11 @@
};
}
+ protected override double GetN()
+ {
+ return FailureMechanism.PipingProbabilityAssessmentInput.GetN(assessmentSection.ReferenceLine.Length);
+ }
+
protected override void Dispose(bool disposing)
{
calculationInputObserver.Dispose();