/// <summary> /// Clones this instance. /// </summary> /// <returns>A deep copy of this instance.</returns> public override ActionViewModelBase Clone() { var sendTextAction = new SendTextAction(); return(new SendTextActionViewModel(sendTextAction, ActionDescriptor, ParametersModel.ParameterDescriptions, AllActionDescriptions) { CommandText = CommandText, ParametersModel = ParametersModel.Clone(sendTextAction.Parameters) }); }
/// <summary> /// Initializes a new instance of the <see cref="SendTextActionViewModel"/> class. /// </summary> /// <param name="action">The action.</param> /// <param name="actionDescriptor">The action descriptor.</param> /// <param name="parameterDescriptions">The parameter descriptions.</param> /// <param name="allDescriptions">All descriptions.</param> public SendTextActionViewModel([NotNull] SendTextAction action, [NotNull] ActionDescription actionDescriptor, [NotNull] IEnumerable <ParameterDescription> parameterDescriptions, [NotNull] IEnumerable <ActionDescription> allDescriptions) : base(action, actionDescriptor, parameterDescriptions, allDescriptions) { Assert.ArgumentNotNull(action, "action"); Assert.ArgumentNotNull(actionDescriptor, "actionDescriptor"); Assert.ArgumentNotNull(parameterDescriptions, "parameterDescriptions"); Assert.ArgumentNotNull(allDescriptions, "allDescriptions"); _action = action; }
/// <summary> /// Executes the send text action /// </summary> /// <param name="action"></param> /// <param name="context"></param> public void Execute(SendTextAction action, IExecutionContext context) { this._window.SendText(action.Text); }