MonoDevelop.Components.Commands.CommandManager.DefaultDispatchCommand C# (CSharp) Method

DefaultDispatchCommand() private method

private DefaultDispatchCommand ( MonoDevelop.Components.Commands.ActionCommand cmd, MonoDevelop.Components.Commands.CommandInfo info, object dataItem, object target, CommandSource source ) : bool
cmd MonoDevelop.Components.Commands.ActionCommand
info MonoDevelop.Components.Commands.CommandInfo
dataItem object
target object
source CommandSource
return bool
		bool DefaultDispatchCommand (ActionCommand cmd, CommandInfo info, object dataItem, object target, CommandSource source)
		{
			DefaultUpdateCommandInfo (cmd, info);
			
			if (cmd.CommandArray) {
				//if (info.ArrayInfo.FindCommandInfo (dataItem) == null)
				//	return false;
			}
			else if (!info.Enabled || !info.Visible)
				return false;
			
			if (cmd.DefaultHandler == null) {
				if (cmd.DefaultHandlerType == null)
					return false;
				cmd.DefaultHandler = (CommandHandler) Activator.CreateInstance (cmd.DefaultHandlerType);
			}
			OnCommandActivating (cmd.Id, info, dataItem, target, source);

			var t = DateTime.Now;
			try {
				cmd.DefaultHandler.InternalRun (dataItem);
			} finally {
				OnCommandActivated (cmd.Id, info, dataItem, target, source, DateTime.Now - t);
			}
			return true;
		}