Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/ClosingStructuresPlugin.cs =================================================================== diff -u -r9214f74184b5923e0fb04b86d50c5bf8e5e57cdc -ree5ab18ca7554ffb2ce9546dd72b341da59f0345 --- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/ClosingStructuresPlugin.cs (.../ClosingStructuresPlugin.cs) (revision 9214f74184b5923e0fb04b86d50c5bf8e5e57cdc) +++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/ClosingStructuresPlugin.cs (.../ClosingStructuresPlugin.cs) (revision ee5ab18ca7554ffb2ce9546dd72b341da59f0345) @@ -33,12 +33,14 @@ using Ringtoets.Common.Data; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Calculation; +using Ringtoets.Common.Data.Probability; using Ringtoets.Common.Forms.Helpers; using Ringtoets.Common.Forms.PresentationObjects; using Ringtoets.Common.Forms.TreeNodeInfos; using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; using RingtoetsCommonIOResources = Ringtoets.Common.IO.Properties.Resources; using ClosingStructuresDataResources = Ringtoets.ClosingStructures.Data.Properties.Resources; +using ClosingStructuresFormsResources = Ringtoets.ClosingStructures.Forms.Properties.Resources; namespace Ringtoets.ClosingStructures.Plugin { @@ -76,9 +78,9 @@ CalculationGroupContextOnNodeRemoved); yield return RingtoetsTreeNodeInfoFactory.CreateCalculationContextTreeNodeInfo( - null, - null, - null); + CalculationContextChildNodeObjects, + CalculationContextContextMenuStrip, + CalculationContextOnNodeRemoved); yield return new TreeNodeInfo> { @@ -89,7 +91,7 @@ .Build() }; - yield return new TreeNodeInfo() + yield return new TreeNodeInfo { Text = context => RingtoetsCommonFormsResources.StructuresCollection_DisplayName, Image = context => RingtoetsCommonFormsResources.GeneralFolderIcon, @@ -102,6 +104,15 @@ .AddCollapseAllItem() .Build() }; + + yield return new TreeNodeInfo + { + Text = inputContext => ClosingStructuresFormsResources.ClosingStructuresInputContext_NodeDisplayName, + Image = inputContext => RingtoetsCommonFormsResources.GenericInputOutputIcon, + ContextMenuStrip = (nodeData, parentData, treeViewControl) => Gui.Get(nodeData, treeViewControl) + .AddPropertiesItem() + .Build() + }; } public override IEnumerable GetImportInfos() @@ -318,7 +329,7 @@ CalculateAll(context.FailureMechanism, group.GetCalculations().OfType()); } - private void AddCalculation(ClosingStructuresCalculationGroupContext context) + private static void AddCalculation(ClosingStructuresCalculationGroupContext context) { var calculation = new ClosingStructuresCalculation { @@ -338,8 +349,43 @@ #endregion + #region ClosingStructuresCalculationContext TreeNodeInfo + + private static object[] CalculationContextChildNodeObjects(ClosingStructuresCalculationContext context) + { + var childNodes = new List + { + new CommentContext(context.WrappedData), + new ClosingStructuresInputContext(context.WrappedData.InputParameters, + context.FailureMechanism, + context.AssessmentSection) + }; + + if (context.WrappedData.HasOutput) + { + childNodes.Add(context.WrappedData.Output); + } + else + { + childNodes.Add(new EmptyProbabilityAssessmentOutput()); + } + + return childNodes.ToArray(); + } + + private static ContextMenuStrip CalculationContextContextMenuStrip(ClosingStructuresCalculationContext closingStructuresCalculationContext, object o, TreeViewControl arg3) + { + return new ContextMenuStrip(); + } + + private static void CalculationContextOnNodeRemoved(ClosingStructuresCalculationContext arg1, object arg2) + { + } + #endregion + #endregion + private static string ValidateAllDataAvailableAndGetErrorMessage(IAssessmentSection assessmentSection, ClosingStructuresFailureMechanism failureMechanism) { //Check for database connection/part of a validation issue - currently a placeholder