/// <summary>Adds the action.</summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="System.Windows.Input.MouseButtonEventArgs"/> instance containing the event data.</param> private void AddAction([NotNull] object sender, [NotNull] MouseButtonEventArgs e) { Debug.ArgumentNotNull(sender, "sender"); Debug.ArgumentNotNull(e, "e"); var selectedItem = this.Actions.SelectedItem as ListBoxItem; if (selectedItem == null) { return; } var action = selectedItem.Tag as RuleManager.RuleActionInfo; if (action == null) { return; } var descriptor = new RuleActionDescriptor { Action = action.GetInstance() }; /* * this.Rule.ActionDescriptors.Add(descriptor); * * this.RenderRule(this.Rule); */ }
private static TextBlock FormatAction([NotNull] RuleActionDescriptor descriptor, bool isLast) { Debug.ArgumentNotNull(descriptor, nameof(descriptor)); var textBlock = new TextBlock(); FormatText(textBlock, descriptor.DisplayText, descriptor.Parameters); if (isLast) { textBlock.Inlines.Add(new Run(@" and")); } return(textBlock); }
public override void Execute(object parameter) { var context = parameter as QueryAnalyzerContext; if (context == null) { return; } var name = AppHost.Prompt("Enter the name of the script macro:", "Save as Script Macro"); if (name == null) { return; } var conditionDescriptors = new List <RuleConditionDescriptor> { new RuleConditionDescriptor { Condition = new TrueCondition() } }; var ruleActionDescriptor = new RuleActionDescriptor { Action = new ScriptMacroAction() }; ruleActionDescriptor.Parameters[@"Script"] = context.Script; var actionDescriptors = new List <RuleActionDescriptor> { ruleActionDescriptor }; var rule = new Rule(conditionDescriptors, actionDescriptors); var macro = new Macro(rule, name); MacroManager.Add(macro); }
private bool MoveAction([NotNull] Rule rule, [NotNull] RuleActionDescriptor action, bool dryRun) { Debug.ArgumentNotNull(rule, nameof(rule)); Debug.ArgumentNotNull(action, nameof(action)); var index = rule.ActionDescriptors.IndexOf(action) + GetOffset(); if (index < 0 || index >= rule.ActionDescriptors.Count) { return(false); } if (!dryRun) { rule.ActionDescriptors.Remove(action); rule.ActionDescriptors.Insert(index, action); } return(true); }
private static void LoadActions([NotNull] XElement actions, [NotNull] Rule rule) { Debug.ArgumentNotNull(actions, nameof(actions)); Debug.ArgumentNotNull(rule, nameof(rule)); foreach (var element in actions.Elements()) { var action = new RuleActionDescriptor { Action = GetInstance <IRuleAction>(element.GetAttributeValue("type")) }; var parameters = element.Element(@"parameters"); if (parameters != null) { LoadParameters(parameters, action.Parameters); } rule.ActionDescriptors.Add(action); } }