Index: Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/Views/DuneLocationCalculationsView.cs =================================================================== diff -u -re6622516721bba24cb2ca24555b1f634d9b005d7 -reb2f156193e39ce90df50f89ce017bd8aea521b2 --- Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/Views/DuneLocationCalculationsView.cs (.../DuneLocationCalculationsView.cs) (revision e6622516721bba24cb2ca24555b1f634d9b005d7) +++ Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/Views/DuneLocationCalculationsView.cs (.../DuneLocationCalculationsView.cs) (revision eb2f156193e39ce90df50f89ce017bd8aea521b2) @@ -72,51 +72,5 @@ base.Dispose(disposing); } - - protected override void InitializeDataGridView() - { - base.InitializeDataGridView(); - dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.Name), - RiskeerCommonFormsResources.HydraulicBoundaryDatabase_Location_Name_DisplayName); - dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.Id), - RiskeerCommonFormsResources.HydraulicBoundaryDatabase_Location_Id_DisplayName); - dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.Location), - RiskeerCommonFormsResources.HydraulicBoundaryDatabase_Location_Coordinates_DisplayName); - dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.CoastalAreaId), - Resources.DuneLocation_CoastalAreaId_DisplayName); - dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.Offset), - Resources.DuneLocation_Offset_DisplayName); - dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.WaterLevel), - Resources.DuneLocationCalculationOutput_WaterLevel_DisplayName); - dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.WaveHeight), - Resources.DuneLocationCalculationOutput_WaveHeight_DisplayName); - dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.WavePeriod), - Resources.DuneLocationCalculationOutput_WavePeriod_DisplayName); - dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.MeanTidalAmplitude), - Resources.DuneLocationCalculationOutput_MeanTidalAmplitude_DisplayName); - dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.WaveDirectionalSpread), - Resources.DuneLocationCalculationOutput_WaveDirectionalSpread_DisplayName); - dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.TideSurgePhaseDifference), - Resources.DuneLocationCalculationOutput_TideSurgePhaseDifference_DisplayName); - } - - protected override object CreateSelectedItemFromCurrentRow() - { - DataGridViewRow currentRow = dataGridViewControl.CurrentRow; - return ((DuneLocationCalculationRow) currentRow?.DataBoundItem)?.CalculatableObject; - } - - protected override void SetDataSource() - { - dataGridViewControl.SetDataSource(calculations?.Select(calc => new DuneLocationCalculationRow(calc)).ToArray()); - } - - protected override void CalculateForSelectedRows() - { - CalculationGuiService?.Calculate(GetSelectedCalculatableObjects(), - AssessmentSection, - getTargetProbabilityFunc(), - getCalculationIdentifierFunc()); - } } } \ No newline at end of file Index: Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/Views/DuneLocationCalculationsViewBase.cs =================================================================== diff -u -re6622516721bba24cb2ca24555b1f634d9b005d7 -reb2f156193e39ce90df50f89ce017bd8aea521b2 --- Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/Views/DuneLocationCalculationsViewBase.cs (.../DuneLocationCalculationsViewBase.cs) (revision e6622516721bba24cb2ca24555b1f634d9b005d7) +++ Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/Views/DuneLocationCalculationsViewBase.cs (.../DuneLocationCalculationsViewBase.cs) (revision eb2f156193e39ce90df50f89ce017bd8aea521b2) @@ -27,9 +27,10 @@ using Core.Common.Controls.Views; using Core.Common.Util.Extensions; using Riskeer.Common.Data.AssessmentSection; -using Riskeer.Common.Forms.Properties; using Riskeer.DuneErosion.Data; using Riskeer.DuneErosion.Forms.GuiServices; +using Riskeer.DuneErosion.Forms.Properties; +using RiskeerCommonFormsResources = Riskeer.Common.Forms.Properties.Resources; namespace Riskeer.DuneErosion.Forms.Views { @@ -44,7 +45,7 @@ private readonly Func getTargetProbabilityFunc; private readonly Func getCalculationIdentifierFunc; private readonly RecursiveObserver, DuneLocationCalculation> duneLocationCalculationObserver; - + private const int calculateColumnIndex = 0; private bool updatingDataSource; public event EventHandler SelectionChanged; @@ -88,7 +89,7 @@ { throw new ArgumentNullException(nameof(getCalculationIdentifierFunc)); } - + this.calculations = calculations; this.getTargetProbabilityFunc = getTargetProbabilityFunc; this.getCalculationIdentifierFunc = getCalculationIdentifierFunc; @@ -110,7 +111,6 @@ Observable = failureMechanism }; - InitializeComponent(); LocalizeControls(); InitializeEventHandlers(); @@ -125,7 +125,7 @@ } public abstract object Data { get; set; } - + /// /// Gets or sets the /// to perform calculations with. @@ -142,7 +142,7 @@ /// calculations are shown. /// public DuneErosionFailureMechanism FailureMechanism { get; } - + protected override void OnLoad(EventArgs e) { base.OnLoad(e); @@ -155,7 +155,7 @@ { components?.Dispose(); } - + duneLocationCalculationsObserver.Dispose(); duneLocationCalculationObserver.Dispose(); failureMechanismObserver.Dispose(); @@ -174,33 +174,35 @@ UpdateCalculateForSelectedButton(); } - /// - /// Initializes the . - /// - protected virtual void InitializeDataGridView() + private void InitializeDataGridView() { dataGridViewControl.AddCheckBoxColumn(nameof(DuneLocationCalculationRow.ShouldCalculate), - Resources.CalculatableView_Calculate); + RiskeerCommonFormsResources.CalculatableView_Calculate); + dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.Name), + RiskeerCommonFormsResources.HydraulicBoundaryDatabase_Location_Name_DisplayName); + dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.Id), + RiskeerCommonFormsResources.HydraulicBoundaryDatabase_Location_Id_DisplayName); + dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.Location), + RiskeerCommonFormsResources.HydraulicBoundaryDatabase_Location_Coordinates_DisplayName); + dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.CoastalAreaId), + Resources.DuneLocation_CoastalAreaId_DisplayName); + dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.Offset), + Resources.DuneLocation_Offset_DisplayName); + dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.WaterLevel), + Resources.DuneLocationCalculationOutput_WaterLevel_DisplayName); + dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.WaveHeight), + Resources.DuneLocationCalculationOutput_WaveHeight_DisplayName); + dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.WavePeriod), + Resources.DuneLocationCalculationOutput_WavePeriod_DisplayName); + dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.MeanTidalAmplitude), + Resources.DuneLocationCalculationOutput_MeanTidalAmplitude_DisplayName); + dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.WaveDirectionalSpread), + Resources.DuneLocationCalculationOutput_WaveDirectionalSpread_DisplayName); + dataGridViewControl.AddTextBoxColumn(nameof(DuneLocationCalculationRow.TideSurgePhaseDifference), + Resources.DuneLocationCalculationOutput_TideSurgePhaseDifference_DisplayName); } /// - /// Creates a new object that is used as the object for from - /// the currently selected row in the data table. - /// - /// The newly created object. - protected abstract object CreateSelectedItemFromCurrentRow(); - - /// - /// Sets the datasource on the . - /// - protected abstract void SetDataSource(); - - /// - /// Handles the calculation routine for the currently selected rows. - /// - protected abstract void CalculateForSelectedRows(); - - /// /// Gets all the row items from the . /// protected IEnumerable GetCalculatableRows() @@ -223,11 +225,11 @@ /// Validates the calculatable objects. /// /// A validation message in case no calculations can be performed, null otherwise. - protected virtual string ValidateCalculatableObjects() + private string ValidateCalculatableObjects() { if (!GetCalculatableRows().Any(r => r.ShouldCalculate)) { - return Resources.CalculatableViews_No_calculations_selected; + return RiskeerCommonFormsResources.CalculatableViews_No_calculations_selected; } return null; @@ -236,7 +238,7 @@ /// /// Updates the state of the calculation button and the corresponding error provider. /// - protected void UpdateCalculateForSelectedButton() + private void UpdateCalculateForSelectedButton() { string validationText = ValidateCalculatableObjects(); if (!string.IsNullOrEmpty(validationText)) @@ -253,10 +255,10 @@ private void LocalizeControls() { - CalculateForSelectedButton.Text = Resources.CalculatableView_CalculateForSelectedButton_Text; - DeselectAllButton.Text = Resources.CalculatableView_DeselectAllButton_Text; - SelectAllButton.Text = Resources.CalculatableView_SelectAllButton_Text; - ButtonGroupBox.Text = Resources.CalculatableView_ButtonGroupBox_Text; + CalculateForSelectedButton.Text = RiskeerCommonFormsResources.CalculatableView_CalculateForSelectedButton_Text; + DeselectAllButton.Text = RiskeerCommonFormsResources.CalculatableView_DeselectAllButton_Text; + SelectAllButton.Text = RiskeerCommonFormsResources.CalculatableView_SelectAllButton_Text; + ButtonGroupBox.Text = RiskeerCommonFormsResources.CalculatableView_ButtonGroupBox_Text; } private void InitializeEventHandlers() @@ -270,6 +272,25 @@ SelectionChanged?.Invoke(this, new EventArgs()); } + private object CreateSelectedItemFromCurrentRow() + { + DataGridViewRow currentRow = dataGridViewControl.CurrentRow; + return ((DuneLocationCalculationRow) currentRow?.DataBoundItem)?.CalculatableObject; + } + + private void SetDataSource() + { + dataGridViewControl.SetDataSource(calculations?.Select(calc => new DuneLocationCalculationRow(calc)).ToArray()); + } + + private void CalculateForSelectedRows() + { + CalculationGuiService?.Calculate(GetSelectedCalculatableObjects(), + AssessmentSection, + getTargetProbabilityFunc(), + getCalculationIdentifierFunc()); + } + #region Event handling private void DataGridViewCellValueChanged(object sender, DataGridViewCellEventArgs e)