Esempio n. 1
0
 /// <summary>
 /// 通过ZYNQ控件的属性初始化一个ZYNQ实例对象的属性值
 /// </summary>
 /// <param name="zynq"></param>
 protected void RefreshZYNQ(ZYNQ zynq)
 {
     try
     {
         zynq.Name = _nameTB.Text;
         //PS相关参数
         zynq.PSType       = _psTypeCB.Text;
         zynq.CoreNum      = int.Parse(_coreNumTB.Text);
         zynq.MainClock    = _mainClockCB.Text;
         zynq.Memory       = _memoryCB.Text;
         zynq.ExpandMemory = _expanfMemoryCB.Text;
         //PL相关的参数
         zynq.PLType     = _plTypeCB.Text;
         zynq.LogicNum   = int.Parse(_logicNumTB.Text);
         zynq.LUT        = int.Parse(_lutTB.Text);
         zynq.Flip_Flops = int.Parse(_flipFlopsTB.Text);
         zynq.Block_ARM  = int.Parse(_bolckArmTB.Text);
         zynq.DSP_Slice  = _dspSliceTB.Text;
         zynq.AD         = _adCB.Text;
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message, "填入值异常");
     }
 }
Esempio n. 2
0
        //确定按钮按下事件响应
        protected virtual void YesButton_Clicked(object sender, EventArgs e)
        {
            if (false == CompleteJudgment())
            {
                return;
            }
            ZYNQ zynq = new ZYNQ();

            RefreshZYNQ(zynq);
            zynq.SaveXmlByName();

            this.DialogResult = DialogResult.Yes;
        }
Esempio n. 3
0
 //实现一个ModelBaseCore到BaseDrawerCore的转换方法
 protected BaseDrawerCore GetBaseDrawerCore(ModelBaseCore obj, Rectangle rect)
 {
     if (NodeType == EndType.PPC)
     {
         PPC ppc = obj as PPC;
         return(new PPCViewModel(ppc, rect));
     }
     else if (NodeType == EndType.FPGA)
     {
         FPGA fpga = obj as FPGA;
         return(new FPGAViewModel(fpga, rect));
     }
     else //NodeType == EndType.ZYNQ
     {
         ZYNQ zynq = obj as ZYNQ;
         return(new ZYNQViewModel(zynq, rect));
     }
 }
Esempio n. 4
0
        public ZYNQInitForm(ZYNQ zynq)
        {
            InitializeComponent();
            this.StartPosition = FormStartPosition.CenterParent;

            _nameTB.Text = zynq.Name;
            //PS相关的参数
            _psTypeCB.SelectedItem       = zynq.PSType;
            _coreNumTB.Text              = zynq.CoreNum.ToString();
            _mainClockCB.SelectedItem    = zynq.MainClock;
            _memoryCB.SelectedItem       = zynq.Memory;
            _expanfMemoryCB.SelectedItem = zynq.ExpandMemory;

            //PL相关的参数
            _plTypeCB.SelectedItem = zynq.PLType;
            _logicNumTB.Text       = zynq.LogicNum.ToString();
            _lutTB.Text            = zynq.LUT.ToString();
            _flipFlopsTB.Text      = zynq.Flip_Flops.ToString();
            _bolckArmTB.Text       = zynq.Block_ARM.ToString();
            _dspSliceTB.Text       = zynq.DSP_Slice;
            _adCB.Text             = zynq.AD;
        }
        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 ZYNQViewModel(ZYNQ zynq)
 {
     _zynq = zynq;
 }
 public ZYNQViewModel(ZYNQ zynq, Rectangle rect)
     : base(rect)
 {
     _zynq = zynq;
 }
Esempio n. 9
0
        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_ZYNQInitForm(ZYNQ zynq)
     : base(zynq)
 {
     base.Text = zynq.Name;
 }