コード例 #1
0
ファイル: PNCanvas.cs プロジェクト: MinhHuong/WSN-PN
        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);
        }
コード例 #2
0
ファイル: PNModel.cs プロジェクト: MinhHuong/WSN-PN
        /// <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);
        }
コード例 #3
0
ファイル: PNModel.cs プロジェクト: nhannhan159/PAT
        /// <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;
        }
コード例 #4
0
ファイル: PNCanvas.cs プロジェクト: nhannhan159/PAT
        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;
        }