Exemplo n.º 1
0
        public void TraverseItem(HCItemTraverse aTraverse)
        {
            if (aTraverse != null)
            {
                HCDomainInfo vDomainInfo;
                for (int i = 0; i <= Items.Count - 1; i++)
                {
                    if (aTraverse.Stop)
                    {
                        break;
                    }

                    if (Items[i] is HCDomainItem)
                    {
                        if (HCDomainItem.IsBeginMark(Items[i]))
                        {
                            vDomainInfo = new HCDomainInfo();
                            GetDomainFrom(i, HC.OffsetAfter, vDomainInfo);
                            aTraverse.DomainStack.Push(vDomainInfo);
                        }
                        else
                        {
                            aTraverse.DomainStack.Pop();
                        }
                    }

                    aTraverse.Process(this, i, aTraverse.Tag, aTraverse.DomainStack, ref aTraverse.Stop);
                    if (Items[i].StyleNo < HCStyle.Null)
                    {
                        (Items[i] as HCCustomRectItem).TraverseItem(aTraverse);
                    }
                }
            }
        }
Exemplo n.º 2
0
        /// <summary> 遍历Item </summary>
        /// <param name="ATraverse">遍历时信息</param>
        public void TraverseItem(HCItemTraverse aTraverse)
        {
            if (aTraverse.Areas.Count == 0)
            {
                return;
            }

            for (int i = 0; i <= this.Sections.Count - 1; i++)
            {
                if (!aTraverse.Stop)
                {
                    if (aTraverse.Areas.Contains(SectionArea.saHeader))
                    {
                        this.Sections[i].Header.TraverseItem(aTraverse);
                    }

                    if ((!aTraverse.Stop) && (aTraverse.Areas.Contains(SectionArea.saPage)))
                    {
                        this.Sections[i].Page.TraverseItem(aTraverse);
                    }

                    if ((!aTraverse.Stop) && (aTraverse.Areas.Contains(SectionArea.saFooter)))
                    {
                        this.Sections[i].Footer.TraverseItem(aTraverse);
                    }
                }
            }
        }
Exemplo n.º 3
0
        /// <summary> 遍历文档指定Data的Item </summary>
        /// <param name="aTravEvent">每遍历到一个Item时触发的事件</param>
        /// <param name="aAreas">要遍历的Data</param>
        /// <param name="aTag">遍历标识</param>
        public void TraverseElement(TraverseItemEventHandle aTravEvent, HashSet <SectionArea> aAreas = null, int aTag = 0)
        {
            if (aTravEvent == null)
            {
                return;
            }

            HashSet <SectionArea> vArea = aAreas;

            if (vArea == null)
            {
                vArea = new HashSet <SectionArea>();
                vArea.Add(SectionArea.saHeader);
                vArea.Add(SectionArea.saFooter);
                vArea.Add(SectionArea.saPage);
            }
            else
            if (vArea.Count == 0)
            {
                return;
            }

            HCItemTraverse vItemTraverse = new HCItemTraverse();

            vItemTraverse.Tag     = aTag;
            vItemTraverse.Areas   = vArea;
            vItemTraverse.Process = aTravEvent;
            FEmrView.TraverseItem(vItemTraverse);

            FEmrView.FormatData();
        }
Exemplo n.º 4
0
        private void CheckRecordContent(frmRecord aFrmRecord)
        {
            HCItemTraverse vItemTraverse = new HCItemTraverse();

            vItemTraverse.Tag = 0;
            vItemTraverse.Areas.Add(SectionArea.saPage);
            vItemTraverse.Process = DoTraverseItem;
            aFrmRecord.EmrView.TraverseItem(vItemTraverse);

            aFrmRecord.EmrView.FormatData();
        }
Exemplo n.º 5
0
        private void TraverseElement(frmRecord aFrmRecord)
        {
            HCItemTraverse vItemTraverse = new HCItemTraverse();

            vItemTraverse.Tag = 0;
            vItemTraverse.Areas.Add(SectionArea.saHeader);
            vItemTraverse.Areas.Add(SectionArea.saPage);
            vItemTraverse.Areas.Add(SectionArea.saFooter);
            vItemTraverse.Process = DoTraverseItem;

            aFrmRecord.EmrView.FormatData();
        }
Exemplo n.º 6
0
        private XmlDocument GetStructureToXml(frmRecord aFrmRecord)
        {
            HCItemTraverse vItemTraverse = new HCItemTraverse();
            XmlStruct      vXmlStruct    = new XmlStruct();

            vItemTraverse.Areas.Add(SectionArea.saPage);
            vItemTraverse.Process = vXmlStruct.TraverseItem;

            vXmlStruct.XmlDoc.DocumentElement.SetAttribute("DesID", (aFrmRecord.Tag as RecordInfo).DesID.ToString());
            vXmlStruct.XmlDoc.DocumentElement.SetAttribute("DocName", (aFrmRecord.Tag as RecordInfo).RecName);

            aFrmRecord.EmrView.TraverseItem(vItemTraverse);
            return(vXmlStruct.XmlDoc);
        }
Exemplo n.º 7
0
        public void TraverseFloatItem(HCItemTraverse aTraverse)
        {
            if (aTraverse != null)
            {
                for (int i = 0; i < FFloatItems.Count; i++)
                {
                    if (aTraverse.Stop)
                    {
                        return;
                    }

                    aTraverse.Process(this, i, aTraverse.Tag, aTraverse.DomainStack, ref aTraverse.Stop);
                }
            }
        }
Exemplo n.º 8
0
        public void TraverseItem(HCItemTraverse ATraverse)
        {
            if (ATraverse != null)
            {
                for (int i = 0; i <= Items.Count - 1; i++)
                {
                    if (ATraverse.Stop)
                    {
                        break;
                    }

                    ATraverse.Process(this, i, ATraverse.Tag, ref ATraverse.Stop);
                    if (Items[i].StyleNo < HCStyle.Null)
                    {
                        (Items[i] as HCCustomRectItem).TraverseItem(ATraverse);
                    }
                }
            }
        }
Exemplo n.º 9
0
 public virtual void TraverseItem(HCItemTraverse ATraverse)
 {
 }