using System.Drawing; using System.Windows.Forms; using Core.Common.Controls; using Core.Common.Gui; using Core.Common.Gui.ContextMenu; using Ringtoets.Common.Forms.NodePresenters; using Ringtoets.Common.Placeholder; using Ringtoets.Integration.Forms.Properties; using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; namespace Ringtoets.Integration.Forms.NodePresenters { /// /// Node presenter class for /// public class PlaceholderWithReadonlyNameNodePresenter : RingtoetsNodePresenterBase { private IGuiCommandHandler guiHandler; private IContextMenuBuilderProvider contextMenuBuilderProvider; public PlaceholderWithReadonlyNameNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider, IGuiCommandHandler guiHandler = null) { this.guiHandler = guiHandler; this.contextMenuBuilderProvider = contextMenuBuilderProvider; } protected override void UpdateNode(ITreeNode parentNode, ITreeNode node, PlaceholderWithReadonlyName nodeData) { node.Text = nodeData.Name; node.ForegroundColor = Color.FromKnownColor(KnownColor.GrayText); node.Image = GetIconForPlaceholder(nodeData); } private static Bitmap GetIconForPlaceholder(PlaceholderWithReadonlyName nodeData) { if (nodeData is InputPlaceholder || nodeData is OutputPlaceholder) { return Resources.GenericInputOutputIcon; } return Resources.PlaceholderIcon; } protected override ContextMenuStrip GetContextMenu(ITreeNode sender, PlaceholderWithReadonlyName nodeData) { ContextMenuBuilder menuBuilder = contextMenuBuilderProvider.Get(sender); if (nodeData is InputPlaceholder || nodeData is OutputPlaceholder) { var openItem = new ToolStripMenuItem { Text = RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Open, ToolTipText = RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Open_ToolTip, Image = RingtoetsCommonFormsResources.OpenIcon, Enabled = false }; var clearItem = new ToolStripMenuItem { Text = RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Erase, ToolTipText = RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Erase_ToolTip, Image = RingtoetsCommonFormsResources.ClearIcon, Enabled = false }; menuBuilder.AddCustomItem(openItem) .AddCustomItem(clearItem) .AddSeparator(); } return menuBuilder.AddImportItem() .AddExportItem() .AddSeparator() .AddPropertiesItem() .Build(); } } }