/// <summary> /// Constructor</summary> /// <param name="commandTag">Unique command identifier</param> /// <param name="menuTag">Unique menu identifier</param> /// <param name="groupTag">Unique group identifier</param> /// <param name="menuText">Menu text</param> /// <param name="description">Command description</param> /// <param name="shortcuts">Default keyboard shortcuts - any collection implementing IEnumerable<Keys>. /// Use bitwise OR for key-combos (eg, "Key.Control | Key.W"), or "Keys.None" for no shortcuts.</param> /// <param name="imageName">Name of image resource, or null</param> /// <param name="visibility">Command visibility in menus and toolbars</param> /// <param name="helpUrl">URL to open when the user presses F1 and the tool strip button has focus. /// A message will be added to the tooltip, to indicate that F1 help is available.</param> public CommandInfo( object commandTag, object menuTag, object groupTag, string menuText, string description, IEnumerable <Keys> shortcuts, string imageName, CommandVisibility visibility, string helpUrl = null) { CommandTag = commandTag; MenuTag = menuTag; GroupTag = groupTag; MenuText = menuText; Description = description; DefaultShortcuts = shortcuts; Shortcuts = shortcuts; ImageName = imageName; Visibility = visibility; HelpUrl = helpUrl; ShortcutsEditable = true; ShortcutsChanged.Raise(this, EventArgs.Empty); }
/// <summary> /// Constructor</summary> /// <param name="commandTag">Unique command identifier</param> /// <param name="menuTag">Unique menu identifier</param> /// <param name="groupTag">Unique group identifier</param> /// <param name="menuText">Menu text</param> /// <param name="description">Command description</param> /// <param name="shortcut">Default keyboard shortcut. Use bitwise OR for key combos /// (eg, "Keys.Ctrl | Keys.W"), or "Keys.None" for no shortcut.</param> /// <param name="imageName">Name of image resource, or null</param> /// <param name="visibility">Command visibility in menus and toolbars. CommandVisibility.Default is /// the default.</param> /// <param name="helpUrl">URL to open when the user presses F1 and the tool strip button has focus. /// A message will be added to the tooltip, to indicate that F1 help is available.</param> public CommandInfo( object commandTag, object menuTag, object groupTag, string menuText, string description, Keys shortcut, string imageName, CommandVisibility visibility, string helpUrl = null) { CommandTag = commandTag; MenuTag = menuTag; GroupTag = groupTag; MenuText = menuText; Description = description; DefaultShortcuts = new[] { shortcut }; Shortcuts = new[] { shortcut }; ImageName = imageName; Visibility = visibility; HelpUrl = helpUrl; ShortcutsEditable = true; ShortcutsChanged += (e, s) => RebuildShortcutKeyDisplayString(); ShortcutsChanged.Raise(this, EventArgs.Empty); }
/// <summary> /// Remove a keyboard shortcut from the list of keyboard shortcuts for activating this command. /// Subsequently updates the display string.</summary> /// <param name="shortcut">Keys for shortcut</param> public void RemoveShortcut(Keys shortcut) { if (shortcut == Keys.None) { return; } if (m_shortcuts.Remove(shortcut)) { ShortcutsChanged.Raise(this, EventArgs.Empty); } }
/// <summary> /// Add a keyboard shortcut to the list of keyboard shortcuts for activating this command. /// Subsequently updates the display string.</summary> /// <param name="shortcut">Keys for shortcut</param> public void AddShortcut(Keys shortcut) { if (shortcut == Keys.None) { return; } m_shortcuts.Remove(Keys.None); if (!m_shortcuts.Contains(shortcut)) { m_shortcuts.Add(shortcut); } ShortcutsChanged.Raise(this, EventArgs.Empty); }
/// <summary> /// Constructor</summary> /// <param name="commandTag">Unique command identifier</param> /// <param name="menuTag">Unique menu identifier</param> /// <param name="groupTag">Unique group identifier</param> /// <param name="menuText">Menu text</param> /// <param name="description">Command description</param> /// <param name="shortcut">Default keyboard shortcut. Use bitwise OR for key combos /// (eg, "Keys.Ctrl | Keys.W"), or "Keys.None" for no shortcut.</param> /// <param name="imageKey">Key to identify image resource, or null</param> /// <param name="visibility">Command visibility in menus and toolbars</param> public CommandInfo( object commandTag, object menuTag, object groupTag, string menuText, string description, Keys shortcut, object imageKey, CommandVisibility visibility) { CommandTag = commandTag; MenuTag = menuTag; GroupTag = groupTag; MenuText = menuText; Description = description; DefaultShortcuts = new[] { shortcut }; Shortcuts = new[] { shortcut }; ImageName = imageKey as string; ImageKey = imageKey; Visibility = visibility; ShortcutsEditable = true; ShortcutsChanged.Raise(this, EventArgs.Empty); }
/// <summary> /// Clear out the keyboard shortcuts used to activate this command. /// Subsequently updates the display string.</summary> public void ClearShortcuts() { m_shortcuts.Clear(); ShortcutsChanged.Raise(this, EventArgs.Empty); }