LibreOffice Module sw (master)  1
docxattributeoutput.hxx
Go to the documentation of this file.
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_SW_SOURCE_FILTER_WW8_DOCXATTRIBUTEOUTPUT_HXX
21 #define INCLUDED_SW_SOURCE_FILTER_WW8_DOCXATTRIBUTEOUTPUT_HXX
22 
23 #include <memory>
24 #include <string_view>
25 
26 #include "attributeoutputbase.hxx"
27 #include "fields.hxx"
28 #include <IMark.hxx>
29 #include "docxexport.hxx"
30 #include <wrtswtbl.hxx>
31 #include <redline.hxx>
32 
33 #include <editeng/boxitem.hxx>
34 #include <sax/fshelper.hxx>
35 #include <sax/fastattribs.hxx>
36 #include <vcl/vclenum.hxx>
37 #include <svx/xenum.hxx>
38 
39 #include <fldbas.hxx>
40 
41 #include <vector>
42 #include <optional>
43 #include <o3tl/sorted_vector.hxx>
44 #include <oox/export/vmlexport.hxx>
45 #include <oox/export/drawingml.hxx>
46 #include "docxtablestyleexport.hxx"
47 
48 #include <com/sun/star/table/BorderLine2.hpp>
49 #include <com/sun/star/drawing/FillStyle.hpp>
50 
51 class SwGrfNode;
52 class SdrObject;
53 enum class SvxBoxItemLine;
54 enum class SwLineBreakClear;
55 class SwContentControl;
56 
57 namespace docx { class FootnotesList; }
58 namespace oox::drawingml { class DrawingML; }
59 
60 struct FieldInfos
61 {
62  std::shared_ptr<const SwField> pField;
63  const ::sw::mark::IFieldmark* pFieldmark;
65  bool bOpen;
66  bool bSep;
67  bool bClose;
68  OUString sCmd;
70  : pFieldmark(nullptr), eType(ww::eUNKNOWN)
71  , bOpen(false), bSep(false), bClose(false)
72  {}
73 };
74 
76 {
81 };
82 
94 {
95  sal_Int32 tag = 0;
96  bool bUseStartEnd = false;
97  bool bWriteTag = true;
98  bool bWriteDistance = false;
99  SvxShadowLocation aShadowLocation = SvxShadowLocation::NONE;
100  std::shared_ptr<editeng::WordBorderDistances> pDistances;
101 };
102 
104 
109 {
112 
115 
117  sal_uInt32 m_nTableDepth;
118 
120  : m_bTableCellOpen(false),
121  m_bTableCellParaSdtOpen(false),
122  m_nTableDepth(0)
123  {
124  }
125 };
126 
128 {
129 public:
131  : m_bHasId(false)
133  , m_nSdtPrToken(0)
134  {}
135 
136  bool m_bHasId;
142  OUString m_aColor;
144  OUString m_aAlias;
145  sal_Int32 m_nSdtPrToken;
146 
147  void DeleteAndResetTheLists();
148 
149  void WriteSdtBlock(const ::sax_fastparser::FSHelperPtr& pSerializer, bool bRunTextIsOn, bool bParagraphHasDrawing);
150  void WriteExtraParams(const ::sax_fastparser::FSHelperPtr& pSerializer);
151 
153  void EndSdtBlock(const ::sax_fastparser::FSHelperPtr& pSerializer);
154 
155  void GetSdtParamsFromGrabBag(const uno::Sequence<beans::PropertyValue>& aGrabBagSdt);
156 };
157 
160 {
161 public:
163  virtual void RTLAndCJKState( bool bIsRTL, sal_uInt16 nScript ) override;
164 
166  virtual sal_Int32 StartParagraph(ww8::WW8TableNodeInfo::Pointer_t pTextNodeInfo,
167  bool bGenerateParaId) override;
168 
170  virtual void EndParagraph( ww8::WW8TableNodeInfoInner::Pointer_t pTextNodeInfoInner ) override;
171 
173  virtual void EmptyParagraph() override;
174 
176  virtual void SectionBreaks(const SwNode& rNode) override;
177 
179  virtual void StartParagraphProperties() override;
180 
182  virtual void EndParagraphProperties(const SfxItemSet& rParagraphMarkerProperties, const SwRedlineData* pRedlineData, const SwRedlineData* pRedlineParagraphMarkerDeleted, const SwRedlineData* pRedlineParagraphMarkerInserted) override;
183 
185  virtual void StartRun( const SwRedlineData* pRedlineData, sal_Int32 nPos, bool bSingleEmptyRun = false ) override;
186 
188  virtual void EndRun(const SwTextNode* pNode, sal_Int32 nPos, bool bLastRun = false) override;
189 
191  virtual void StartRunProperties() override;
192 
194  virtual void EndRunProperties( const SwRedlineData* pRedlineData ) override;
195 
196  virtual bool FootnoteEndnoteRefTag() override;
197 
198  virtual void SectFootnoteEndnotePr() override;
199 
200  virtual void WritePostitFieldReference() override;
201 
203  virtual void RunText( const OUString& rText, rtl_TextEncoding eCharSet = RTL_TEXTENCODING_UTF8 ) override;
204 
206  virtual void RawText(const OUString& rText, rtl_TextEncoding eCharSet) override;
207 
209  virtual void StartRuby( const SwTextNode& rNode, sal_Int32 nPos, const SwFormatRuby& rRuby ) override;
210 
212  virtual void EndRuby(const SwTextNode& rNode, sal_Int32 nPos) override;
213 
215  virtual bool StartURL( const OUString& rUrl, const OUString& rTarget ) override;
216 
218  virtual bool EndURL(bool) override;
219 
220  virtual void FieldVanish(const OUString& rText, ww::eField eType, OUString const*) override;
221 
225  virtual void Redline( const SwRedlineData* pRedline ) override;
226 
231  void StartRedline( const SwRedlineData * pRedlineData );
232 
236  void EndRedline( const SwRedlineData * pRedlineData );
237 
238  virtual void SetStateOfFlyFrame( FlyProcessingState nStateOfFlyFrame ) override;
239  virtual void SetAnchorIsLinkedToNode( bool bAnchorLinkedToNode ) override;
240  virtual bool IsFlyProcessingPostponed() override;
241  virtual void ResetFlyProcessingFlag() override;
242 
243  virtual void FormatDrop( const SwTextNode& rNode, const SwFormatDrop& rSwFormatDrop, sal_uInt16 nStyle, ww8::WW8TableNodeInfo::Pointer_t pTextNodeInfo, ww8::WW8TableNodeInfoInner::Pointer_t pTextNodeInfoInner ) override;
244 
246  virtual void ParagraphStyle( sal_uInt16 nStyle ) override;
247 
248  virtual void TableInfoCell( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) override;
249  virtual void TableInfoRow( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) override;
250  virtual void TableDefinition( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) override;
251  virtual void TableDefaultBorders( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) override;
252  void TableDefaultCellMargins( ww8::WW8TableNodeInfoInner::Pointer_t const & pTableTextNodeInfoInner );
253  virtual void TableBackgrounds( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) override;
254  virtual void TableRowRedline( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) override;
255  virtual void TableCellRedline( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) override;
256  virtual void TableHeight( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) override;
257  virtual void TableCanSplit( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) override;
258  virtual void TableBidi( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) override;
259  virtual void TableVerticalCell( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) override;
260  virtual void TableNodeInfoInner( ww8::WW8TableNodeInfoInner::Pointer_t pNodeInfoInner ) override;
261  virtual void TableOrientation( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) override;
262  virtual void TableSpacing( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) override;
263  virtual void TableRowEnd( sal_uInt32 nDepth ) override;
264 
266  virtual void StartStyles() override;
267 
269  virtual void EndStyles( sal_uInt16 nNumberOfStyles ) override;
270 
272  virtual void DefaultStyle() override;
273 
275  void DocDefaults( );
276 
278  void LatentStyles();
279 
285  void OutputDefaultItem(const SfxPoolItem& rHt);
286 
288  virtual void StartStyle( const OUString& rName, StyleType eType,
289  sal_uInt16 nBase, sal_uInt16 nNext, sal_uInt16 nLink, sal_uInt16 nWwId, sal_uInt16 nId,
290  bool bAutoUpdate ) override;
291 
293  virtual void EndStyle() override;
294 
296  virtual void StartStyleProperties( bool bParProp, sal_uInt16 nStyle ) override;
297 
299  virtual void EndStyleProperties( bool bParProp ) override;
300 
302  virtual void OutlineNumbering(sal_uInt8 nLvl) override;
303 
306  virtual void PageBreakBefore( bool bBreak ) override;
307 
311  virtual void SectionBreak( sal_uInt8 nC, bool bBreakAfter, const WW8_SepInfo* pSectionInfo = nullptr, bool bExtraPageBreak = false ) override;
312 
313  // preserve DOCX page vertical alignment
314  virtual void TextVerticalAdjustment( const css::drawing::TextVerticalAdjust ) override;
315 
317  virtual void StartSection() override;
318 
320  virtual void EndSection() override;
321 
323  virtual void SectionFormProtection( bool bProtected ) override;
324 
326  virtual void SectionLineNumbering( sal_uLong nRestartNo, const SwLineNumberInfo& rLnNumInfo ) override;
327 
329  virtual void SectionTitlePage() override;
330 
332  virtual void SectionPageBorders( const SwFrameFormat* pFormat, const SwFrameFormat* pFirstPageFormat ) override;
333 
335  virtual void SectionBiDi( bool bBiDi ) override;
336 
339  virtual void SectionPageNumbering( sal_uInt16 nNumType, const ::std::optional<sal_uInt16>& oPageRestartNumber ) override;
340 
342  virtual void SectionType( sal_uInt8 nBreakCode ) override;
343 
345  void StartFont( const OUString& rFamilyName ) const;
346 
348  void EndFont() const;
349 
351  void FontAlternateName( const OUString& rName ) const;
352 
354  void FontCharset( sal_uInt8 nCharSet, rtl_TextEncoding nEncoding ) const;
355 
357  void FontFamilyType( FontFamily eFamily ) const;
358 
360  void FontPitchType( FontPitch ePitch ) const;
361 
363  void EmbedFont( std::u16string_view name, FontFamily family, FontPitch pitch );
364 
366  virtual void NumberingDefinition( sal_uInt16 nId, const SwNumRule &rRule ) override;
367 
369  virtual void OverrideNumberingDefinition( SwNumRule const& rRule,
370  sal_uInt16 nNum, sal_uInt16 nAbstractNum,
371  const std::map< size_t, size_t > & rLevelOverrides ) override;
372 
374  virtual void StartAbstractNumbering( sal_uInt16 nId ) override;
375 
377  virtual void EndAbstractNumbering() override;
378 
380  virtual void NumberingLevel( sal_uInt8 nLevel,
381  sal_uInt16 nStart,
382  sal_uInt16 nNumberingType,
383  SvxAdjust eAdjust,
384  const sal_uInt8 *pNumLvlPos,
385  sal_uInt8 nFollow,
386  const wwFont *pFont,
387  const SfxItemSet *pOutSet,
388  sal_Int16 nIndentAt,
389  sal_Int16 nFirstLineIndex,
390  sal_Int16 nListTabPos,
391  const OUString &rNumberingString,
392  const SvxBrushItem* pBrush ) override;
393 
394  void WriteField_Impl(const SwField* pField, ww::eField eType,
395  const OUString& rFieldCmd, FieldFlags nMode,
396  OUString const* pBookmarkName = nullptr);
397  void WriteFormData_Impl( const ::sw::mark::IFieldmark& rFieldmark );
398 
399  void WriteBookmarks_Impl( std::vector< OUString >& rStarts, std::vector< OUString >& rEnds, const SwRedlineData* pRedlineData = nullptr );
400  void WriteFinalBookmarks_Impl( std::vector< OUString >& rStarts, std::vector< OUString >& rEnds );
401  void WriteAnnotationMarks_Impl( std::vector< OUString >& rStarts, std::vector< OUString >& rEnds );
403  void EndParaSdtBlock();
404 
405  void WriteFloatingTable(ww8::Frame const* pParentFrame);
406 
408  void StartContentControl(const SwFormatContentControl& rFormatContentControl) override;
409 
411  void EndContentControl() override;
412 
413 private:
421 
426 
434 
439 
446  void FlyFrameGraphic( const SwGrfNode* pGrfNode, const Size& rSize, const SwFlyFrameFormat* pOLEFrameFormat, SwOLENode* pOLENode, const SdrObject* pSdrObj = nullptr);
447  void WriteSrcRect(const css::uno::Reference<css::beans::XPropertySet>& xShapePropSet,
448  const SwFrameFormat* pFrameFormat);
449  void WriteOLE2Obj( const SdrObject* pSdrObj, SwOLENode& rNode, const Size& rSize, const SwFlyFrameFormat* pFlyFrameFormat, const sal_Int8 nFormulaAlignment);
450  bool WriteOLEChart( const SdrObject* pSdrObj, const Size& rSize, const SwFlyFrameFormat* pFlyFrameFormat);
451  bool WriteOLEMath( const SwOLENode& rNode, const sal_Int8 nAlign );
452  void PostponeOLE( SwOLENode& rNode, const Size& rSize, const SwFlyFrameFormat* pFlyFrameFormat );
453  void WriteOLE( SwOLENode& rNode, const Size& rSize, const SwFlyFrameFormat* rFlyFrameFormat );
454  void WriteOLEShape(const SwFlyFrameFormat& rFrameFormat, const Size& rSize,
455  const OString& rShapeId, const OUString& rImageId);
456  static OString GetOLEStyle(const SwFlyFrameFormat& rFormat, const Size& rSize);
457  void ExportOLESurround(const SwFormatSurround& rWrap);
458 
459  void WriteActiveXControl(const SdrObject* pObject, const SwFrameFormat& rFrameFormat, bool bInsideRun);
460  bool ExportAsActiveXControl(const SdrObject* pObject) const;
461 
462  void InitTableHelper( ww8::WW8TableNodeInfoInner::Pointer_t const & pTableTextNodeInfoInner );
463  void StartTable( ww8::WW8TableNodeInfoInner::Pointer_t const & pTableTextNodeInfoInner );
464  void StartTableRow( ww8::WW8TableNodeInfoInner::Pointer_t const & pTableTextNodeInfoInner );
465  void StartTableCell( ww8::WW8TableNodeInfoInner::Pointer_t const & pTableTextNodeInfoInner, sal_uInt32 nCell, sal_uInt32 nRow );
466  void TableCellProperties( ww8::WW8TableNodeInfoInner::Pointer_t const & pTableTextNodeInfoInner, sal_uInt32 nCell, sal_uInt32 nRow );
467  void EndTableCell( sal_uInt32 nCell );
468  void EndTableRow( );
469  void EndTable();
470  void SyncNodelessCells(ww8::WW8TableNodeInfoInner::Pointer_t const & pInner, sal_Int32 nCell, sal_uInt32 nRow);
471  void PopulateFrameProperties(const SwFrameFormat* pFrameFormat, const Size& rSize);
472  static bool TextBoxIsFramePr(const SwFrameFormat& rFrameFormat);
474  void FinishTableRowCell( ww8::WW8TableNodeInfoInner::Pointer_t const & pInner, bool bForceEmptyParagraph = false );
475 
476  void WriteFFData( const FieldInfos& rInfos );
478 
479  void EmbedFontStyle( std::u16string_view name, int tag, FontFamily family, FontItalic italic, FontWeight weight,
480  FontPitch pitch );
481 
489  static OString TransHighlightColor( sal_uInt8 nIco );
490 protected:
491 
493  virtual void OutputFlyFrame_Impl( const ww8::Frame& rFormat, const Point& rNdTopLeft ) override;
494 
496  virtual void CharCaseMap( const SvxCaseMapItem& rCaseMap ) override;
497 
499  virtual void CharColor( const SvxColorItem& rColor) override;
500 
502  virtual void CharContour( const SvxContourItem& rContour ) override;
503 
505  virtual void CharCrossedOut( const SvxCrossedOutItem& rCrossedOut ) override;
506 
508  virtual void CharEscapement( const SvxEscapementItem& rEscapement ) override;
509 
511  virtual void CharFont( const SvxFontItem& rFont ) override;
512 
514  virtual void CharFontSize( const SvxFontHeightItem& rFontSize ) override;
515 
517  virtual void CharKerning( const SvxKerningItem& rKerning ) override;
518 
520  virtual void CharLanguage( const SvxLanguageItem& rLanguage ) override;
521 
523  virtual void CharPosture( const SvxPostureItem& rPosture ) override;
524 
526  virtual void CharShadow( const SvxShadowedItem& rShadow ) override;
527 
529  virtual void CharUnderline( const SvxUnderlineItem& rUnderline ) override;
530 
532  virtual void CharWeight( const SvxWeightItem& rWeight ) override;
533 
535  virtual void CharAutoKern( const SvxAutoKernItem& ) override;
536 
538  virtual void CharAnimatedText( const SvxBlinkItem& rBlink ) override;
539 
541  virtual void CharBackground( const SvxBrushItem& rBrush ) override;
542 
544  virtual void CharFontCJK( const SvxFontItem& rFont ) override;
545 
547  virtual void CharFontSizeCJK( const SvxFontHeightItem& rFontSize ) override { CharFontSize( rFontSize ); }
548 
550  virtual void CharLanguageCJK( const SvxLanguageItem& rLanguageItem ) override { CharLanguage( rLanguageItem ); }
551 
553  virtual void CharPostureCJK( const SvxPostureItem& rPosture ) override;
554 
556  virtual void CharWeightCJK( const SvxWeightItem& rWeight ) override;
557 
559  virtual void CharFontCTL( const SvxFontItem& rFont ) override;
560 
562  virtual void CharFontSizeCTL( const SvxFontHeightItem& rFontSize ) override { CharFontSize( rFontSize ); }
563 
565  virtual void CharLanguageCTL( const SvxLanguageItem& rLanguageItem ) override { CharLanguage( rLanguageItem); }
566 
568  virtual void CharPostureCTL( const SvxPostureItem& rWeight ) override;
569 
571  virtual void CharWeightCTL( const SvxWeightItem& rWeight ) override;
572 
574  virtual void CharBidiRTL( const SfxPoolItem& ) override;
575 
577  virtual void CharIdctHint( const SfxPoolItem& ) override;
578 
580  virtual void CharRotate( const SvxCharRotateItem& rRotate ) override;
581 
583  virtual void CharEmphasisMark( const SvxEmphasisMarkItem& rEmphasisMark ) override;
584 
586  virtual void CharTwoLines( const SvxTwoLinesItem& rTwoLines ) override;
587 
589  virtual void CharScaleWidth( const SvxCharScaleWidthItem& rScaleWidth ) override;
590 
592  virtual void CharRelief( const SvxCharReliefItem& rRelief) override;
593 
595  virtual void CharHidden( const SvxCharHiddenItem& rHidden ) override;
596 
598  virtual void CharBorder( const ::editeng::SvxBorderLine* pAllBorder, const sal_uInt16 nDist, const bool bShadow ) override;
599 
601  virtual void CharHighlight( const SvxBrushItem& rHighlight ) override;
602 
604  virtual void TextINetFormat( const SwFormatINetFormat& ) override;
605 
607  virtual void TextCharFormat( const SwFormatCharFormat& ) override;
608 
610  virtual void TextFootnote_Impl( const SwFormatFootnote& ) override;
611 
614 
616  virtual void ParaLineSpacing_Impl( short nSpace, short nMulti ) override;
617 
619  virtual void ParaAdjust( const SvxAdjustItem& rAdjust ) override;
620 
622  virtual void ParaSplit( const SvxFormatSplitItem& rSplit ) override;
623 
625  virtual void ParaWidows( const SvxWidowsItem& rWidows ) override;
626 
628  virtual void ParaTabStop( const SvxTabStopItem& rTabStop ) override;
629 
631  virtual void ParaHyphenZone( const SvxHyphenZoneItem& ) override;
632 
634  virtual void ParaNumRule_Impl( const SwTextNode *pTextNd, sal_Int32 nLvl, sal_Int32 nNumId ) override;
635 
637  virtual void ParaScriptSpace( const SfxBoolItem& ) override;
638 
640  virtual void ParaHangingPunctuation( const SfxBoolItem& ) override;
641 
643  virtual void ParaForbiddenRules( const SfxBoolItem& ) override;
644 
646  virtual void ParaVerticalAlign( const SvxParaVertAlignItem& rAlign ) override;
647 
649  virtual void ParaSnapToGrid( const SvxParaGridItem& ) override;
650 
652  virtual void FormatFrameSize( const SwFormatFrameSize& ) override;
653 
655  virtual void FormatPaperBin( const SvxPaperBinItem& ) override;
656 
658  virtual void FormatLRSpace( const SvxLRSpaceItem& rLRSpace ) override;
659 
661  virtual void FormatULSpace( const SvxULSpaceItem& rULSpace ) override;
662 
664  virtual void FormatSurround( const SwFormatSurround& ) override;
665 
667  virtual void FormatVertOrientation( const SwFormatVertOrient& ) override;
668 
670  virtual void FormatHorizOrientation( const SwFormatHoriOrient& ) override;
671 
673  virtual void FormatAnchor( const SwFormatAnchor& ) override;
674 
676  virtual void FormatBackground( const SvxBrushItem& ) override;
677 
679  virtual void FormatFillStyle( const XFillStyleItem& ) override;
680 
682  virtual void FormatFillGradient( const XFillGradientItem& ) override;
683 
685  virtual void FormatBox( const SvxBoxItem& ) override;
686 
688  virtual void FormatColumns_Impl( sal_uInt16 nCols, const SwFormatCol & rCol, bool bEven, SwTwips nPageSize ) override;
689 
691  virtual void FormatKeep( const SvxFormatKeepItem& ) override;
692 
694  virtual void FormatTextGrid( const SwTextGridItem& ) override;
695 
697  virtual void FormatLineNumbering( const SwFormatLineNumber& ) override;
698 
700  virtual void FormatFrameDirection( const SvxFrameDirectionItem& ) override;
701 
703  virtual void ParaGrabBag( const SfxGrabBagItem& ) override;
704 
706  virtual void CharGrabBag( const SfxGrabBagItem& ) override;
707 
708  // Sfx item RES_PARATR_OUTLINELEVEL
709  virtual void ParaOutlineLevel( const SfxUInt16Item& ) override;
710 
712  virtual void WriteExpand( const SwField* pField ) override;
713 
714  virtual void RefField( const SwField& rField, const OUString& rRef ) override;
715  virtual void HiddenField( const SwField& rField ) override;
716  virtual void SetField( const SwField& rField, ww::eField eType, const OUString& rCmd ) override;
717  virtual void PostitField( const SwField* pField ) override;
718  virtual bool DropdownField( const SwField* pField ) override;
719  virtual bool PlaceholderField( const SwField* pField ) override;
720 
721  virtual bool AnalyzeURL( const OUString& rURL, const OUString& rTarget, OUString* pLinkURL, OUString* pMark ) override;
722 
723  virtual void WriteBookmarkInActParagraph( const OUString& rName, sal_Int32 nFirstRunPos, sal_Int32 nLastRunPos ) override;
724 
725  void SectionRtlGutter( const SfxBoolItem& rRtlGutter) override;
726 
727  void TextLineBreak(const SwFormatLineBreak& rLineBreak) override;
728 
730  void WriteLineBreak();
731 
734 
737 
740 
741 private:
742 
743  void DoWriteBookmarkTagStart(std::u16string_view bookmarkName);
744  void DoWriteBookmarkTagEnd(sal_Int32 nId);
745  void DoWriteMoveRangeTagStart(const OString & bookmarkName,
746  bool bFrom, const SwRedlineData* pRedlineData);
747  void DoWriteMoveRangeTagEnd(sal_Int32 nId, bool bFrom);
748  void DoWriteBookmarksStart(std::vector<OUString>& rStarts, const SwRedlineData* pRedlineData = nullptr);
749  void DoWriteBookmarksEnd(std::vector<OUString>& rEnds);
750  void DoWriteBookmarkStartIfExist(sal_Int32 nRunPos);
751  void DoWriteBookmarkEndIfExist(sal_Int32 nRunPos);
752 
753  void DoWritePermissionTagStart(std::u16string_view permission);
754  void DoWritePermissionTagEnd(std::u16string_view permission);
756  void DoWritePermissionsEnd();
757 
758  void DoWriteAnnotationMarks( );
759  void WritePostponedGraphic();
760  void WritePostponedMath(const SwOLENode* pObject, sal_Int8 /*nAlign*/);
761  void WritePostponedFormControl(const SdrObject* pObject);
762  void WritePostponedActiveXControl(bool bInsideRun);
763  void WritePostponedDiagram();
764  void WritePostponedChart();
765  void WritePostponedOLE();
768  void WriteFlyFrame(const ww8::Frame& rFrame);
769 
770  void WriteFormDateStart(const OUString& sFullDate, const OUString& sDateFormat, const OUString& sLang, const uno::Sequence<beans::PropertyValue>& aGrabBagSdt);
771  void WriteSdtPlainText(const OUString& sValue, const uno::Sequence<beans::PropertyValue>& aGrabBagSdt);
772  void WriteSdtDropDownStart(std::u16string_view rName, OUString const& rSelected, uno::Sequence<OUString> const& rListItems);
773  void WriteSdtDropDownEnd(OUString const& rSelected, uno::Sequence<OUString> const& rListItems);
775  void WriteContentControlEnd();
776 
777  void StartField_Impl( const SwTextNode* pNode, sal_Int32 nPos, FieldInfos const & rInfos, bool bWriteRun = false );
778  void DoWriteCmd( std::u16string_view rCmd );
779  void CmdField_Impl( const SwTextNode* pNode, sal_Int32 nPos, FieldInfos const & rInfos, bool bWriteRun );
780  void CmdEndField_Impl( const SwTextNode* pNode, sal_Int32 nPos, bool bWriteRun );
781  void EndField_Impl( const SwTextNode* pNode, sal_Int32 nPos, FieldInfos& rInfos );
782  void DoWriteFieldRunProperties( const SwTextNode* pNode, sal_Int32 nPos, bool bWriteCombChars = false );
783 
790  std::shared_ptr<SwContentControl> m_pContentControl;
801  std::unique_ptr<docx::FootnotesList> m_pFootnotesList;
802  std::unique_ptr<docx::FootnotesList> m_pEndnotesList;
805  std::unique_ptr< const WW8_SepInfo > m_pSectionInfo;
806 
809 
811  sal_Int32 m_nRedlineId;
812 
817 
820 
824 
827 
830  std::vector< FieldInfos > m_Fields;
831  OUString m_sFieldBkm;
832  sal_Int32 m_nNextBookmarkId;
834 
836  sal_Int32 m_nNextParaId = 1; // MUST be greater than 0
837 
838  OUString m_sRawText;
839 
843  sal_uInt32 m_nEmbedFlyLevel;
844 
846  std::vector<ww8::Frame> m_vPostponedFlys;
847 
849  std::vector<OUString> m_rBookmarksStart;
850  std::vector<OUString> m_rBookmarksEnd;
852 
854  std::vector<OUString> m_rFinalBookmarksStart;
855  std::vector<OUString> m_rFinalBookmarksEnd;
856 
858  std::multimap<sal_Int32, OUString> m_aBookmarksOfParagraphStart;
859  std::multimap<sal_Int32, OUString> m_aBookmarksOfParagraphEnd;
860 
862  std::vector<OUString> m_rPermissionsStart;
863  std::vector<OUString> m_rPermissionsEnd;
864 
866  std::vector<OString> m_rAnnotationMarksStart;
867  std::vector<OString> m_rAnnotationMarksEnd;
868 
870  std::map<OUString, sal_Int32> m_rOpenedBookmarksIds;
871 
874 
876  std::map<OString, sal_Int32> m_rOpenedAnnotationMarksIds;
877 
880 
883  std::map<OUString, std::vector<OString> > m_aSeqBookmarksNames;
884 
886  std::vector<css::beans::PropertyValue> m_aTextEffectsGrabBag;
887 
889  std::unique_ptr<SwWriteTable> m_xTableWrt;
890 
892 
898 
899  // Remember that a column break has to be opened at the
900  // beginning of the next paragraph
902 
903  // Remember that a page break has to be opened at the
904  // beginning of the next paragraph
906 
907  // This paragraph must end with page break
908  bool m_bPageBreakAfter = false;
909 
910  std::stack< std::vector<ww8::Frame> > m_aFramesOfParagraph;
912  sal_Int32 m_nTextFrameLevel;
913 
916 
917  // close of hyperlink needed
921  // Count nested HyperLinks
922  sal_Int32 m_nHyperLinkCount;
924 
925  // If the exported numbering rule defines the outlines
927 
929  {
930  PostponedGraphic( const SwGrfNode* n, Size s, const SdrObject* sObj )
931  : grfNode( n ), size( s ), pSdrObj(sObj) {};
932 
933  const SwGrfNode* grfNode;
936  };
937  std::unique_ptr< std::vector<PostponedGraphic> > m_pPostponedGraphic;
939  {
940  PostponedDiagram( const SdrObject* o, const SwFrameFormat* frm ) : object( o ), frame( frm ) {};
941  const SdrObject* object;
943  };
944  std::unique_ptr< std::vector<PostponedDiagram> > m_pPostponedDiagrams;
945 
947  {
948  PostponedDrawing( const SdrObject* sdrObj, const SwFrameFormat* frm) : object( sdrObj ), frame( frm ) {};
949  const SdrObject* object;
951  };
952  std::unique_ptr< std::vector<PostponedDrawing> > m_pPostponedDMLDrawings;
953  std::unique_ptr< std::vector<PostponedDrawing> > m_pPostponedCustomShape;
954 
956  {
957  PostponedOLE( SwOLENode* rObject, const Size& rSize, const SwFlyFrameFormat* rFrame ) : object( rObject ), size( rSize ), frame( rFrame ) {};
958  SwOLENode* object;
959  const Size size;
961  };
962  std::unique_ptr< std::vector<PostponedOLE> > m_pPostponedOLEs;
963 
965  {
968  };
969  std::vector<PostponedMathObjects> m_aPostponedMaths;
971  unsigned int m_nChartCount;
973  {
974  PostponedChart( const SdrObject* sdrObject, const Size& rSize, const SwFlyFrameFormat* rFrame ) : object(sdrObject), size(rSize), frame(rFrame) {};
975  const SdrObject* object;
976  const Size size;
978  };
979  std::vector<PostponedChart> m_aPostponedCharts;
980  std::vector<const SdrObject*> m_aPostponedFormControls;
981  std::vector<PostponedDrawing> m_aPostponedActiveXControls;
983 
985  sal_Int32 id;
986  sal_Int32 lastParaId = 0; // [MS-DOCX] 2.5.3.1 CT_CommentEx needs paraId attribute
987  };
989  std::vector<std::pair<const SwPostItField*, PostItDOCXData>> m_postitFields;
991  unsigned int m_postitFieldsMaxId;
995  {
996  OString relId;
997  OString fontKey;
998  };
999 
1000  std::unique_ptr<TableReference> m_tableReference;
1001 
1002  std::map< OUString, EmbeddedFontRef > m_FontFilesMap; // font file url to data
1003 
1004  // Remember first cell (used for default borders/margins) of each table
1005  std::vector<ww8::WW8TableNodeInfoInner::Pointer_t> m_TableFirstCells;
1006  // Remember last open and closed cells on each level
1007  std::vector<sal_Int32> m_LastOpenCell;
1008  std::vector<sal_Int32> m_LastClosedCell;
1009 
1010  std::optional<css::drawing::FillStyle> m_oFillStyle;
1013 
1015 
1016  std::shared_ptr<DocxTableStyleExport> m_pTableStyleExport;
1017  // flag to check if auto spacing was set in original file
1019  // store hardcoded value which was set during import.
1021 
1024 
1027 
1030 
1031  std::vector<std::map<SvxBoxItemLine, css::table::BorderLine2>> m_aTableStyleConfs;
1032 
1033  std::optional<SwLineBreakClear> m_oLineBreakClear;
1034 
1035 public:
1036  DocxAttributeOutput( DocxExport &rExport, const ::sax_fastparser::FSHelperPtr& pSerializer, oox::drawingml::DrawingML* pDrawingML );
1037 
1038  virtual ~DocxAttributeOutput() override;
1039 
1041  virtual DocxExport& GetExport() override;
1042  const DocxExport& GetExport() const { return const_cast< DocxAttributeOutput* >( this )->GetExport(); }
1043 
1045  void SetSerializer( ::sax_fastparser::FSHelperPtr const & pSerializer );
1046 
1048  const ::sax_fastparser::FSHelperPtr& GetSerializer( ) const { return m_pSerializer; }
1049 
1051  bool HasFootnotes() const;
1052 
1054  bool HasEndnotes() const;
1055 
1057  void FootnotesEndnotes( bool bFootnotes );
1058 
1060  static void WriteFootnoteEndnotePr( ::sax_fastparser::FSHelperPtr const & fs, int tag, const SwEndNoteInfo& info, int listtag );
1061 
1062  bool HasPostitFields() const;
1063  enum class hasResolved { no, yes };
1066 
1068  virtual void WriteOutliner(const OutlinerParaObject& rParaObj) override;
1069  virtual void WriteVMLTextBox(css::uno::Reference<css::drawing::XShape> xShape) override;
1071  virtual void WriteTextBox(css::uno::Reference<css::drawing::XShape> xShape) override;
1072  virtual css::uno::Reference<css::text::XTextFrame> GetUnoTextFrame(
1073  css::uno::Reference<css::drawing::XShape> xShape) override;
1074  virtual oox::drawingml::DrawingML& GetDrawingML() override;
1075  virtual bool MaybeOutputBrushItem(SfxItemSet const&) override;
1076 
1077  void BulletDefinition(int nId, const Graphic& rGraphic, Size aSize) override;
1078 
1079  void SetWritingHeaderFooter( bool bWritingHeaderFooter ) { m_bWritingHeaderFooter = bWritingHeaderFooter; }
1081  void SetAlternateContentChoiceOpen( bool bAltContentChoiceOpen ) { m_bAlternateContentChoiceOpen = bAltContentChoiceOpen; }
1083  void GetSdtEndBefore(const SdrObject* pSdrObj);
1084  bool IsFirstParagraph() const { return m_bIsFirstParagraph; }
1085 
1089  void popFromTableExportContext(DocxTableExportContext const & rContext);
1090 };
1091 
1097 {
1102  sal_uInt32 m_nTableDepth;
1103  DocxTableExportContext(DocxAttributeOutput& rOutput) : m_rOutput(rOutput) { m_rOutput.pushToTableExportContext(*this); }
1105 };
1106 
1107 namespace docx {
1108 
1110 
1111 }
1112 
1113 #endif // INCLUDED_SW_SOURCE_FILTER_WW8_DOCXATTRIBUTEOUTPUT_HXX
1114 
1115 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
std::unique_ptr< docx::FootnotesList > m_pEndnotesList
virtual void TableRowRedline(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) override
std::stack< std::vector< ww8::Frame > > m_aFramesOfParagraph
virtual void StartAbstractNumbering(sal_uInt16 nId) override
Start of the abstract numbering definition instance.
void WritePostponedActiveXControl(bool bInsideRun)
virtual void TableCanSplit(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) override
virtual void WriteVMLTextBox(css::uno::Reference< css::drawing::XShape > xShape) override
DocxAttributeOutput & m_rOutput
bool HasFootnotes() const
Do we have any footnotes?
std::multimap< sal_Int32, OUString > m_aBookmarksOfParagraphEnd
void WriteExtraParams(const ::sax_fastparser::FSHelperPtr &pSerializer)
virtual bool PlaceholderField(const SwField *pField) override
virtual void NumberingDefinition(sal_uInt16 nId, const SwNumRule &rRule) override
Definition of a numbering instance.
virtual void TextCharFormat(const SwFormatCharFormat &) override
Sfx item RES_TXTATR_CHARFMT.
virtual oox::drawingml::DrawingML & GetDrawingML() override
std::map< OUString, sal_Int32 > m_rOpenedBookmarksIds
Maps of the bookmarks ids.
void DoWriteMoveRangeTagEnd(sal_Int32 nId, bool bFrom)
The class that has handlers for various resource types when exporting as DOCX.
OUString m_aStartedParagraphSdtPrAlias
Same as m_aParagraphSdtPrAlias, but its content is available till the SDT is closed.
virtual void FormatPaperBin(const SvxPaperBinItem &) override
Sfx item RES_PAPER_BIN.
virtual bool DropdownField(const SwField *pField) override
virtual void StartRun(const SwRedlineData *pRedlineData, sal_Int32 nPos, bool bSingleEmptyRun=false) override
Start of the text run.
virtual void SectionBiDi(bool bBiDi) override
Columns populated from right/numbers on the right side?
virtual void SetStateOfFlyFrame(FlyProcessingState nStateOfFlyFrame) override
Set the state of the Fly at current position.
DocxColBreakStatus m_nColBreakStatus
virtual void CharLanguageCJK(const SvxLanguageItem &rLanguageItem) override
Sfx item RES_CHRATR_CJK_LANGUAGE.
void SectionRtlGutter(const SfxBoolItem &rRtlGutter) override
RES_RTL_GUTTER.
std::vector< ww8::Frame > m_vPostponedFlys
Stores the flys what are anchored inside a fly.
std::vector< FieldInfos > m_Fields
virtual ~DocxAttributeOutput() override
virtual void CharPostureCJK(const SvxPostureItem &rPosture) override
Sfx item RES_CHRATR_CJK_POSTURE.
virtual void CharEmphasisMark(const SvxEmphasisMarkItem &rEmphasisMark) override
Sfx item RES_CHRATR_EMPHASIS_MARK.
virtual void CharUnderline(const SvxUnderlineItem &rUnderline) override
Sfx item RES_CHRATR_UNDERLINE.
virtual void TableBackgrounds(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) override
DocxColBreakStatus
void OutputDefaultItem(const SfxPoolItem &rHt)
Similar to OutputItem(), but write something only if it is not the default.
virtual void ParaHyphenZone(const SvxHyphenZoneItem &) override
Sfx item RES_PARATR_HYPHENZONE.
signed char sal_Int8
virtual void CharFontCJK(const SvxFontItem &rFont) override
Sfx item RES_CHRATR_CJK_FONT.
void WriteSdtDropDownStart(std::u16string_view rName, OUString const &rSelected, uno::Sequence< OUString > const &rListItems)
void StartTableRow(ww8::WW8TableNodeInfoInner::Pointer_t const &pTableTextNodeInfoInner)
virtual void CharKerning(const SvxKerningItem &rKerning) override
Sfx item RES_CHRATR_KERNING.
virtual void SectionType(sal_uInt8 nBreakCode) override
The type of breaking.
virtual void CharHidden(const SvxCharHiddenItem &rHidden) override
Sfx item RES_CHRATR_HIDDEN.
sal_uInt32 m_nTableDepth
Remember the current table depth.
void StartTableCell(ww8::WW8TableNodeInfoInner::Pointer_t const &pTableTextNodeInfoInner, sal_uInt32 nCell, sal_uInt32 nRow)
sal_uIntPtr sal_uLong
DocxExport & m_rExport
Reference to the export, where to get the data from.
bool m_bTableCellOpen
Remember if we are in an open cell, or not.
std::vector< sal_Int32 > m_LastOpenCell
virtual void ParaSplit(const SvxFormatSplitItem &rSplit) override
Sfx item RES_PARATR_SPLIT.
void EndFont() const
End the font.
SwLineBreakClear
Defines the location of a line break text wrapping restart.
Base class of all fields.
Definition: fldbas.hxx:291
FilterGroup & rTarget
std::vector< ww8::WW8TableNodeInfoInner::Pointer_t > m_TableFirstCells
virtual void FormatLineNumbering(const SwFormatLineNumber &) override
Sfx item RES_LINENUMBER.
virtual void RunText(const OUString &rText, rtl_TextEncoding eCharSet=RTL_TEXTENCODING_UTF8) override
Output text (inside a run).
virtual void CharWeightCTL(const SvxWeightItem &rWeight) override
Sfx item RES_CHRATR_CTL_WEIGHT.
unsigned int m_postitFieldsMaxId
Number of postit fields which already have a commentReference written.
bool m_bTableCellParaSdtOpen
If paragraph sdt got opened in this table cell.
Stores the properties of a content control.
sal_Int16 nId
void WriteFloatingTable(ww8::Frame const *pParentFrame)
All the information that should be stashed away when we're in the middle of of a table export and sti...
DocxTableExportContext(DocxAttributeOutput &rOutput)
virtual void CharFontSizeCJK(const SvxFontHeightItem &rFontSize) override
Sfx item RES_CHRATR_CJK_FONTSIZE.
void EndSdtBlock(const ::sax_fastparser::FSHelperPtr &pSerializer)
Closes a currently open SDT block.
virtual void SetAnchorIsLinkedToNode(bool bAnchorLinkedToNode) override
If the node has an anchor linked.
SfxPoolItem subclass that wraps an SwContentControl.
virtual void FormatColumns_Impl(sal_uInt16 nCols, const SwFormatCol &rCol, bool bEven, SwTwips nPageSize) override
Sfx item RES_COL.
void pushToTableExportContext(DocxTableExportContext &rContext)
Stores the table export state to the passed context and resets own state.
std::vector< std::pair< const SwPostItField *, PostItDOCXData > > m_postitFields
Maps postit fields to ID's, used in commentRangeStart/End, commentReference and comment.xml.
void EndField_Impl(const SwTextNode *pNode, sal_Int32 nPos, FieldInfos &rInfos)
virtual void TableDefaultBorders(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) override
virtual void TableInfoCell(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) override
virtual void ParaAdjust(const SvxAdjustItem &rAdjust) override
Sfx item RES_PARATR_ADJUST.
virtual void TableVerticalCell(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) override
bool m_bWritingHeaderFooter
Flag indicating that the header \ footer are being written.
virtual void CharPostureCTL(const SvxPostureItem &rWeight) override
Sfx item RES_CHRATR_CTL_POSTURE.
std::vector< PostponedDrawing > m_aPostponedActiveXControls
virtual void PageBreakBefore(bool bBreak) override
Page break As a paragraph property - the paragraph should be on the next page.
virtual void FormatKeep(const SvxFormatKeepItem &) override
Sfx item RES_KEEP.
std::vector< sal_Int32 > m_LastClosedCell
void popFromTableExportContext(DocxTableExportContext const &rContext)
Restores from the remembered state.
bool ExportAsActiveXControl(const SdrObject *pObject) const
void SyncNodelessCells(ww8::WW8TableNodeInfoInner::Pointer_t const &pInner, sal_Int32 nCell, sal_uInt32 nRow)
const ::sax_fastparser::FSHelperPtr & GetSerializer() const
Occasionally need to use this serializer from the outside.
The class that does all the actual DOCX export-related work.
Definition: docxexport.hxx:74
EmbeddedObjectRef * pObject
bool m_bOpenedSectPr
Flag indicating that the section properties are being written.
virtual void EndRun(const SwTextNode *pNode, sal_Int32 nPos, bool bLastRun=false) override
End of the text run.
void DoWriteMoveRangeTagStart(const OString &bookmarkName, bool bFrom, const SwRedlineData *pRedlineData)
void DoWritePermissionsStart()
Write the start permissions.
virtual void CharFontCTL(const SvxFontItem &rFont) override
Sfx item RES_CHRATR_CTL_FONT.
virtual void SectionBreaks(const SwNode &rNode) override
Called in order to output section breaks.
virtual void ResetFlyProcessingFlag() override
Reset the flag for FlyProcessing.
void WriteFlyFrame(const ww8::Frame &rFrame)
virtual void CharBidiRTL(const SfxPoolItem &) override
Sfx item RES_CHRATR_BidiRTL.
virtual void FormatTextGrid(const SwTextGridItem &) override
Sfx item RES_TEXTGRID.
virtual void WriteOutliner(const OutlinerParaObject &rParaObj) override
VMLTextExport.
std::unique_ptr< std::vector< PostponedOLE > > m_pPostponedOLEs
rtl::Reference< sax_fastparser::FastAttributeList > m_pBackgroundAttrList
Attributes of the paragraph background.
virtual void SectionPageBorders(const SwFrameFormat *pFormat, const SwFrameFormat *pFirstPageFormat) override
Description of the page borders.
sal_Int32 m_nCloseContentControlInThisRun
FlyProcessingState m_nStateOfFlyFrame
State of the Fly at current position.
std::optional< css::drawing::FillStyle > m_oFillStyle
bool WriteOLEMath(const SwOLENode &rNode, const sal_Int8 nAlign)
static void WriteFootnoteEndnotePr(::sax_fastparser::FSHelperPtr const &fs, int tag, const SwEndNoteInfo &info, int listtag)
writes the footnotePr/endnotePr (depending on tag) section
virtual void ParaOutlineLevel(const SfxUInt16Item &) override
virtual void ParaWidows(const SvxWidowsItem &rWidows) override
Sfx item RES_PARATR_WIDOWS.
PostponedChart(const SdrObject *sdrObject, const Size &rSize, const SwFlyFrameFormat *rFrame)
FieldFlags
Definition: wrtww8.hxx:142
std::unique_ptr< std::vector< PostponedDrawing > > m_pPostponedCustomShape
virtual void ParaForbiddenRules(const SfxBoolItem &) override
Sfx item RES_PARATR_FORBIDDEN_RULES.
std::vector< OUString > m_rFinalBookmarksEnd
void DoWritePermissionTagStart(std::u16string_view permission)
bool m_bHadSectPr
Did we have a section break in this paragraph? Set by StartSection(), reset by the next StartParagrap...
OString m_sLastOpenedBookmark
Name of the last opened bookmark.
virtual void StartRunProperties() override
Called before we start outputting the attributes.
virtual void EndStyles(sal_uInt16 nNumberOfStyles) override
End of the styles table.
std::unique_ptr< const WW8_SepInfo > m_pSectionInfo
void WriteOLEShape(const SwFlyFrameFormat &rFrameFormat, const Size &rSize, const OString &rShapeId, const OUString &rImageId)
eUNKNOWN
rtl::Reference< sax_fastparser::FastAttributeList > m_pCharLangAttrList
virtual bool StartURL(const OUString &rUrl, const OUString &rTarget) override
Output URL start.
void CmdField_Impl(const SwTextNode *pNode, sal_Int32 nPos, FieldInfos const &rInfos, bool bWriteRun)
std::vector< css::beans::PropertyValue > m_aTextEffectsGrabBag
GrabBag for text effects like glow, shadow, ...
virtual void EndRuby(const SwTextNode &rNode, sal_Int32 nPos) override
Output ruby end.
void StartFont(const OUString &rFamilyName) const
Start the font.
std::unique_ptr< docx::FootnotesList > m_pFootnotesList
o3tl::sorted_vector< const SwFrameFormat * > m_aFloatingTablesOfParagraph
StyleType
std::vector< PostponedMathObjects > m_aPostponedMaths
virtual void ParaHangingPunctuation(const SfxBoolItem &) override
Sfx item RES_PARATR_HANGINGPUNCTUATION.
void StartRedline(const SwRedlineData *pRedlineData)
Output redlining.
std::map< OUString, std::vector< OString > > m_aSeqBookmarksNames
If there are bookmarks around sequence fields, this map contains the names of these bookmarks for eac...
oox::drawingml::DrawingML & m_rDrawingML
DrawingML access.
virtual void TableOrientation(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) override
virtual void FormatHorizOrientation(const SwFormatHoriOrient &) override
Sfx item RES_HORI_ORIENT.
sal_Int16 nNumType
void DoWriteBookmarkTagEnd(sal_Int32 nId)
virtual void WriteExpand(const SwField *pField) override
Write the expanded field.
void DoWriteBookmarksEnd(std::vector< OUString > &rEnds)
export the end bookmarks
virtual void ParaScriptSpace(const SfxBoolItem &) override
Sfx item RES_PARATR_SCRIPTSPACE.
virtual void ParagraphStyle(sal_uInt16 nStyle) override
Output style.
void WriteLineBreak()
Writes a clearing line break at the end of run properties, if there are any.
Collects and outputs fonts.
Definition: wrtww8.hxx:296
void WriteSdtPlainText(const OUString &sValue, const uno::Sequence< beans::PropertyValue > &aGrabBagSdt)
rtl::Reference< sax_fastparser::FastAttributeList > m_pEastAsianLayoutAttrList
void DocDefaults()
Write Doc Defaults.
void WriteFormDateStart(const OUString &sFullDate, const OUString &sDateFormat, const OUString &sLang, const uno::Sequence< beans::PropertyValue > &aGrabBagSdt)
rtl::Reference< FastAttributeList > SurroundToVMLWrap(SwFormatSurround const &rSurround)
virtual void OutputFlyFrame_Impl(const ww8::Frame &rFormat, const Point &rNdTopLeft) override
Output frames - the implementation.
void WriteFFData(const FieldInfos &rInfos)
bool IsAlternateContentChoiceOpen() const
virtual void TextFootnote_Impl(const SwFormatFootnote &) override
Sfx item RES_TXTATR_FTN.
DocumentType eType
void WriteFinalBookmarks_Impl(std::vector< OUString > &rStarts, std::vector< OUString > &rEnds)
SwRedlineData * m_pMoveRedlineData
virtual void RefField(const SwField &rField, const OUString &rRef) override
sal_uInt32 tag
std::vector< OUString > m_rFinalBookmarksStart
Bookmarks to output at the end.
virtual void StartStyle(const OUString &rName, StyleType eType, sal_uInt16 nBase, sal_uInt16 nNext, sal_uInt16 nLink, sal_uInt16 nWwId, sal_uInt16 nId, bool bAutoUpdate) override
Start of a style in the styles table.
void WriteField_Impl(const SwField *pField, ww::eField eType, const OUString &rFieldCmd, FieldFlags nMode, OUString const *pBookmarkName=nullptr)
virtual void CharCrossedOut(const SvxCrossedOutItem &rCrossedOut) override
Sfx item RES_CHRATR_CROSSEDOUT.
std::shared_ptr< WW8TableInfo > Pointer_t
virtual css::uno::Reference< css::text::XTextFrame > GetUnoTextFrame(css::uno::Reference< css::drawing::XShape > xShape) override
std::vector< std::map< SvxBoxItemLine, css::table::BorderLine2 > > m_aTableStyleConfs
Style of a layout element.
Definition: frmfmt.hxx:59
void DoWriteFieldRunProperties(const SwTextNode *pNode, sal_Int32 nPos, bool bWriteCombChars=false)
Writes properties for run that is used to separate field implementation.
SfxPoolItem subclass that wraps an SwLineBreakClear.
virtual void SectionTitlePage() override
Has different headers/footers for the title page.
void ExportOLESurround(const SwFormatSurround &rWrap)
std::vector< const SdrObject * > m_aPostponedFormControls
rtl::Reference< sax_fastparser::FastAttributeList > m_pDataBindingAttrs
void WriteActiveXControl(const SdrObject *pObject, const SwFrameFormat &rFrameFormat, bool bInsideRun)
SvxAdjust
std::unique_ptr< std::vector< PostponedGraphic > > m_pPostponedGraphic
bool HasEndnotes() const
Do we have any endnotes?
void WriteFormData_Impl(const ::sw::mark::IFieldmark &rFieldmark)
virtual void EndRunProperties(const SwRedlineData *pRedlineData) override
Called after we end outputting the attributes.
virtual void FormatFillStyle(const XFillStyleItem &) override
Sfx item RES_FILL_STYLE.
virtual void SectFootnoteEndnotePr() override
for footnote/endnote section properties
virtual void EndSection() override
End of the section properties.
std::unique_ptr< SwWriteTable > m_xTableWrt
The current table helper.
void FootnotesEndnotes(bool bFootnotes)
Output the content of the footnotes.xml resp. endnotes.xml.
void FontAlternateName(const OUString &rName) const
Alternate name for the font.
sal_Int32 m_nRedlineId
Id of the redline.
virtual bool IsFlyProcessingPostponed() override
Is processing of fly postponed ?
virtual void PostitField(const SwField *pField) override
virtual void EndAbstractNumbering() override
End of the abstract numbering definition instance.
sal_Int32 m_nNextParaId
[MS-DOCX] section 2.6.2.3
virtual void TextINetFormat(const SwFormatINetFormat &) override
Sfx item RES_TXTATR_INETFMT.
void DoWriteCmd(std::u16string_view rCmd)
DocxAttributeOutput(DocxExport &rExport, const ::sax_fastparser::FSHelperPtr &pSerializer, oox::drawingml::DrawingML *pDrawingML)
FlyAnchors.
Definition: fmtanchr.hxx:34
std::map< OUString, EmbeddedFontRef > m_FontFilesMap
void InitTableHelper(ww8::WW8TableNodeInfoInner::Pointer_t const &pTableTextNodeInfoInner)
sal_uInt32 m_nEmbedFlyLevel
The first frame (anchored to the main text) is 0.
std::shared_ptr< editeng::WordBorderDistances > pDistances
virtual void StartSection() override
Start of the section properties.
sal_Int32 m_nCloseContentControlInPreviousRun
void WriteOLE(SwOLENode &rNode, const Size &rSize, const SwFlyFrameFormat *rFlyFrameFormat)
void WriteAnnotationMarks_Impl(std::vector< OUString > &rStarts, std::vector< OUString > &rEnds)
virtual void WriteTextBox(css::uno::Reference< css::drawing::XShape > xShape) override
DMLTextExport.
void EmbedFont(std::u16string_view name, FontFamily family, FontPitch pitch)
Write out the font into the document, if it's an embedded font.
void InitCollectedParagraphProperties()
Initialize the structures where we are going to collect some of the paragraph properties.
virtual void CharAnimatedText(const SvxBlinkItem &rBlink) override
Sfx item RES_CHRATR_BLINK.
void EndParaSdtBlock()
End possibly opened paragraph sdt block.
PostponedGraphic(const SwGrfNode *n, Size s, const SdrObject *sObj)
virtual void FieldVanish(const OUString &rText, ww::eField eType, OUString const *) override
virtual void NumberingLevel(sal_uInt8 nLevel, sal_uInt16 nStart, sal_uInt16 nNumberingType, SvxAdjust eAdjust, const sal_uInt8 *pNumLvlPos, sal_uInt8 nFollow, const wwFont *pFont, const SfxItemSet *pOutSet, sal_Int16 nIndentAt, sal_Int16 nFirstLineIndex, sal_Int16 nListTabPos, const OUString &rNumberingString, const SvxBrushItem *pBrush) override
All the numbering level information.
virtual void DefaultStyle() override
Write default style.
virtual void TableSpacing(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) override
void TableCellProperties(ww8::WW8TableNodeInfoInner::Pointer_t const &pTableTextNodeInfoInner, sal_uInt32 nCell, sal_uInt32 nRow)
OString m_sLastOpenedAnnotationMark
Name of the last opened annotation mark.
virtual void EmptyParagraph() override
Empty paragraph.
bool WriteOLEChart(const SdrObject *pSdrObj, const Size &rSize, const SwFlyFrameFormat *pFlyFrameFormat)
rtl::Reference< sax_fastparser::FastAttributeList > m_pFontsAttrList
std::shared_ptr< DocxTableStyleExport > m_pTableStyleExport
virtual void FormatVertOrientation(const SwFormatVertOrient &) override
Sfx item RES_VERT_ORIENT.
void WriteSdtDropDownEnd(OUString const &rSelected, uno::Sequence< OUString > const &rListItems)
virtual void FormatFrameSize(const SwFormatFrameSize &) override
Sfx item RES_FRM_SIZE.
FontPitch
const SwRedlineData * m_pRedlineData
Redline data to remember in the text run.
const DocxExport & GetExport() const
std::shared_ptr< FastSerializerHelper > FSHelperPtr
std::shared_ptr< SwContentControl > m_pContentControl
virtual void OverrideNumberingDefinition(SwNumRule const &rRule, sal_uInt16 nNum, sal_uInt16 nAbstractNum, const std::map< size_t, size_t > &rLevelOverrides) override
Numbering definition that overrides abstract numbering definition.
std::vector< OUString > m_rPermissionsStart
Permissions to output.
virtual bool FootnoteEndnoteRefTag() override
docx requires footnoteRef/endnoteRef tag at the beginning of each of them
virtual void CharEscapement(const SvxEscapementItem &rEscapement) override
Sfx item RES_CHRATR_ESCAPEMENT.
virtual void WriteBookmarkInActParagraph(const OUString &rName, sal_Int32 nFirstRunPos, sal_Int32 nLastRunPos) override
Insert a bookmark inside the currently processed paragraph.
virtual void RawText(const OUString &rText, rtl_TextEncoding eCharSet) override
Output text (without markup).
const SwField * m_PendingPlaceholder
void EndTableCell(sal_uInt32 nCell)
unsigned int m_nChartCount
count charts consistently for unit tests
void SetAlternateContentChoiceOpen(bool bAltContentChoiceOpen)
tools::Long SwTwips
Definition: swtypes.hxx:51
virtual void CharWeight(const SvxWeightItem &rWeight) override
Sfx item RES_CHRATR_WEIGHT.
void WritePostponedFormControl(const SdrObject *pObject)
void StartTable(ww8::WW8TableNodeInfoInner::Pointer_t const &pTableTextNodeInfoInner)
< purpose of derivation from SwClient: character style for displaying the numbers.
Definition: lineinfo.hxx:37
virtual void TableCellRedline(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) override
SvxShadowLocation aShadowLocation
virtual void SectionFormProtection(bool bProtected) override
Protection of forms.
void FontPitchType(FontPitch ePitch) const
Font pitch.
rtl::Reference< sax_fastparser::FastAttributeList > m_pSectionSpacingAttrList
virtual void FormatLRSpace(const SvxLRSpaceItem &rLRSpace) override
Sfx item RES_LR_SPACE.
void InitCollectedRunProperties()
Initialize the structures where we are going to collect some of the run properties.
virtual void CharLanguage(const SvxLanguageItem &rLanguage) override
Sfx item RES_CHRATR_LANGUAGE.
void DoWriteBookmarksStart(std::vector< OUString > &rStarts, const SwRedlineData *pRedlineData=nullptr)
Write the start bookmarks.
A structure that holds flags for the table export.
void GetSdtParamsFromGrabBag(const uno::Sequence< beans::PropertyValue > &aGrabBagSdt)
FontFamily
virtual bool AnalyzeURL(const OUString &rURL, const OUString &rTarget, OUString *pLinkURL, OUString *pMark) override
rtl::Reference< sax_fastparser::FastAttributeList > m_pParagraphSpacingAttrList
void DoWritePermissionTagEnd(std::u16string_view permission)
virtual void EndStyleProperties(bool bParProp) override
End of (paragraph or run) properties of a style.
virtual void TableHeight(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) override
virtual void SectionBreak(sal_uInt8 nC, bool bBreakAfter, const WW8_SepInfo *pSectionInfo=nullptr, bool bExtraPageBreak=false) override
Write a section break msword::ColumnBreak or msword::PageBreak bBreakAfter: the break must be schedul...
static bool TextBoxIsFramePr(const SwFrameFormat &rFrameFormat)
std::unique_ptr< TableReference > m_tableReference
std::optional< SwLineBreakClear > m_oLineBreakClear
std::shared_ptr< const SwField > pField
SwTextNode is a paragraph in the document model.
Definition: ndtxt.hxx:79
void SetWritingHeaderFooter(bool bWritingHeaderFooter)
std::multimap< sal_Int32, OUString > m_aBookmarksOfParagraphStart
Bookmarks of the current paragraph.
virtual void TextVerticalAdjustment(const css::drawing::TextVerticalAdjust) override
bool m_bPreventDoubleFieldsHandling
Field data to remember in the text run.
FontWeight
virtual void CharShadow(const SvxShadowedItem &rShadow) override
Sfx item RES_CHRATR_SHADOWED.
virtual void CharLanguageCTL(const SvxLanguageItem &rLanguageItem) override
Sfx item RES_CHRATR_CTL_LANGUAGE.
void DoWritePermissionsEnd()
export the end permissions
A structure that holds information about the options selected when outputting a border to DOCX...
void EndRedline(const SwRedlineData *pRedlineData)
Output redlining.
virtual void CharRelief(const SvxCharReliefItem &rRelief) override
Sfx item RES_CHRATR_RELIEF.
PostponedDrawing(const SdrObject *sdrObj, const SwFrameFormat *frm)
virtual void FormatSurround(const SwFormatSurround &) override
Sfx item RES_SURROUND.
virtual void TableInfoRow(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) override
virtual void CharGrabBag(const SfxGrabBagItem &) override
Sfx item RES_CHRATR_GRABBAG.
FlyProcessingState
enum to state the present state of the fly
Definition: wrtww8.hxx:165
virtual void FormatBackground(const SvxBrushItem &) override
Sfx item RES_BACKGROUND.
unsigned char sal_uInt8
Make exporting a Writer Frame easy.
virtual void CharTwoLines(const SvxTwoLinesItem &rTwoLines) override
Sfx item RES_CHRATR_TWO_LINES.
void DoWriteBookmarkTagStart(std::u16string_view bookmarkName)
void WriteCollectedRunProperties()
Output what we collected during the run properties output.
virtual void FormatDrop(const SwTextNode &rNode, const SwFormatDrop &rSwFormatDrop, sal_uInt16 nStyle, ww8::WW8TableNodeInfo::Pointer_t pTextNodeInfo, ww8::WW8TableNodeInfoInner::Pointer_t pTextNodeInfoInner) override
virtual void FormatAnchor(const SwFormatAnchor &) override
Sfx item RES_ANCHOR.
virtual void ParaGrabBag(const SfxGrabBagItem &) override
Sfx item RES_PARATR_GRABBAG.
virtual bool MaybeOutputBrushItem(SfxItemSet const &) override
virtual void FormatBox(const SvxBoxItem &) override
Sfx item RES_BOX.
void GetSdtEndBefore(const SdrObject *pSdrObj)
void FootnoteEndnoteReference()
Output the footnote/endnote reference (if there's one to output).
void WriteSdtBlock(const ::sax_fastparser::FSHelperPtr &pSerializer, bool bRunTextIsOn, bool bParagraphHasDrawing)
virtual void EndParagraph(ww8::WW8TableNodeInfoInner::Pointer_t pTextNodeInfoInner) override
End of the paragraph.
void PopulateFrameProperties(const SwFrameFormat *pFrameFormat, const Size &rSize)
virtual void SetField(const SwField &rField, ww::eField eType, const OUString &rCmd) override
virtual sal_Int32 StartParagraph(ww8::WW8TableNodeInfo::Pointer_t pTextNodeInfo, bool bGenerateParaId) override
Start of the paragraph.
virtual void CharFont(const SvxFontItem &rFont) override
Sfx item RES_CHRATR_FONT.
SvxBoxItemLine
void FontCharset(sal_uInt8 nCharSet, rtl_TextEncoding nEncoding) const
Font charset.
virtual void CharBorder(const ::editeng::SvxBorderLine *pAllBorder, const sal_uInt16 nDist, const bool bShadow) override
Sfx item RES_CHRATR_BOX.
virtual void FormatFillGradient(const XFillGradientItem &) override
Sfx item RES_FILL_GRADIENT.
virtual void ParaSnapToGrid(const SvxParaGridItem &) override
Sfx item RES_PARATR_SNAPTOGRID.
void EmbedFontStyle(std::u16string_view name, int tag, FontFamily family, FontItalic italic, FontWeight weight, FontPitch pitch)
virtual void ParaTabStop(const SvxTabStopItem &rTabStop) override
Sfx item RES_PARATR_TABSTOP.
static OString TransHighlightColor(sal_uInt8 nIco)
Translate an ico value to the corresponding HighlightColorValues enumaration item.
virtual void ParaVerticalAlign(const SvxParaVertAlignItem &rAlign) override
Sfx item RES_PARATR_VERTALIGN.
virtual void SectionPageNumbering(sal_uInt16 nNumType, const ::std::optional< sal_uInt16 > &oPageRestartNumber) override
The style of the page numbers.
std::shared_ptr< WW8TableNodeInfoInner > Pointer_t
const char * name
virtual bool EndURL(bool) override
Output URL end.
virtual void TableDefinition(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) override
virtual void CharAutoKern(const SvxAutoKernItem &) override
Sfx item RES_CHRATR_AUTOKERN.
virtual void CharScaleWidth(const SvxCharScaleWidthItem &rScaleWidth) override
Sfx item RES_CHRATR_SCALEW.
static OString GetOLEStyle(const SwFlyFrameFormat &rFormat, const Size &rSize)
void LatentStyles()
Write latent styles.
std::vector< OString > m_rAnnotationMarksEnd
bool m_bIgnoreNextFill
If FormatBox() already handled fill style / gradient.
virtual void CharCaseMap(const SvxCaseMapItem &rCaseMap) override
Sfx item Sfx item RES_CHRATR_CASEMAP.
virtual void StartStyles() override
Start of the styles table.
void StartField_Impl(const SwTextNode *pNode, sal_Int32 nPos, FieldInfos const &rInfos, bool bWriteRun=false)
PostponedOLE(SwOLENode *rObject, const Size &rSize, const SwFlyFrameFormat *rFrame)
virtual void CharColor(const SvxColorItem &rColor) override
Sfx item Sfx item RES_CHRATR_COLOR.
std::vector< OUString > m_rPermissionsEnd
virtual void CharFontSize(const SvxFontHeightItem &rFontSize) override
Sfx item RES_CHRATR_FONTSIZE.
virtual void CharFontSizeCTL(const SvxFontHeightItem &rFontSize) override
Sfx item RES_CHRATR_CTL_FONTSIZE.
virtual void CharHighlight(const SvxBrushItem &rHighlight) override
Sfx item RES_CHRATR_HIGHLIGHT.
std::unique_ptr< std::vector< PostponedDrawing > > m_pPostponedDMLDrawings
std::vector< PostponedChart > m_aPostponedCharts
virtual void CharBackground(const SvxBrushItem &rBrush) override
Sfx item RES_CHRATR_BACKGROUND.
void PostponeOLE(SwOLENode &rNode, const Size &rSize, const SwFlyFrameFormat *pFlyFrameFormat)
virtual void RTLAndCJKState(bool bIsRTL, sal_uInt16 nScript) override
Export the state of RTL/CJK.
std::unique_ptr< std::vector< PostponedDiagram > > m_pPostponedDiagrams
virtual void StartParagraphProperties() override
Called before we start outputting the attributes.
virtual void CharPosture(const SvxPostureItem &rPosture) override
Sfx item RES_CHRATR_POSTURE.
bool m_bEndCharSdt
If the current SDT around runs should be ended before the current run.
void FlyFrameGraphic(const SwGrfNode *pGrfNode, const Size &rSize, const SwFlyFrameFormat *pOLEFrameFormat, SwOLENode *pOLENode, const SdrObject *pSdrObj=nullptr)
Output graphic fly frames or replacement graphics for OLE nodes.
virtual void EndStyle() override
End of a style in the styles table.
void EndContentControl() override
See AttributeOutputBase::EndContentControl().
virtual void CharRotate(const SvxCharRotateItem &rRotate) override
Sfx item RES_CHRATR_ROTATE.
virtual void ParaLineSpacing_Impl(short nSpace, short nMulti) override
Sfx item RES_PARATR_LINESPACING.
void BulletDefinition(int nId, const Graphic &rGraphic, Size aSize) override
Exports the definition (image, size) of a single numbering picture bullet.
virtual void SectionLineNumbering(sal_uLong nRestartNo, const SwLineNumberInfo &rLnNumInfo) override
Numbering of the lines in the document.
rtl::Reference< sax_fastparser::FastAttributeList > m_pHyperlinkAttrList
void CmdEndField_Impl(const SwTextNode *pNode, sal_Int32 nPos, bool bWriteRun)
virtual DocxExport & GetExport() override
Return the right export class.
virtual void ParaNumRule_Impl(const SwTextNode *pTextNd, sal_Int32 nLvl, sal_Int32 nNumId) override
Sfx item RES_PARATR_NUMRULE.
void WriteCollectedParagraphProperties()
Output what we collected during the run properties output.
const ::sw::mark::IFieldmark * pFieldmark
rtl::Reference< sax_fastparser::FastAttributeList > m_pTokenChildren
If SwFormatDrop is a Client, it is the CharFormat that describes the font for the DropCaps...
Definition: paratr.hxx:62
virtual void CharWeightCJK(const SvxWeightItem &rWeight) override
Sfx item RES_CHRATR_CJK_WEIGHT.
void FinishTableRowCell(ww8::WW8TableNodeInfoInner::Pointer_t const &pInner, bool bForceEmptyParagraph=false)
End cell, row, and even the entire table if necessary.
virtual void TableBidi(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) override
virtual void StartRuby(const SwTextNode &rNode, sal_Int32 nPos, const SwFormatRuby &rRuby) override
Output ruby start.
virtual void Redline(const SwRedlineData *pRedline) override
Output redlining.
void WriteBookmarks_Impl(std::vector< OUString > &rStarts, std::vector< OUString > &rEnds, const SwRedlineData *pRedlineData=nullptr)
void TextLineBreak(const SwFormatLineBreak &rLineBreak) override
RES_TXTATR_LINEBREAK, i.e. clearing breaks.
virtual void TableNodeInfoInner(ww8::WW8TableNodeInfoInner::Pointer_t pNodeInfoInner) override
::sax_fastparser::FSHelperPtr m_pSerializer
Fast serializer to output the data.
rtl::Reference< sax_fastparser::FastAttributeList > m_pTokenAttributes
void WriteSrcRect(const css::uno::Reference< css::beans::XPropertySet > &xShapePropSet, const SwFrameFormat *pFrameFormat)
bool m_bRunTextIsOn
Flag indicating that the Run Text is being written.
std::vector< OUString > m_rBookmarksEnd
void TableDefaultCellMargins(ww8::WW8TableNodeInfoInner::Pointer_t const &pTableTextNodeInfoInner)
virtual void CharIdctHint(const SfxPoolItem &) override
Sfx item RES_CHRATR_IdctHint.
virtual void OutlineNumbering(sal_uInt8 nLvl) override
Numbering rule and Id.
virtual void TableRowEnd(sal_uInt32 nDepth) override
virtual void StartStyleProperties(bool bParProp, sal_uInt16 nStyle) override
Start of (paragraph or run) properties of a style.
void WriteOLE2Obj(const SdrObject *pSdrObj, SwOLENode &rNode, const Size &rSize, const SwFlyFrameFormat *pFlyFrameFormat, const sal_Int8 nFormulaAlignment)
rtl::Reference< sax_fastparser::FastAttributeList > m_pTextAttrs
std::vector< OString > m_rAnnotationMarksStart
Annotation marks to output.
bool GetWritingHeaderFooter() const
std::shared_ptr< WW8TableNodeInfo > Pointer_t
editeng::WordPageMargins m_pageMargins
void WritePostponedMath(const SwOLENode *pObject, sal_Int8)
virtual void CharContour(const SvxContourItem &rContour) override
Sfx item Sfx item RES_CHRATR_CONTOUR.
virtual void WritePostitFieldReference() override
for docx w:commentReference
virtual void HiddenField(const SwField &rField) override
virtual void FormatULSpace(const SvxULSpaceItem &rULSpace) override
Sfx item RES_UL_SPACE.
std::vector< OUString > m_rBookmarksStart
Bookmarks to output.
ww8::WW8TableInfo::Pointer_t m_pTableInfo
void SetSerializer(::sax_fastparser::FSHelperPtr const &pSerializer)
For e.g. the output of the styles, we need to switch the serializer to another one.
sal_uInt16 nPos
void StartContentControl(const SwFormatContentControl &rFormatContentControl) override
See AttributeOutputBase::StartContentControl().
void DoWriteBookmarkStartIfExist(sal_Int32 nRunPos)
bool m_bWritingField
Flag indicating that multiple runs of a field are being written.
virtual void FormatFrameDirection(const SvxFrameDirectionItem &) override
Sfx item RES_FRAMEDIR.
PostponedDiagram(const SdrObject *o, const SwFrameFormat *frm)
FontItalic
rtl::Reference< sax_fastparser::FastAttributeList > m_pColorAttrList
Attributes of the run color.
bool m_bDetectedRangeSegmentation false
std::map< OString, sal_Int32 > m_rOpenedAnnotationMarksIds
Maps of the annotation marks ids.
virtual void EndParagraphProperties(const SfxItemSet &rParagraphMarkerProperties, const SwRedlineData *pRedlineData, const SwRedlineData *pRedlineParagraphMarkerDeleted, const SwRedlineData *pRedlineParagraphMarkerInserted) override
Called after we end outputting the attributes.
SvxShadowLocation
void FontFamilyType(FontFamily eFamily) const
Font family.
void DoWriteBookmarkEndIfExist(sal_Int32 nRunPos)
Base class of the Writer document model elements.
Definition: node.hxx:81