/// <summary> /// Creates the structure of the text document's context menu. /// </summary> private void AddContextMenu() { var commandExtension = Editor.Extensions.OfType <CommandExtension>().FirstOrDefault().WarnIfMissing(); if (commandExtension == null) { _contextMenuNodes = new MergeableNodeCollection <ICommandItem>(); } else { _contextMenuNodes = new MergeableNodeCollection <ICommandItem> { new MergeableNode <ICommandItem>(commandExtension.CommandItems["Cut"]), new MergeableNode <ICommandItem>(commandExtension.CommandItems["Copy"]), new MergeableNode <ICommandItem>(commandExtension.CommandItems["Paste"]), new MergeableNode <ICommandItem>(commandExtension.CommandItems["Delete"]), new MergeableNode <ICommandItem>(new CommandSeparator("ClipboardSeparator")), new MergeableNode <ICommandItem>(commandExtension.CommandItems["SelectAll"]), new MergeableNode <ICommandItem>(new CommandSeparator("SelectSeparator")), CreateFormatMenu(), CreateFoldingMenu(), new MergeableNode <ICommandItem>(new CommandSeparator("EditSeparator")), new MergeableNode <ICommandItem>(CommandItems["SyntaxHighlighting"]), new MergeableNode <ICommandItem>(new CommandSeparator("ViewSeparator")) }; } ContextMenuNodeCollections.Add(_contextMenuNodes); }
private void RemoveContextMenu() { ContextMenuNodeCollections.Remove(_contextMenuNodes); _contextMenuNodes = null; }