Пример #1
0
        public void SetNode(ITaskNode node)
        {
            if (!(node is InputTaskNode))
            {
                throw new ArgumentException("参数“node”必须是 InputTaskNode 类型。");
            }

            _node = (InputTaskNode)node;

            elementControl1.SetElement(_node.Element);
        }
Пример #2
0
        private bool CanCombine(out string text)
        {
            var flag = true;

            text = "";
            if (listViewNodes.SelectedItems.Count > 1)
            {
                InputTaskNode firstNode = null;

                foreach (ListViewItem item in listViewNodes.SelectedItems)
                {
                    var node = (ITaskNode)item.Tag;

                    if (node.Mode == TaskNodeMode.InputElement && node is InputTaskNode)
                    {
                        var inputNode = node as InputTaskNode;
                        if (firstNode == null)
                        {
                            firstNode = inputNode;
                            text     += inputNode.Text;
                        }
                        else
                        {
                            if (inputNode.Element == firstNode.Element)
                            {
                                text += inputNode.Text;
                            }
                            else
                            {
                                flag = false;
                                break;
                            }
                        }
                    }
                    else
                    {
                        flag = false;
                        break;
                    }
                }

                return(flag);
            }
            else
            {
                return(false);
            }
        }
Пример #3
0
        private ITaskNode CreateNode(TaskNodeMode mode)
        {
            ITaskNode node     = null;
            var       formNode = new FormNode();

            switch (mode)
            {
            case TaskNodeMode.RedirectPage:
                node = new RedirectTaskNode("");

                formNode.SetNode(node);
                if (formNode.ShowDialog() != DialogResult.OK)
                {
                    node = null;
                }

                break;

            case TaskNodeMode.RefreshPage:
                node = new RefreshTaskNode();
                break;

            case TaskNodeMode.Manual:
                node = new ManualTaskNode();
                break;

            case TaskNodeMode.ClickElement:
                node = new ClickTaskNode(new TaskElement("BUTTON"));

                formNode.SetNode(node);
                if (formNode.ShowDialog() != DialogResult.OK)
                {
                    node = null;
                }
                break;

            case TaskNodeMode.FocusElement:
                node = new FocusTaskNode(new TaskElement("INPUT", type: "text"));

                formNode.SetNode(node);
                if (formNode.ShowDialog() != DialogResult.OK)
                {
                    node = null;
                }
                break;

            case TaskNodeMode.InputElement:
                node = new InputTaskNode(new TaskElement("INPUT", type: "text"), "");

                formNode.SetNode(node);
                if (formNode.ShowDialog() != DialogResult.OK)
                {
                    node = null;
                }
                break;

            case TaskNodeMode.Wait:
                node = new WaitTaskNode();

                formNode.SetNode(node);
                if (formNode.ShowDialog() != DialogResult.OK)
                {
                    node = null;
                }
                break;
            }

            return(node);
        }