1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski #ifndef _XMLOFF_XMLSECTIONEXPORT_HXX_ 25*b1cdbd2cSJim Jagielski #define _XMLOFF_XMLSECTIONEXPORT_HXX_ 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim Jagielski #include <rtl/ustring.hxx> 28*b1cdbd2cSJim Jagielski #include <com/sun/star/uno/Reference.h> 29*b1cdbd2cSJim Jagielski #include <com/sun/star/uno/Sequence.h> 30*b1cdbd2cSJim Jagielski #include <com/sun/star/beans/PropertyValue.hpp> 31*b1cdbd2cSJim Jagielski #include <xmloff/xmltoken.hxx> 32*b1cdbd2cSJim Jagielski 33*b1cdbd2cSJim Jagielski class SvXMLExport; 34*b1cdbd2cSJim Jagielski class XMLTextParagraphExport; 35*b1cdbd2cSJim Jagielski namespace com { namespace sun { namespace star { 36*b1cdbd2cSJim Jagielski namespace text 37*b1cdbd2cSJim Jagielski { 38*b1cdbd2cSJim Jagielski class XTextSection; 39*b1cdbd2cSJim Jagielski class XDocumentIndex; 40*b1cdbd2cSJim Jagielski class XTextContent; 41*b1cdbd2cSJim Jagielski } 42*b1cdbd2cSJim Jagielski namespace beans 43*b1cdbd2cSJim Jagielski { 44*b1cdbd2cSJim Jagielski class XPropertySet; 45*b1cdbd2cSJim Jagielski } 46*b1cdbd2cSJim Jagielski namespace container 47*b1cdbd2cSJim Jagielski { 48*b1cdbd2cSJim Jagielski class XIndexReplace; 49*b1cdbd2cSJim Jagielski } 50*b1cdbd2cSJim Jagielski } } } 51*b1cdbd2cSJim Jagielski 52*b1cdbd2cSJim Jagielski 53*b1cdbd2cSJim Jagielski enum SectionTypeEnum 54*b1cdbd2cSJim Jagielski { 55*b1cdbd2cSJim Jagielski TEXT_SECTION_TYPE_SECTION, 56*b1cdbd2cSJim Jagielski 57*b1cdbd2cSJim Jagielski // indices: keep index valued together and do not change order, 58*b1cdbd2cSJim Jagielski // because they are used to index into array 59*b1cdbd2cSJim Jagielski TEXT_SECTION_TYPE_TOC, 60*b1cdbd2cSJim Jagielski TEXT_SECTION_TYPE_TABLE, 61*b1cdbd2cSJim Jagielski TEXT_SECTION_TYPE_ILLUSTRATION, 62*b1cdbd2cSJim Jagielski TEXT_SECTION_TYPE_OBJECT, 63*b1cdbd2cSJim Jagielski TEXT_SECTION_TYPE_USER, 64*b1cdbd2cSJim Jagielski TEXT_SECTION_TYPE_ALPHABETICAL, 65*b1cdbd2cSJim Jagielski TEXT_SECTION_TYPE_BIBLIOGRAPHY, 66*b1cdbd2cSJim Jagielski 67*b1cdbd2cSJim Jagielski // index header sections: 68*b1cdbd2cSJim Jagielski TEXT_SECTION_TYPE_HEADER, 69*b1cdbd2cSJim Jagielski 70*b1cdbd2cSJim Jagielski TEXT_SECTION_TYPE_UNKNOWN 71*b1cdbd2cSJim Jagielski }; 72*b1cdbd2cSJim Jagielski 73*b1cdbd2cSJim Jagielski 74*b1cdbd2cSJim Jagielski /** 75*b1cdbd2cSJim Jagielski * This class handles the export of sections and indices (which are, 76*b1cdbd2cSJim Jagielski * internally, just sections). It is intended to be used only from 77*b1cdbd2cSJim Jagielski * within the XMLTextParagraphExport class. 78*b1cdbd2cSJim Jagielski */ 79*b1cdbd2cSJim Jagielski class XMLSectionExport 80*b1cdbd2cSJim Jagielski { 81*b1cdbd2cSJim Jagielski const ::rtl::OUString sCondition; 82*b1cdbd2cSJim Jagielski const ::rtl::OUString sCreateFromChapter; 83*b1cdbd2cSJim Jagielski const ::rtl::OUString sCreateFromEmbeddedObjects; 84*b1cdbd2cSJim Jagielski const ::rtl::OUString sCreateFromGraphicObjects; 85*b1cdbd2cSJim Jagielski const ::rtl::OUString sCreateFromLabels; 86*b1cdbd2cSJim Jagielski const ::rtl::OUString sCreateFromMarks; 87*b1cdbd2cSJim Jagielski const ::rtl::OUString sCreateFromOtherEmbeddedObjects; 88*b1cdbd2cSJim Jagielski const ::rtl::OUString sCreateFromOutline; 89*b1cdbd2cSJim Jagielski const ::rtl::OUString sCreateFromStarCalc; 90*b1cdbd2cSJim Jagielski const ::rtl::OUString sCreateFromStarChart; 91*b1cdbd2cSJim Jagielski const ::rtl::OUString sCreateFromStarDraw; 92*b1cdbd2cSJim Jagielski const ::rtl::OUString sCreateFromStarImage; 93*b1cdbd2cSJim Jagielski const ::rtl::OUString sCreateFromStarMath; 94*b1cdbd2cSJim Jagielski const ::rtl::OUString sCreateFromTables; 95*b1cdbd2cSJim Jagielski const ::rtl::OUString sCreateFromTextFrames; 96*b1cdbd2cSJim Jagielski const ::rtl::OUString sDdeCommandElement; 97*b1cdbd2cSJim Jagielski const ::rtl::OUString sDdeCommandFile; 98*b1cdbd2cSJim Jagielski const ::rtl::OUString sDdeCommandType; 99*b1cdbd2cSJim Jagielski const ::rtl::OUString sFileLink; 100*b1cdbd2cSJim Jagielski const ::rtl::OUString sIsCaseSensitive; 101*b1cdbd2cSJim Jagielski const ::rtl::OUString sIsProtected; 102*b1cdbd2cSJim Jagielski const ::rtl::OUString sIsVisible; 103*b1cdbd2cSJim Jagielski const ::rtl::OUString sLabelCategory; 104*b1cdbd2cSJim Jagielski const ::rtl::OUString sLabelDisplayType; 105*b1cdbd2cSJim Jagielski const ::rtl::OUString sLevel; 106*b1cdbd2cSJim Jagielski const ::rtl::OUString sLevelFormat; 107*b1cdbd2cSJim Jagielski const ::rtl::OUString sLevelParagraphStyles; 108*b1cdbd2cSJim Jagielski const ::rtl::OUString sLinkRegion; 109*b1cdbd2cSJim Jagielski const ::rtl::OUString sMainEntryCharacterStyleName; 110*b1cdbd2cSJim Jagielski const ::rtl::OUString sParaStyleHeading; 111*b1cdbd2cSJim Jagielski const ::rtl::OUString sParaStyleLevel; 112*b1cdbd2cSJim Jagielski const ::rtl::OUString sTitle; 113*b1cdbd2cSJim Jagielski const ::rtl::OUString sName; 114*b1cdbd2cSJim Jagielski const ::rtl::OUString sUseAlphabeticalSeparators; 115*b1cdbd2cSJim Jagielski const ::rtl::OUString sUseCombinedEntries; 116*b1cdbd2cSJim Jagielski const ::rtl::OUString sUseDash; 117*b1cdbd2cSJim Jagielski const ::rtl::OUString sUseKeyAsEntry; 118*b1cdbd2cSJim Jagielski const ::rtl::OUString sUseLevelFromSource; 119*b1cdbd2cSJim Jagielski const ::rtl::OUString sUsePP; 120*b1cdbd2cSJim Jagielski const ::rtl::OUString sUseUpperCase; 121*b1cdbd2cSJim Jagielski const ::rtl::OUString sIsCommaSeparated; 122*b1cdbd2cSJim Jagielski const ::rtl::OUString sIsAutomaticUpdate; 123*b1cdbd2cSJim Jagielski const ::rtl::OUString sIsRelativeTabstops; 124*b1cdbd2cSJim Jagielski const ::rtl::OUString sCreateFromLevelParagraphStyles; 125*b1cdbd2cSJim Jagielski const ::rtl::OUString sDocumentIndex; 126*b1cdbd2cSJim Jagielski const ::rtl::OUString sContentSection; 127*b1cdbd2cSJim Jagielski const ::rtl::OUString sHeaderSection; 128*b1cdbd2cSJim Jagielski 129*b1cdbd2cSJim Jagielski const ::rtl::OUString sTextSection; 130*b1cdbd2cSJim Jagielski const ::rtl::OUString sIsGlobalDocumentSection; 131*b1cdbd2cSJim Jagielski const ::rtl::OUString sProtectionKey; 132*b1cdbd2cSJim Jagielski const ::rtl::OUString sSortAlgorithm; 133*b1cdbd2cSJim Jagielski const ::rtl::OUString sLocale; 134*b1cdbd2cSJim Jagielski const ::rtl::OUString sUserIndexName; 135*b1cdbd2cSJim Jagielski 136*b1cdbd2cSJim Jagielski const ::rtl::OUString sIsCurrentlyVisible; 137*b1cdbd2cSJim Jagielski const ::rtl::OUString sHeadingStyleName; 138*b1cdbd2cSJim Jagielski 139*b1cdbd2cSJim Jagielski const ::rtl::OUString sEmpty; 140*b1cdbd2cSJim Jagielski 141*b1cdbd2cSJim Jagielski SvXMLExport& rExport; 142*b1cdbd2cSJim Jagielski XMLTextParagraphExport& rParaExport; 143*b1cdbd2cSJim Jagielski 144*b1cdbd2cSJim Jagielski sal_Bool bHeadingDummiesExported; 145*b1cdbd2cSJim Jagielski 146*b1cdbd2cSJim Jagielski public: 147*b1cdbd2cSJim Jagielski XMLSectionExport(SvXMLExport& rExp, 148*b1cdbd2cSJim Jagielski XMLTextParagraphExport& rParaExp); 149*b1cdbd2cSJim Jagielski 150*b1cdbd2cSJim Jagielski /** 151*b1cdbd2cSJim Jagielski * export section or index start and source elements. This 152*b1cdbd2cSJim Jagielski * method handles the section styles, and delegates to the 153*b1cdbd2cSJim Jagielski * appropriate section or index method. 154*b1cdbd2cSJim Jagielski */ 155*b1cdbd2cSJim Jagielski void ExportSectionStart( 156*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 157*b1cdbd2cSJim Jagielski ::com::sun::star::text::XTextSection > & rSection, 158*b1cdbd2cSJim Jagielski sal_Bool bAutoStyles); 159*b1cdbd2cSJim Jagielski 160*b1cdbd2cSJim Jagielski /** 161*b1cdbd2cSJim Jagielski * export section or index end elements 162*b1cdbd2cSJim Jagielski */ 163*b1cdbd2cSJim Jagielski void ExportSectionEnd( 164*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 165*b1cdbd2cSJim Jagielski ::com::sun::star::text::XTextSection > & rSection, 166*b1cdbd2cSJim Jagielski sal_Bool bAutoStyles); 167*b1cdbd2cSJim Jagielski 168*b1cdbd2cSJim Jagielski /** 169*b1cdbd2cSJim Jagielski * Should the content of this section be exported? 170*b1cdbd2cSJim Jagielski * (E.g. linked sections in global documents are not always exported) 171*b1cdbd2cSJim Jagielski */ 172*b1cdbd2cSJim Jagielski sal_Bool IsMuteSection( 173*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 174*b1cdbd2cSJim Jagielski ::com::sun::star::text::XTextSection > & rSection) const; 175*b1cdbd2cSJim Jagielski 176*b1cdbd2cSJim Jagielski /** 177*b1cdbd2cSJim Jagielski * XTextContent-version of IsMuteSection(Reference<XTextSection>&) 178*b1cdbd2cSJim Jagielski * returns *true* for all non-section elements 179*b1cdbd2cSJim Jagielski */ 180*b1cdbd2cSJim Jagielski sal_Bool IsMuteSection( 181*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 182*b1cdbd2cSJim Jagielski ::com::sun::star::text::XTextContent > & rSection, 183*b1cdbd2cSJim Jagielski /// return value if this content doesn't support the section property 184*b1cdbd2cSJim Jagielski sal_Bool bDefault) const; 185*b1cdbd2cSJim Jagielski 186*b1cdbd2cSJim Jagielski /** 187*b1cdbd2cSJim Jagielski * Determine whether rContent is contained in rEnclosingSection. If the 188*b1cdbd2cSJim Jagielski * current section of rContent can not be determined, return bDefault. 189*b1cdbd2cSJim Jagielski */ 190*b1cdbd2cSJim Jagielski sal_Bool IsInSection( 191*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 192*b1cdbd2cSJim Jagielski ::com::sun::star::text::XTextSection > & rEnclosingSection, 193*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 194*b1cdbd2cSJim Jagielski ::com::sun::star::text::XTextContent > & rContent, 195*b1cdbd2cSJim Jagielski /// return value if this content doesn't support the section property 196*b1cdbd2cSJim Jagielski sal_Bool bDefault); 197*b1cdbd2cSJim Jagielski 198*b1cdbd2cSJim Jagielski /** 199*b1cdbd2cSJim Jagielski * Export the configuration element for bibliography indices. 200*b1cdbd2cSJim Jagielski * 201*b1cdbd2cSJim Jagielski * (This is part of XMLSectionExport because all section- and 202*b1cdbd2cSJim Jagielski * index-related items are handled here.) 203*b1cdbd2cSJim Jagielski */ 204*b1cdbd2cSJim Jagielski static void ExportBibliographyConfiguration(SvXMLExport& rExport); 205*b1cdbd2cSJim Jagielski 206*b1cdbd2cSJim Jagielski /** export a heading for every level. This is used by master documents 207*b1cdbd2cSJim Jagielski * to not loose the heading information if master documents are exported 208*b1cdbd2cSJim Jagielski * without section contents 209*b1cdbd2cSJim Jagielski */ 210*b1cdbd2cSJim Jagielski void ExportMasterDocHeadingDummies(); 211*b1cdbd2cSJim Jagielski 212*b1cdbd2cSJim Jagielski 213*b1cdbd2cSJim Jagielski 214*b1cdbd2cSJim Jagielski protected: 215*b1cdbd2cSJim Jagielski GetExport()216*b1cdbd2cSJim Jagielski inline SvXMLExport& GetExport() { return rExport; } GetParaExport()217*b1cdbd2cSJim Jagielski inline XMLTextParagraphExport& GetParaExport() { return rParaExport; } 218*b1cdbd2cSJim Jagielski 219*b1cdbd2cSJim Jagielski // export methods for section and index start: 220*b1cdbd2cSJim Jagielski 221*b1cdbd2cSJim Jagielski /// export an index start element. 222*b1cdbd2cSJim Jagielski void ExportIndexStart( 223*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 224*b1cdbd2cSJim Jagielski ::com::sun::star::text::XDocumentIndex > & rSection); 225*b1cdbd2cSJim Jagielski 226*b1cdbd2cSJim Jagielski /// export an index header start element. 227*b1cdbd2cSJim Jagielski void ExportIndexHeaderStart( 228*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 229*b1cdbd2cSJim Jagielski ::com::sun::star::text::XTextSection > & rSection); 230*b1cdbd2cSJim Jagielski 231*b1cdbd2cSJim Jagielski /// export a proper section (and source elements) 232*b1cdbd2cSJim Jagielski void ExportRegularSectionStart( 233*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 234*b1cdbd2cSJim Jagielski ::com::sun::star::text::XTextSection > & rSection); 235*b1cdbd2cSJim Jagielski 236*b1cdbd2cSJim Jagielski /// export a table of content (and source element) 237*b1cdbd2cSJim Jagielski void ExportTableOfContentStart( 238*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 239*b1cdbd2cSJim Jagielski ::com::sun::star::beans::XPropertySet > & rSection); 240*b1cdbd2cSJim Jagielski 241*b1cdbd2cSJim Jagielski /// export a table index (and source element) 242*b1cdbd2cSJim Jagielski void ExportTableIndexStart( 243*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 244*b1cdbd2cSJim Jagielski ::com::sun::star::beans::XPropertySet > & rSection); 245*b1cdbd2cSJim Jagielski 246*b1cdbd2cSJim Jagielski /// export an object index (and source element) 247*b1cdbd2cSJim Jagielski void ExportObjectIndexStart( 248*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 249*b1cdbd2cSJim Jagielski ::com::sun::star::beans::XPropertySet > & rSection); 250*b1cdbd2cSJim Jagielski 251*b1cdbd2cSJim Jagielski /// export an illustration index (and source element) 252*b1cdbd2cSJim Jagielski void ExportIllustrationIndexStart( 253*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 254*b1cdbd2cSJim Jagielski ::com::sun::star::beans::XPropertySet > & rSection); 255*b1cdbd2cSJim Jagielski 256*b1cdbd2cSJim Jagielski /// export an alphabetical/keyword index (and source element) 257*b1cdbd2cSJim Jagielski void ExportAlphabeticalIndexStart( 258*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 259*b1cdbd2cSJim Jagielski ::com::sun::star::beans::XPropertySet > & rSection); 260*b1cdbd2cSJim Jagielski 261*b1cdbd2cSJim Jagielski /// export a user index (and source element) 262*b1cdbd2cSJim Jagielski void ExportUserIndexStart( 263*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 264*b1cdbd2cSJim Jagielski ::com::sun::star::beans::XPropertySet > & rSection); 265*b1cdbd2cSJim Jagielski 266*b1cdbd2cSJim Jagielski /// export the bibliography (and source element) 267*b1cdbd2cSJim Jagielski void ExportBibliographyStart( 268*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 269*b1cdbd2cSJim Jagielski ::com::sun::star::beans::XPropertySet > & rIndex); 270*b1cdbd2cSJim Jagielski 271*b1cdbd2cSJim Jagielski // helper methods: 272*b1cdbd2cSJim Jagielski 273*b1cdbd2cSJim Jagielski /** 274*b1cdbd2cSJim Jagielski * If this section is an index, the index is written in the 275*b1cdbd2cSJim Jagielski * rIndex parameter. The return value is sal_True for all "special" 276*b1cdbd2cSJim Jagielski * sections. 277*b1cdbd2cSJim Jagielski * 278*b1cdbd2cSJim Jagielski * Thus we have: 279*b1cdbd2cSJim Jagielski * return sal_False: regular section 280*b1cdbd2cSJim Jagielski * return sal_True, xIndex is empty: index header section 281*b1cdbd2cSJim Jagielski * return sal_True, xIndex is set: index section */ 282*b1cdbd2cSJim Jagielski sal_Bool GetIndex( 283*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 284*b1cdbd2cSJim Jagielski ::com::sun::star::text::XTextSection > & rSection, 285*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference < 286*b1cdbd2cSJim Jagielski ::com::sun::star::text::XDocumentIndex > & rIndex) const; 287*b1cdbd2cSJim Jagielski 288*b1cdbd2cSJim Jagielski /// map service name to section type 289*b1cdbd2cSJim Jagielski enum SectionTypeEnum MapSectionType(const ::rtl::OUString& rSectionName); 290*b1cdbd2cSJim Jagielski 291*b1cdbd2cSJim Jagielski /** 292*b1cdbd2cSJim Jagielski * Export the index element start (for all index types). 293*b1cdbd2cSJim Jagielski * 294*b1cdbd2cSJim Jagielski * All additional attributes (usually none) for the index element 295*b1cdbd2cSJim Jagielski * should have been set at GetExport() before calling this method. 296*b1cdbd2cSJim Jagielski */ 297*b1cdbd2cSJim Jagielski void ExportBaseIndexStart( 298*b1cdbd2cSJim Jagielski ::xmloff::token::XMLTokenEnum eElement, 299*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 300*b1cdbd2cSJim Jagielski ::com::sun::star::beans::XPropertySet > & rSection); 301*b1cdbd2cSJim Jagielski 302*b1cdbd2cSJim Jagielski /** 303*b1cdbd2cSJim Jagielski * Export the index source element (common for all index types). 304*b1cdbd2cSJim Jagielski * 305*b1cdbd2cSJim Jagielski * All additional attributes for the source element should have 306*b1cdbd2cSJim Jagielski * been set at the GetExport() before calling this method. 307*b1cdbd2cSJim Jagielski */ 308*b1cdbd2cSJim Jagielski void ExportBaseIndexSource( 309*b1cdbd2cSJim Jagielski SectionTypeEnum eType, /// index type 310*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 311*b1cdbd2cSJim Jagielski ::com::sun::star::beans::XPropertySet > & rSection); 312*b1cdbd2cSJim Jagielski 313*b1cdbd2cSJim Jagielski /** 314*b1cdbd2cSJim Jagielski * Export the index body (common for all index types). 315*b1cdbd2cSJim Jagielski */ 316*b1cdbd2cSJim Jagielski void ExportBaseIndexBody( 317*b1cdbd2cSJim Jagielski SectionTypeEnum eType, /// index type 318*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 319*b1cdbd2cSJim Jagielski ::com::sun::star::beans::XPropertySet > & rSection); 320*b1cdbd2cSJim Jagielski 321*b1cdbd2cSJim Jagielski 322*b1cdbd2cSJim Jagielski /** 323*b1cdbd2cSJim Jagielski * Helper method to export common attributes for table and 324*b1cdbd2cSJim Jagielski * illustration indices 325*b1cdbd2cSJim Jagielski */ 326*b1cdbd2cSJim Jagielski void ExportTableAndIllustrationIndexSourceAttributes( 327*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference < 328*b1cdbd2cSJim Jagielski ::com::sun::star::beans::XPropertySet > & rSection); 329*b1cdbd2cSJim Jagielski 330*b1cdbd2cSJim Jagielski /// export one template for the specific index type 331*b1cdbd2cSJim Jagielski sal_Bool ExportIndexTemplate( 332*b1cdbd2cSJim Jagielski SectionTypeEnum eType, /// index type 333*b1cdbd2cSJim Jagielski sal_Int32 nLevel, /// outline level (if applicable) 334*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< 335*b1cdbd2cSJim Jagielski ::com::sun::star::beans::XPropertySet> & rPropSet, 336*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Sequence< 337*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Sequence< 338*b1cdbd2cSJim Jagielski ::com::sun::star::beans::PropertyValue> > & rValues); 339*b1cdbd2cSJim Jagielski 340*b1cdbd2cSJim Jagielski /// export a single template element (e.g. span or tab-stop) 341*b1cdbd2cSJim Jagielski void ExportIndexTemplateElement( 342*b1cdbd2cSJim Jagielski SectionTypeEnum eType, //i90246, needed for ODF 1.0, 1.0 and 1.2 management 343*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Sequence< 344*b1cdbd2cSJim Jagielski ::com::sun::star::beans::PropertyValue> & rValues); 345*b1cdbd2cSJim Jagielski 346*b1cdbd2cSJim Jagielski /// export level paragraph styles 347*b1cdbd2cSJim Jagielski void ExportLevelParagraphStyles( 348*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< 349*b1cdbd2cSJim Jagielski ::com::sun::star::container::XIndexReplace> & xStyles); 350*b1cdbd2cSJim Jagielski 351*b1cdbd2cSJim Jagielski 352*b1cdbd2cSJim Jagielski /// helper to export boolean properties 353*b1cdbd2cSJim Jagielski void ExportBoolean( 354*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< 355*b1cdbd2cSJim Jagielski ::com::sun::star::beans::XPropertySet> & rPropSet, 356*b1cdbd2cSJim Jagielski const ::rtl::OUString& sPropertyName, 357*b1cdbd2cSJim Jagielski enum ::xmloff::token::XMLTokenEnum eAttributeName, 358*b1cdbd2cSJim Jagielski sal_Bool bDefault, 359*b1cdbd2cSJim Jagielski sal_Bool bInvert = sal_False); 360*b1cdbd2cSJim Jagielski }; 361*b1cdbd2cSJim Jagielski 362*b1cdbd2cSJim Jagielski #endif 363