private void buttonNodeDelete_Click(object sender, EventArgs e) { NodeFormula node = waData.FormulaList.Find(nf => nf.NodeName == treeViewWeightSortNode.SelectedNode.Text); waData.FormulaList.Remove(node); treeViewWeightSortNode.Nodes.Remove(treeViewWeightSortNode.SelectedNode); if (treeViewWeightSortNode.Nodes.Count == 0) { treeViewWeightSortNode.SelectedNode = treeViewWeightSortNode.Nodes[0]; } }
private void buttonCancel_Click(object sender, EventArgs e) { TreeNode node = treeViewWeightSortNode.SelectedNode; NodeFormula nf = (NodeFormula)node.Tag; WeightFormula wf = nf[nEditFormulaIndex]; if (nEditFormulaIndex == 0) { textBoxFormulaX.Text = wf.Formula; textBoxFormulaX.Modified = false; } else { textBoxFormulaY.Text = wf.Formula; textBoxFormulaY.Modified = false; } SetEditMode(1); }
private void buttonEdit_Click(object sender, EventArgs e) { nEditFormulaIndex = (sender == buttonEditX) ? 0 : 1; TreeNode node = treeViewWeightSortNode.SelectedNode; NodeFormula nf = (NodeFormula)node.Tag; WeightFormula wf = nf[nEditFormulaIndex]; dictTempPara.Clear(); foreach (WeightParameter wp in wf.ParaList) { //if (WeightArithmetic.FindGlobleParameters(wp.ParaName, null).Count > 1) //{ dictTempPara.Add(wp.ParaName, wp.ParaUnit); //} } textBoxFormulaEdit.Text = wf.Formula; SetEditMode(2); textBoxFormulaEdit.Focus(); textBoxFormulaEdit.SelectionStart = textBoxFormulaEdit.TextLength; }
private void buttonApplyNodeName_Click(object sender, EventArgs e) { string nodename = textBoxNodeName.Text; nodename = nodename.Trim(); if (nodename.Length == 0) { MessageBox.Show("节点名称为空!"); return; } if (XCommon.Verification.IsCheckString(nodename)) { MessageBox.Show("节点名称含有非法字符!"); return; } TreeNode pnode = treeViewWeightSortNode.Nodes[0]; TreeNode node = treeViewWeightSortNode.SelectedNode; if (node == null) { node = pnode; } if (nNodeEditMode == 2) { if (node == pnode) { MessageBox.Show("不能修改根节点!"); return; } if (nodename == node.Text) { return; } } if (pnode.Nodes.ContainsKey(nodename)) { MessageBox.Show("算法中已含有该节点!"); return; } if (nNodeEditMode == 2) { if (node != pnode) { var tempnf = waData.FormulaList.Find(nf => nf.NodeName == node.Name); XCommon.XLog.Write("修改节点名称成功,\"" + node.Name + "\"修改为\"" + nodename + "\"!"); node.Name = nodename; node.Text = nodename; tempnf.NodeName = nodename; } } else { TreeNode newNode = null; if (node != pnode) { newNode = pnode.Nodes.Insert(node.Index, nodename, nodename); } else { newNode = pnode.Nodes.Add(nodename, nodename); } XCommon.XLog.Write("成功插入节点\"" + nodename + "\"!"); if (!pnode.IsExpanded) { pnode.Expand(); } NodeFormula nf = new NodeFormula(newNode.Text); newNode.Tag = nf; waData.FormulaList.Add(nf); } }
private void buttonApply_Click(object sender, EventArgs e) { string errmsg; ZstExpression.CExpression expr = ZstExpression.CExpression.Parse(textBoxFormulaEdit.Text, out errmsg); if (expr == null) { MessageBox.Show(errmsg); return; } textBoxFormulaEdit.Text = expr.GetExpression(); TreeNode node = treeViewWeightSortNode.SelectedNode; NodeFormula nf = (NodeFormula)node.Tag; WeightFormula wf = nf[nEditFormulaIndex]; wf.Formula = textBoxFormulaEdit.Text; List <string> paras = new List <string>(); expr.GetVariables(ref paras); wf.ParaList.Clear(); foreach (string paraname in paras) { WeightParameter wp = null; if (dictTempPara.ContainsKey(paraname)) { wp = FindParameter(paraname, dictTempPara[paraname]); } else { wp = FindParameter(paraname, null); } if (wp == null) { wp = new WeightParameter(); wp.ParaName = paraname; wp.ParaType = 10; } wf.ParaList.Add(wp); } HashSet <WeightParameter> wpSet = new HashSet <WeightParameter>(); foreach (WeightParameter wp in nf.XFormula.ParaList) { wpSet.Add(wp); } foreach (WeightParameter wp in nf.YFormula.ParaList) { wpSet.Add(wp); } SetParaList(wpSet); if (nEditFormulaIndex == 0) { textBoxFormulaX.Text = wf.Formula; textBoxFormulaX.Modified = false; } else { textBoxFormulaY.Text = wf.Formula; textBoxFormulaY.Modified = false; } SetEditMode(1); dateTimePickerLastModifyTime.Value = DateTime.Today; }
private void treeViewWeightSortNode_AfterSelect(object sender, TreeViewEventArgs e) { SetEditMode(1); HashSet <WeightParameter> wpSet = new HashSet <WeightParameter>(); TreeNode node = e.Node; if (node.Nodes.Count == 0) { TreeNode pnode = treeViewWeightSortNode.Nodes[0]; NodeFormula nf = (NodeFormula)node.Tag; if (nf == null) { if (pnode != node) { MessageBox.Show("异常错误!节点无对应公式!"); } buttonEditX.Enabled = false; buttonEditY.Enabled = false; } else { textBoxFormulaX.Text = nf.XFormula.Formula; textBoxFormulaY.Text = nf.YFormula.Formula; foreach (WeightParameter wp in nf.XFormula.ParaList) { wpSet.Add(wp); } foreach (WeightParameter wp in nf.YFormula.ParaList) { wpSet.Add(wp); } buttonEditX.Enabled = true; buttonEditY.Enabled = true; } buttonNodeEdit.Enabled = (pnode != node); buttonNodeDelete.Enabled = (pnode != node); buttonNodeMoveUp.Enabled = (pnode != node) && (pnode.FirstNode != node); buttonNodeMoveDown.Enabled = (pnode != node) && (pnode.LastNode != node); if (nNodeEditMode == 2) { textBoxNodeName.Text = node.Text; } } else { buttonEditX.Enabled = false; buttonEditY.Enabled = false; buttonNodeEdit.Enabled = false; buttonNodeDelete.Enabled = false; buttonNodeMoveUp.Enabled = false; buttonNodeMoveDown.Enabled = false; listViewPara.Items.Clear(); List <TreeNode> ret = new List <TreeNode>(); GetFinalNodeList(node, ref ret); foreach (TreeNode finalnode in ret) { NodeFormula nf = (NodeFormula)finalnode.Tag; if (nf == null) { MessageBox.Show("异常错误!节点无对应公式!"); return; } foreach (WeightParameter wp in nf.XFormula.ParaList) { wpSet.Add(wp); } foreach (WeightParameter wp in nf.YFormula.ParaList) { wpSet.Add(wp); } } textBoxFormulaX.Text = "-"; textBoxFormulaY.Text = "-"; } SetParaList(wpSet); }