Example #1
0
        public PageInfo(string fileName, string filePath, SchemeInfo scheme)
        {
            isErrorsOccurred = false;
            originalFileName = fileName;
            currentScheme    = scheme;
            xmlFile          = XDocument.Load(filePath);

            tabPage            = new TabPage(originalFileName);
            tabPage.AutoScroll = true;

            xmlFile = MainForm.ReadTagsToReplace(xmlFile, originalFileName);

            xmlFileObject = FillGroups(currentScheme);

            CheckForErrors();

            MainForm.mainTabControl.Controls.Add(tabPage);
        }
Example #2
0
        XmlInfo FillGroups(SchemeInfo scheme)
        {
            XmlInfo xmlInfo = new XmlInfo();

            List <GroupInfo> groupsInfo = new List <GroupInfo>();

            for (int i = 0; i < scheme.groupsAbstractions.Count; i++)
            {
                GroupInfo gi = new GroupInfo(scheme.groupsAbstractions[i].groupParameters);
                for (int j = 0; j < scheme.groupsAbstractions[i].tagsInGroup.Count; j++)
                {
                    if (scheme.groupsAbstractions[i].tagsInGroup[j] is SingleTagAbstract)
                    {
                        SingleTagAbstract sta = scheme.groupsAbstractions[i].tagsInGroup[j] as SingleTagAbstract;
                        TagSingleInfo     tsi = new TagSingleInfo(sta.tagParameters);
                        tsi.xmlDoc = xmlFile;
                        gi.elements.Add(tsi);
                    }
                    else if (scheme.groupsAbstractions[i].tagsInGroup[j] is MultipleTagAbstract)
                    {
                        MultipleTagAbstract mta = scheme.groupsAbstractions[i].tagsInGroup[j] as MultipleTagAbstract;
                        TagMultipleInfo     tmi = new TagMultipleInfo(mta.tagParameters);
                        tmi.xmlDoc = xmlFile;
                        gi.elements.Add(tmi);
                    }
                    else if (scheme.groupsAbstractions[i].tagsInGroup[j] is DividerTagAbstract)
                    {
                        DividerTagAbstract dta = scheme.groupsAbstractions[i].tagsInGroup[j] as DividerTagAbstract;
                        TagDivider         td  = new TagDivider(dta.tagParameters, dta.counter);
                        gi.elements.Add(td);
                    }
                    else
                    {
                        throw new Exception("Помилка в побудові обїектної моделі Xml файлу");
                    }
                }
                groupsInfo.Add(gi);
            }

            xmlInfo.tagGroups.AddRange(groupsInfo);

            return(xmlInfo);
        }