Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs =================================================================== diff -u -rf77769566442052f515f3d5809f30f308ff045a8 -rf5af57abda671e4a646797b0e78e03ba1835c6d5 --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision f77769566442052f515f3d5809f30f308ff045a8) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision f5af57abda671e4a646797b0e78e03ba1835c6d5) @@ -433,9 +433,21 @@ ForeColor = context => context.WrappedData.HydraulicBoundaryDatabase == null ? Color.FromKnownColor(KnownColor.GrayText) : Color.FromKnownColor(KnownColor.ControlText), + ChildNodeObjects = HydraulicBoundaryDatabaseChildNodeObjects, ContextMenuStrip = HydraulicBoundaryDatabaseContextMenuStrip }; + yield return new TreeNodeInfo + { + Text = designWaterLevel => RingtoetsFormsResources.DesignWaterLevel_DisplayName, + Image = designWaterLevel => RingtoetsCommonFormsResources.GenericInputOutputIcon, + CanRename = (context, o) => false, + ForeColor = context => context.WrappedData.HydraulicBoundaryDatabase == null ? + Color.FromKnownColor(KnownColor.GrayText) : + Color.FromKnownColor(KnownColor.ControlText), + ContextMenuStrip = DesignWaterLevelContextMenuStrip + }; + yield return CreateFailureMechanismSectionResultTreeNodeInfo(); yield return CreateFailureMechanismSectionResultTreeNodeInfo(); yield return CreateFailureMechanismSectionResultTreeNodeInfo(); @@ -949,13 +961,16 @@ #region HydraulicBoundaryDatabase - private ContextMenuStrip HydraulicBoundaryDatabaseContextMenuStrip(HydraulicBoundaryDatabaseContext nodeData, object parentData, TreeViewControl treeViewControl) + private static object[] HydraulicBoundaryDatabaseChildNodeObjects(HydraulicBoundaryDatabaseContext nodeData) { - var connectionItem = new StrictContextMenuItem( - RingtoetsFormsResources.HydraulicBoundaryDatabase_Connect, - RingtoetsFormsResources.HydraulicBoundaryDatabase_Connect_ToolTip, - RingtoetsCommonFormsResources.DatabaseIcon, (sender, args) => { SelectDatabaseFile(nodeData.WrappedData); }); + return new object[] + { + new DesignWaterLevelContext(nodeData.WrappedData) + }; + } + private ContextMenuStrip DesignWaterLevelContextMenuStrip(DesignWaterLevelContext nodeData, object parentData, TreeViewControl treeViewControl) + { var designWaterLevelItem = new StrictContextMenuItem( RingtoetsFormsResources.DesignWaterLevel_Calculate, RingtoetsFormsResources.DesignWaterLevel_Calculate_ToolTip, @@ -985,14 +1000,27 @@ } return Gui.Get(nodeData, treeViewControl) - .AddCustomItem(connectionItem) - .AddSeparator() .AddCustomItem(designWaterLevelItem) .AddSeparator() .AddPropertiesItem() .Build(); } + private ContextMenuStrip HydraulicBoundaryDatabaseContextMenuStrip(HydraulicBoundaryDatabaseContext nodeData, object parentData, TreeViewControl treeViewControl) + { + var connectionItem = new StrictContextMenuItem( + RingtoetsFormsResources.HydraulicBoundaryDatabase_Connect, + RingtoetsFormsResources.HydraulicBoundaryDatabase_Connect_ToolTip, + RingtoetsCommonFormsResources.DatabaseIcon, (sender, args) => { SelectDatabaseFile(nodeData.WrappedData); }); + + return Gui.Get(nodeData, treeViewControl) + .AddCustomItem(connectionItem) + .AddSeparator() + .AddExpandAllItem() + .AddCollapseAllItem() + .Build(); + } + private void SelectDatabaseFile(IAssessmentSection assessmentSection) { var windowTitle = RingtoetsFormsResources.SelectHydraulicBoundaryDatabaseFile_Title;