/// <summary> /// Add a case node to a union node. /// </summary> /// <param name="parentNode">must be a union node</param> /// <param name="at">position to insert the case node</param> public void addCaseNode(DataNode parentNode, int at) { FormCase formCase = new FormCase(); formCase.DataTypeSource = document_.getTypeNames(); string vname = "case-" + Convert.ToString(parentNode.Nodes.Count); formCase.VarName = vname; DialogResult r = formCase.ShowDialog(view_); if (r == DialogResult.OK) { string sDiscriminantVal = formCase.DiscriminantValue; string sBodyType = formCase.SelectedType; string sBodyVarName = formCase.VarName; CaseNode cn = new CaseNode(sDiscriminantVal, null); DataNode dcn = new DataNode(cn); addChildNode(dcn, sBodyType, sBodyVarName); //parentNode.Nodes.Insert(at, dcn); addChildNode(parentNode, dcn, at); parentNode.ExpandAll(); } }