Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs =================================================================== diff -u -r87445dcecde875ada5513431df8ca2d01a57f742 -r5e9fd91bb55d97ee46d4446960dfa7f63b0d48cf --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision 87445dcecde875ada5513431df8ca2d01a57f742) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision 5e9fd91bb55d97ee46d4446960dfa7f63b0d48cf) @@ -70,7 +70,7 @@ FailureMechanismContextMenuStrip, Gui); - yield return CalculationTreeNodeInfoFactory.CreateCalculationGroupContextTreeNodeInfo(CalculationGroupContextChildNodeObjects, context => AddCalculation(context.FailureMechanism, context.WrappedData), Gui); + yield return CalculationTreeNodeInfoFactory.CreateCalculationGroupContextTreeNodeInfo(CalculationGroupContextChildNodeObjects, CalculationGroupContextContextMenuStrip); yield return new TreeNodeInfo { @@ -337,6 +337,41 @@ return childNodeObjects.ToArray(); } + private ContextMenuStrip CalculationGroupContextContextMenuStrip(GrassCoverErosionInwardsCalculationGroupContext nodeData, object parentData, TreeViewControl treeViewControl) + { + var group = nodeData.WrappedData; + var builder = Gui.Get(nodeData, treeViewControl); + var isNestedGroup = parentData is GrassCoverErosionInwardsCalculationGroupContext; + + if (!isNestedGroup) + { + builder + .AddOpenItem() + .AddSeparator(); + } + + CalculationTreeNodeInfoFactory.AddCreateCalculationGroupItem(builder, group); + CalculationTreeNodeInfoFactory.AddCreateCalculationItem(builder, nodeData, context => AddCalculation(context.FailureMechanism, context.WrappedData)); + builder.AddSeparator(); + + if (isNestedGroup) + { + builder.AddRenameItem(); + builder.AddDeleteItem(); + builder.AddSeparator(); + } + + return builder + .AddImportItem() + .AddExportItem() + .AddSeparator() + .AddExpandAllItem() + .AddCollapseAllItem() + .AddSeparator() + .AddPropertiesItem() + .Build(); + } + #endregion } } \ No newline at end of file