private void pbSave_Click(object sender, EventArgs e)
        {
            Dictionary <ScriptElementType, string> elementValueDict = new Dictionary <ScriptElementType, string>()
            {
                { ScriptElementType.XPath, _xPath },
                { ScriptElementType.Name, _name },
                { ScriptElementType.ID, _id },
                { ScriptElementType.TagName, _tagName },
                { ScriptElementType.ClassName, _className },
                { ScriptElementType.LinkText, _linkText },
                { ScriptElementType.CSSSelector, _cssSelector }
            };

            frmAddElement addElementForm = new frmAddElement();

            addElementForm.ScriptElements   = ScriptElements;
            addElementForm.ElementValueDict = elementValueDict;
            addElementForm.ShowDialog();

            if (addElementForm.DialogResult == DialogResult.OK)
            {
                ScriptElement newElement = new ScriptElement()
                {
                    ElementName = addElementForm.txtElementName.Text,
                    ElementType = (ScriptElementType)Enum.Parse(typeof(ScriptElementType),
                                                                addElementForm.cbxElementType.SelectedItem.ToString().Replace(" ", "")),
                    ElementValue = addElementForm.txtDefaultValue.Text
                };
                ScriptElements.Add(newElement);
            }
        }
        private void uiBtnOk_Click(object sender, EventArgs e)
        {
            txtElementName.Text = txtElementName.Text.Trim();
            if (txtElementName.Text == string.Empty)
            {
                lblElementNameError.Text = "Element Name not provided";
                return;
            }

            string newElementName  = txtElementName.Text.Replace("<", "").Replace(">", "");
            var    existingElement = ScriptElements.Where(var => var.ElementName == newElementName).FirstOrDefault();

            if (existingElement != null)
            {
                if (!_isEditMode || existingElement.ElementName != _editingVariableName)
                {
                    lblElementNameError.Text = "An Element with this name already exists";
                    return;
                }
            }

            if (!txtElementName.Text.StartsWith("<") || !txtElementName.Text.EndsWith(">"))
            {
                lblElementNameError.Text = "Element markers '<' and '>' must be included";
                return;
            }

            dgvDefaultValue.EndEdit();
            DialogResult = DialogResult.OK;
        }
 private void frmScriptElements_Load(object sender, EventArgs e)
 {
     //initialize
     ScriptElements         = ScriptElements.OrderBy(x => x.ElementName).ToList();
     _userElementParentNode = InitializeNodes("My Task Elements", ScriptElements);
     ExpandUserElementNode();
     lblMainLogo.Text = ScriptName + " elements";
 }
        private void tvScriptElements_DoubleClick(object sender, EventArgs e)
        {
            //handle double clicks outside
            if (tvScriptElements.SelectedNode == null)
            {
                return;
            }

            //if parent was selected return
            if (tvScriptElements.SelectedNode.Parent == null)
            {
                return;
            }

            //top node check
            var topNode = GetSelectedTopNode();

            if (topNode.Text != "My Task Elements")
            {
                return;
            }

            ScriptElement element;
            string        elementName;
            DataTable     elementValue;
            TreeNode      parentNode;

            if (tvScriptElements.SelectedNode.Nodes.Count == 0)
            {
                parentNode  = tvScriptElements.SelectedNode.Parent;
                elementName = tvScriptElements.SelectedNode.Parent.Text;
            }
            else
            {
                parentNode  = tvScriptElements.SelectedNode;
                elementName = tvScriptElements.SelectedNode.Text;
            }

            element      = ScriptElements.Where(x => x.ElementName == elementName).FirstOrDefault();
            elementValue = element.ElementValue;

            //create element editing form
            frmAddElement addElementForm = new frmAddElement(elementName, elementValue);

            addElementForm.ScriptElements = ScriptElements;

            ExpandUserElementNode();

            //validate if user added element
            if (addElementForm.ShowDialog() == DialogResult.OK)
            {
                //remove parent
                parentNode.Remove();
                AddUserElementNode(_userElementParentNode, addElementForm.txtElementName.Text, addElementForm.ElementValueDT);
            }

            addElementForm.Dispose();
        }
