20 #ifndef INCLUDED_XMLOFF_TXTPARAE_HXX
21 #define INCLUDED_XMLOFF_TXTPARAE_HXX
24 #include <rtl/ref.hxx>
26 #include <rtl/ustring.hxx>
27 #include <com/sun/star/uno/Reference.h>
51 class XPropertySetInfo; }
52 namespace container {
class XEnumeration;
class XIndexAccess; }
53 namespace text {
class XTextContent;
class XTextRange;
class XText;
54 class XFootnote;
class XTextFrame;
class XTextSection;
60 class OFormLayerXMLExport;
120 void exportTextRangeSpan(
121 const css::uno::Reference< css::text::XTextRange > & rTextRange,
122 css::uno::Reference< css::beans::XPropertySet >
const & xPropSet,
123 css::uno::Reference < css::beans::XPropertySetInfo > & xPropSetInfo,
124 const bool bIsUICharStyle,
125 const bool bHasAutoStyle,
126 const OUString& sStyle,
127 bool& rPrevCharIsSpace,
128 FieldmarkType& openFieldMark);
133 static constexpr OUStringLiteral gsAnchorCharStyleName =
u"AnchorCharStyleName";
134 static constexpr OUStringLiteral gsBeginNotice =
u"BeginNotice";
135 static constexpr OUStringLiteral gsCategory =
u"Category";
137 static constexpr OUStringLiteral gsCharStyleNames =
u"CharStyleNames";
138 static constexpr OUStringLiteral gsEndNotice =
u"EndNotice";
139 static constexpr OUStringLiteral gsFootnote =
u"Footnote";
140 static constexpr OUStringLiteral gsFootnoteCounting =
u"FootnoteCounting";
142 static constexpr OUStringLiteral gsPageDescName =
u"PageDescName";
143 static constexpr OUStringLiteral gsPageStyleName =
u"PageStyleName";
144 static constexpr OUStringLiteral gsParaStyleName =
u"ParaStyleName";
145 static constexpr OUStringLiteral gsPositionEndOfDoc =
u"PositionEndOfDoc";
146 static constexpr OUStringLiteral gsPrefix =
u"Prefix";
147 static constexpr OUStringLiteral gsReferenceId =
u"ReferenceId";
148 static constexpr OUStringLiteral gsStartAt =
u"StartAt";
149 static constexpr OUStringLiteral gsSuffix =
u"Suffix";
150 static constexpr OUStringLiteral gsTextEndnoteService =
u"com.sun.star.text.Endnote";
151 static constexpr OUStringLiteral gsTextSection =
u"TextSection";
154 static constexpr OUStringLiteral gsFrameStyleName =
u"FrameStyleName";
163 return xParaPropMapper;
168 return xTextPropMapper;
173 return xAutoFramePropMapper;
177 return xSectionPropMapper;
181 return xRubyPropMapper;
184 OUString FindTextStyleAndHyperlink(
185 const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
187 bool& rbHasCharStyle,
188 bool& rbHasAutoStyle,
190 bool addHyperlinkAttributes(
191 const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
192 const css::uno::Reference< css::beans::XPropertyState > & rPropState,
193 const css::uno::Reference< css::beans::XPropertySetInfo > & rPropSetInfo );
195 void exportTextRangeEnumeration(
196 const css::uno::Reference< css::container::XEnumeration > & rRangeEnum,
197 bool bAutoStyles,
bool bProgress,
bool & rPrevCharIsSpace);
202 const css::uno::Reference< css::beans::XPropertySet >& rPropSet,
205 OUString *pMinHeightValue =
nullptr,
206 OUString *pMinWidthValue =
nullptr );
209 const css::uno::Reference< css::style::XStyle > & rStyle )
override;
211 void exportPageFrames(
bool bProgress );
212 void exportFrameFrames(
bool bAutoStyles,
bool bProgress,
213 const css::uno::Reference< css::text::XTextFrame > *pParentTxtFrame );
215 void exportNumStyles(
bool bUsed );
218 const css::uno::Reference <
219 css::text::XText > & rText,
220 bool bAutoStyles,
bool bProgress,
bool bExportParagraph,
TextPNS eExtensionNS =
TextPNS::ODF );
223 const css::uno::Reference< css::text::XText > & rText,
224 const css::uno::Reference< css::text::XTextSection > & rBaseSection,
225 bool bAutoStyles,
bool bProgress,
bool bExportParagraph );
227 void exportTextContentEnumeration(
228 const css::uno::Reference< css::container::XEnumeration > & rContentEnum,
230 const css::uno::Reference< css::text::XTextSection > & rBaseSection,
232 bool bExportParagraph =
true,
233 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet =
nullptr,
235 void exportParagraph(
236 const css::uno::Reference< css::text::XTextContent > & rTextContent,
237 bool bAutoStyles,
bool bProgress,
238 bool bExportParagraph,
242 virtual void exportTable(
243 const css::uno::Reference< css::text::XTextContent > & rTextContent,
244 bool bAutoStyles,
bool bProgress );
246 void exportTextField(
247 const css::uno::Reference< css::text::XTextRange > & rTextRange,
248 bool bAutoStyles,
bool bProgress,
bool * pPrevCharIsSpace);
250 void exportTextField(
251 const css::uno::Reference< css::text::XTextField> & xTextField,
252 const bool bAutoStyles,
const bool bProgress,
253 const bool bRecursive,
bool * pPrevCharIsSpace);
255 void exportAnyTextFrame(
256 const css::uno::Reference< css::text::XTextContent > & rTextContent,
258 bool bAutoStyles,
bool bProgress,
bool bExportContent,
259 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet );
260 void _exportTextFrame(
261 const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
262 const css::uno::Reference< css::beans::XPropertySetInfo > & rPropSetInfo,
264 inline void exportTextFrame(
265 const css::uno::Reference< css::text::XTextContent > & rTextContent,
266 bool bAutoStyles,
bool bProgress,
bool bExportContent,
267 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet =
nullptr );
268 inline void exportShape(
269 const css::uno::Reference< css::text::XTextContent > & rTextContent,
271 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet =
nullptr );
274 const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
275 const css::uno::Reference< css::beans::XPropertySetInfo > & rPropSetInfo );
276 void _exportTextGraphic(
277 const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
278 const css::uno::Reference< css::beans::XPropertySetInfo > & rPropSetInfo );
279 inline void exportTextGraphic(
280 const css::uno::Reference< css::text::XTextContent > & rTextContent,
282 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet =
nullptr );
284 virtual void _collectTextEmbeddedAutoStyles(
285 const css::uno::Reference< css::beans::XPropertySet > & rPropSet );
286 virtual void _exportTextEmbedded(
287 const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
288 const css::uno::Reference< css::beans::XPropertySetInfo > & rPropSetInfo );
289 inline void exportTextEmbedded(
290 const css::uno::Reference< css::text::XTextContent > & rTextContent,
292 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet =
nullptr );
295 void exportTextFootnote(
296 const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
297 const OUString& sString,
298 bool bAutoStyles,
bool bProgress );
301 void exportTextFootnoteHelper(
302 const css::uno::Reference< css::text::XFootnote > & rPropSet,
303 const css::uno::Reference< css::text::XText> & rText,
304 const OUString& sString,
306 bool bIsEndnote,
bool bProgress );
309 void exportTextFootnoteConfiguration();
311 void exportTextFootnoteConfigurationHelper(
312 const css::uno::Reference< css::beans::XPropertySet> & rFootnoteSupplier,
316 const css::uno::Reference< css::beans::XPropertySet> & xPropSet,
317 const OUString& rProperty,
321 void exportSoftPageBreak();
323 void exportTextRange(
324 const css::uno::Reference< css::text::XTextRange > & rTextRange,
326 bool& rPrevCharWasSpace,
327 FieldmarkType& openFieldmarkType );
334 void exportListAndSectionChange(
335 css::uno::Reference< css::text::XTextSection > & rOldSection,
336 const css::uno::Reference< css::text::XTextSection > & rNewSection,
343 void exportListAndSectionChange(
344 css::uno::Reference< css::text::XTextSection > & rOldSection,
345 const css::uno::Reference< css::text::XTextContent > & rNewContent,
349 void exportListAndSectionChange(
350 css::uno::Reference< css::text::XTextSection > & rOldSection,
352 sal_Int16 nTextSectionId,
353 const css::uno::Reference< css::text::XTextContent > & rNewContent,
360 const css::uno::Reference< css::beans::XPropertySet> & rPortionPropSet,
365 const css::uno::Reference< css::beans::XPropertySet> & i_xPortion,
366 bool i_bAutoStyles,
bool i_isProgress,
bool & rPrevCharIsSpace);
370 virtual void exportTableAutoStyles();
384 const css::uno::Reference< css::beans::XPropertySet > & rPropSet );
387 const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
393 const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
394 const OUString& rParent,
407 void exportTextStyles(
bool bUsed,
bool bProg );
410 void exportTextDeclarations();
413 void exportTextDeclarations(
414 const css::uno::Reference< css::text::XText > & rText );
417 void exportUsedDeclarations();
421 void exportTrackedChanges(
bool bAutoStyle);
425 void exportTrackedChanges(
const css::uno::Reference< css::text::XText > & rText,
433 void recordTrackedChangesForXText(
434 const css::uno::Reference< css::text::XText > & rText );
440 void recordTrackedChangesNoXText();
444 void exportCharacterData(
445 const OUString& rText,
446 bool& rPrevCharWasSpace);
450 const css::uno::Reference< css::text::XText > & rText,
451 bool bIsProgress =
false,
452 bool bExportParagraph =
true )
454 exportText( rText,
true, bIsProgress, bExportParagraph );
458 const css::uno::Reference< css::text::XText > & rText,
459 const css::uno::Reference< css::text::XTextSection > & rBaseSection,
462 exportText( rText, rBaseSection,
true, bIsProgress,
true );
467 void collectTextAutoStylesOptimized(
bool bIsProgress );
470 void exportTextAutoStyles();
472 void exportEvents(
const css::uno::Reference< css::beans::XPropertySet > & rPropSet );
475 void exportTitleAndDescription(
const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
476 const css::uno::Reference< css::beans::XPropertySetInfo > & rPropSetInfo );
480 const css::uno::Reference< css::text::XText > & rText,
481 bool bIsProgress =
false,
484 exportText( rText,
false, bIsProgress, bExportParagraph, eExtensionNS );
488 const css::uno::Reference< css::text::XText > & rText,
489 const css::uno::Reference< css::text::XTextSection > & rBaseSection,
492 exportText( rText, rBaseSection,
false, bIsProgress,
true );
497 exportPageFrames( bIsProgress );
507 return xParaPropMapper;
522 void PreventExportOfControlsInMuteSections(
523 const css::uno::Reference< css::container::XIndexAccess> & rShapes,
528 void PushNewTextListsHelper();
530 void PopTextListsHelper();
543 const css::uno::Reference< css::text::XTextContent > & rTextContent,
544 bool bAutoStyles,
bool bIsProgress,
bool bExportContent,
545 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet)
548 bExportContent, pRangePropSet );
552 const css::uno::Reference< css::text::XTextContent > & rTextContent,
554 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet )
557 true, pRangePropSet );
561 const css::uno::Reference< css::text::XTextContent > & rTextContent,
563 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet )
566 true, pRangePropSet );
570 const css::uno::Reference< css::text::XTextContent > & rTextContent,
572 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet )
575 true, pRangePropSet );
rtl::Reference< SvXMLExportPropertyMapper > xFramePropMapper
std::unique_ptr< XMLSectionExport > pSectionExport
SvXMLAutoStylePoolP & GetAutoStylePool()
rtl::Reference< SvXMLExportPropertyMapper > xAutoFramePropMapper
SinglePropertySetInfoCache & GetCharStyleNamesPropInfoCache()
const SvXMLAutoStylePoolP & GetAutoStylePool() const
::std::vector< std::unique_ptr< XMLTextListsHelper > > maTextListsHelperStack
void collectTextAutoStyles(const css::uno::Reference< css::text::XText > &rText, bool bIsProgress=false, bool bExportParagraph=true)
rtl::Reference< SvXMLExportPropertyMapper > xParaPropMapper
const rtl::Reference< SvXMLExportPropertyMapper > & GetParaPropMapper() const
bool isAutoStylesCollected() const
OUString sOpenRubyCharStyle
std::unique_ptr< XMLRedlineExport > pRedlineExport
may be NULL (if no redlines should be exported; e.g. in block mode)
information about list and list style for a certain paragraph
void exportText(const css::uno::Reference< css::text::XText > &rText, const css::uno::Reference< css::text::XTextSection > &rBaseSection, bool bIsProgress)
exports com.sun.star. container
void exportTextFrame(const css::uno::Reference< css::text::XTextContent > &rTextContent, bool bAutoStyles, bool bProgress, bool bExportContent, const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet=nullptr)
const rtl::Reference< SvXMLExportPropertyMapper > & GetRubyPropMapper() const
This class handles the export of index marks for table of content, alphabetical and user index...
std::unique_ptr< std::vector< OUString > > pListElements
void exportFramesBoundToPage(bool bIsProgress)
void SetBlockMode(bool bSet)
XMLTextListsHelper * mpTextListsHelper
XMLTokenEnum
The enumeration of all XML tokens.
exports com.sun.star. text
The MultiPropertySetHelper performs the following functions:
XMLTextListAutoStylePool maListAutoPool
virtual void exportStyleAttributes(const css::uno::Reference< css::style::XStyle > &rStyle)
class SAL_NO_VTABLE XPropertySet
rtl::Reference< SvXMLExportPropertyMapper > xTextPropMapper
const rtl::Reference< SvXMLExportPropertyMapper > & GetTextPropMapper() const
const rtl::Reference< SvXMLExportPropertyMapper > & GetSectionPropMapper() const
void exportShape(const css::uno::Reference< css::text::XTextContent > &rTextContent, bool bAutoStyles, const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet=nullptr)
This class handles the export of sections and indices (which are, internally, just sections)...
const rtl::Reference< SvXMLExportPropertyMapper > & GetAutoFramePropMapper() const
void exportText(const css::uno::Reference< css::text::XText > &rText, bool bIsProgress=false, bool bExportParagraph=true, TextPNS eExtensionNS=TextPNS::ODF)
constexpr OUStringLiteral gsCharStyleName(u"CharStyleName")
const rtl::Reference< SvXMLExportPropertyMapper > & GetParagraphPropertyMapper() const
exports com.sun.star. beans
void exportTextGraphic(const css::uno::Reference< css::text::XTextContent > &rTextContent, bool bAutoStyles, const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet=nullptr)
const ::std::unique_ptr< ::xmloff::BoundFrameSets > pBoundFrameSets
constexpr OUStringLiteral gsNumberingType(u"NumberingType")
std::unique_ptr< XMLTextFieldExport > pFieldExport
rtl::Reference< SvXMLExportPropertyMapper > xSectionPropMapper
const XMLTextListAutoStylePool & GetListAutoStylePool() const
void exportTextEmbedded(const css::uno::Reference< css::text::XTextContent > &rTextContent, bool bAutoStyles, const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet=nullptr)
Smart struct to transport an Any with an index to the appropriate property-name.
SvXMLAutoStylePoolP & rAutoStylePool
std::unique_ptr< XMLIndexMarkExport > pIndexMarkExport
std::unique_ptr< Impl > m_xImpl
SinglePropertySetInfoCache aCharStyleNamesPropInfoCache
css::uno::Any const SvXMLExport & rExport
void exportAnyTextFrame(const css::uno::Reference< css::text::XTextContent > &rTextContent, FrameType eTxpe, bool bAutoStyles, bool bProgress, bool bExportContent, const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet)
This class handles the export of redline portions.
void collectTextAutoStyles(const css::uno::Reference< css::text::XText > &rText, const css::uno::Reference< css::text::XTextSection > &rBaseSection, bool bIsProgress)
rtl::Reference< SvXMLExportPropertyMapper > xRubyPropMapper