/// <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> /// 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> /// Registers a command for the command client</summary> /// <param name="commandService">Command service</param> /// <param name="commandTag">Command's unique ID</param> /// <param name="visibility">Whether command is visible in menus and toolbars</param> /// <param name="client">Client that performs command</param> /// <returns>Menu/Toolbar command information</returns> public static CommandInfo RegisterCommand( this ICommandService commandService, StandardCommand commandTag, CommandVisibility visibility, ICommandClient client) { CommandInfo info = CommandInfo.GetStandardCommand(commandTag); commandService.RegisterCommand(info, client); info.Visibility = visibility; return(info); }
/// <summary> /// Registers a command for the command client</summary> /// <param name="commandService">Command service</param> /// <param name="commandTag">Command's unique ID</param> /// <param name="visibility">Whether command is visible in menus and toolbars</param> /// <param name="client">Client that performs command</param> /// <returns>Menu/Toolbar command information</returns> public static CommandInfo RegisterCommand( this ICommandService commandService, CommandInfo commandInfo, CommandVisibility visibility, ICommandClient client) { CommandInfo info = commandInfo.Clone(); commandService.RegisterCommand(info, client); info.Visibility = visibility; return(info); }
/// <summary> /// Registers a command for the command client</summary> /// <param name="commandService">Command service</param> /// <param name="commandTag">Command's unique ID</param> /// <param name="menuTag">Containing menu's unique ID, or null</param> /// <param name="groupTag">Containing menu group's unique ID, or null</param> /// <param name="menuText">Command text as it appears in menu</param> /// <param name="description">Command description</param> /// <param name="shortcut">Command shortcut, or Keys.None if none</param> /// <param name="imageKey">Object identifying image, or null if none</param> /// <param name="visibility">Whether command is visible in menus and toolbars</param> /// <param name="client">Client that performs command</param> /// <returns>CommandInfo object describing command</returns> public static CommandInfo RegisterCommand( this ICommandService commandService, object commandTag, object menuTag, object groupTag, string menuText, string description, Keys shortcut, object imageKey, CommandVisibility visibility, ICommandClient client) { CommandInfo info = new CommandInfo(commandTag, menuTag, groupTag, menuText, description, shortcut, imageKey, visibility); commandService.RegisterCommand(info, client); return(info); }
/// <summary> /// Registers a command for the command client</summary> /// <param name="commandService">Command service</param> /// <param name="commandTag">Command's unique ID</param> /// <param name="menuTag">Containing menu's unique ID, or null</param> /// <param name="groupTag">Containing menu group's unique ID, or null</param> /// <param name="menuText">Command text as it appears in menu</param> /// <param name="description">Command description</param> /// <param name="shortcut">Command shortcut, or Keys.None if none</param> /// <param name="imageName">Text identifying image, or null if none</param> /// <param name="visibility">Value describing whether command is visible in menus and toolbars</param> /// <param name="client">Client that performs command</param> /// <returns>CommandInfo object describing command</returns> public static CommandInfo RegisterCommand( this ICommandService commandService, object commandTag, object menuTag, object groupTag, string menuText, string description, System.Windows.Forms.Keys shortcut, string imageName, CommandVisibility visibility, ICommandClient client) { CommandInfo info = new CommandInfo(commandTag, menuTag, groupTag, menuText, description, KeysInterop.ToAtf(shortcut), imageName, visibility); commandService.RegisterCommand(info, client); return(info); }
/// <summary> /// Creates and registers a command</summary> /// <param name="commandRegistry">ICommandService</param> /// <param name="commandTag">Unique command ID</param> /// <param name="menuTag">Unique ID for menu command attached to</param> /// <param name="groupTag">Unique ID for command's group</param> /// <param name="menuText">Command text as it appears in menu</param> /// <param name="description">Command description</param> /// <param name="shortcut">Command shortcut</param> /// <param name="imageSourceKey">Image resource for command</param> /// <param name="visibility">Flags indicating where command is visible: on toolbar, menus, etc.</param> /// <param name="client">ICommandClient</param> /// <returns>ICommandItem for command</returns> public static ICommandItem RegisterCommand( this ICommandService commandRegistry, object commandTag, object menuTag, object groupTag, string menuText, string description, KeyGesture shortcut, object imageSourceKey, CommandVisibility visibility, ICommandClient client) { Requires.NotNull(commandRegistry, "commandRegistry"); var gestures = shortcut != null ? new InputGesture[] { shortcut } : null; var def = new CommandDef(commandTag, menuTag, groupTag, menuText, null, description, imageSourceKey, gestures, visibility); return(commandRegistry.RegisterCommand(def, client)); }
/// <summary> /// Constructor with parameters</summary> /// <param name="commandTag">Command ID</param> /// <param name="menuTag">Unique ID for menu command attached to</param> /// <param name="groupTag">Unique ID for command's group</param> /// <param name="text">User visible command text, as on menu item</param> /// <param name="menuPath">String array describing menu path</param> /// <param name="description">Command description</param> /// <param name="imageSourceKey">Image resource for command</param> /// <param name="inputGestures">Sequence of input device gestures to execute command</param> /// <param name="visibility">Flags indicating where command is visible: on toolbar, menus, etc.</param> public CommandDef( object commandTag, object menuTag, object groupTag, string text, string[] menuPath, string description, object imageSourceKey, InputGesture[] inputGestures, CommandVisibility visibility) : this(commandTag, menuTag, groupTag, text, description) { ImageSourceKey = imageSourceKey; if(menuPath != null) MenuPath = menuPath; if (inputGestures != null) InputGestures = inputGestures; Visibility = visibility; }
/// <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> /// Constructor with parameters</summary> /// <param name="commandTag">Command ID</param> /// <param name="menuTag">Unique ID for menu command attached to</param> /// <param name="groupTag">Unique ID for command's group</param> /// <param name="text">User visible command text, as on menu item</param> /// <param name="menuPath">String array describing menu path</param> /// <param name="description">Command description</param> /// <param name="imageSourceKey">Image resource for command</param> /// <param name="inputGestures">Sequence of input device gestures to execute command</param> /// <param name="visibility">Flags indicating where command is visible: on toolbar, menus, etc.</param> public CommandDef( object commandTag, object menuTag, object groupTag, string text, string[] menuPath, string description, object imageSourceKey, InputGesture[] inputGestures, CommandVisibility visibility) : this(commandTag, menuTag, groupTag, text, description) { ImageSourceKey = imageSourceKey; if (menuPath != null) { MenuPath = menuPath; } if (inputGestures != null) { InputGestures = inputGestures; } Visibility = visibility; }
/// <summary> /// Tests whether command is visible or not</summary> /// <param name="cmd">ICommandItem for command</param> /// <param name="visibility">Where command is visible, as on menus, toolbars, etc.</param> /// <returns>True iff command is visible</returns> public static bool IsVisible(this ICommandItem cmd, CommandVisibility visibility) { return((cmd.Visibility & visibility) > 0); }
/// <summary> /// Tests whether command is visible or not</summary> /// <param name="cmd">ICommandItem for command</param> /// <param name="visibility">Where command is visible, as on menus, toolbars, etc.</param> /// <returns>True iff command is visible</returns> public static bool IsVisible(this ICommandItem cmd, CommandVisibility visibility) { return (cmd.Visibility & visibility) > 0; }
/// <summary> /// Registers a command for the command client</summary> /// <param name="commandService">Command service</param> /// <param name="commandTag">Command's unique ID</param> /// <param name="visibility">Whether command is visible in menus and toolbars</param> /// <param name="client">Client that performs command</param> /// <returns>Menu/Toolbar command information</returns> public static CommandInfo RegisterCommand( this ICommandService commandService, StandardCommand commandTag, CommandVisibility visibility, ICommandClient client) { CommandInfo info = CommandInfo.GetStandardCommand(commandTag); commandService.RegisterCommand(info, client); info.Visibility = visibility; return info; }
/// <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> /// Registers a command for the command client</summary> /// <param name="commandService">Command service</param> /// <param name="commandTag">Command's unique ID</param> /// <param name="menuTag">Containing menu's unique ID, or null</param> /// <param name="groupTag">Containing menu group's unique ID, or null</param> /// <param name="menuText">Command text as it appears in menu</param> /// <param name="description">Command description</param> /// <param name="shortcut">Command shortcut, or Keys.None if none</param> /// <param name="imageName">Text identifying image, or null if none</param> /// <param name="visibility">Value describing whether command is visible in menus and toolbars</param> /// <param name="client">Client that performs command</param> /// <returns>CommandInfo object describing command</returns> public static CommandInfo RegisterCommand( this ICommandService commandService, object commandTag, object menuTag, object groupTag, string menuText, string description, System.Windows.Forms.Keys shortcut, string imageName, CommandVisibility visibility, ICommandClient client) { CommandInfo info = new CommandInfo(commandTag, menuTag, groupTag, menuText, description, KeysInterop.ToAtf(shortcut), imageName, visibility); commandService.RegisterCommand(info, client); return info; }
/// <summary> /// Registers a command for the command client</summary> /// <param name="commandService">Command service</param> /// <param name="commandTag">Command's unique ID</param> /// <param name="menuTag">Containing menu's unique ID, or null</param> /// <param name="groupTag">Containing menu group's unique ID, or null</param> /// <param name="menuText">Command text as it appears in menu</param> /// <param name="description">Command description</param> /// <param name="shortcut">Command shortcut, or Keys.None if none</param> /// <param name="imageKey">Object identifying image, or null if none</param> /// <param name="visibility">Whether command is visible in menus and toolbars</param> /// <param name="client">Client that performs command</param> /// <returns>CommandInfo object describing command</returns> public static CommandInfo RegisterCommand( this ICommandService commandService, object commandTag, object menuTag, object groupTag, string menuText, string description, Keys shortcut, object imageKey, CommandVisibility visibility, ICommandClient client) { CommandInfo info = new CommandInfo(commandTag, menuTag, groupTag, menuText, description, shortcut, imageKey, visibility); commandService.RegisterCommand(info, client); return info; }
/// <summary> /// Creates and registers a command</summary> /// <param name="commandRegistry">ICommandService</param> /// <param name="commandTag">Unique command ID</param> /// <param name="menuTag">Unique ID for menu command attached to</param> /// <param name="groupTag">Unique ID for command's group</param> /// <param name="menuText">Command text as it appears in menu</param> /// <param name="description">Command description</param> /// <param name="shortcut">Command shortcut</param> /// <param name="imageSourceKey">Image resource for command</param> /// <param name="visibility">Flags indicating where command is visible: on toolbar, menus, etc.</param> /// <param name="client">ICommandClient</param> /// <returns>ICommandItem for command</returns> public static ICommandItem RegisterCommand( this ICommandService commandRegistry, object commandTag, object menuTag, object groupTag, string menuText, string description, KeyGesture shortcut, object imageSourceKey, CommandVisibility visibility, ICommandClient client) { Requires.NotNull(commandRegistry, "commandRegistry"); var gestures = shortcut != null ? new InputGesture[] { shortcut } : null; var def = new CommandDef(commandTag, menuTag, groupTag, menuText, null, description, imageSourceKey, gestures, visibility); return commandRegistry.RegisterCommand(def, client); }