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;
        }
Exemple #2
0
 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);
 }