///<summary> /// Constructor providing a command, task manager and keys parser. ///</summary> ///<param name="command">The command to use.</param> ///<param name="taskManager">The task manager to use.</param> ///<param name="keysParser">The keys parser to use.</param> public CommandToolStripMenuItem(MenuCommand command, ITaskManager taskManager, IKeysParser keysParser) : base(command.Text, command.Image) { Enabled = command.CanExecute; command.CanExecute.PropertyChanged += (s, e) => Enabled = command.CanExecute; if (taskManager != null) Click += (s, e) => taskManager.QueueTask(command.Command); else Click += (s, e) => command.Command.Execute(NullProgressMonitor.CreateInstance()); if (!string.IsNullOrEmpty(command.Shortcut)) ShortcutKeys = keysParser.Parse(command.Shortcut.Replace(" ", "")); }
///<summary> /// Constructor providing a command, task manager and keys parser. ///</summary> ///<param name="command">The command to use.</param> ///<param name="taskManager">The task manager to use.</param> ///<param name="keysParser">The keys parser to use.</param> public CommandToolStripMenuItem(MenuCommand command, ITaskManager taskManager, IKeysParser keysParser) : base(command.Text, command.Image) { Enabled = command.CanExecute; command.CanExecute.PropertyChanged += (s, e) => Enabled = command.CanExecute; if (taskManager != null) { Click += (s, e) => taskManager.QueueTask(command.Command); } else { Click += (s, e) => command.Command.Execute(NullProgressMonitor.CreateInstance()); } if (!string.IsNullOrEmpty(command.Shortcut)) { ShortcutKeys = keysParser.Parse(command.Shortcut.Replace(" ", "")); } }