示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="prims"></param>
        /// <param name="dev"></param>
        public void LoadPrims(List <IPrim> prims, string dev)
        {
            //load project
            var devProject = DevProject.Load(dev);

            if (devProject != null)
            {
                //load prims
                prims.Clear();
                foreach (var primConfig in devProject.Prims)
                {
                    var prim = DevPrimsFactoryManager.Instance.InvokeCreator(primConfig.VisioPrimType, primConfig.PrimXmlNode);
                    if (prim == null)
                    {
                        var msg = $"Create Prim {primConfig.VisioPrimType} Fail: {DevPrimsFactoryManager.Instance.PrimCreators.ContainsKey(primConfig.VisioPrimType)}";
                        DebugFramework(msg);
                        throw new Exception(msg);
                    }
                    else
                    {
                        DebugFramework($"Load Prim: {primConfig.VisioPrimType} {primConfig.PrimXmlNode.ToString()}");
                    }

                    prims.Add(prim);
                }
            }
        }
示例#2
0
        private void newToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Device = new DevProject()
            {
                ProjectName = "new.dev"
            };

            DevPrims = new List <IPrim>();

            UpdateDevPrims();
        }
示例#3
0
        public void SavePrims(List <IPrim> prims, string dev)
        {
            //save project
            var devProject = new DevProject()
            {
                ProjectName = Path.GetFileName(dev),
            };

            foreach (var prim in prims)
            {
                var xmlNode1 = prim.ExportConfig();
                devProject.Prims.Add(new PrimConfig
                {
                    VisioPrimType = prim.GetType().Name,
                    PrimXmlNode   = xmlNode1
                });
            }

            devProject.Save(dev);
        }