Index: Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Plugin/StabilityStoneCoverPlugin.cs =================================================================== diff -u -rb5accd775c390fa85f815ef13c3c3e54a6d10ada -rf718135c08ce7b90cc0eaf40bfb83c9af48a1776 --- Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Plugin/StabilityStoneCoverPlugin.cs (.../StabilityStoneCoverPlugin.cs) (revision b5accd775c390fa85f815ef13c3c3e54a6d10ada) +++ Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Plugin/StabilityStoneCoverPlugin.cs (.../StabilityStoneCoverPlugin.cs) (revision f718135c08ce7b90cc0eaf40bfb83c9af48a1776) @@ -69,6 +69,14 @@ public override IEnumerable GetViewInfos() { + yield return new ViewInfo + { + GetViewName = (view, mechanism) => mechanism.WrappedData.Name, + Image = RingtoetsCommonFormsResources.CalculationIcon, + CloseForData = CloseStabilityStoneCoverFailureMechanismViewForData, + AdditionalDataCheck = context => context.WrappedData.IsRelevant + }; + yield return new ViewInfo, IEnumerable, StabilityStoneCoverResultView> @@ -101,18 +109,18 @@ yield return new TreeNodeInfo { - Text = emptyPipingOutput => RingtoetsCommonFormsResources.CalculationOutput_DisplayName, - Image = emptyPipingOutput => RingtoetsCommonFormsResources.GeneralOutputIcon, - ForeColor = emptyPipingOutput => Color.FromKnownColor(KnownColor.GrayText), + Text = emptyOutput => RingtoetsCommonFormsResources.CalculationOutput_DisplayName, + Image = emptyOutput => RingtoetsCommonFormsResources.GeneralOutputIcon, + ForeColor = emptyOutput => Color.FromKnownColor(KnownColor.GrayText), ContextMenuStrip = (nodeData, parentData, treeViewControl) => Gui.Get(nodeData, treeViewControl) .AddPropertiesItem() .Build() }; yield return new TreeNodeInfo { - Text = emptyPipingOutput => RingtoetsCommonFormsResources.CalculationOutput_DisplayName, - Image = emptyPipingOutput => RingtoetsCommonFormsResources.GeneralOutputIcon, + Text = emptyOutput => RingtoetsCommonFormsResources.CalculationOutput_DisplayName, + Image = emptyOutput => RingtoetsCommonFormsResources.GeneralOutputIcon, ContextMenuStrip = (nodeData, parentData, treeViewControl) => Gui.Get(nodeData, treeViewControl) .AddPropertiesItem() .Build() @@ -159,6 +167,23 @@ #region ViewInfos + # region StabilityStoneCoverFailureMechanismView ViewInfo + + private bool CloseStabilityStoneCoverFailureMechanismViewForData(StabilityStoneCoverFailureMechanismView view, object o) + { + var assessmentSection = o as IAssessmentSection; + var failureMechanism = o as StabilityStoneCoverFailureMechanism; + + var viewFailureMechanismContext = (StabilityStoneCoverFailureMechanismContext)view.Data; + var viewFailureMechanism = viewFailureMechanismContext.WrappedData; + + return assessmentSection != null + ? ReferenceEquals(viewFailureMechanismContext.Parent, assessmentSection) + : ReferenceEquals(viewFailureMechanism, failureMechanism); + } + + # endregion + #region FailureMechanismSectionResultContext private static bool CloseFailureMechanismResultViewForData(StabilityStoneCoverResultView view, object dataToCloseFor) @@ -231,8 +256,10 @@ { var builder = new RingtoetsContextMenuBuilder(Gui.Get(failureMechanismContext, treeViewControl)); - return builder.AddToggleRelevancyOfFailureMechanismItem(failureMechanismContext, RemoveAllViewsForItem) + return builder.AddOpenItem() .AddSeparator() + .AddToggleRelevancyOfFailureMechanismItem(failureMechanismContext, RemoveAllViewsForItem) + .AddSeparator() .AddExpandAllItem() .AddCollapseAllItem() .AddSeparator()