private ContextMenuStrip CalculationGroupContextContextMenuStrip(ClosingStructuresCalculationGroupContext context, object parentData, TreeViewControl treeViewControl) { CalculationGroup group = context.WrappedData; IInquiryHelper inquiryHelper = GetInquiryHelper(); var builder = new RiskeerContextMenuBuilder(Gui.Get(context, treeViewControl)); bool isNestedGroup = parentData is ClosingStructuresCalculationGroupContext; StructuresCalculation <ClosingStructuresInput>[] calculations = group .GetCalculations() .Cast <StructuresCalculation <ClosingStructuresInput> >().ToArray(); if (!isNestedGroup) { builder.AddOpenItem() .AddSeparator(); } builder.AddImportItem() .AddExportItem() .AddSeparator(); if (isNestedGroup) { builder.AddDuplicateCalculationItem(group, context) .AddSeparator(); } else { builder.AddCustomItem(CreateGenerateClosingStructuresCalculationsItem(context)) .AddSeparator(); } builder.AddCreateCalculationGroupItem(group) .AddCreateCalculationItem(context, AddCalculation, CalculationType.Probabilistic) .AddSeparator(); if (isNestedGroup) { builder.AddRenameItem(); } builder.AddUpdateForeshoreProfileOfCalculationsItem(calculations, inquiryHelper, SynchronizeCalculationWithForeshoreProfileHelper.UpdateForeshoreProfileDerivedCalculationInput) .AddCustomItem(CreateUpdateAllStructuresItem(calculations)) .AddSeparator() .AddValidateAllCalculationsInGroupItem( context, ValidateAllInCalculationGroup, EnableValidateAndCalculateMenuItemForCalculationGroup) .AddPerformAllCalculationsInGroupItem( context, CalculateAllInCalculationGroup, EnableValidateAndCalculateMenuItemForCalculationGroup) .AddSeparator() .AddClearAllCalculationOutputInGroupItem(group) .AddClearIllustrationPointsOfCalculationsInGroupItem(() => IllustrationPointsHelper.HasIllustrationPoints(calculations), CreateChangeHandler(inquiryHelper, calculations)); if (isNestedGroup) { builder.AddDeleteItem(); } else { builder.AddRemoveAllChildrenItem(); } return(builder.AddSeparator() .AddCollapseAllItem() .AddExpandAllItem() .AddSeparator() .AddPropertiesItem() .Build()); }
private ContextMenuStrip CalculationGroupContextContextMenuStrip(WaveImpactAsphaltCoverCalculationGroupContext nodeData, object parentData, TreeViewControl treeViewControl) { CalculationGroup group = nodeData.WrappedData; IInquiryHelper inquiryHelper = GetInquiryHelper(); var builder = new RiskeerContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); bool isNestedGroup = parentData is WaveImpactAsphaltCoverCalculationGroupContext; WaveImpactAsphaltCoverWaveConditionsCalculation[] calculations = group .GetCalculations() .OfType <WaveImpactAsphaltCoverWaveConditionsCalculation>().ToArray(); StrictContextMenuItem generateCalculationsItem = CreateGenerateWaveConditionsCalculationsItem(nodeData); builder.AddImportItem() .AddExportItem() .AddSeparator(); if (isNestedGroup) { builder.AddDuplicateCalculationItem(group, nodeData) .AddSeparator(); } else { builder.AddCustomItem(generateCalculationsItem) .AddSeparator(); } builder.AddCreateCalculationGroupItem(group) .AddCreateCalculationItem(nodeData, AddWaveConditionsCalculation, CalculationType.Hydraulic) .AddSeparator(); if (isNestedGroup) { builder.AddRenameItem(); } builder.AddUpdateForeshoreProfileOfCalculationsItem(calculations, inquiryHelper, SynchronizeCalculationWithForeshoreProfileHelper.UpdateForeshoreProfileDerivedCalculationInput) .AddSeparator() .AddValidateAllCalculationsInGroupItem(nodeData, ValidateAllInCalculationGroup, EnableValidateAndCalculateMenuItemForCalculationGroup) .AddPerformAllCalculationsInGroupItem(nodeData, CalculateAllInCalculationGroup, EnableValidateAndCalculateMenuItemForCalculationGroup) .AddSeparator() .AddClearAllCalculationOutputInGroupItem(group); if (isNestedGroup) { builder.AddDeleteItem(); } else { builder.AddRemoveAllChildrenItem(); } return(builder.AddSeparator() .AddCollapseAllItem() .AddExpandAllItem() .AddSeparator() .AddPropertiesItem() .Build()); }