public override void LoadFromXML(XmlElement xmlElement, LTSCanvas canvas) { if (canvas is PNCanvas) { PNCanvas myCanvas = canvas as PNCanvas; string startingState = xmlElement.GetAttribute("From"); this.From = myCanvas.FindState(startingState); string endState = xmlElement.GetAttribute("To"); this.To = myCanvas.FindState(endState); if (From is PNTransition) { (From as PNTransition).OutputPlaces.Add(To as PNPlace); } else { (To as PNTransition).InputPlaces.Add(From as PNPlace); } this.Weight = int.Parse(xmlElement.GetAttribute("Weight")); for (int i = 0; i < xmlElement.ChildNodes.Count - 1; i++) { NailItem nail = new NailItem(this); nail.LoadFromXml(xmlElement.ChildNodes[i] as XmlElement); this.Nails.Add(nail); } this.Label.LoadFromXml(xmlElement.ChildNodes[xmlElement.ChildNodes.Count - 1] as XmlElement); } }
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); }
public static PNModel LoadLTSFromXML(string text) { string assertion = string.Empty; List <PNCanvas> canvases = new List <PNCanvas>(); XmlDocument doc = new XmlDocument(); doc.LoadXml(text); XmlNodeList sitesNodes = doc.GetElementsByTagName(Parsing.ASSERTION_NODE_NAME); //TODO? What is this for? foreach (XmlElement component in sitesNodes) { assertion = component.InnerText; } sitesNodes = doc.GetElementsByTagName(Parsing.MODELS_NODE_NAME); if (sitesNodes.Count > 0) { foreach (XmlElement component in sitesNodes[0].ChildNodes) { PNCanvas canvas = new PNCanvas(); canvas.LoadFromXml(component); canvases.Add(canvas); } } return(new PNModel(assertion, canvases)); }
public static PNModel LoadLTSFromXML(string text) { string assertion = string.Empty; List <PNCanvas> canvases = new List <PNCanvas>(); XmlDocument doc = new XmlDocument(); doc.LoadXml(text); // testing---------------------------------------------------- XmlElement topology; List <string> sensorIds = new List <string>(); List <string> channelIds = new List <string>(); XmlNodeList sitesNodes = doc.GetElementsByTagName(PNNode.TAG_TOPOLOGY); topology = (XmlElement)sitesNodes[0]; sitesNodes = doc.GetElementsByTagName(PNNode.TAG_SENSOR); foreach (XmlElement element in sitesNodes) { sensorIds.Add(element.GetAttribute(PNNode.TAG_SENSOR_ID)); } sitesNodes = doc.GetElementsByTagName(PNNode.TAG_CHANNEL); foreach (XmlElement element in sitesNodes) { channelIds.Add(element.GetAttribute(PNNode.TAG_CHANNEL_ID)); } //------------------------------------------------------------ sitesNodes = doc.GetElementsByTagName(Parsing.ASSERTION_NODE_NAME); //TODO? What is this for? foreach (XmlElement component in sitesNodes) { assertion = component.InnerText; } sitesNodes = doc.GetElementsByTagName(Parsing.MODELS_NODE_NAME); if (sitesNodes.Count > 0) { foreach (XmlElement component in sitesNodes[0].ChildNodes) { PNCanvas canvas = new PNCanvas(sensorIds, channelIds); canvas.LoadFromXmlAlt(component, 0); canvases.Add(canvas); } } return(new PNModel(assertion, canvases, topology)); }