public void writeSection(int start,
int end,
SEP sep,
BTreeSet text,
BTreeSet paragraphTable,
BTreeSet characterTable,
StyleSheet stylesheet) {
HeaderFooter titleHeader = findSectionHdrFtr(HeaderFooter.HEADER_FIRST, _sectionCounter);
HeaderFooter titleFooter = findSectionHdrFtr(HeaderFooter.FOOTER_FIRST, _sectionCounter);
HeaderFooter oddHeader = findSectionHdrFtr(HeaderFooter.HEADER_ODD, _sectionCounter);
HeaderFooter evenHeader = findSectionHdrFtr(HeaderFooter.HEADER_EVEN, _sectionCounter);
HeaderFooter oddFooter = findSectionHdrFtr(HeaderFooter.FOOTER_ODD, _sectionCounter);
HeaderFooter evenFooter = findSectionHdrFtr(HeaderFooter.FOOTER_EVEN, _sectionCounter);
String titlePage = null;
String evenPage = null;
String oddPage = null;
String regPage = null;
String sequenceName = null;
/*if(sep._fTitlePage)
{
titlePage = createPageMaster(sep, "first", _sectionCounter, createRegion("before", "title-header"), createRegion("after", "title-footer"));
if(!titleHeader.isEmpty())
{
addStaticContent("title-header" + _sectionCounter, titleHeader);
}
if(!titleFooter.isEmpty())
{
addStaticContent("title-footer" + _sectionCounter, titleFooter);
}
}*/
if(_docProps._fFacingPages)
{
if(sep._fTitlePage)
{
String before = createRegion(true, titleHeader, sep, "title-header" + _sectionCounter);
String after = createRegion(false, titleFooter, sep, "title-footer" + _sectionCounter);
titlePage = createPageMaster(sep, "first", _sectionCounter, before, after);
}
String before = createRegion(true, evenHeader, sep, "even-header" + _sectionCounter);
String after = createRegion(false, evenFooter, sep, "even-footer" + _sectionCounter);
evenPage = createPageMaster(sep, "even", _sectionCounter, before, after);
before = createRegion(true, oddHeader, sep, "odd-header" + _sectionCounter);
after = createRegion(false, oddFooter, sep, "odd-footer" + _sectionCounter);
oddPage = createPageMaster(sep, "odd", _sectionCounter, before, after);
sequenceName = createEvenOddPageSequence(titlePage, evenPage, oddPage, _sectionCounter);
openPage(sequenceName, "reference");
if(sep._fTitlePage)
{
if(!titleHeader.isEmpty())
{
addStaticContent("title-header" + _sectionCounter, titleHeader);
}
if(!titleFooter.isEmpty())
{
addStaticContent("title-footer" + _sectionCounter, titleFooter);
}
}
//handle the headers and footers for odd and even pages
if(!oddHeader.isEmpty())
{
addStaticContent("odd-header" + _sectionCounter, oddHeader);
}
if(!oddFooter.isEmpty())
{
addStaticContent("odd-footer" + _sectionCounter, oddFooter);
}
if(!evenHeader.isEmpty())
{
addStaticContent("even-header" + _sectionCounter, evenHeader);
}
if(!evenFooter.isEmpty())
{
addStaticContent("even-footer" + _sectionCounter, evenFooter);
}
openFlow();
addBlockContent(start, end, text, paragraphTable, characterTable);
closeFlow();
closePage();
}
else
{
/*if(sep._fTitlePage)
{
String before = createRegion(true, titleHeader, sep);
String after = createRegion(false, titleFooter, sep);
titlePage = createPageMaster(sep, "first", _sectionCounter, before, after);
}*/
String before = createRegion(true, oddHeader, sep, null);
String after = createRegion(false, oddFooter, sep, null);
regPage = createPageMaster(sep, "page", _sectionCounter, before, after);
if(sep._fTitlePage)
{
before = createRegion(true, titleHeader, sep, "title-header" + _sectionCounter);
after = createRegion(false, titleFooter, sep, "title-footer" + _sectionCounter);
titlePage = createPageMaster(sep, "first", _sectionCounter, before, after);
sequenceName = createPageSequence(titlePage, regPage, _sectionCounter);
openPage(sequenceName, "reference");
if(!titleHeader.isEmpty())
{
addStaticContent("title-header" + _sectionCounter, titleHeader);
}
if(!titleFooter.isEmpty())
{
addStaticContent("title-footer" + _sectionCounter, titleFooter);
}
}
else
{
openPage(regPage, "name");
}
if(!oddHeader.isEmpty())
{
addStaticContent("xsl-region-before", oddHeader);
}
if(!oddFooter.isEmpty())
{
addStaticContent("xsl-region-after", oddFooter);
}
openFlow();
addBlockContent(start, end, text, paragraphTable, characterTable);
closeFlow();
closePage();
}
_sectionCounter++;
}
|