/// <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); } } }
private void newToolStripMenuItem_Click(object sender, EventArgs e) { Device = new DevProject() { ProjectName = "new.dev" }; DevPrims = new List <IPrim>(); UpdateDevPrims(); }
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); }