1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20 #ifndef INCLUDED_XMLOFF_TXTPARAE_HXX
21 #define INCLUDED_XMLOFF_TXTPARAE_HXX
22
23 #include <sal/config.h>
24 #include <rtl/ref.hxx>
25 #include <xmloff/dllapi.h>
26 #include <rtl/ustring.hxx>
27 #include <com/sun/star/uno/Reference.h>
28 #include <xmloff/styleexp.hxx>
29 #include <xmloff/xmltoken.hxx>
30 #include <xmloff/SinglePropertySetInfoCache.hxx>
31 #include <xmloff/XMLTextListAutoStylePool.hxx>
32 #include <o3tl/span.hxx>
33 #include <memory>
34 #include <vector>
35
36 class XMLTextListsHelper;
37 class SvXMLExport;
38 class SvXMLAutoStylePoolP;
39 class XMLTextFieldExport;
40 class XMLTextNumRuleInfo;
41 class XMLSectionExport;
42 class XMLIndexMarkExport;
43 class XMLRedlineExport;
44 struct XMLPropertyState;
45 class MultiPropertySetHelper;
46 enum class XMLShapeExportFlags;
47 class SvXMLExportPropertyMapper;
48
49 namespace com::sun::star
50 {
51 namespace beans { class XPropertySet; class XPropertyState;
52 class XPropertySetInfo; }
53 namespace container { class XEnumeration; class XIndexAccess; }
54 namespace text { class XTextContent; class XTextRange; class XText;
55 class XFootnote; class XTextFrame; class XTextSection;
56 class XTextField; }
57 }
58
59 namespace xmloff
60 {
61 class OFormLayerXMLExport;
62 class BoundFrameSets;
63
64 }
65
66 namespace basegfx
67 {
68 class B2DPoint;
69 }
70
71 enum class TextPNS
72 {
73 ODF,
74 EXTENSION
75 };
76
77 class XMLOFF_DLLPUBLIC XMLTextParagraphExport : public XMLStyleExport
78 {
79 struct Impl;
80 std::unique_ptr<Impl> m_xImpl;
81
82 // SvXMLExport& rExport;
83 SvXMLAutoStylePoolP& rAutoStylePool;
84 rtl::Reference < SvXMLExportPropertyMapper > xParaPropMapper;
85 rtl::Reference < SvXMLExportPropertyMapper > xTextPropMapper;
86 rtl::Reference < SvXMLExportPropertyMapper > xFramePropMapper;
87 rtl::Reference < SvXMLExportPropertyMapper > xAutoFramePropMapper;
88 rtl::Reference < SvXMLExportPropertyMapper > xSectionPropMapper;
89 rtl::Reference < SvXMLExportPropertyMapper > xRubyPropMapper;
90
91 const ::std::unique_ptr< ::xmloff::BoundFrameSets > pBoundFrameSets;
92 std::unique_ptr<XMLTextFieldExport> pFieldExport;
93 std::vector<OUString> maListElements;
94 XMLTextListAutoStylePool maListAutoPool;
95 std::unique_ptr<XMLSectionExport> pSectionExport;
96 std::unique_ptr<XMLIndexMarkExport> pIndexMarkExport;
97
98 /// may be NULL (if no redlines should be exported; e.g. in block mode)
99 std::unique_ptr<XMLRedlineExport> pRedlineExport;
100
101 bool bProgress;
102
103 bool bBlock;
104
105 // keep track of open rubies
106 OUString sOpenRubyText;
107 OUString sOpenRubyCharStyle;
108 bool bOpenRuby;
109
110 XMLTextListsHelper* mpTextListsHelper;
111 ::std::vector< std::unique_ptr<XMLTextListsHelper> > maTextListsHelperStack;
112
113 bool mbCollected;
114
115 enum class FrameType { Text, Graphic, Embedded, Shape };
116 public:
117
118 enum FieldmarkType { NONE, TEXT, CHECK }; // Used for simulating fieldmarks in OpenDocument 1.n Strict (for n <= 2). CHECK currently ignored.
119
120
121 void exportTextRangeSpan(
122 const css::uno::Reference< css::text::XTextRange > & rTextRange,
123 css::uno::Reference< css::beans::XPropertySet > const & xPropSet,
124 css::uno::Reference < css::beans::XPropertySetInfo > & xPropSetInfo,
125 const bool bIsUICharStyle,
126 const bool bHasAutoStyle,
127 const OUString& sStyle,
128 bool& rPrevCharIsSpace,
129 FieldmarkType& openFieldMark);
130
131 private:
132
133 // Implement Title/Description Elements UI (#i73249#)
134 static constexpr OUStringLiteral gsAnchorCharStyleName = u"AnchorCharStyleName";
135 static constexpr OUStringLiteral gsBeginNotice = u"BeginNotice";
136 static constexpr OUStringLiteral gsCategory = u"Category";
137 static constexpr OUStringLiteral gsCharStyleName = u"CharStyleName";
138 static constexpr OUStringLiteral gsCharStyleNames = u"CharStyleNames";
139 static constexpr OUStringLiteral gsEndNotice = u"EndNotice";
140 static constexpr OUStringLiteral gsFootnote = u"Footnote";
141 static constexpr OUStringLiteral gsFootnoteCounting = u"FootnoteCounting";
142 static constexpr OUStringLiteral gsNumberingType = u"NumberingType";
143 static constexpr OUStringLiteral gsPageDescName = u"PageDescName";
144 static constexpr OUStringLiteral gsPageStyleName = u"PageStyleName";
145 static constexpr OUStringLiteral gsParaStyleName = u"ParaStyleName";
146 static constexpr OUStringLiteral gsPositionEndOfDoc = u"PositionEndOfDoc";
147 static constexpr OUStringLiteral gsPrefix = u"Prefix";
148 static constexpr OUStringLiteral gsReferenceId = u"ReferenceId";
149 static constexpr OUStringLiteral gsStartAt = u"StartAt";
150 static constexpr OUStringLiteral gsSuffix = u"Suffix";
151 static constexpr OUStringLiteral gsTextEndnoteService = u"com.sun.star.text.Endnote";
152 static constexpr OUStringLiteral gsTextSection = u"TextSection";
153
154 protected:
155 static constexpr OUStringLiteral gsFrameStyleName = u"FrameStyleName";
156 SinglePropertySetInfoCache aCharStyleNamesPropInfoCache;
157
GetAutoStylePool()158 SvXMLAutoStylePoolP& GetAutoStylePool() { return rAutoStylePool; }
GetAutoStylePool() const159 const SvXMLAutoStylePoolP& GetAutoStylePool() const { return rAutoStylePool; }
160
161 public:
GetParaPropMapper() const162 const rtl::Reference < SvXMLExportPropertyMapper >& GetParaPropMapper() const
163 {
164 return xParaPropMapper;
165 }
166
GetTextPropMapper() const167 const rtl::Reference < SvXMLExportPropertyMapper >& GetTextPropMapper() const
168 {
169 return xTextPropMapper;
170 }
171
GetAutoFramePropMapper() const172 const rtl::Reference < SvXMLExportPropertyMapper >& GetAutoFramePropMapper() const
173 {
174 return xAutoFramePropMapper;
175 }
GetSectionPropMapper() const176 const rtl::Reference < SvXMLExportPropertyMapper >& GetSectionPropMapper() const
177 {
178 return xSectionPropMapper;
179 }
GetRubyPropMapper() const180 const rtl::Reference < SvXMLExportPropertyMapper >& GetRubyPropMapper() const
181 {
182 return xRubyPropMapper;
183 }
184
185 OUString FindTextStyleAndHyperlink(
186 const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
187 bool& rbHyperlink,
188 bool& rbHasCharStyle,
189 bool& rbHasAutoStyle,
190 const XMLPropertyState** pAddState = nullptr) const;
191 bool addHyperlinkAttributes(
192 const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
193 const css::uno::Reference< css::beans::XPropertyState > & rPropState,
194 const css::uno::Reference< css::beans::XPropertySetInfo > & rPropSetInfo );
195
196 void exportTextRangeEnumeration(
197 const css::uno::Reference< css::container::XEnumeration > & rRangeEnum,
198 bool bAutoStyles, bool bProgress, bool & rPrevCharIsSpace);
199
200 protected:
201
202 XMLShapeExportFlags addTextFrameAttributes(
203 const css::uno::Reference< css::beans::XPropertySet >& rPropSet,
204 bool bShape,
205 basegfx::B2DPoint* pCenter = nullptr,
206 OUString *pMinHeightValue = nullptr,
207 OUString *pMinWidthValue = nullptr );
208
209 virtual void exportStyleAttributes(
210 const css::uno::Reference< css::style::XStyle > & rStyle ) override;
211
212 void exportPageFrames( bool bProgress );
213 void exportFrameFrames( bool bAutoStyles, bool bProgress,
214 const css::uno::Reference< css::text::XTextFrame > *pParentTxtFrame );
215
216 void exportNumStyles( bool bUsed );
217
218 void exportText(
219 const css::uno::Reference <
220 css::text::XText > & rText,
221 bool bAutoStyles, bool bProgress, bool bExportParagraph, TextPNS eExtensionNS = TextPNS::ODF );
222
223 void exportText(
224 const css::uno::Reference< css::text::XText > & rText,
225 const css::uno::Reference< css::text::XTextSection > & rBaseSection,
226 bool bAutoStyles, bool bProgress, bool bExportParagraph );
227
228 void exportTextContentEnumeration(
229 const css::uno::Reference< css::container::XEnumeration > & rContentEnum,
230 bool bAutoStyles,
231 const css::uno::Reference< css::text::XTextSection > & rBaseSection,
232 bool bProgress,
233 bool bExportParagraph = true,
234 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet = nullptr,
235 TextPNS eExtensionNS = TextPNS::ODF);
236 void exportParagraph(
237 const css::uno::Reference< css::text::XTextContent > & rTextContent,
238 bool bAutoStyles, bool bProgress,
239 bool bExportParagraph,
240 MultiPropertySetHelper& rPropSetHelper,
241 TextPNS eExtensionNS);
242
243 virtual void exportTable(
244 const css::uno::Reference< css::text::XTextContent > & rTextContent,
245 bool bAutoStyles, bool bProgress );
246
247 void exportTextField(
248 const css::uno::Reference< css::text::XTextRange > & rTextRange,
249 bool bAutoStyles, bool bProgress, bool * pPrevCharIsSpace);
250
251 void exportTextField(
252 const css::uno::Reference< css::text::XTextField> & xTextField,
253 const bool bAutoStyles, const bool bProgress,
254 const bool bRecursive, bool * pPrevCharIsSpace);
255
256 void exportAnyTextFrame(
257 const css::uno::Reference< css::text::XTextContent > & rTextContent,
258 FrameType eTxpe,
259 bool bAutoStyles, bool bProgress, bool bExportContent,
260 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet );
261 void _exportTextFrame(
262 const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
263 const css::uno::Reference< css::beans::XPropertySetInfo > & rPropSetInfo,
264 bool bProgress );
265 inline void exportTextFrame(
266 const css::uno::Reference< css::text::XTextContent > & rTextContent,
267 bool bAutoStyles, bool bProgress, bool bExportContent,
268 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet = nullptr );
269 inline void exportShape(
270 const css::uno::Reference< css::text::XTextContent > & rTextContent,
271 bool bAutoStyles,
272 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet = nullptr );
273
274 void exportContour(
275 const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
276 const css::uno::Reference< css::beans::XPropertySetInfo > & rPropSetInfo );
277 void _exportTextGraphic(
278 const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
279 const css::uno::Reference< css::beans::XPropertySetInfo > & rPropSetInfo );
280 inline void exportTextGraphic(
281 const css::uno::Reference< css::text::XTextContent > & rTextContent,
282 bool bAutoStyles,
283 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet = nullptr );
284
285 virtual void _collectTextEmbeddedAutoStyles(
286 const css::uno::Reference< css::beans::XPropertySet > & rPropSet );
287 virtual void _exportTextEmbedded(
288 const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
289 const css::uno::Reference< css::beans::XPropertySetInfo > & rPropSetInfo );
290 inline void exportTextEmbedded(
291 const css::uno::Reference< css::text::XTextContent > & rTextContent,
292 bool bAutoStyles,
293 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet = nullptr );
294
295 /// export a footnote and styles
296 void exportTextFootnote(
297 const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
298 const OUString& sString,
299 bool bAutoStyles, bool bProgress );
300
301 /// helper for exportTextFootnote
302 void exportTextFootnoteHelper(
303 const css::uno::Reference< css::text::XFootnote > & rPropSet,
304 const css::uno::Reference< css::text::XText> & rText,
305 const OUString& sString,
306 bool bAutoStyles,
307 bool bIsEndnote, bool bProgress );
308
309 /// export footnote and endnote configuration elements
310 void exportTextFootnoteConfiguration();
311
312 void exportTextFootnoteConfigurationHelper(
313 const css::uno::Reference< css::beans::XPropertySet> & rFootnoteSupplier,
314 bool bIsEndnote);
315
316 void exportTextMark(
317 const css::uno::Reference< css::beans::XPropertySet> & xPropSet,
318 const OUString& rProperty,
319 const enum ::xmloff::token::XMLTokenEnum pElements[],
320 bool bAutoStyles);
321
322 void exportSoftPageBreak();
323
324 void exportTextRange(
325 const css::uno::Reference< css::text::XTextRange > & rTextRange,
326 bool bAutoStyles,
327 bool& rPrevCharWasSpace,
328 FieldmarkType& openFieldmarkType );
329
330 void exportListChange( const XMLTextNumRuleInfo& rPrvInfo,
331 const XMLTextNumRuleInfo& rNextInfo );
332
333 /// check if current section or current list has changed;
334 /// calls exportListChange as appropriate
335 void exportListAndSectionChange(
336 css::uno::Reference< css::text::XTextSection > & rOldSection,
337 const css::uno::Reference< css::text::XTextSection > & rNewSection,
338 const XMLTextNumRuleInfo& rOldList,
339 const XMLTextNumRuleInfo& rNewList,
340 bool bAutoStyles );
341
342 /// overload for exportListAndSectionChange;
343 /// takes new content rather than new section.
344 void exportListAndSectionChange(
345 css::uno::Reference< css::text::XTextSection > & rOldSection,
346 const css::uno::Reference< css::text::XTextContent > & rNewContent,
347 const XMLTextNumRuleInfo& rOldList,
348 const XMLTextNumRuleInfo& rNewList,
349 bool bAutoStyles );
350 void exportListAndSectionChange(
351 css::uno::Reference< css::text::XTextSection > & rOldSection,
352 MultiPropertySetHelper& rPropSetHelper,
353 sal_Int16 nTextSectionId,
354 const css::uno::Reference< css::text::XTextContent > & rNewContent,
355 const XMLTextNumRuleInfo& rOldList,
356 const XMLTextNumRuleInfo& rNewList,
357 bool bAutoStyles );
358
359 /// export a ruby
360 void exportRuby(
361 const css::uno::Reference< css::beans::XPropertySet> & rPortionPropSet,
362 bool bAutoStyles );
363
364 /// export a text:meta
365 void exportMeta(
366 const css::uno::Reference< css::beans::XPropertySet> & i_xPortion,
367 bool i_bAutoStyles, bool i_isProgress, bool & rPrevCharIsSpace);
368
isAutoStylesCollected() const369 bool isAutoStylesCollected() const { return mbCollected; }
370
371 virtual void exportTableAutoStyles();
372
373 public:
374
375 XMLTextParagraphExport(
376 SvXMLExport& rExp,
377 SvXMLAutoStylePoolP & rASP
378 );
379 virtual ~XMLTextParagraphExport() override;
380
381 /// add autostyle for specified family
382 void Add(
383 XmlStyleFamily nFamily,
384 MultiPropertySetHelper& rPropSetHelper,
385 const css::uno::Reference< css::beans::XPropertySet > & rPropSet );
386 void Add(
387 XmlStyleFamily nFamily,
388 const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
389 const o3tl::span<XMLPropertyState> aAddStates = {}, bool bDontSeek = false );
390
391 /// find style name for specified family and parent
392 OUString Find(
393 XmlStyleFamily nFamily,
394 const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
395 const OUString& rParent,
396 const o3tl::span<XMLPropertyState> aAddStates = {} ) const;
397
398 static SvXMLExportPropertyMapper *CreateShapeExtPropMapper(
399 SvXMLExport& rExport );
400 static SvXMLExportPropertyMapper *CreateCharExtPropMapper(
401 SvXMLExport& rExport);
402 static SvXMLExportPropertyMapper *CreateParaExtPropMapper(
403 SvXMLExport& rExport);
404 static SvXMLExportPropertyMapper *CreateParaDefaultExtPropMapper(
405 SvXMLExport& rExport);
406
407 // This methods exports all (or all used) styles
408 void exportTextStyles( bool bUsed, bool bProg );
409
410 /// This method exports (text field) declarations etc.
411 void exportTextDeclarations();
412
413 /// export the (text field) declarations for a particular XText
414 void exportTextDeclarations(
415 const css::uno::Reference< css::text::XText > & rText );
416
417 /// export all declarations
418 void exportUsedDeclarations();
419
420 /// Export the list of change information (enclosed by <tracked-changes>)
421 /// (or the necessary automatic styles)
422 void exportTrackedChanges(bool bAutoStyle);
423
424 /// Export the list of change information (enclosed by <tracked-changes>)
425 /// (or the necessary automatic styles)
426 void exportTrackedChanges(const css::uno::Reference< css::text::XText > & rText,
427 bool bAutoStyle );
428
429 /// Record tracked changes for this particular XText
430 /// (empty reference stop recording)
431 /// This should be used if tracked changes for e.g. footers are to
432 /// be exported separately via the exportTrackedChanges(bool,
433 /// Reference<XText>) method.
434 void recordTrackedChangesForXText(
435 const css::uno::Reference< css::text::XText > & rText );
436
437
438 /// Stop recording tracked changes.
439 /// This is the same as calling recordTrackedChanges(...) with an
440 /// empty reference.
441 void recordTrackedChangesNoXText();
442
443
444 // This method exports the given OUString
445 void exportCharacterData(
446 const OUString& rText,
447 bool& rPrevCharWasSpace);
448
449 // This method collects all automatic styles for the given XText
collectTextAutoStyles(const css::uno::Reference<css::text::XText> & rText,bool bIsProgress=false,bool bExportParagraph=true)450 void collectTextAutoStyles(
451 const css::uno::Reference< css::text::XText > & rText,
452 bool bIsProgress = false,
453 bool bExportParagraph = true )
454 {
455 exportText( rText, true, bIsProgress, bExportParagraph );
456 }
457
collectTextAutoStyles(const css::uno::Reference<css::text::XText> & rText,const css::uno::Reference<css::text::XTextSection> & rBaseSection,bool bIsProgress)458 void collectTextAutoStyles(
459 const css::uno::Reference< css::text::XText > & rText,
460 const css::uno::Reference< css::text::XTextSection > & rBaseSection,
461 bool bIsProgress )
462 {
463 exportText( rText, rBaseSection, true, bIsProgress, true/*bExportParagraph*/ );
464 }
465
466 // It the model implements the xAutoStylesSupplier interface, the automatic
467 // styles can exported without iterating over the text portions
468 void collectTextAutoStylesOptimized( bool bIsProgress );
469
470 // This method exports all automatic styles that have been collected.
471 void exportTextAutoStyles();
472
473 void exportEvents( const css::uno::Reference< css::beans::XPropertySet > & rPropSet );
474
475 // Implement Title/Description Elements UI (#i73249#)
476 void exportTitleAndDescription( const css::uno::Reference< css::beans::XPropertySet > & rPropSet,
477 const css::uno::Reference< css::beans::XPropertySetInfo > & rPropSetInfo );
478
479 // This method exports the given XText
exportText(const css::uno::Reference<css::text::XText> & rText,bool bIsProgress=false,bool bExportParagraph=true,TextPNS eExtensionNS=TextPNS::ODF)480 void exportText(
481 const css::uno::Reference< css::text::XText > & rText,
482 bool bIsProgress = false,
483 bool bExportParagraph = true, TextPNS eExtensionNS = TextPNS::ODF)
484 {
485 exportText( rText, false, bIsProgress, bExportParagraph, eExtensionNS );
486 }
487
exportText(const css::uno::Reference<css::text::XText> & rText,const css::uno::Reference<css::text::XTextSection> & rBaseSection,bool bIsProgress)488 void exportText(
489 const css::uno::Reference< css::text::XText > & rText,
490 const css::uno::Reference< css::text::XTextSection > & rBaseSection,
491 bool bIsProgress)
492 {
493 exportText( rText, rBaseSection, false, bIsProgress, true/*bExportParagraph*/ );
494 }
495
exportFramesBoundToPage(bool bIsProgress)496 void exportFramesBoundToPage( bool bIsProgress )
497 {
498 exportPageFrames( bIsProgress );
499 }
500 inline const XMLTextListAutoStylePool& GetListAutoStylePool() const;
501
SetBlockMode(bool bSet)502 void SetBlockMode( bool bSet ) { bBlock = bSet; }
IsBlockMode() const503 bool IsBlockMode() const { return bBlock; }
504
505
GetParagraphPropertyMapper() const506 const rtl::Reference < SvXMLExportPropertyMapper >& GetParagraphPropertyMapper() const
507 {
508 return xParaPropMapper;
509 }
510
511
512 /** exclude form controls which are in mute sections.
513 *
514 * This method is necessary to prevent the form layer export from exporting
515 * control models whose controls are not represented in the document. To
516 * achieve this, this method iterates over all shapes, checks to see if
517 * they are control shapes, and if so, whether they should be exported or
518 * not. If not, the form layer export will be notified accordingly.
519 *
520 * The reason this method is located here is that it needs to access the
521 * XMLSectionExport, which is only available here.
522 */
523 void PreventExportOfControlsInMuteSections(
524 const css::uno::Reference< css::container::XIndexAccess> & rShapes,
525 const rtl::Reference<xmloff::OFormLayerXMLExport>& xFormExport );
526
GetCharStyleNamesPropInfoCache()527 SinglePropertySetInfoCache& GetCharStyleNamesPropInfoCache() { return aCharStyleNamesPropInfoCache; }
528
529 void PushNewTextListsHelper();
530
531 void PopTextListsHelper();
532
533 private:
534 XMLTextParagraphExport(XMLTextParagraphExport const &) = delete;
535 };
536
537 inline const XMLTextListAutoStylePool&
GetListAutoStylePool() const538 XMLTextParagraphExport::GetListAutoStylePool() const
539 {
540 return maListAutoPool;
541 }
542
exportTextFrame(const css::uno::Reference<css::text::XTextContent> & rTextContent,bool bAutoStyles,bool bIsProgress,bool bExportContent,const css::uno::Reference<css::beans::XPropertySet> * pRangePropSet)543 inline void XMLTextParagraphExport::exportTextFrame(
544 const css::uno::Reference< css::text::XTextContent > & rTextContent,
545 bool bAutoStyles, bool bIsProgress, bool bExportContent,
546 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet)
547 {
548 exportAnyTextFrame( rTextContent, FrameType::Text, bAutoStyles, bIsProgress,
549 bExportContent, pRangePropSet );
550 }
551
exportTextGraphic(const css::uno::Reference<css::text::XTextContent> & rTextContent,bool bAutoStyles,const css::uno::Reference<css::beans::XPropertySet> * pRangePropSet)552 inline void XMLTextParagraphExport::exportTextGraphic(
553 const css::uno::Reference< css::text::XTextContent > & rTextContent,
554 bool bAutoStyles,
555 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet )
556 {
557 exportAnyTextFrame( rTextContent, FrameType::Graphic, bAutoStyles, false,
558 true, pRangePropSet );
559 }
560
exportTextEmbedded(const css::uno::Reference<css::text::XTextContent> & rTextContent,bool bAutoStyles,const css::uno::Reference<css::beans::XPropertySet> * pRangePropSet)561 inline void XMLTextParagraphExport::exportTextEmbedded(
562 const css::uno::Reference< css::text::XTextContent > & rTextContent,
563 bool bAutoStyles,
564 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet )
565 {
566 exportAnyTextFrame( rTextContent, FrameType::Embedded, bAutoStyles, false,
567 true, pRangePropSet );
568 }
569
exportShape(const css::uno::Reference<css::text::XTextContent> & rTextContent,bool bAutoStyles,const css::uno::Reference<css::beans::XPropertySet> * pRangePropSet)570 inline void XMLTextParagraphExport::exportShape(
571 const css::uno::Reference< css::text::XTextContent > & rTextContent,
572 bool bAutoStyles,
573 const css::uno::Reference< css::beans::XPropertySet > *pRangePropSet )
574 {
575 exportAnyTextFrame( rTextContent, FrameType::Shape, bAutoStyles, false,
576 true, pRangePropSet );
577 }
578
579 #endif
580
581 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
582