void _yesBtn_Click(object sender, EventArgs e) { //检查信息准确性及完整性 //始化构件实体并记录到XML文件; var retComponent = new Models.Component(); retComponent.InitTopo(_nodeArray.Length); retComponent.Name = _typeTB.Text; for (int i = 0; i < retComponent.NodeNum; i++) { if (_nodeArray[i] != null) { //添加节点信息 retComponent.CmpTopoNet.SetNodeValue(i, new ComponentNode(i, _nodeArray[i])); //添加连接信息 var dgv = _dgvsOpt.DataGridViweList[i]; foreach (DataGridViewRow row in dgv.Rows) { var linkType = (LinkType)Enum.Parse(typeof(LinkType), row.Cells[_dgvColumnTitle_linkType].Value.ToString()); int endId1 = int.Parse(row.Cells[_dgvColumnTitle_end1CmpNum].Value.ToString()); int endId2 = int.Parse(row.Cells[_dgvColumnTitle_end2CmpNum].Value.ToString()); var linkLines = (LinkLanes)Enum.Parse(typeof(LinkLanes), row.Cells[_dgvColumnTitle_dataWidth].Value.ToString()); var curLine = new ComponentLine(linkType, endId1, endId2, linkLines); retComponent.CmpTopoNet.SetLinkValue(curLine); } } } retComponent.SaveXmlByName(); GenerateSourceFile(); this.DialogResult = DialogResult.Yes; }
private ComponentLine[] Component_LinksArrayTranse(int Num, ComponentLine[,] line2DArray) { ComponentLine[] retArray = new ComponentLine[Num * Num]; for (int i = 0; i < Num; i++) { for (int j = 0; j < Num; j++) { retArray[i * Num + j] = line2DArray[i, j]; } } return(retArray); }
//判断该节点连接是否满足构件连接 private bool LineMatched(ComponentLine cLine, DynamicLine dLine) { if (cLine == null)//构件连接不存在,则能满足 { return(true); } else if (dLine != null)//构件,节点连接都存在 { //Todo:比较具体连接属性是否满足 return(true); } return(false); }