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);
                }
            }
        }
Exemple #2
0
        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("");
        }