/* 描述:获取芯片集已有选中类型芯片型号列表函数 * 参数:type----芯片类型,FPGA、PPC、ZYNQ * 返回值:对应类型的型号字符串数组 */ private string[] GetTypeModel(string type) { BoardInitForm bif = (BoardInitForm)this.Owner; ListView lv = bif.ChipLV; ListView swlv = bif.SWLV; string[] models = { }; List <string> _list = new List <string>(models); models = new string[lv.Items.Count]; if (type == "EtherSW" || type == "RapidIOSW") { for (int i = 0; i < swlv.Items.Count; i++) { if (type == swlv.Items[i].SubItems[1].Text) { _list.Add(swlv.Items[i].SubItems[2].Text); } } models = _list.ToArray(); return(models); } if (type == "VPX") { _list.Add(_linkType); models = _list.ToArray(); return(models); } for (int i = 0; i < lv.Items.Count; i++) { if (type == lv.Items[i].SubItems[1].Text) { _list.Add(lv.Items[i].SubItems[2].Text); } else { continue; } } models = _list.ToArray(); return(models); }
private void EqTreeViewAdd() { TreeNode selectedNode = _eqTreeView.SelectedNode; switch (selectedNode.Text) { //显示属性初始化窗口 case "PPCs": PPCInitForm ppcInitForm = new PPCInitForm(); ppcInitForm.ShowDialog(); if (ppcInitForm.DialogResult == DialogResult.Yes) { NodeInfo.AddChildrenNode(selectedNode, ppcInitForm.GetObjectName(), Princeple.FormType.PPC); } ppcInitForm.Dispose(); break; case "FPGAs": FPGAInitForm fpgaInitForm = new FPGAInitForm(); fpgaInitForm.ShowDialog(); if (fpgaInitForm.DialogResult == DialogResult.Yes) { NodeInfo.AddChildrenNode(selectedNode, fpgaInitForm.GetObjectName(), Princeple.FormType.FPGA); } fpgaInitForm.Dispose(); break; case "ZYNQs": ZYNQInitForm zynqInitForm = new ZYNQInitForm(); zynqInitForm.ShowDialog(); if (zynqInitForm.DialogResult == DialogResult.Yes) { NodeInfo.AddChildrenNode(selectedNode, zynqInitForm.GetObjectName(), Princeple.FormType.ZYNQ); } zynqInitForm.Dispose(); break; case "板卡库": BoardInitForm boardInitForm = new BoardInitForm(); boardInitForm.ShowDialog(); if (boardInitForm.DialogResult == DialogResult.Yes) { NodeInfo.AddChildrenNode(selectedNode, boardInitForm.BoardNodeName, Princeple.FormType.BOARD); } boardInitForm.Dispose(); break; case "背板库": BackPlaneInitForm bpInitForm = new BackPlaneInitForm(); bpInitForm.ShowDialog(); if (bpInitForm.DialogResult == DialogResult.Yes) { NodeInfo.AddChildrenNode(selectedNode, bpInitForm.GetObjectName(), Princeple.FormType.BACKPLANE); } bpInitForm.Dispose(); break; case "机箱库": ContainerInitForm ctnInitForm = new ContainerInitForm(); ctnInitForm.ShowDialog(); if (ctnInitForm.DialogResult == DialogResult.Yes) { NodeInfo.AddChildrenNode(selectedNode, ctnInitForm.GetObjectName(), Princeple.FormType.CONTIANER); ctnInitForm.Dispose(); } break; case "系统库": SystemStruInitForm sysInitForm = new SystemStruInitForm(); sysInitForm.ShowDialog(); if (sysInitForm.DialogResult == DialogResult.Yes) { NodeInfo.AddChildrenNode(selectedNode, sysInitForm.GetObjectName(), Princeple.FormType.SYSTEM); sysInitForm.Dispose(); } break; default: break; } //无论有无文件内容更改都把TreeView的内容读入对应xml文件内 XMLManager.HandleTreeView.ReadTreeViewToXML(_eqTreeView, XMLManager.PathManager.GetEqLibFilePath()); }
/*组件修改*/ private void ContextMSModify_Click(object sender, EventArgs e) { TreeNode selectedNode = _eqTreeView.SelectedNode; string oldNodeName = selectedNode.Text; switch (selectedNode.Parent.Text) { case "PPCs": //通过读取XML文件初始化PPC,然后用一个PPC实例初始化PPCInitForm PPC ppc = ModelFactory <PPC> .CreateByName(selectedNode.Text); PPCInitForm ppcInitForm = new PPCInitForm(ppc); ppcInitForm.ShowDialog(); if (ppcInitForm.DialogResult == DialogResult.Yes) { if (ppcInitForm.GetObjectName() != oldNodeName) { //改了名字的话,要删除老文件 selectedNode.Text = ppcInitForm.GetObjectName(); var filePath = string.Format(@"{0}\{1}.xml", XMLManager.PathManager.GetPPCPath(), oldNodeName); File.Delete(filePath); } } ppcInitForm.Dispose(); break; case "FPGAs": FPGA fpga = ModelFactory <FPGA> .CreateByName(selectedNode.Text); FPGAInitForm fpgaInitForm = new FPGAInitForm(fpga); fpgaInitForm.ShowDialog(); if (fpgaInitForm.DialogResult == DialogResult.Yes) { if (fpgaInitForm.GetObjectName() != oldNodeName) { selectedNode.Text = fpgaInitForm.GetObjectName(); var filePath = string.Format(@"{0}\{1}.xml", XMLManager.PathManager.GetFPGAPath(), oldNodeName); File.Delete(filePath); } } fpgaInitForm.Dispose(); break; case "ZYNQs": ZYNQ zynq = ModelFactory <ZYNQ> .CreateByName(selectedNode.Text); ZYNQInitForm zynqInitForm = new ZYNQInitForm(zynq); zynqInitForm.ShowDialog(); if (zynqInitForm.DialogResult == DialogResult.Yes) { if (zynqInitForm.GetObjectName() != oldNodeName) { selectedNode.Text = zynqInitForm.GetObjectName(); var filePath = string.Format(@"{0}\{1}.xml", XMLManager.PathManager.GetZYNQPath(), oldNodeName); File.Delete(filePath); } } zynqInitForm.Dispose(); break; case "板卡库": Board board = ModelFactory <Board> .CreateByName(selectedNode.Text); BoardInitForm boardInitForm = new BoardInitForm(board); boardInitForm.ShowDialog(); if (boardInitForm.DialogResult == DialogResult.Yes) { if (boardInitForm.GetObjectName() != oldNodeName) { selectedNode.Text = boardInitForm.GetObjectName(); var filePath = string.Format(@"{0}\{1}.xml", XMLManager.PathManager.GetBoardPath(), oldNodeName); File.Delete(filePath); } } boardInitForm.Dispose(); break; case "背板库": BackPlane bp = ModelFactory <BackPlane> .CreateByName(selectedNode.Text); BackPlaneInitForm bpInitForm = new BackPlaneInitForm(bp); bpInitForm.ShowDialog(); if (bpInitForm.DialogResult == DialogResult.Yes) { if (bpInitForm.GetObjectName() != oldNodeName) { selectedNode.Text = bpInitForm.GetObjectName(); var filePath = string.Format(@"{0}\{1}.xml", XMLManager.PathManager.GetBackPlanePath(), oldNodeName); File.Delete(filePath); } } bpInitForm.Dispose(); break; case "机箱库": Models.Container ctnView = ModelFactory <Models.Container> .CreateByName(selectedNode.Text);; ContainerInitForm ctnInitForm = new ContainerInitForm(ctnView); ctnInitForm.ShowDialog(); if (ctnInitForm.DialogResult == DialogResult.Yes) { if (ctnInitForm.GetObjectName() != oldNodeName) { selectedNode.Text = ctnInitForm.GetObjectName(); var filePath = string.Format(@"{0}\{1}.xml", XMLManager.PathManager.GetContainerPath(), oldNodeName); File.Delete(filePath); } } ctnInitForm.Dispose(); break; default: break; } //无论有无文件内容更改都把TreeView的内容读入对应xml文件内 XMLManager.HandleTreeView.ReadTreeViewToXML(_eqTreeView, XMLManager.PathManager.GetEqLibFilePath()); }