using System; using System.Drawing; using System.Windows.Forms; using Core.Common.Controls.TreeView; using Core.Common.Gui; using Core.Common.Gui.ContextMenu; using Ringtoets.Common.Forms.NodePresenters; using Ringtoets.Piping.Data; using Ringtoets.Piping.Forms.PresentationObjects; using Ringtoets.Piping.Forms.Properties; using RingtoestFormsResources = Ringtoets.Common.Forms.Properties.Resources; namespace Ringtoets.Piping.Forms.NodePresenters { /// /// Node presenter for instances. /// public class PipingOutputNodePresenter : RingtoetsNodePresenterBase { /// /// Creates a new instance of , which uses the /// to create and bind its . /// /// The /// to use for building a . /// Thrown when no was provided. public PipingOutputNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) { } protected override void UpdateNode(ITreeNode parentNode, ITreeNode node, PipingOutput nodeData) { UpdateNode(node); } protected static void UpdateNode(ITreeNode node) { node.Text = Resources.PipingOutput_DisplayName; node.Image = Resources.PipingOutputIcon; node.ForegroundColor = Color.FromKnownColor(KnownColor.ControlText); } protected override bool CanRemove(object parentNodeData, PipingOutput nodeData) { return true; } protected override ContextMenuStrip GetContextMenu(ITreeNode node, PipingOutput nodeData) { return contextMenuBuilderProvider .Get(node) .AddDeleteItem() .AddSeparator() .AddExportItem() .AddSeparator() .AddPropertiesItem() .Build(); } protected override bool RemoveNodeData(object parentNodeData, PipingOutput nodeData) { var pipingCalculationContext = (PipingCalculationContext) parentNodeData; pipingCalculationContext.ClearOutput(); pipingCalculationContext.NotifyObservers(); return true; } } }