private bool IsFlowForMasterNameDone(string masterName)
        {
            if (isForcing)
            {
                return(false);
            }
            if (masterName != null)
            {
                SimplePageMaster spm =
                    this.layoutMasterSet.getSimplePageMaster(masterName);
                Region region = spm.getRegion(RegionBody.REGION_CLASS);


                Flow.Flow flow = (Flow.Flow)_flowMap[region.getRegionName()];
                if ((null == flow) || flow.getStatus().isIncomplete())
                {
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
            return(false);
        }
        private PageMaster GetNextPageMaster(string pageSequenceName,
                                             int currentPageNumber,
                                             bool thisIsFirstPage,
                                             bool isEmptyPage)
        {
            PageMaster pageMaster = null;

            PageSequenceMaster sequenceMaster =
                this.layoutMasterSet.getPageSequenceMaster(pageSequenceName);

            if (sequenceMaster != null)
            {
                pageMaster = GetNextSimplePageMaster(sequenceMaster,
                                                     currentPageNumber,
                                                     thisIsFirstPage,
                                                     isEmptyPage).getPageMaster();
            }
            else
            {
                SimplePageMaster simpleMaster =
                    this.layoutMasterSet.getSimplePageMaster(pageSequenceName);
                if (simpleMaster == null)
                {
                    throw new FonetException("'master-reference' for 'fo:page-sequence'"
                                             + "matches no 'simple-page-master' or 'page-sequence-master'");
                }
                currentPageMasterName = pageSequenceName;

                pageMaster = simpleMaster.GetNextPageMaster();
            }
            return(pageMaster);
        }
Beispiel #3
0
        protected Region(FObj parent, PropertyList propertyList)
            : base(parent, propertyList)
        {
            if (null == this.properties.GetProperty(PROP_REGION_NAME))
            {
                setRegionName(GetDefaultRegionName());
            }
            else if (this.properties.GetProperty(PROP_REGION_NAME).GetString().Equals(""))
            {
                setRegionName(GetDefaultRegionName());
            }
            else
            {
                setRegionName(this.properties.GetProperty(PROP_REGION_NAME).GetString());
                if (isReserved(getRegionName()) &&
                    !getRegionName().Equals(GetDefaultRegionName()))
                {
                    throw new FonetException(PROP_REGION_NAME + " '" + _regionName
                                             + "' for " + this.ElementName
                                             + " not permitted.");
                }
            }

            if (parent.ElementName.Equals("fo:simple-page-master"))
            {
                _layoutMaster = (SimplePageMaster)parent;
                getPageMaster().addRegion(this);
            }
            else
            {
                throw new FonetException(ElementName + " must be child "
                                         + "of simple-page-master, not "
                                         + parent.ElementName);
            }
        }
Beispiel #4
0
 protected internal void addSimplePageMaster(SimplePageMaster simplePageMaster)
 {
     if (existsName(simplePageMaster.GetMasterName()))
     {
         throw new FonetException("'master-name' ("
             + simplePageMaster.GetMasterName()
             + ") must be unique "
             + "across page-masters and page-sequence-masters");
     }
     this.simplePageMasters.Add(simplePageMaster.GetMasterName(),
                                simplePageMaster);
 }
Beispiel #5
0
 protected internal void addSimplePageMaster(SimplePageMaster simplePageMaster)
 {
     if (existsName(simplePageMaster.GetMasterName()))
     {
         throw new FonetException("'master-name' ("
                                  + simplePageMaster.GetMasterName()
                                  + ") must be unique "
                                  + "across page-masters and page-sequence-masters");
     }
     this.simplePageMasters.Add(simplePageMaster.GetMasterName(),
                                simplePageMaster);
 }
        private void FormatStaticContent(AreaTree areaTree)
        {
            SimplePageMaster simpleMaster = GetCurrentSimplePageMaster();

            if (simpleMaster.getRegion(RegionBefore.REGION_CLASS) != null &&
                (currentPage.getBefore() != null))
            {
                Flow.Flow staticFlow =
                    (Flow.Flow)_flowMap[simpleMaster.getRegion(RegionBefore.REGION_CLASS).getRegionName()];
                if (staticFlow != null)
                {
                    AreaContainer beforeArea = currentPage.getBefore();
                    beforeArea.setIDReferences(areaTree.getIDReferences());
                    LayoutStaticContent(staticFlow,
                                        simpleMaster.getRegion(RegionBefore.REGION_CLASS),
                                        beforeArea);
                }
            }

            if (simpleMaster.getRegion(RegionAfter.REGION_CLASS) != null &&
                (currentPage.getAfter() != null))
            {
                Flow.Flow staticFlow =
                    (Flow.Flow)_flowMap[simpleMaster.getRegion(RegionAfter.REGION_CLASS).getRegionName()];
                if (staticFlow != null)
                {
                    AreaContainer afterArea = currentPage.getAfter();
                    afterArea.setIDReferences(areaTree.getIDReferences());
                    LayoutStaticContent(staticFlow,
                                        simpleMaster.getRegion(RegionAfter.REGION_CLASS),
                                        afterArea);
                }
            }

            if (simpleMaster.getRegion(RegionStart.REGION_CLASS) != null &&
                (currentPage.getStart() != null))
            {
                Flow.Flow staticFlow =
                    (Flow.Flow)_flowMap[simpleMaster.getRegion(RegionStart.REGION_CLASS).getRegionName()];
                if (staticFlow != null)
                {
                    AreaContainer startArea = currentPage.getStart();
                    startArea.setIDReferences(areaTree.getIDReferences());
                    LayoutStaticContent(staticFlow,
                                        simpleMaster.getRegion(RegionStart.REGION_CLASS),
                                        startArea);
                }
            }

            if (simpleMaster.getRegion(RegionEnd.REGION_CLASS) != null &&
                (currentPage.getEnd() != null))
            {
                Flow.Flow staticFlow =
                    (Flow.Flow)_flowMap[simpleMaster.getRegion(RegionEnd.REGION_CLASS).getRegionName()];
                if (staticFlow != null)
                {
                    AreaContainer endArea = currentPage.getEnd();
                    endArea.setIDReferences(areaTree.getIDReferences());
                    LayoutStaticContent(staticFlow,
                                        simpleMaster.getRegion(RegionEnd.REGION_CLASS),
                                        endArea);
                }
            }
        }