Index: Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs =================================================================== diff -u -ra1246836188dc9e7c752531415362d6c14cc9978 -rf2a19b165e007f9a5f91c19e39395d65e26da8d5 --- Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs (.../RiskeerPlugin.cs) (revision a1246836188dc9e7c752531415362d6c14cc9978) +++ Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs (.../RiskeerPlugin.cs) (revision f2a19b165e007f9a5f91c19e39395d65e26da8d5) @@ -987,7 +987,7 @@ Image = context => RiskeerCommonFormsResources.GenericInputOutputIcon, EnsureVisibleOnCreate = (context, o) => true, CanRemove = (context, o) => true, - OnNodeRemoved = WaterLevelCalculationsForUserDefinedTargetProbabilityOnNodeRemoved, + OnNodeRemoved = HydraulicBoundaryCalculationsForUserDefinedTargetProbabilityOnNodeRemoved, ContextMenuStrip = WaterLevelCalculationsForUserDefinedTargetProbabilityContextMenuStrip, CanDrag = (context, o) => true }; @@ -1009,7 +1009,7 @@ Image = context => RiskeerCommonFormsResources.GenericInputOutputIcon, EnsureVisibleOnCreate = (context, o) => true, CanRemove = (context, o) => true, - OnNodeRemoved = WaveHeightCalculationsForUserDefinedTargetProbabilityOnNodeRemoved, + OnNodeRemoved = HydraulicBoundaryCalculationsForUserDefinedTargetProbabilityOnNodeRemoved, ContextMenuStrip = WaveHeightCalculationsForUserDefinedTargetProbabilityContextMenuStrip, CanDrag = (context, o) => true }; @@ -2420,9 +2420,21 @@ private ContextMenuStrip WaterLevelCalculationsForUserDefinedTargetProbabilityContextMenuStrip(WaterLevelCalculationsForUserDefinedTargetProbabilityContext nodeData, object parentData, TreeViewControl treeViewControl) { - var waterLevelCalculationItem = new StrictContextMenuItem( + return HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContextMenuStrip( + nodeData, treeViewControl, (calculation, section) => + hydraulicBoundaryLocationCalculationGuiService.CalculateDesignWaterLevels( + calculation.HydraulicBoundaryLocationCalculations, section, calculation.TargetProbability, + noProbabilityValueDoubleConverter.ConvertToString(calculation.TargetProbability)), + RiskeerCommonFormsResources.WaterLevel_Calculate_All_ToolTip); + } + + private ContextMenuStrip HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContextMenuStrip(HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContext nodeData, TreeViewControl treeViewControl, + Action calculationAction, + string calculationItemToolTip) + { + var calculationItem = new StrictContextMenuItem( RiskeerCommonFormsResources.Calculate_All, - RiskeerCommonFormsResources.WaterLevel_Calculate_All_ToolTip, + calculationItemToolTip, RiskeerCommonFormsResources.CalculateAllIcon, (sender, args) => { @@ -2431,14 +2443,10 @@ return; } - IAssessmentSection assessmentSection = nodeData.AssessmentSection; - hydraulicBoundaryLocationCalculationGuiService.CalculateDesignWaterLevels(nodeData.WrappedData.HydraulicBoundaryLocationCalculations, - assessmentSection, - nodeData.WrappedData.TargetProbability, - noProbabilityValueDoubleConverter.ConvertToString(nodeData.WrappedData.TargetProbability)); + calculationAction(nodeData.WrappedData, nodeData.AssessmentSection); }); - SetHydraulicsMenuItemEnabledStateAndTooltip(nodeData.AssessmentSection, waterLevelCalculationItem); + SetHydraulicsMenuItemEnabledStateAndTooltip(nodeData.AssessmentSection, calculationItem); var builder = new RiskeerContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); var changeHandler = new ClearIllustrationPointsOfHydraulicBoundaryLocationCalculationCollectionChangeHandler( @@ -2448,18 +2456,20 @@ return builder.AddOpenItem() .AddSeparator() - .AddCustomItem(waterLevelCalculationItem) + .AddCustomItem(calculationItem) .AddSeparator() - .AddClearIllustrationPointsOfCalculationsItem(() => IllustrationPointsHelper.HasIllustrationPoints(nodeData.WrappedData.HydraulicBoundaryLocationCalculations), changeHandler) + .AddClearIllustrationPointsOfCalculationsItem( + () => IllustrationPointsHelper.HasIllustrationPoints(nodeData.WrappedData.HydraulicBoundaryLocationCalculations), + changeHandler) .AddDeleteItem() .AddSeparator() .AddPropertiesItem() .Build(); } - private static void WaterLevelCalculationsForUserDefinedTargetProbabilityOnNodeRemoved(WaterLevelCalculationsForUserDefinedTargetProbabilityContext context, object o) + private static void HydraulicBoundaryCalculationsForUserDefinedTargetProbabilityOnNodeRemoved(HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContext context, object nodeData) { - ObservableList parent = ((WaterLevelCalculationsForUserDefinedTargetProbabilitiesGroupContext) o).WrappedData; + ObservableList parent = ((HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext) nodeData).WrappedData; parent.Remove(context.WrappedData); parent.NotifyObservers(); @@ -2520,53 +2530,17 @@ .ToArray(); } - private ContextMenuStrip WaveHeightCalculationsForUserDefinedTargetProbabilityContextMenuStrip(WaveHeightCalculationsForUserDefinedTargetProbabilityContext nodeData, object parentData, TreeViewControl treeViewControl) + private ContextMenuStrip WaveHeightCalculationsForUserDefinedTargetProbabilityContextMenuStrip( + WaveHeightCalculationsForUserDefinedTargetProbabilityContext nodeData, object parentData, TreeViewControl treeViewControl) { - var waveHeightCalculationItem = new StrictContextMenuItem( - RiskeerCommonFormsResources.Calculate_All, - RiskeerCommonFormsResources.WaveHeight_Calculate_All_ToolTip, - RiskeerCommonFormsResources.CalculateAllIcon, - (sender, args) => - { - if (hydraulicBoundaryLocationCalculationGuiService == null) - { - return; - } - - IAssessmentSection assessmentSection = nodeData.AssessmentSection; - hydraulicBoundaryLocationCalculationGuiService.CalculateWaveHeights(nodeData.WrappedData.HydraulicBoundaryLocationCalculations, - assessmentSection, - nodeData.WrappedData.TargetProbability, - noProbabilityValueDoubleConverter.ConvertToString(nodeData.WrappedData.TargetProbability)); - }); - - SetHydraulicsMenuItemEnabledStateAndTooltip(nodeData.AssessmentSection, waveHeightCalculationItem); - - var builder = new RiskeerContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); - var changeHandler = new ClearIllustrationPointsOfHydraulicBoundaryLocationCalculationCollectionChangeHandler( - GetInquiryHelper(), - noProbabilityValueDoubleConverter.ConvertToString(nodeData.WrappedData.TargetProbability), - () => RiskeerCommonDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationIllustrationPoints(nodeData.WrappedData.HydraulicBoundaryLocationCalculations)); - - return builder.AddOpenItem() - .AddSeparator() - .AddCustomItem(waveHeightCalculationItem) - .AddSeparator() - .AddClearIllustrationPointsOfCalculationsItem(() => IllustrationPointsHelper.HasIllustrationPoints(nodeData.WrappedData.HydraulicBoundaryLocationCalculations), changeHandler) - .AddDeleteItem() - .AddSeparator() - .AddPropertiesItem() - .Build(); + return HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContextMenuStrip( + nodeData, treeViewControl, (calculation, section) => + hydraulicBoundaryLocationCalculationGuiService.CalculateWaveHeights( + calculation.HydraulicBoundaryLocationCalculations, section, calculation.TargetProbability, + noProbabilityValueDoubleConverter.ConvertToString(calculation.TargetProbability)), + RiskeerCommonFormsResources.WaveHeight_Calculate_All_ToolTip); } - private static void WaveHeightCalculationsForUserDefinedTargetProbabilityOnNodeRemoved(WaveHeightCalculationsForUserDefinedTargetProbabilityContext context, object o) - { - ObservableList parent = ((WaveHeightCalculationsForUserDefinedTargetProbabilitiesGroupContext) o).WrappedData; - - parent.Remove(context.WrappedData); - parent.NotifyObservers(); - } - private static bool HasIllustrationPoints(IAssessmentSection assessmentSection) { return WaterLevelCalculationsForNormTargetProbabilitiesHaveIllustrationPoints(assessmentSection)