public PNCanvas Dup() { PNCanvas duplicate = new PNCanvas(); duplicate.LoadFromXml(this.Clone()); duplicate.Node.Text = this.Node.Text + "-Copy"; bool nameExist = true; while (nameExist) { nameExist = false; foreach (TreeNode node in this.Node.Parent.Nodes) { if (node.Text.Equals(duplicate.Node.Text, StringComparison.CurrentCultureIgnoreCase)) { duplicate.Node.Text = duplicate.Node.Text + "-Copy"; nameExist = true; break; } } } return(duplicate); }
/// <summary> /// Parse and load LTS from Xml /// </summary> /// <param name="text">Xml pure text</param> /// <returns></returns> public static PNModel LoadLTSFromXML(string text) { string assertion = string.Empty; List <PNCanvas> canvases = new List <PNCanvas>(); PNExtendInfo extendInfo = null; XmlDocument doc = new XmlDocument(); doc.LoadXml(text); XmlNodeList sitesNodes = doc.GetElementsByTagName(XmlTag.TAG_DECLARATION); //TODO? What is this for? foreach (XmlElement component in sitesNodes) { assertion = component.InnerText; } sitesNodes = doc.GetElementsByTagName(XmlTag.TAG_MODELS); if (sitesNodes.Count > 0) { foreach (XmlElement component in sitesNodes[0].ChildNodes) { // mlqvu -- set value for extend info // load topology from xml if (component.ChildNodes.Count == 4) { XmlElement topologyElement = (XmlElement)component.ChildNodes[0]; extendInfo = loadExtendInfo(topologyElement); } PNCanvas canvas = new PNCanvas(); canvas.LoadFromXml(component); canvases.Add(canvas); } } PNModel model = new PNModel(assertion, canvases); model.mExtendInfo = extendInfo; return(model); }
/// <summary> /// Parse and load LTS from Xml /// </summary> /// <param name="text">Xml pure text</param> /// <returns></returns> public static PNModel LoadLTSFromXML(string text) { string assertion = string.Empty; List<PNCanvas> canvases = new List<PNCanvas>(); PNExtendInfo extendInfo = null; XmlDocument doc = new XmlDocument(); doc.LoadXml(text); XmlNodeList sitesNodes = doc.GetElementsByTagName(XmlTag.TAG_DECLARATION); //TODO? What is this for? foreach (XmlElement component in sitesNodes) assertion = component.InnerText; sitesNodes = doc.GetElementsByTagName(XmlTag.TAG_MODELS); if (sitesNodes.Count > 0) { foreach (XmlElement component in sitesNodes[0].ChildNodes) { // mlqvu -- set value for extend info // load topology from xml if (component.ChildNodes.Count == 4) { XmlElement topologyElement = (XmlElement)component.ChildNodes[0]; extendInfo = loadExtendInfo(topologyElement); } PNCanvas canvas = new PNCanvas(); canvas.LoadFromXml(component); canvases.Add(canvas); } } PNModel model = new PNModel(assertion, canvases); model.mExtendInfo = extendInfo; return model; }
public PNCanvas Dup() { PNCanvas duplicate = new PNCanvas(); duplicate.LoadFromXml(this.Clone()); duplicate.Node.Text = this.Node.Text + "-Copy"; bool nameExist = true; while (nameExist) { nameExist = false; foreach (TreeNode node in this.Node.Parent.Nodes) { if (node.Text.Equals(duplicate.Node.Text, StringComparison.CurrentCultureIgnoreCase)) { duplicate.Node.Text = duplicate.Node.Text + "-Copy"; nameExist = true; break; } } } return duplicate; }