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; }
/*组件修改*/ 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()); }
public PPCViewModel(PPC ppc) { _ppc = ppc; }
public PPCViewModel(PPC ppc, Rectangle rect) : base(rect) { _ppc = ppc; }
public const int ViewMargin = 100;//边距100 public ShowViewPanel(TreeNode node) { //初始化成员变量 this.DoubleBuffered = true;//重绘双缓冲开启,防止界面闪烁 base.AutoScroll = true; _treeNode = node; NodeInfo info = (NodeInfo)node.Tag; FormType = info._formType; ZoomFactor = 1; _viewOffset = new PointF(); switch (FormType) { case Princeple.FormType.PPC: PPC ppc = ModelFactory <PPC> .CreateByName(node.Text); ShowView = new PPCViewModel(ppc); break; case Princeple.FormType.FPGA: FPGA fpga = ModelFactory <FPGA> .CreateByName(node.Text); ShowView = new FPGAViewModel(fpga); break; case Princeple.FormType.ZYNQ: ZYNQ zynq = ModelFactory <ZYNQ> .CreateByName(node.Text); ShowView = new ZYNQViewModel(zynq); break; case Princeple.FormType.BOARD: Board board = ModelFactory <Board> .CreateByName(node.Text); ShowView = new BoardViewModel(board); break; case Princeple.FormType.BACKPLANE: BackPlane bp = ModelFactory <BackPlane> .CreateByName(node.Text); ShowView = new BackPlaneViewModel(bp); break; case Princeple.FormType.CONTIANER: Container ctn = ModelFactory <Container> .CreateByName(node.Text); ShowView = new ContainerViewModel(ctn); break; case Princeple.FormType.COMPONENT: Component cmp = ModelFactory <Component> .CreateByName(node.Text); ShowView = new ComponentViewModel(cmp); break; case Princeple.FormType.SYSTEM: SystemStru sys = ModelFactory <SystemStru> .CreateByName(node.Text); ShowView = new SystemStruViewModel(sys); break; case Princeple.FormType.TOPO: var sysName = node.Text.Substring(node.Text.IndexOf(':') + 1); SystemStru sys2 = ModelFactory <SystemStru> .CreateByName(sysName); ShowView = new StaticTopo(sys2); break; case Princeple.FormType.APP: var sysNode = node.Parent.Nodes[0]; var sysSName = sysNode.Text.Substring(sysNode.Text.IndexOf(':') + 1); SystemStru sys3 = ModelFactory <SystemStru> .CreateByName(sysSName); var sysStatic = new StaticTopo(sys3); ShowView = new DynamicTopo(sysStatic); ((DynamicTopo)ShowView).Components = (GetNodeCmps(node)); break; case Princeple.FormType.STATUS: ShowView = new Status(); break; default: //无对应界面类型退出 return; } SetViewSize(); //绑定界面点击事件的处理 if (ShowView as IDrawerChoosed != null) { this.MouseClick += new MouseEventHandler(((IDrawerChoosed)ShowView).MouseEventHandler); } if (ShowView as IDrawerNotify != null) { info.NodeInfoChanged += new Action <TargetNode>(((IDrawerNotify)ShowView).OnNodeInfoChanged); } ShowView.RedrawRequst += new Action(OnShowViewRedrawRequst); this.Scroll += new ScrollEventHandler(ShowViewPanel_Scroll); this.MouseWheel += new MouseEventHandler(ShowViewPanel_MouseWheel); }
public Component_PPCInitForm(PPC ppc) : base(ppc) { base.Text = ppc.Name; }