using System; using System.Drawing; using System.Windows.Forms; using Core.Common.Controls; using Core.Common.Gui; using Ringtoets.Common.Forms.Extensions; 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; public PlaceholderWithReadonlyNameNodePresenter(IGuiCommandHandler guiHandler = null) { this.guiHandler = guiHandler; } 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) { var contextMenu = new ContextMenuStrip(); if (nodeData is InputPlaceholder || nodeData is OutputPlaceholder) { contextMenu.AddMenuItem( RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Open, RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Open_ToolTip, RingtoetsCommonFormsResources.OpenIcon, null).Enabled = false; contextMenu.AddSeperator(); contextMenu.AddMenuItem( RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Erase, RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Erase_ToolTip, RingtoetsCommonFormsResources.ClearIcon, null).Enabled = false; contextMenu.AddSeperator(); } if (nodeData is InputPlaceholder) { contextMenu.AddMenuItem( RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Import, RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Import_ToolTip, RingtoetsCommonFormsResources.ImportIcon, null).Enabled = false; } if (nodeData is InputPlaceholder || nodeData is OutputPlaceholder) { contextMenu.AddMenuItem( RingtoetsCommonFormsResources.FailureMechanism_Export, RingtoetsCommonFormsResources.FailureMechanism_Export_ToolTip, RingtoetsCommonFormsResources.ExportIcon, null).Enabled = false; contextMenu.AddSeperator(); contextMenu.AddMenuItem( RingtoetsCommonFormsResources.FailureMechanism_Properties, RingtoetsCommonFormsResources.FailureMechanism_Properties_ToolTip, RingtoetsCommonFormsResources.PropertiesIcon, PropertiesItemClicked); } return contextMenu; } private void PropertiesItemClicked(object sender, EventArgs eventArgs) { if (guiHandler != null) { guiHandler.ShowProperties(); } } } }