Exemple #5
0
        private void pbSave_Click(object sender, EventArgs e)
        {
            frmAddElement addElementForm = new frmAddElement("", SearchParameters);

            addElementForm.ScriptElements = ScriptElements;
            addElementForm.ShowDialog();

            if (addElementForm.DialogResult == DialogResult.OK)
            {
                ScriptElement newElement = new ScriptElement()
                {
                    ElementName  = addElementForm.txtElementName.Text.Replace("<", "").Replace(">", ""),
                    ElementValue = addElementForm.ElementValueDT
                };

                ScriptElements.Add(newElement);
            }
        }
        private void tvScriptElements_KeyDown(object sender, KeyEventArgs e)
        {
            //handling outside
            if (tvScriptElements.SelectedNode == null)
            {
                return;
            }

            //if parent was selected return
            if (tvScriptElements.SelectedNode.Parent == null)
            {
                //user selected top parent
                return;
            }

            //top node check
            var topNode = GetSelectedTopNode();

            if (topNode.Text != "My Task Elements")
            {
                return;
            }

            //if user selected delete
            if (e.KeyCode == Keys.Delete)
            {
                //determine which node is the parent
                TreeNode parentNode;
                if (tvScriptElements.SelectedNode.Nodes.Count == 0)
                {
                    parentNode = tvScriptElements.SelectedNode.Parent;
                }
                else
                {
                    parentNode = tvScriptElements.SelectedNode;
                }

                //remove parent node
                string        elementName = parentNode.Text;
                ScriptElement element     = ScriptElements.Where(x => x.ElementName == elementName).FirstOrDefault();
                ScriptElements.Remove(element);
                parentNode.Remove();
            }
        }
        public void BeginVisit(AstNode node)
        {
            ScriptElements elements = node as ScriptElements;

            if (elements == null)
            {
                return;
            }

            List <AstNode> modified = new List <AstNode>();

            foreach (AstNode child in elements.ChildNodes)
            {
                modified.Add(new DebugNode());
                modified.Add(child);
            }

            elements.ChildNodes.Clear();
            elements.ChildNodes.AddRange(modified);
        }
        private void uiBtnNew_Click(object sender, EventArgs e)
        {
            //create element editing form
            frmAddElement addElementForm = new frmAddElement();

            addElementForm.ScriptElements = ScriptElements;

            ExpandUserElementNode();

            //validate if user added element
            if (addElementForm.ShowDialog() == DialogResult.OK)
            {
                //add newly edited node
                AddUserElementNode(_userElementParentNode, addElementForm.txtElementName.Text, addElementForm.ElementValueDT);

                ScriptElements.Add(new ScriptElement
                {
                    ElementName  = addElementForm.txtElementName.Text.Replace("<", "").Replace(">", ""),
                    ElementValue = addElementForm.ElementValueDT
                });
            }
        }
Exemple #9
0
        private void uiBtnOK_Click(object sender, EventArgs e)
        {
            //remove all elements
            ScriptElements.Clear();

            //loop each element and add
            for (int i = 0; i < _userElementParentNode.Nodes.Count; i++)
            {
                //get name and value
                var elementName = _userElementParentNode.Nodes[i].Text.Replace("<", "").Replace(">", "");
                var elementType = (ScriptElementType)Enum.Parse(typeof(ScriptElementType), _userElementParentNode.Nodes[i].Nodes[0].Text
                                                                .Replace(_leadingType, "").Replace(_emptyType, "").Replace(" ", ""));
                var elementValue = _userElementParentNode.Nodes[i].Nodes[1].Text.Replace(_leadingValue, "").Replace(_emptyValue, "");

                //add to list
                ScriptElements.Add(new ScriptElement()
                {
                    ElementName = elementName, ElementType = elementType, ElementValue = elementValue
                });
            }

            //return success result
            DialogResult = DialogResult.OK;
        }
Exemple #10
0
 public ScriptProg(AstNodeArgs args)
   : base(args)
 {
   Elements = ChildNodes[0] as ScriptElements;
 }