Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs =================================================================== diff -u -r79279d5d69482de69ef6b4be98ad53e666ab06e2 -rf0dba4bd6e5de44972b57263c4934e72323ab3a8 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 79279d5d69482de69ef6b4be98ad53e666ab06e2) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision f0dba4bd6e5de44972b57263c4934e72323ab3a8) @@ -104,10 +104,11 @@ public override IEnumerable GetTreeNodeInfos() { - yield return new DefaultFailureMechanismTreeNodeInfo( - FailureMechanismChildNodeObjects, - FailureMechanismContextMenuStrip, - Gui); + yield return CalculationTreeNodeInfoFactory.CreateFailureMechanismContextTreeNodeInfo( + FailureMechanismEnabledChildNodeObjects, + FailureMechanismDisabledChildNodeObjects, + FailureMechanismEnabledContextMenuStrip, + FailureMechanismDisabledContextMenuStrip); yield return CalculationTreeNodeInfoFactory.CreateCalculationContextTreeNodeInfo( PipingFormsResources.PipingIcon, @@ -272,7 +273,7 @@ # region Piping TreeNodeInfo - private ContextMenuStrip FailureMechanismContextMenuStrip(PipingFailureMechanismContext pipingFailureMechanismContext, object parentData, TreeViewControl treeViewControl) + private ContextMenuStrip FailureMechanismEnabledContextMenuStrip(PipingFailureMechanismContext pipingFailureMechanismContext, object parentData, TreeViewControl treeViewControl) { var changeRelevancyItem = new StrictContextMenuItem( RingtoetsCommonFormsResources.FailureMechanismContextMenuStrip_Is_relevant, @@ -320,6 +321,18 @@ .Build(); } + private ContextMenuStrip FailureMechanismDisabledContextMenuStrip(PipingFailureMechanismContext pipingFailureMechanismContext, object parentData, TreeViewControl treeViewControl) + { + var builder = Gui.Get(pipingFailureMechanismContext, treeViewControl); + + CalculationTreeNodeInfoFactory.AddDisabledChangeRelevancyItem(builder, pipingFailureMechanismContext); + + return builder.AddSeparator() + .AddExpandAllItem() + .AddCollapseAllItem() + .Build(); + } + private static IEnumerable GetAllPipingCalculations(PipingFailureMechanism failureMechanism) { return failureMechanism.Calculations.OfType(); @@ -388,7 +401,7 @@ ActivityProgressDialogRunner.Run(Gui.MainWindow, GetAllPipingCalculations(failureMechanism).Select(calc => new PipingCalculationActivity(calc))); } - private object[] FailureMechanismChildNodeObjects(PipingFailureMechanismContext pipingFailureMechanismContext) + private object[] FailureMechanismEnabledChildNodeObjects(PipingFailureMechanismContext pipingFailureMechanismContext) { PipingFailureMechanism wrappedData = pipingFailureMechanismContext.WrappedData; return new object[] @@ -399,6 +412,14 @@ }; } + private object[] FailureMechanismDisabledChildNodeObjects(PipingFailureMechanismContext pipingFailureMechanismContext) + { + return new object[] + { + new CommentContext(pipingFailureMechanismContext.WrappedData) + }; + } + private static IList GetInputs(PipingFailureMechanism failureMechanism, IAssessmentSection assessmentSection) { return new ArrayList