Index: Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs =================================================================== diff -u -ra2ec9b7ea2c7299fbecebc23e8da46d99b3c1b69 -rf9cb6b61b752038c822aa4c741daf7c27d0e43c3 --- Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs (.../RiskeerPlugin.cs) (revision a2ec9b7ea2c7299fbecebc23e8da46d99b3c1b69) +++ Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs (.../RiskeerPlugin.cs) (revision f9cb6b61b752038c822aa4c741daf7c27d0e43c3) @@ -974,7 +974,8 @@ yield return new TreeNodeInfo { Text = context => noProbabilityValueDoubleConverter.ConvertToString(context.WrappedData.TargetProbability), - Image = context => RiskeerCommonFormsResources.GenericInputOutputIcon + Image = context => RiskeerCommonFormsResources.GenericInputOutputIcon, + ContextMenuStrip = WaveHeightCalculationsForUserDefinedTargetProbabilityContextMenuStrip }; yield return new TreeNodeInfo @@ -2462,6 +2463,46 @@ .ToArray(); } + 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, + nodeData.WrappedData.TargetProbability, + 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) + .AddSeparator() + .AddPropertiesItem() + .Build(); + } + private ContextMenuStrip DesignWaterLevelCalculationsGroupContextMenuStrip(DesignWaterLevelCalculationsGroupContext nodeData, object parentData, TreeViewControl treeViewControl) { IAssessmentSection assessmentSection = nodeData.AssessmentSection;