private static void read_button_actions_from_file(XmlNode list_of_actions, CustomButton button) { XmlNode modifiers_node, ordinary_node, process_node; foreach (XmlNode action_node in list_of_actions.ChildNodes) { if (action_node.Attributes["IAction_type"].Value == "CustomButton_Send") { CustomButton_Send customButton_Send; modifiers_node = action_node.SelectSingleNode("modifier_keys"); string[] a = modifiers_node.InnerText.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); List <VirtualKeyCode> v = new List <VirtualKeyCode>(); foreach (string modifier in a) { v.Add((VirtualKeyCode)Enum.Parse(typeof(VirtualKeyCode), modifier)); } ordinary_node = action_node.SelectSingleNode("ordinary_keys"); a = ordinary_node.InnerText.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); foreach (string ordinary in a) { v.Add((VirtualKeyCode)Enum.Parse(typeof(VirtualKeyCode), ordinary)); } customButton_Send = new CustomButton_Send(v); button.actions.Add(customButton_Send); } else if (action_node.Attributes["IAction_type"].Value == "CustomButton_Process") { CustomButton_Process customButton_Process; process_node = action_node.SelectSingleNode("process"); customButton_Process = new CustomButton_Process( (Process_type)Enum.Parse(typeof(Process_type), process_node.Attributes["process_type"].Value), process_node.Attributes["process.StartInfo.FileName"].Value, process_node.Attributes["process.StartInfo.Arguments"].Value); button.actions.Add(customButton_Process); } } }
private string parse_Run(CustomButton customButton, string input_text, Process_type process_type) { CustomButton_Process customButton_Process; string[] a = input_text.Split(new[] { ' ' }, 2, StringSplitOptions.RemoveEmptyEntries); if (a.Length == 0) { return("Performer [" + customButton.Text + "] — Syntax error in " + customButton.action_type.ToString() + " command"); } else if (a.Length == 1) { customButton_Process = new CustomButton_Process(process_type, a[0]); } else { customButton_Process = new CustomButton_Process(process_type, a[0], a[1]); } customButton.actions.Add(customButton_Process); return(""); }