Index: Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs =================================================================== diff -u -r92615954683b65702a9b0836df4e38231c78cf9e -ra2ec9b7ea2c7299fbecebc23e8da46d99b3c1b69 --- Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs (.../RiskeerPlugin.cs) (revision 92615954683b65702a9b0836df4e38231c78cf9e) +++ Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs (.../RiskeerPlugin.cs) (revision a2ec9b7ea2c7299fbecebc23e8da46d99b3c1b69) @@ -959,7 +959,8 @@ yield return new TreeNodeInfo { Text = context => noProbabilityValueDoubleConverter.ConvertToString(context.WrappedData.TargetProbability), - Image = context => RiskeerCommonFormsResources.GenericInputOutputIcon + Image = context => RiskeerCommonFormsResources.GenericInputOutputIcon, + ContextMenuStrip = WaterLevelCalculationsForUserDefinedTargetProbabilityContextMenuStrip }; yield return new TreeNodeInfo @@ -2381,6 +2382,46 @@ .ToArray(); } + private ContextMenuStrip WaterLevelCalculationsForUserDefinedTargetProbabilityContextMenuStrip(WaterLevelCalculationsForUserDefinedTargetProbabilityContext nodeData, object parentData, TreeViewControl treeViewControl) + { + var waterLevelCalculationItem = new StrictContextMenuItem( + RiskeerCommonFormsResources.Calculate_All, + RiskeerCommonFormsResources.WaterLevel_Calculate_All_ToolTip, + RiskeerCommonFormsResources.CalculateAllIcon, + (sender, args) => + { + if (hydraulicBoundaryLocationCalculationGuiService == null) + { + return; + } + + IAssessmentSection assessmentSection = nodeData.AssessmentSection; + hydraulicBoundaryLocationCalculationGuiService.CalculateDesignWaterLevels(nodeData.WrappedData.HydraulicBoundaryLocationCalculations, + assessmentSection, + nodeData.WrappedData.TargetProbability, + noProbabilityValueDoubleConverter.ConvertToString(nodeData.WrappedData.TargetProbability)); + }); + + SetHydraulicsMenuItemEnabledStateAndTooltip(nodeData.AssessmentSection, + nodeData.WrappedData.TargetProbability, + waterLevelCalculationItem); + + 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(waterLevelCalculationItem) + .AddSeparator() + .AddClearIllustrationPointsOfCalculationsItem(() => IllustrationPointsHelper.HasIllustrationPoints(nodeData.WrappedData.HydraulicBoundaryLocationCalculations), changeHandler) + .AddSeparator() + .AddPropertiesItem() + .Build(); + } + private ContextMenuStrip WaveHeightCalculationsForUserDefinedTargetProbabilitiesGroupContextMenuStrip(WaveHeightCalculationsForUserDefinedTargetProbabilitiesGroupContext nodeData, object parentData, TreeViewControl treeViewControl) { IAssessmentSection assessmentSection = nodeData.AssessmentSection;