private void ShowNodeInitialForm(CmpNode node) { switch (node.NodeType) { case EndType.PPC: PPC ppc = node.Obj as PPC; Component_PPCInitForm ppcForm = new Component_PPCInitForm(ppc); ppcForm.ShowDialog(); if (ppcForm.DialogResult == DialogResult.Yes) { node.Obj = ppcForm._ppc; } break; case EndType.FPGA: FPGA fpga = node.Obj as FPGA; Component_FPGAInitForm fpgaForm = new Component_FPGAInitForm(fpga); fpgaForm.ShowDialog(); if (fpgaForm.DialogResult == DialogResult.Yes) { node.Obj = fpgaForm._fpga; } break; default: //ComputeNodeType.ZYNQ ZYNQ zynq = node.Obj as ZYNQ; Component_ZYNQInitForm zynqForm = new Component_ZYNQInitForm(zynq); zynqForm.ShowDialog(); if (zynqForm.DialogResult == DialogResult.Yes) { node.Obj = zynqForm._zynq; } break; } return; }
//添加计算颗粒节点 void _addNodeBtn_Click(object sender, EventArgs e) { int nodeNum = tabControl1.SelectedIndex;//计算颗粒号 string nodeName = _nodeName + nodeNum.ToString(); //构件初始化 try { var nodeType = (EndType)Enum.Parse(typeof(EndType), _nodeTypeCB.Text); var core = ShowNodeInitialForm(nodeName, nodeType); //弹出初始化界面 if (core == null) { return; } var node = new CmpNode(nodeType, core); _nodeArray[nodeNum] = node; FreshNodeStatus(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
} //Node节点对应的实例 public ComponentNode(int nodeNum, CmpNode nodeObject) : base(nodeObject.NodeType, nodeObject.Name) { this.NodeId = nodeNum; this.NodeObject = nodeObject; }