Ejemplo n.º 1
0
        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 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();
        }
        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();
            }
        }