private void uiBtnNew_Click(object sender, EventArgs e) { //create argument editing form frmAddArgument addArgumentForm = new frmAddArgument(_typeContext); addArgumentForm.ScriptContext = ScriptContext; addArgumentForm.ArgumentsCopy = _argumentsCopy; ExpandUserArgumentNode(); //validate if user added argument if (addArgumentForm.ShowDialog() == DialogResult.OK) { //add newly edited node AddUserArgumentNode(_userArgumentParentNode, addArgumentForm.txtArgumentName.Text, (ScriptArgumentDirection)Enum.Parse(typeof(ScriptArgumentDirection), addArgumentForm.cbxDefaultDirection.Text), addArgumentForm.txtDefaultValue.Text, (Type)addArgumentForm.cbxDefaultType.Tag); LastModifiedArgumentName = addArgumentForm.txtArgumentName.Text; ResetArguments(); } addArgumentForm.Dispose(); }
private void tvScriptArguments_DoubleClick(object sender, EventArgs e) { //handle double clicks outside if (tvScriptArguments.SelectedNode == null) { return; } //if parent was selected return if (tvScriptArguments.SelectedNode.Parent == null) { //user selected top parent return; } //top node check var topNode = GetSelectedTopNode(); if (topNode.Text != "My Task Arguments") { return; } string argumentName, argumentValue; ScriptArgumentDirection argumentDirection; Type argumentType; TreeNode parentNode; if (tvScriptArguments.SelectedNode.Nodes.Count == 0) { parentNode = tvScriptArguments.SelectedNode.Parent; argumentName = tvScriptArguments.SelectedNode.Parent.Text; argumentValue = tvScriptArguments.SelectedNode.Parent.Nodes[0].Text.Replace(_leadingValue, "").Replace(_emptyValue, ""); argumentDirection = (ScriptArgumentDirection)Enum.Parse(typeof(ScriptArgumentDirection), tvScriptArguments.SelectedNode.Parent.Nodes[1].Text.Replace(_leadingDirection, "")); argumentType = (Type)tvScriptArguments.SelectedNode.Parent.Nodes[2].Tag; } else { parentNode = tvScriptArguments.SelectedNode; argumentName = tvScriptArguments.SelectedNode.Text; argumentValue = tvScriptArguments.SelectedNode.Nodes[0].Text.Replace(_leadingValue, "").Replace(_emptyValue, ""); argumentDirection = (ScriptArgumentDirection)Enum.Parse(typeof(ScriptArgumentDirection), tvScriptArguments.SelectedNode.Nodes[1].Text.Replace(_leadingDirection, "")); argumentType = (Type)tvScriptArguments.SelectedNode.Nodes[2].Tag; } if (argumentName == "ProjectPath") { return; } //create argument editing form frmAddArgument addArgumentForm = new frmAddArgument(argumentName, argumentDirection, argumentValue, argumentType, _typeContext); addArgumentForm.ScriptContext = ScriptContext; addArgumentForm.ArgumentsCopy = _argumentsCopy; ExpandUserArgumentNode(); //validate if user added argument if (addArgumentForm.ShowDialog() == DialogResult.OK) { //remove parent parentNode.Remove(); //add newly edited node AddUserArgumentNode(_userArgumentParentNode, addArgumentForm.txtArgumentName.Text, (ScriptArgumentDirection)Enum.Parse(typeof(ScriptArgumentDirection), addArgumentForm.cbxDefaultDirection.Text), addArgumentForm.txtDefaultValue.Text, (Type)addArgumentForm.cbxDefaultType.Tag); LastModifiedArgumentName = addArgumentForm.txtArgumentName.Text; ResetArguments(); } addArgumentForm.Dispose(); }