LibreOffice Module sw (master) 1
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
WW8Export Class Reference

Exporter of the binary Word file formats. More...

#include <wrtww8.hxx>

Inheritance diagram for WW8Export:
[legend]
Collaboration diagram for WW8Export:
[legend]

Public Member Functions

virtual AttributeOutputBaseAttrOutput () const override
 memory leak #i120098#, to hold the reference to unnamed SotStorage obj More...
 
virtual MSWordSectionsSections () const override
 Access to the sections/headers/footres. More...
 
virtual bool PreferPageBreakBefore () const override
 If saving page break is preferred as a paragraph attribute (yes) or as a special character (no). More...
 
virtual bool FieldsQuoted () const override
 Determines if the import filter already quoted fields or not. More...
 
virtual bool AddSectionBreaksForTOX () const override
 Determines the Section Breaks are to be added for TOX Section. More...
 
virtual void SetupSectionPositions (WW8_PdAttrDesc *pA) override
 Setup the pA's info. More...
 
bool MiserableFormFieldExportHack (const SwFrameFormat &rFrameFormat)
 
SwMSConvertControlsGetOCXExp ()
 
void ExportDopTypography (WW8DopTypography &rTypo)
 
sal_uInt16 AddRedlineAuthor (std::size_t nId)
 
void WriteFootnoteBegin (const SwFormatFootnote &rFootnote, ww::bytes *pO=nullptr)
 
void WritePostItBegin (ww::bytes *pO=nullptr)
 
const SvxBrushItemGetCurrentPageBgBrush () const
 
std::shared_ptr< SvxBrushItemTrueFrameBgBrush (const SwFrameFormat &rFlyFormat) const
 
void AppendFlyInFlys (const ww8::Frame &rFrameFormat, const Point &rNdTopLeft)
 
void WriteOutliner (const OutlinerParaObject &rOutliner, sal_uInt8 nTyp)
 
void WriteSdrTextObj (const SdrTextObj &rObj, sal_uInt8 nTyp)
 
sal_uInt32 GetSdrOrdNum (const SwFrameFormat &rFormat) const
 
void CreateEscher ()
 
void WriteEscher ()
 
virtual void OutputField (const SwField *pField, ww::eField eFieldType, const OUString &rFieldCmd, FieldFlags nMode=FieldFlags::All) override
 Write the field. More...
 
void StartCommentOutput (std::u16string_view rName)
 
void EndCommentOutput (std::u16string_view rName)
 
void OutGrf (const ww8::Frame &rFrame)
 
bool TestOleNeedsGraphic (const SwAttrSet &rSet, tools::SvRef< SotStorage > const &xOleStg, const tools::SvRef< SotStorage > &xObjStg, OUString const &rStorageName, SwOLENode *pOLENd)
 
virtual void AppendBookmarks (const SwTextNode &rNd, sal_Int32 nCurrentPos, sal_Int32 nLen, const SwRedlineData *pRedlineData=nullptr) override
 
virtual void AppendBookmark (const OUString &rName) override
 
void AppendBookmarkEndWithCorrection (const OUString &rName)
 
virtual void AppendAnnotationMarks (const SwWW8AttrIter &rAttrs, sal_Int32 nCurrentPos, sal_Int32 nLen) override
 
virtual void AppendSmartTags (SwTextNode &rTextNode) override
 
virtual void ExportGrfBullet (const SwTextNode &rNd) override
 
void OutGrfBullets (const ww8::Frame &rFrame)
 
void MoveFieldMarks (WW8_CP nFrom, WW8_CP nTo)
 
void WriteAsStringTable (const std::vector< OUString > &, sal_Int32 &rfcSttbf, sal_Int32 &rlcbSttbf)
 
virtual sal_uInt64 ReplaceCr (sal_uInt8 nChar) override
 ReplaceCr() is used for Pagebreaks and Pagedescs. More...
 
virtual void WriteCR (ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner=ww8::WW8TableNodeInfoInner::Pointer_t()) override
 
void WriteChar (sal_Unicode c) override
 
void OutSwString (const OUString &, sal_Int32 nStt, sal_Int32 nLen)
 
WW8_CP Fc2Cp (sal_uLong nFc) const
 
void OutSprmBytes (sal_uInt8 *pBytes, sal_uInt16 nSiz)
 
virtual void SectionBreaksAndFrames (const SwTextNode &rNode) override
 
virtual void PrepareNewPageDesc (const SfxItemSet *pSet, const SwNode &rNd, const SwFormatPageDesc *pNewPgDescFormat, const SwPageDesc *pNewPgDesc, bool bExtraPageBreak=false) override
 Helper method for OutputSectionBreaks() and OutputFollowPageDesc(). More...
 
void Out_SwFormatBox (const SvxBoxItem &rBox, bool bShadow)
 is for all boxes except in tables. More...
 
void Out_CellRangeBorders (const SvxBoxItem *pBox, sal_uInt8 nStart, sal_uInt8 nLimit)
 
virtual bool DisallowInheritingOutlineNumbering (const SwFormat &rFormat) override
 Return value indicates if an inherited outline numbering is suppressed. More...
 
unsigned int GetHdFtIndex () const
 
void SetHdFtIndex (unsigned int nHdFtIndex)
 
void IncrementHdFtIndex ()
 
virtual bool CollapseScriptsforWordOk (sal_uInt16 nScript, sal_uInt16 nWhich) override
 Guess the script (asian/western). More...
 
SwTwips CurrentPageWidth (SwTwips &rLeft, SwTwips &rRight) const
 
void MiserableRTLFrameFormatHack (SwTwips &rLeft, SwTwips &rRight, const ww8::Frame &rFrameFormat)
 Nasty swap for bidi if necessary. More...
 
void InsUInt16 (sal_uInt16 n)
 
void InsInt16 (sal_Int16 n)
 
void InsUInt32 (sal_uInt32 n)
 
void WriteStringAsPara (const OUString &rText)
 
 WW8Export (SwWW8Writer *pWriter, SwDoc &rDocument, std::shared_ptr< SwUnoCursor > &pCurrentPam, SwPaM *pOriginalPam, bool bDot)
 Setup the exporter. More...
 
virtual ~WW8Export () override
 
virtual void DoComboBox (const OUString &rName, const OUString &rHelp, const OUString &ToolTip, const OUString &rSelected, const css::uno::Sequence< OUString > &rListItems) override
 
virtual void DoFormText (const SwInputField *pField) override
 
void GetCurrentItems (ww::bytes &rItems) const
 
virtual void WriteFormData (const ::sw::mark::IFieldmark &rFieldmark) override
 Write the data of the form field. More...
 
virtual void WriteHyperlinkData (const ::sw::mark::IFieldmark &rFieldmark) override
 
WW8_WrPlcFieldCurrentFieldPlc () const
 Fields. More...
 
SwWW8WriterGetWriter () const
 
SvStreamStrm () const
 
virtual void SaveData (SwNodeOffset nStt, SwNodeOffset nEnd) override
 Remember some of the members so that we can recurse in WriteText(). More...
 
virtual void RestoreData () override
 Restore what was saved in SaveData(). More...
 
virtual void WriteHeadersFooters (sal_uInt8 nHeadFootFlags, const SwFrameFormat &rFormat, const SwFrameFormat &rLeftHeaderFormat, const SwFrameFormat &rLeftFooterFormat, const SwFrameFormat &rFirstPageFormat, sal_uInt8 nBreakCode, bool bEvenAndOddHeaders) override
 Output the actual headers and footers. More...
 
virtual ExportFormat GetExportFormat () const override
 
- Public Member Functions inherited from MSWordExportBase
ErrCode ExportDocument (bool bWriteAll)
 The main function to export the document. More...
 
void WriteText ()
 Iterate through the nodes and call the appropriate OutputNode() on them. More...
 
bool IsInTable () const
 Return whether currently exported node is in table. More...
 
void WriteSpecialText (SwNodeOffset nStart, SwNodeOffset nEnd, sal_uInt8 nTTyp)
 Set the pCurPam appropriately and call WriteText(). More...
 
void ExportPoolItemsToCHP (ww8::PoolItems &rItems, sal_uInt16 nScript, const SvxFontItem *pFont, bool bWriteCombChars=false)
 Export the pool items to attributes (through an attribute output class). More...
 
sal_uInt16 GetNumberingId (const SwNumRule &rNumRule)
 Return the numeric id of the numbering rule. More...
 
sal_uInt16 GetId (const SwTextFormatColl &rColl) const
 Return the numeric id of the style. More...
 
sal_uInt16 GetId (const SwCharFormat *pFormat) const
 Return the numeric id of the style. More...
 
sal_uInt16 GetId (const SwTOXType &rTOXType)
 
sal_uInt16 GetId (const SvxFontItem &rFont)
 Return the numeric id of the font (and add it to the font list if needed) More...
 
void GetId (const wwFont &rFont)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
const SfxPoolItemGetItem (sal_uInt16 nWhich) const
 
template<class T >
const T & GetItem (TypedWhichId< T > nWhich) const
 
bool HasRefToAttr (const OUString &rName)
 Find the reference. More...
 
bool HasRefToFootOrEndnote (const bool isEndNote, const sal_uInt16 nSeqNo)
 
void OutputItemSet (const SfxItemSet &rSet, bool bPapFormat, bool bChpFormat, sal_uInt16 nScript, bool bExportParentItemSet)
 Use OutputItem() on an item set according to the parameters. More...
 
SvxFrameDirection GetDefaultFrameDirection () const
 
SvxFrameDirection TrueFrameDirection (const SwFrameFormat &rFlyFormat) const
 Right to left? More...
 
SvxFrameDirection GetCurrentPageDirection () const
 Right to left? More...
 
sal_uInt16 DuplicateNumRule (const SwNumRule *pRule, sal_uInt8 nLevel, sal_uInt16 nVal)
 In case of numbering restart. More...
 
SwNumRuleDuplicateNumRuleImpl (const SwNumRule *pRule)
 
sal_uInt16 DuplicateAbsNum (OUString const &rListId, SwNumRule const &rAbstractRule)
 check if a new abstractNum is needed for this list More...
 
sal_uInt16 OverrideNumRule (SwNumRule const &rExistingRule, OUString const &rListId, SwNumRule const &rAbstractRule)
 Create a overriding numbering definition (if it does not yet exist) More...
 
void AddListLevelOverride (sal_uInt16 nListId, sal_uInt16 nLevelNum, sal_uInt16 nStartAt)
 Store list level overrides (restart of list) More...
 
virtual AttributeOutputBaseAttrOutput () const =0
 Access to the attribute output class. More...
 
virtual MSWordSectionsSections () const =0
 Access to the sections/headers/footres. More...
 
virtual bool FieldsQuoted () const =0
 Determines if the import filter already quoted fields or not. More...
 
virtual bool AddSectionBreaksForTOX () const =0
 Determines the Section Breaks are to be added for TOX Section. More...
 
virtual bool ignoreAttributeForStyleDefaults (sal_uInt16) const
 Used to filter out attributes that can be e.g. written to .doc but not to .docx. More...
 
virtual bool PreferPageBreakBefore () const =0
 If saving page break is preferred as a paragraph attribute (yes) or as a special character (no). More...
 
virtual bool CollapseScriptsforWordOk (sal_uInt16 nScript, sal_uInt16 nWhich)=0
 Guess the script (asian/western). More...
 
virtual void AppendBookmarks (const SwTextNode &rNd, sal_Int32 nCurrentPos, sal_Int32 nLen, const SwRedlineData *pSwRedline=nullptr)=0
 
virtual void AppendBookmark (const OUString &rName)=0
 
virtual void AppendAnnotationMarks (const SwWW8AttrIter &rAttrs, sal_Int32 nCurrentPos, sal_Int32 nLen)=0
 
virtual void AppendSmartTags (SwTextNode &)
 
virtual void ExportGrfBullet (const SwTextNode &rNd)=0
 
virtual void WriteCR (ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner=ww8::WW8TableNodeInfoInner::Pointer_t())=0
 
virtual void WriteChar (sal_Unicode c)=0
 
void OutputFormat (const SwFormat &rFormat, bool bPapFormat, bool bChpFormat, bool bFlyFormat=false)
 Output attributes. More...
 
const SfxItemSetGetCurItemSet () const
 Getter for pISet. More...
 
void SetCurItemSet (const SfxItemSet *pS)
 Setter for pISet. More...
 
virtual void SaveData (SwNodeOffset nStt, SwNodeOffset nEnd)
 Remember some of the members so that we can recurse in WriteText(). More...
 
virtual void RestoreData ()
 Restore what was saved in SaveData(). More...
 
bool OutputFollowPageDesc (const SfxItemSet *pSet, const SwTextNode *pNd)
 The return value indicates, if a follow page desc is written. More...
 
void WriteHeaderFooterText (const SwFormat &rFormat, bool bHeader)
 Write header/footer text. More...
 
void OutputSectionBreaks (const SfxItemSet *pSet, const SwNode &rNd, bool isCellOpen=false)
 Start new section. More...
 
void SectionProperties (const WW8_SepInfo &rSectionInfo, WW8_PdAttrDesc *pA=nullptr)
 Write section properties. More...
 
virtual void WriteNumbering ()=0
 Output the numbering table. More...
 
void NumberingDefinitions ()
 Write static data of SwNumRule - LSTF. More...
 
void AbstractNumberingDefinitions ()
 Write all Levels for all SwNumRules - LVLF. More...
 
void NumberingLevel (SwNumRule const &rRule, sal_uInt8 nLvl)
 Write one numbering level. More...
 
void SubstituteBullet (OUString &rNumStr, rtl_TextEncoding &rChrSet, OUString &rFontName) const
 
virtual void SetupSectionPositions (WW8_PdAttrDesc *)
 Setup the pA's info. More...
 
void SetHdFtPageRoot (const SwTextNode *pNd)
 Top node of host page when in header/footer. More...
 
const SwTextNodeGetHdFtPageRoot () const
 Top node of host page when in header/footer. More...
 
virtual void WriteHeadersFooters (sal_uInt8 nHeadFootFlags, const SwFrameFormat &rFormat, const SwFrameFormat &rLeftHeaderFormat, const SwFrameFormat &rLeftFooterFormat, const SwFrameFormat &rFirstPageFormat, sal_uInt8 nBreakCode, bool bEvenAndOddHeaders)=0
 Output the actual headers and footers. More...
 
virtual void OutputField (const SwField *pField, ww::eField eFieldType, const OUString &rFieldCmd, FieldFlags nMode=FieldFlags::All)=0
 Write the field. More...
 
virtual void WriteFormData (const ::sw::mark::IFieldmark &rFieldmark)=0
 Write the data of the form field. More...
 
virtual void WriteHyperlinkData (const ::sw::mark::IFieldmark &rFieldmark)=0
 
virtual void DoComboBox (const OUString &rName, const OUString &rHelp, const OUString &ToolTip, const OUString &rSelected, const css::uno::Sequence< OUString > &rListItems)=0
 
virtual void DoFormText (const SwInputField *pField)=0
 
bool GetNumberFormat (const SwField &rField, OUString &rStr)
 
virtual sal_uInt64 ReplaceCr (sal_uInt8 nChar)=0
 
const SfxPoolItemHasItem (sal_uInt16 nWhich) const
 
template<class T >
const T * HasItem (TypedWhichId< T > nWhich) const
 
int GetGrfIndex (const SvxBrushItem &rBrush)
 Returns the index of a picture bullet, used in numberings. More...
 
tools::Long GetParaTabStopOffset () const
 
virtual ExportFormat GetExportFormat () const =0
 
 MSWordExportBase (SwDoc &rDocument, std::shared_ptr< SwUnoCursor > &pCurrentPam, SwPaM *pOriginalPam)
 
virtual ~MSWordExportBase ()
 

Static Public Member Functions

static void Out_BorderLine (ww::bytes &rO, const ::editeng::SvxBorderLine *pLine, sal_uInt16 nDist, sal_uInt16 nSprmNo, sal_uInt16 nSprmNoVer9, bool bShadow)
 Gets passed a WW8Bytes*, so the function also can be used for the table border. More...
 
static void Out_SwFormatTableBox (ww::bytes &rO, const SvxBoxItem *rBox)
 FormatBox2() is for TC structures in tables. More...
 
static bool TransBrush (const Color &rCol, WW8_SHD &rShd)
 TransBrush converts SW-Brushes to WW. More...
 
static WW8_BRCVer9 TranslateBorderLine (const ::editeng::SvxBorderLine &pLine, sal_uInt16 nDist, bool bShadow)
 
static sal_uInt8 GetNumId (sal_uInt16 eNumType)
 Converts the SVX numbering type to MSONFC. More...
 
- Static Public Member Functions inherited from MSWordExportBase
static OUString GetBookmarkName (sal_uInt16 nTyp, const OUString *pName, sal_uInt16 nSeqNo)
 Find the bookmark name. More...
 
static const SwSectionFormatGetSectionFormat (const SwNode &rNd)
 Format of the section. More...
 
static sal_uLong GetSectionLineNo (const SfxItemSet *pSet, const SwNode &rNd)
 Line number of the section start. More...
 
static bool NoPageBreakSection (const SfxItemSet *pSet)
 
static void CorrectTabStopInSet (SfxItemSet &rSet, sal_Int32 nAbsLeft)
 

Public Attributes

std::unique_ptr< ww::bytesm_pO
 Buffer. More...
 
SvStreamm_pTableStrm
 
SvStreamm_pDataStrm
 Streams for WW97 Export. More...
 
std::unique_ptr< WW8Fibm_pFib
 File Information Block. More...
 
std::unique_ptr< WW8Dopm_pDop
 Document Properties. More...
 
std::unique_ptr< WW8_WrPlcFootnoteEdnm_pFootnote
 Footnotes - structure to remember them, and output. More...
 
std::unique_ptr< WW8_WrPlcFootnoteEdnm_pEdn
 Endnotes - structure to remember them, and output. More...
 
std::unique_ptr< WW8_WrPlcSepxm_pSepx
 Sections/headers/footers. More...
 
bool m_bDot
 Template or document. More...
 
- Public Attributes inherited from MSWordExportBase
wwFontHelper m_aFontHelper
 
std::vector< SwNodeOffsetm_aChapterFieldLocs
 
OUString m_aMainStg
 
std::vector< const SwTOXType * > m_aTOXArr
 
const SfxItemSetm_pISet
 
const SwFrameFormatm_pFirstPageFormat = nullptr
 
std::unique_ptr< WW8_WrPctm_pPiece
 
std::unique_ptr< SwNumRuleTablem_pUsedNumTable
 
std::map< size_t, std::pair< size_t, size_t > > m_OverridingNums
 overriding numdef index -> (existing numdef index, abstractnumdef index) More...
 
std::map< OUString, size_t > m_Lists
 list-id -> abstractnumdef index More...
 
std::map< size_t, std::map< size_t, size_t > > m_ListLevelOverrides
 Map of maps for list levels overrides listid -> level number -> restart value. More...
 
const SwTextNodem_pTopNodeOfHdFtPage
 Top node of host page when in hd/ft. More...
 
std::stack< sal_Int32 > m_aCurrentCharPropStarts
 To remember the position in a run. More...
 
std::unique_ptr< WW8_WrtBookmarksm_pBkmks
 
std::unique_ptr< WW8_WrtRedlineAuthorm_pRedlAuthors
 
std::shared_ptr< NfKeywordTablem_pKeyMap
 
std::optional< SvxMSExportOLEObjectsm_oOLEExp
 
std::unique_ptr< SwMSConvertControlsm_pOCXExp
 
WW8OleMap m_aOleMap
 
ww8::WW8TableInfo::Pointer_t m_pTableInfo
 
sal_uInt16 m_nCharFormatStart
 
sal_uInt16 m_nFormatCollStart
 
sal_uInt16 m_nStyleBeforeFly
 style number of the node More...
 
sal_uInt16 m_nLastFormatId
 Style of last TextNode in normal range. More...
 
sal_uInt16 m_nUniqueList
 current number for creating unique list names More...
 
unsigned int m_nHdFtIndex
 
RedlineFlags m_nOrigRedlineFlags
 Remember the original redline mode. More...
 
bool m_bOrigShowChanges
 Remember the original Show Changes mode. More...
 
std::vector< aBookmarkPairm_aImplicitBookmarks
 
std::unordered_map< OUString, OUString > m_TOXMarkBookmarksByURL
 
std::unordered_map< SwTOXMark const *, OUString > m_TOXMarkBookmarksByTOXMark
 
ww8::Frames m_aFrames
 
const SwPageDescm_pCurrentPageDesc
 
const SwPageDescm_pPreviousSectionPageDesc
 
bool m_bFirstTOCNodeWithSection
 
std::unique_ptr< WW8_WrPlcPnm_pPapPlc
 
std::unique_ptr< WW8_WrPlcPnm_pChpPlc
 
MSWordAttrIterm_pChpIter
 
std::unique_ptr< MSWordStylesm_pStyles
 
std::unique_ptr< WW8_WrPlcAnnotationsm_pAtn
 
std::unique_ptr< WW8_WrtFactoidsm_pFactoids
 
std::unique_ptr< WW8_WrPlcTextBoxesm_pTextBxs
 
std::unique_ptr< WW8_WrPlcTextBoxesm_pHFTextBxs
 
std::map< OUString, LinkedTextboxInfom_aLinkedTextboxesHelper
 
bool m_bLinkedTextboxesHelperInitialized = false
 
sal_Int32 m_nLinkedTextboxesChainId =0
 
const ww8::Framem_pParentFrame
 
Pointm_pFlyOffset
 
RndStdIds m_eNewAnchorType
 
std::unique_ptr< WW8_WrPlcFieldm_pFieldMain
 
std::unique_ptr< WW8_WrPlcFieldm_pFieldHdFt
 
std::unique_ptr< WW8_WrPlcFieldm_pFieldFootnote
 
std::unique_ptr< WW8_WrPlcFieldm_pFieldEdn
 
std::unique_ptr< WW8_WrPlcFieldm_pFieldAtn
 
std::unique_ptr< WW8_WrPlcFieldm_pFieldTextBxs
 
std::unique_ptr< WW8_WrPlcFieldm_pFieldHFTextBxs
 
std::unique_ptr< WW8_WrMagicTablem_pMagicTable
 
std::unique_ptr< SwWW8WrGrfm_pGrf
 
const SwAttrSetm_pStyAttr
 
const sw::BroadcastingModify * m_pOutFormatNode
 
const SwFormatm_pCurrentStyle
 
std::unique_ptr< MainTextPlcDrawObjm_pSdrObjs
 
std::unique_ptr< HdFtPlcDrawObjm_pHFSdrObjs
 
SwEscherExm_pEscher
 
sal_uInt8 m_nTextTyp
 
bool m_bStyDef: 1
 
bool m_bBreakBefore: 1
 
bool m_bOutKF: 1
 
bool m_bOutFlyFrameAttrs: 1
 
bool m_bOutPageDescs: 1
 PageDescs (section properties) are being written. More...
 
bool m_bOutFirstPage: 1
 
bool m_bOutTable: 1
 
bool m_bOutGrf: 1
 
bool m_bInWriteEscher: 1
 
bool m_bStartTOX: 1
 
bool m_bInWriteTOX: 1
 
bool m_bFootnoteAtTextEnd: 1
 
bool m_bEndAtTextEnd: 1
 
bool m_bHasHdr: 1
 
bool m_bHasFtr: 1
 
bool m_bSubstituteBullets: 1
 
bool m_bTabInTOC: 1
 
bool m_bHideTabLeaderAndPageNumbers: 1
 
bool m_bExportModeRTF
 
bool m_bFontSizeWritten
 Is font size written already as part of the current character properties? More...
 
bool m_bAddFootnoteTab
 
SwDocm_rDoc
 
SwNodeOffset m_nCurStart
 
SwNodeOffset m_nCurEnd
 
std::shared_ptr< SwUnoCursor > & m_pCurPam
 
SwPaMm_pOrigPam
 
std::stack< MSWordSaveDatam_aSaveData
 Stack to remember the nesting (see MSWordSaveData for more) More...
 
IMarkVector m_rSortedBookmarksStart
 
IMarkVector m_rSortedBookmarksEnd
 
IMarkVector m_rSortedAnnotationMarksStart
 
IMarkVector m_rSortedAnnotationMarksEnd
 

Protected Member Functions

virtual void OutputGrfNode (const SwGrfNode &) override
 Output SwGrfNode. More...
 
virtual void OutputOLENode (const SwOLENode &) override
 Output SwOLENode. More...
 
virtual void OutputLinkedOLE (const OUString &) override
 
virtual void AppendSection (const SwPageDesc *pPageDesc, const SwSectionFormat *pFormat, sal_uLong nLnNum) override
 
- Protected Member Functions inherited from MSWordExportBase
virtual ErrCode ExportDocument_Impl ()=0
 Format-dependent part of the actual export. More...
 
sal_Int32 GetNextPos (SwWW8AttrIter const *pAttrIter, const SwTextNode &rNode, sal_Int32 nCurrentPos)
 Get the next position in the text node to output. More...
 
void UpdatePosition (SwWW8AttrIter *pAttrIter, sal_Int32 nCurrentPos)
 Update the information for GetNextPos(). More...
 
virtual void OutputTextNode (SwTextNode &)
 Output SwTextNode. More...
 
void GatherChapterFields ()
 Setup the chapter fields (maChapterFieldLocs). More...
 
void AddLinkTarget (std::u16string_view rURL)
 
void CollectOutlineBookmarks (const SwDoc &rDoc)
 
bool SetCurrentPageDescFromNode (const SwNode &rNd)
 
bool ContentContainsChapterField (const SwFormatContent &rContent) const
 
bool FormatHdFtContainsChapterField (const SwFrameFormat &rFormat) const
 
virtual void SectionBreaksAndFrames (const SwTextNode &rNode)=0
 
virtual void PrepareNewPageDesc (const SfxItemSet *pSet, const SwNode &rNd, const SwFormatPageDesc *pNewPgDescFormat, const SwPageDesc *pNewPgDesc, bool bExtraPageBreak=false)=0
 
virtual bool DisallowInheritingOutlineNumbering (const SwFormat &rFormat)=0
 Return value indicates if an inherited outline numbering is suppressed. More...
 
void OutputStartNode (const SwStartNode &)
 Output SwStartNode. More...
 
virtual void OutputEndNode (const SwEndNode &)
 Output SwEndNode. More...
 
virtual void OutputGrfNode (const SwGrfNode &)=0
 Output SwGrfNode. More...
 
virtual void OutputOLENode (const SwOLENode &)=0
 Output SwOLENode. More...
 
virtual void OutputLinkedOLE (const OUString &)=0
 
void OutputSectionNode (const SwSectionNode &)
 Output SwSectionNode. More...
 
virtual void AppendSection (const SwPageDesc *pPageDesc, const SwSectionFormat *pFormat, sal_uLong nLnNum)=0
 
void OutputContentNode (SwContentNode &)
 Call the right (virtual) function according to the type of the item. More...
 
bool NearestBookmark (sal_Int32 &rNearest, const sal_Int32 nCurrentPos, bool bNextPositionOnly)
 Find the nearest bookmark from the current position. More...
 
void GetSortedBookmarks (const SwTextNode &rNd, sal_Int32 nCurrentPos, sal_Int32 nLen)
 
bool GetBookmarks (const SwTextNode &rNd, sal_Int32 nStt, sal_Int32 nEnd, IMarkVector &rArr)
 
void NearestAnnotationMark (sal_Int32 &rNearest, const sal_Int32 nCurrentPos, bool bNextPositionOnly)
 Find the nearest annotation mark from the current position. More...
 
void GetSortedAnnotationMarks (const SwWW8AttrIter &rAttrs, sal_Int32 nCurrentPos, sal_Int32 nLen)
 
bool GetAnnotationMarks (const SwWW8AttrIter &rAttrs, sal_Int32 nStt, sal_Int32 nEnd, IMarkVector &rArr)
 
const NfKeywordTableGetNfKeywordTable ()
 
void SetCurPam (SwNodeOffset nStt, SwNodeOffset nEnd)
 
std::unique_ptr< SvxBrushItemgetBackground ()
 Get background color of the document, if there is one. More...
 
int CollectGrfsOfBullets ()
 Populates m_vecBulletPic with all the bullet graphics used by numberings. More...
 
void BulletDefinitions ()
 Write the numbering picture bullets. More...
 
bool NeedSectionBreak (const SwNode &rNd) const
 
bool NeedTextNodeSplit (const SwTextNode &rNd, SwSoftPageBreakList &pList) const
 

Protected Attributes

SwWW8Writerm_pWriter
 Pointer to the writer. More...
 
std::unique_ptr< WW8AttributeOutputm_pAttrOutput
 Converting attributes to stream data. More...
 
- Protected Attributes inherited from MSWordExportBase
std::vector< const Graphic * > m_vecBulletPic
 Vector to record all the graphics of bullets. More...
 

Private Member Functions

virtual ErrCode ExportDocument_Impl () override
 Format-dependent part of the actual export. More...
 
void PrepareStorage ()
 
void WriteFkpPlcUsw ()
 
void WriteMainText ()
 
void StoreDoc1 ()
 
virtual void WriteNumbering () override
 Output the numbering table. More...
 
void OutOverrideListTab ()
 
void OutListNamesTab ()
 
void RestoreMacroCmds ()
 
void DoComboBox (css::uno::Reference< css::beans::XPropertySet > const &xPropSet)
 
 WW8Export (const WW8Export &)=delete
 
WW8Exportoperator= (const WW8Export &)=delete
 

Private Attributes

tools::SvRef< SotStoragem_xEscherStg
 

Additional Inherited Members

- Public Types inherited from MSWordExportBase
enum  ExportFormat {
  DOC = 0 ,
  RTF = 1 ,
  DOCX = 2
}
 
typedef std::vector< ::sw::mark::IMark * > IMarkVector
 Used to split the runs according to the bookmarks start and ends. More...
 
- Static Protected Member Functions inherited from MSWordExportBase
static void UpdateTocSectionNodeProperties (const SwSectionNode &rSectionNode)
 

Detailed Description

Exporter of the binary Word file formats.

Definition at line 996 of file wrtww8.hxx.

Constructor & Destructor Documentation

◆ WW8Export() [1/2]

WW8Export::WW8Export ( SwWW8Writer pWriter,
SwDoc rDocument,
std::shared_ptr< SwUnoCursor > &  pCurrentPam,
SwPaM pOriginalPam,
bool  bDot 
)

Setup the exporter.

Definition at line 4000 of file wrtww8.cxx.

◆ ~WW8Export()

WW8Export::~WW8Export ( )
overridevirtual

Definition at line 4012 of file wrtww8.cxx.

◆ WW8Export() [2/2]

WW8Export::WW8Export ( const WW8Export )
privatedelete

Member Function Documentation

◆ AddRedlineAuthor()

sal_uInt16 WW8Export::AddRedlineAuthor ( std::size_t  nId)

Definition at line 1661 of file wrtww8.cxx.

References MSWordExportBase::m_pRedlAuthors, nId, and SW_MOD.

Referenced by WW8AttributeOutput::Redline().

◆ AddSectionBreaksForTOX()

virtual bool WW8Export::AddSectionBreaksForTOX ( ) const
inlineoverridevirtual

Determines the Section Breaks are to be added for TOX Section.

Implements MSWordExportBase.

Definition at line 1029 of file wrtww8.hxx.

◆ AppendAnnotationMarks()

void WW8Export::AppendAnnotationMarks ( const SwWW8AttrIter rAttrs,
sal_Int32  nCurrentPos,
sal_Int32  nLen 
)
overridevirtual

◆ AppendBookmark()

void WW8Export::AppendBookmark ( const OUString &  rName)
overridevirtual

◆ AppendBookmarkEndWithCorrection()

void WW8Export::AppendBookmarkEndWithCorrection ( const OUString &  rName)

Definition at line 1504 of file wrtww8.cxx.

References Fc2Cp(), MSWordExportBase::m_pBkmks, and Strm().

Referenced by WW8AttributeOutput::EndRun().

◆ AppendBookmarks()

void WW8Export::AppendBookmarks ( const SwTextNode rNd,
sal_Int32  nCurrentPos,
sal_Int32  nLen,
const SwRedlineData pRedlineData = nullptr 
)
overridevirtual

◆ AppendFlyInFlys()

void WW8Export::AppendFlyInFlys ( const ww8::Frame rFrameFormat,
const Point rNdTopLeft 
)

◆ AppendSection()

void WW8Export::AppendSection ( const SwPageDesc pPageDesc,
const SwSectionFormat pFormat,
sal_uLong  nLnNum 
)
overrideprotectedvirtual

Implements MSWordExportBase.

Definition at line 3440 of file wrtw8nds.cxx.

References Fc2Cp(), m_pSepx, and Strm().

◆ AppendSmartTags()

void WW8Export::AppendSmartTags ( SwTextNode rTextNode)
overridevirtual

Reimplemented from MSWordExportBase.

Definition at line 1483 of file wrtww8.cxx.

References Fc2Cp(), SwRDFHelper::getTextNodeStatements(), MSWordExportBase::m_pFactoids, and Strm().

◆ AttrOutput()

AttributeOutputBase & WW8Export::AttrOutput ( ) const
overridevirtual

memory leak #i120098#, to hold the reference to unnamed SotStorage obj

Access to the attribute output class.

Implements MSWordExportBase.

Definition at line 4016 of file wrtww8.cxx.

References m_pAttrOutput.

Referenced by WriteOutliner().

◆ CollapseScriptsforWordOk()

bool WW8Export::CollapseScriptsforWordOk ( sal_uInt16  nScript,
sal_uInt16  nWhich 
)
overridevirtual

◆ CreateEscher()

void WW8Export::CreateEscher ( )

◆ CurrentFieldPlc()

WW8_WrPlcField * WW8Export::CurrentFieldPlc ( ) const

◆ CurrentPageWidth()

SwTwips WW8Export::CurrentPageWidth ( SwTwips rLeft,
SwTwips rRight 
) const

◆ DisallowInheritingOutlineNumbering()

bool WW8Export::DisallowInheritingOutlineNumbering ( const SwFormat rFormat)
overridevirtual

Return value indicates if an inherited outline numbering is suppressed.

Implements MSWordExportBase.

Definition at line 860 of file ww8atr.cxx.

References SwFormat::DerivedFrom(), SwFormat::GetItemState(), SwWW8Writer::InsUInt16(), m_pO, RES_PARATR_NUMRULE(), and NS_sprm::sprm< ispmd, fSpec, sgc, spra >::val.

◆ DoComboBox() [1/2]

virtual void WW8Export::DoComboBox ( const OUString &  rName,
const OUString &  rHelp,
const OUString &  ToolTip,
const OUString &  rSelected,
const css::uno::Sequence< OUString > &  rListItems 
)
overridevirtual

Implements MSWordExportBase.

◆ DoComboBox() [2/2]

void WW8Export::DoComboBox ( css::uno::Reference< css::beans::XPropertySet > const &  xPropSet)
private

◆ DoFormText()

void WW8Export::DoFormText ( const SwInputField pField)
overridevirtual

◆ EndCommentOutput()

void WW8Export::EndCommentOutput ( std::u16string_view  rName)

Definition at line 2032 of file ww8atr.cxx.

References Close, CmdEnd, End, ww::eQUOTE, and OutputField().

Referenced by WW8AttributeOutput::OutputFlyFrame_Impl().

◆ ExportDocument_Impl()

ErrCode WW8Export::ExportDocument_Impl ( )
overrideprivatevirtual

Format-dependent part of the actual export.

Implements MSWordExportBase.

Definition at line 3536 of file wrtww8.cxx.

References SL::a1Table, SL::aData, CHP, tools::SvRef< typename T >::clear(), Writer::CreateBookmarkTable(), err, ERRCODE_NONE, tools::SvRef< typename T >::get(), IDocumentLayoutAccess::GetCurrentLayout(), msfilter::MSCodec97::GetDocId(), msfilter::MSCodec_Std97::GetEncryptKey(), SwDoc::getIDocumentLayoutAccess(), SwDoc::getIDocumentStylePoolAccess(), SwFormat::GetItemIfSet(), StgWriter::GetStorage(), utl::TempFileFast::GetStream(), IDocumentStylePoolAccess::GetTextCollFromPool(), GetWriter(), SwWW8Writer::InitStd97CodecUpdateMedium(), SwRootFrame::IsHideRedlines(), SvxHyphenZoneItem::IsHyphen(), MSWordExportBase::m_aMainStg, m_bDot, MSWordExportBase::m_nOrigRedlineFlags, MSWordExportBase::m_pAtn, MSWordExportBase::m_pBkmks, MSWordExportBase::m_pChpPlc, m_pDataStrm, m_pDop, m_pEdn, MSWordExportBase::m_pFactoids, m_pFib, MSWordExportBase::m_pFieldAtn, MSWordExportBase::m_pFieldEdn, MSWordExportBase::m_pFieldFootnote, MSWordExportBase::m_pFieldHdFt, MSWordExportBase::m_pFieldHFTextBxs, MSWordExportBase::m_pFieldMain, MSWordExportBase::m_pFieldTextBxs, m_pFootnote, MSWordExportBase::m_pGrf, MSWordExportBase::m_pHFSdrObjs, MSWordExportBase::m_pHFTextBxs, MSWordExportBase::m_pMagicTable, m_pO, MSWordExportBase::m_pPapPlc, MSWordExportBase::m_pPiece, MSWordExportBase::m_pRedlAuthors, MSWordExportBase::m_pSdrObjs, m_pSepx, MSWordExportBase::m_pStyles, m_pTableStrm, MSWordExportBase::m_pTextBxs, MSWordExportBase::m_rDoc, On, SotStorage::OpenSotStream(), PAP, PrepareStorage(), SotStorage::Remove(), RES_PARATR_HYPHENZONE(), RES_POOLCOLL_STANDARD, SvStream::Seek(), SvStream::SetEndian(), Writer::SetStream(), StoreDoc1(), STREAM_SEEK_TO_END, Strm(), TXT_ATN, TXT_EDN, TXT_FTN, TXT_HDFT, TXT_HFTXTBOX, TXT_MAINTEXT, TXT_TXTBOX, SvStream::WriteBytes(), and SvStream::WriteUInt32().

◆ ExportDopTypography()

void WW8Export::ExportDopTypography ( WW8DopTypography rTypo)

◆ ExportGrfBullet()

void WW8Export::ExportGrfBullet ( const SwTextNode rNd)
overridevirtual

◆ Fc2Cp()

WW8_CP WW8Export::Fc2Cp ( sal_uLong  nFc) const
inline

◆ FieldsQuoted()

virtual bool WW8Export::FieldsQuoted ( ) const
inlineoverridevirtual

Determines if the import filter already quoted fields or not.

Implements MSWordExportBase.

Definition at line 1027 of file wrtww8.hxx.

◆ GetCurrentItems()

void WW8Export::GetCurrentItems ( ww::bytes rItems) const

Definition at line 883 of file wrtw8nds.cxx.

References m_pO.

Referenced by WW8AttributeOutput::FieldVanish(), and InsertSpecialChar().

◆ GetCurrentPageBgBrush()

const SvxBrushItem * WW8Export::GetCurrentPageBgBrush ( ) const

◆ GetExportFormat()

virtual ExportFormat WW8Export::GetExportFormat ( ) const
inlineoverridevirtual

Implements MSWordExportBase.

Definition at line 1202 of file wrtww8.hxx.

◆ GetHdFtIndex()

unsigned int WW8Export::GetHdFtIndex ( ) const
inline

Definition at line 1140 of file wrtww8.hxx.

References MSWordExportBase::m_nHdFtIndex.

Referenced by PlcDrawObj::Append(), and WW8_WrPlcSepx::WriteKFText().

◆ GetNumId()

sal_uInt8 WW8Export::GetNumId ( sal_uInt16  eNumType)
static

◆ GetOCXExp()

SwMSConvertControls & WW8Export::GetOCXExp ( )
inline

Definition at line 1056 of file wrtww8.hxx.

References MSWordExportBase::m_pOCXExp.

Referenced by WW8_WrPlcSubDoc::WriteGenericText().

◆ GetSdrOrdNum()

sal_uInt32 WW8Export::GetSdrOrdNum ( const SwFrameFormat rFormat) const

◆ GetWriter()

SwWW8Writer & WW8Export::GetWriter ( ) const
inline

◆ IncrementHdFtIndex()

void WW8Export::IncrementHdFtIndex ( )
inline

Definition at line 1142 of file wrtww8.hxx.

References MSWordExportBase::m_nHdFtIndex.

Referenced by WriteHeadersFooters().

◆ InsInt16()

void WW8Export::InsInt16 ( sal_Int16  n)
inline

Definition at line 1161 of file wrtww8.hxx.

References InsUInt16(), and n.

Referenced by WW8AttributeOutput::TableDefinition(), and WW8AttributeOutput::TablePositioning().

◆ InsUInt16()

void WW8Export::InsUInt16 ( sal_uInt16  n)
inline

Definition at line 1160 of file wrtww8.hxx.

References SwWW8Writer::InsUInt16(), m_pO, and n.

Referenced by WW8AttributeOutput::CharAnimatedText(), WW8AttributeOutput::CharAutoKern(), WW8AttributeOutput::CharBackground(), WW8AttributeOutput::CharBidiRTL(), WW8AttributeOutput::CharColor(), WW8AttributeOutput::CharEmphasisMark(), WW8AttributeOutput::CharEscapement(), WW8AttributeOutput::CharFont(), WW8AttributeOutput::CharFontCJK(), WW8AttributeOutput::CharFontCTL(), WW8AttributeOutput::CharFontSize(), WW8AttributeOutput::CharHighlight(), WW8AttributeOutput::CharIdctHint(), WW8AttributeOutput::CharKerning(), WW8AttributeOutput::CharLanguage(), WW8AttributeOutput::CharRelief(), WW8AttributeOutput::CharRotate(), WW8AttributeOutput::CharScaleWidth(), WW8AttributeOutput::CharTwoLines(), WW8AttributeOutput::CharUnderline(), WW8AttributeOutput::FormatAnchor(), WW8AttributeOutput::FormatBackground(), WW8AttributeOutput::FormatColumns_Impl(), WW8AttributeOutput::FormatDrop(), WW8AttributeOutput::FormatFillStyle(), WW8AttributeOutput::FormatFirstLineIndent(), WW8AttributeOutput::FormatFrameDirection(), WW8AttributeOutput::FormatFrameSize(), WW8AttributeOutput::FormatHorizOrientation(), WW8AttributeOutput::FormatKeep(), WW8AttributeOutput::FormatLineNumbering(), WW8AttributeOutput::FormatLRSpace(), WW8AttributeOutput::FormatPaperBin(), WW8AttributeOutput::FormatRightMargin(), WW8AttributeOutput::FormatSurround(), WW8AttributeOutput::FormatTextGrid(), WW8AttributeOutput::FormatTextLeftMargin(), WW8AttributeOutput::FormatULSpace(), WW8AttributeOutput::FormatVertOrientation(), InsInt16(), WW8AttributeOutput::NumberingLevel(), Out_CellRangeBorders(), WW8AttributeOutput::OutputWW8Attribute(), WW8AttributeOutput::OutputWW8AttributeCTL(), WW8AttributeOutput::PageBreakBefore(), WW8AttributeOutput::ParaAdjust(), WW8AttributeOutput::ParaForbiddenRules(), WW8AttributeOutput::ParaHangingPunctuation(), WW8AttributeOutput::ParaHyphenZone(), WW8AttributeOutput::ParaLineSpacing_Impl(), WW8AttributeOutput::ParaOutlineLevel(), WW8AttributeOutput::ParaScriptSpace(), WW8AttributeOutput::ParaSnapToGrid(), WW8AttributeOutput::ParaSplit(), WW8AttributeOutput::ParaVerticalAlign(), WW8AttributeOutput::ParaWidows(), WW8AttributeOutput::Redline(), WW8AttributeOutput::RTLAndCJKState(), WW8AttributeOutput::SectFootnoteEndnotePr(), WW8AttributeOutput::SectionRtlGutter(), WW8AttributeOutput::TableBackgrounds(), WW8AttributeOutput::TableBidi(), WW8AttributeOutput::TableCanSplit(), WW8AttributeOutput::TableDefinition(), WW8AttributeOutput::TableHeight(), WW8AttributeOutput::TableInfoCell(), WW8AttributeOutput::TableInfoRow(), WW8AttributeOutput::TableOrientation(), WW8AttributeOutput::TablePositioning(), WW8AttributeOutput::TableSpacing(), WW8AttributeOutput::TableVerticalCell(), WW8AttributeOutput::TextCharFormat(), WW8AttributeOutput::TextINetFormat(), WW8AttributeOutput::TextLineBreak(), and WW8SHDLong::Write().

◆ InsUInt32()

void WW8Export::InsUInt32 ( sal_uInt32  n)
inline

◆ MiserableFormFieldExportHack()

bool WW8Export::MiserableFormFieldExportHack ( const SwFrameFormat rFrameFormat)

◆ MiserableRTLFrameFormatHack()

void WW8Export::MiserableRTLFrameFormatHack ( SwTwips rLeft,
SwTwips rRight,
const ww8::Frame rFrameFormat 
)

◆ MoveFieldMarks()

void WW8Export::MoveFieldMarks ( WW8_CP  nFrom,
WW8_CP  nTo 
)

Definition at line 1493 of file wrtww8.cxx.

References MSWordExportBase::m_pBkmks.

Referenced by WW8AttributeOutput::SetField().

◆ operator=()

WW8Export & WW8Export::operator= ( const WW8Export )
privatedelete

◆ Out_BorderLine()

void WW8Export::Out_BorderLine ( ww::bytes rO,
const ::editeng::SvxBorderLine pLine,
sal_uInt16  nDist,
sal_uInt16  nSprmNo,
sal_uInt16  nSprmNoVer9,
bool  bShadow 
)
static

Gets passed a WW8Bytes*, so the function also can be used for the table border.

Parameters
nSprmNoIf nSprmNo == 0, then the opcode isn't outputted.
bShadowSHOULDN'T be set for table cells !

Definition at line 4688 of file ww8atr.cxx.

References WW8_BRC::aBits1, WW8_BRCVer9::aBits1, WW8_BRC::aBits2, WW8_BRCVer9::aBits2, msfilter::util::BGRToRGB(), WW8_BRCVer9::brcType(), WW8_BRCVer9::cv(), WW8_BRCVer9::dptLineWidth(), WW8_BRCVer9::dptSpace(), WW8_BRCVer9::fFrame(), WW8_BRCVer9::fShadow(), SwWW8Writer::InsUInt16(), msfilter::util::TransColToIco(), TranslateBorderLine(), and NS_sprm::sprm< ispmd, fSpec, sgc, spra >::val.

Referenced by WW8AttributeOutput::CharBorder(), Out_SwFormatBox(), and Out_SwFormatTableBox().

◆ Out_CellRangeBorders()

void WW8Export::Out_CellRangeBorders ( const SvxBoxItem pBox,
sal_uInt8  nStart,
sal_uInt8  nLimit 
)

◆ Out_SwFormatBox()

void WW8Export::Out_SwFormatBox ( const SvxBoxItem rBox,
bool  bShadow 
)

is for all boxes except in tables.

pO of the WW8Writer is used

Parameters
rBox
bShadow

Definition at line 4730 of file ww8atr.cxx.

References SvxBoxItem::GetDistance(), SvxBoxItem::GetLine(), i, MSWordExportBase::m_bOutPageDescs, m_pO, Out_BorderLine(), and NS_sprm::sprm< ispmd, fSpec, sgc, spra >::val.

Referenced by WW8AttributeOutput::FormatBox().

◆ Out_SwFormatTableBox()

void WW8Export::Out_SwFormatTableBox ( ww::bytes rO,
const SvxBoxItem pBox 
)
static

FormatBox2() is for TC structures in tables.

The Sprm opcode isn't written because it is packed into the TC structure without opcode. dxpSpace always becomes 0, because WW requires that in tables ( table borders otherwise will fray )

Parameters
rOA WW8Bytes pointer is passed in as output parameter

Definition at line 4785 of file ww8atr.cxx.

References SvxBoxItem::GetLine(), and Out_BorderLine().

Referenced by WW8AttributeOutput::TableDefinition().

◆ OutGrf()

void WW8Export::OutGrf ( const ww8::Frame rFrame)

◆ OutGrfBullets()

void WW8Export::OutGrfBullets ( const ww8::Frame rFrame)

◆ OutListNamesTab()

void WW8Export::OutListNamesTab ( )
private

◆ OutOverrideListTab()

void WW8Export::OutOverrideListTab ( )
private

◆ OutputField()

void WW8Export::OutputField ( const SwField pField,
ww::eField  eFieldType,
const OUString &  rFieldCmd,
FieldFlags  nMode = FieldFlags::All 
)
overridevirtual

◆ OutputGrfNode()

void WW8Export::OutputGrfNode ( const SwGrfNode )
overrideprotectedvirtual

Output SwGrfNode.

Implements MSWordExportBase.

Definition at line 75 of file wrtww8gr.cxx.

References m_pFib, MSWordExportBase::m_pParentFrame, OutGrf(), and SAL_INFO.

◆ OutputLinkedOLE()

void WW8Export::OutputLinkedOLE ( const OUString &  rOleId)
overrideprotectedvirtual

◆ OutputOLENode()

void WW8Export::OutputOLENode ( const SwOLENode rOLENode)
overrideprotectedvirtual

◆ OutSprmBytes()

void WW8Export::OutSprmBytes ( sal_uInt8 pBytes,
sal_uInt16  nSiz 
)
inline

Definition at line 1112 of file wrtww8.hxx.

References m_pO.

◆ OutSwString()

void WW8Export::OutSwString ( const OUString &  rStr,
sal_Int32  nStt,
sal_Int32  nLen 
)

◆ PreferPageBreakBefore()

virtual bool WW8Export::PreferPageBreakBefore ( ) const
inlineoverridevirtual

If saving page break is preferred as a paragraph attribute (yes) or as a special character (no).

Implements MSWordExportBase.

Definition at line 1025 of file wrtww8.hxx.

◆ PrepareNewPageDesc()

void WW8Export::PrepareNewPageDesc ( const SfxItemSet pSet,
const SwNode rNd,
const SwFormatPageDesc pNewPgDescFormat,
const SwPageDesc pNewPgDesc,
bool  bExtraPageBreak = false 
)
overridevirtual

◆ PrepareStorage()

void WW8Export::PrepareStorage ( )
private

◆ ReplaceCr()

sal_uInt64 WW8Export::ReplaceCr ( sal_uInt8  nChar)
overridevirtual

ReplaceCr() is used for Pagebreaks and Pagedescs.

An already written CR will be replaced by a break character. Replace must be called right after the writing of CR.

Returns
FilePos + 1 of the replaced CR or 0 if nothing was replaced.

Implements MSWordExportBase.

Definition at line 3967 of file ww8atr.cxx.

References MSWordExportBase::m_pChpPlc, m_pFib, MSWordExportBase::m_pPapPlc, MSWordExportBase::m_pPiece, o3tl::make_unsigned(), nPos, SvStream::ReadUInt16(), rStrm, SvStream::Seek(), SvStream::SeekRel(), Strm(), SvStream::Tell(), and WriteChar().

Referenced by PrepareNewPageDesc(), and WW8AttributeOutput::SectionBreak().

◆ RestoreData()

void WW8Export::RestoreData ( )
overridevirtual

◆ RestoreMacroCmds()

void WW8Export::RestoreMacroCmds ( )
private

◆ SaveData()

void WW8Export::SaveData ( SwNodeOffset  nStt,
SwNodeOffset  nEnd 
)
overridevirtual

Remember some of the members so that we can recurse in WriteText().

Reimplemented from MSWordExportBase.

Definition at line 1952 of file wrtww8.cxx.

References MSWordSaveData::bOldWriteAll, GetWriter(), MSWordExportBase::m_aSaveData, Writer::m_bWriteAll, m_pO, MSWordSaveData::pOOld, and MSWordExportBase::SaveData().

Referenced by WW8AttributeOutput::OutputFlyFrame_Impl().

◆ SectionBreaksAndFrames()

void WW8Export::SectionBreaksAndFrames ( const SwTextNode rNode)
overridevirtual

◆ Sections()

MSWordSections & WW8Export::Sections ( ) const
overridevirtual

Access to the sections/headers/footres.

Implements MSWordExportBase.

Definition at line 4021 of file wrtww8.cxx.

References m_pSepx.

◆ SetHdFtIndex()

void WW8Export::SetHdFtIndex ( unsigned int  nHdFtIndex)
inline

Definition at line 1141 of file wrtww8.hxx.

References MSWordExportBase::m_nHdFtIndex.

Referenced by WW8_WrPlcSepx::WriteKFText().

◆ SetupSectionPositions()

void WW8Export::SetupSectionPositions ( WW8_PdAttrDesc pA)
overridevirtual

Setup the pA's info.

Reimplemented from MSWordExportBase.

Definition at line 1504 of file wrtw8sty.cxx.

References WW8_PdAttrDesc::m_nLen, WW8_PdAttrDesc::m_pData, and m_pO.

◆ StartCommentOutput()

void WW8Export::StartCommentOutput ( std::u16string_view  rName)

Definition at line 2026 of file ww8atr.cxx.

References CmdStart, ww::eQUOTE, FieldString(), OutputField(), and Start.

Referenced by WW8AttributeOutput::OutputFlyFrame_Impl().

◆ StoreDoc1()

void WW8Export::StoreDoc1 ( )
private

◆ Strm()

SvStream & WW8Export::Strm ( ) const
inline

◆ TestOleNeedsGraphic()

bool WW8Export::TestOleNeedsGraphic ( const SwAttrSet rSet,
tools::SvRef< SotStorage > const &  xOleStg,
const tools::SvRef< SotStorage > &  xObjStg,
OUString const &  rStorageName,
SwOLENode pOLENd 
)

◆ TransBrush()

bool WW8Export::TransBrush ( const Color rCol,
WW8_SHD rShd 
)
static

TransBrush converts SW-Brushes to WW.

The result is WW8_SHD. Non-standard colours of SW won't be converted now to the mixed values ( 0 .. 95% ) of WW. Also if transparent, e.g. for tables a transparent brush is returned

Returns
real brush ( not transparent )

Definition at line 1678 of file ww8atr.cxx.

References Color::IsTransparent(), WW8_SHD::SetBack(), WW8_SHD::SetFore(), WW8_SHD::SetStyle(), and msfilter::util::TransColToIco().

Referenced by WW8AttributeOutput::CharBackground(), WW8AttributeOutput::FormatBackground(), and WW8AttributeOutput::TableBackgrounds().

◆ TranslateBorderLine()

WW8_BRCVer9 WW8Export::TranslateBorderLine ( const ::editeng::SvxBorderLine pLine,
sal_uInt16  nDist,
bool  bShadow 
)
static

◆ TrueFrameBgBrush()

std::shared_ptr< SvxBrushItem > WW8Export::TrueFrameBgBrush ( const SwFrameFormat rFlyFormat) const

◆ WriteAsStringTable()

void WW8Export::WriteAsStringTable ( const std::vector< OUString > &  rStrings,
sal_Int32 &  rfcSttbf,
sal_Int32 &  rlcbSttbf 
)

◆ WriteChar()

void WW8Export::WriteChar ( sal_Unicode  c)
overridevirtual

◆ WriteCR()

void WW8Export::WriteCR ( ww8::WW8TableNodeInfoInner::Pointer_t  pTableTextNodeInfoInner = ww8::WW8TableNodeInfoInner::Pointer_t())
overridevirtual

◆ WriteEscher()

void WW8Export::WriteEscher ( )

◆ WriteFkpPlcUsw()

void WW8Export::WriteFkpPlcUsw ( )
private

◆ WriteFootnoteBegin()

void WW8Export::WriteFootnoteBegin ( const SwFormatFootnote rFootnote,
ww::bytes pO = nullptr 
)

◆ WriteFormData()

void WW8Export::WriteFormData ( const ::sw::mark::IFieldmark &  rFieldmark)
overridevirtual

◆ WriteHeadersFooters()

void WW8Export::WriteHeadersFooters ( sal_uInt8  nHeadFootFlags,
const SwFrameFormat rFormat,
const SwFrameFormat rLeftHeaderFormat,
const SwFrameFormat rLeftFooterFormat,
const SwFrameFormat rFirstPageFormat,
sal_uInt8  nBreakCode,
bool  bEvenAndOddHeaders 
)
overridevirtual

◆ WriteHyperlinkData()

void WW8Export::WriteHyperlinkData ( const ::sw::mark::IFieldmark &  rFieldmark)
overridevirtual

Implements MSWordExportBase.

Definition at line 4401 of file wrtww8.cxx.

◆ WriteMainText()

void WW8Export::WriteMainText ( )
private

◆ WriteNumbering()

void WW8Export::WriteNumbering ( )
overrideprivatevirtual

◆ WriteOutliner()

void WW8Export::WriteOutliner ( const OutlinerParaObject rOutliner,
sal_uInt8  nTyp 
)

◆ WritePostItBegin()

void WW8Export::WritePostItBegin ( ww::bytes pO = nullptr)

◆ WriteSdrTextObj()

void WW8Export::WriteSdrTextObj ( const SdrTextObj rObj,
sal_uInt8  nTyp 
)

◆ WriteStringAsPara()

void WW8Export::WriteStringAsPara ( const OUString &  rText)

Member Data Documentation

◆ m_bDot

bool WW8Export::m_bDot

Template or document.

Definition at line 1009 of file wrtww8.hxx.

Referenced by ExportDocument_Impl().

◆ m_pAttrOutput

std::unique_ptr<WW8AttributeOutput> WW8Export::m_pAttrOutput
protected

Converting attributes to stream data.

Definition at line 1013 of file wrtww8.hxx.

Referenced by AttrOutput(), OutGrf(), and WriteFootnoteBegin().

◆ m_pDataStrm

SvStream * WW8Export::m_pDataStrm

◆ m_pDop

std::unique_ptr<WW8Dop> WW8Export::m_pDop

◆ m_pEdn

std::unique_ptr<WW8_WrPlcFootnoteEdn> WW8Export::m_pEdn

Endnotes - structure to remember them, and output.

Definition at line 1006 of file wrtww8.hxx.

Referenced by ExportDocument_Impl(), StoreDoc1(), WW8AttributeOutput::TextFootnote_Impl(), and WriteFkpPlcUsw().

◆ m_pFib

std::unique_ptr<WW8Fib> WW8Export::m_pFib

◆ m_pFootnote

std::unique_ptr<WW8_WrPlcFootnoteEdn> WW8Export::m_pFootnote

Footnotes - structure to remember them, and output.

Definition at line 1005 of file wrtww8.hxx.

Referenced by ExportDocument_Impl(), StoreDoc1(), WW8AttributeOutput::TextFootnote_Impl(), and WriteFkpPlcUsw().

◆ m_pO

std::unique_ptr<ww::bytes> WW8Export::m_pO

Buffer.

Definition at line 999 of file wrtww8.hxx.

Referenced by WW8AttributeOutput::CharAnimatedText(), WW8AttributeOutput::CharBackground(), WW8AttributeOutput::CharBidiRTL(), WW8AttributeOutput::CharBorder(), WW8AttributeOutput::CharColor(), WW8AttributeOutput::CharEmphasisMark(), WW8AttributeOutput::CharEscapement(), WW8AttributeOutput::CharHighlight(), WW8AttributeOutput::CharIdctHint(), WW8AttributeOutput::CharRelief(), WW8AttributeOutput::CharRotate(), WW8AttributeOutput::CharTwoLines(), WW8AttributeOutput::CharUnderline(), DisallowInheritingOutlineNumbering(), WW8AttributeOutput::EndParagraph(), WW8AttributeOutput::EndRunProperties(), WW8AttributeOutput::EndStyle(), WW8AttributeOutput::EndStyleProperties(), ExportDocument_Impl(), WW8AttributeOutput::FormatAnchor(), WW8AttributeOutput::FormatBackground(), WW8AttributeOutput::FormatColumns_Impl(), WW8AttributeOutput::FormatDrop(), WW8AttributeOutput::FormatFillStyle(), WW8AttributeOutput::FormatFrameDirection(), WW8AttributeOutput::FormatFrameSize(), WW8AttributeOutput::FormatKeep(), WW8AttributeOutput::FormatLineNumbering(), WW8AttributeOutput::FormatSurround(), WW8AttributeOutput::FormatULSpace(), GetCurrentItems(), InsUInt16(), InsUInt32(), WW8AttributeOutput::NumberingLevel(), Out_CellRangeBorders(), Out_SwFormatBox(), OutGrf(), OutGrfBullets(), WW8AttributeOutput::OutputFKP(), WW8AttributeOutput::OutputWW8Attribute(), WW8AttributeOutput::OutputWW8AttributeCTL(), OutSprmBytes(), WW8AttributeOutput::PageBreakBefore(), WW8AttributeOutput::ParaAdjust(), WW8AttributeOutput::ParaForbiddenRules(), WW8AttributeOutput::ParagraphStyle(), WW8AttributeOutput::ParaHangingPunctuation(), WW8AttributeOutput::ParaHyphenZone(), WW8AttributeOutput::ParaNumRule_Impl(), WW8AttributeOutput::ParaOutlineLevel(), WW8AttributeOutput::ParaScriptSpace(), WW8AttributeOutput::ParaSnapToGrid(), WW8AttributeOutput::ParaSplit(), WW8AttributeOutput::ParaWidows(), WW8AttributeOutput::PostitField(), WW8AttributeOutput::Redline(), RestoreData(), WW8AttributeOutput::RTLAndCJKState(), SaveData(), WW8AttributeOutput::SectFootnoteEndnotePr(), WW8AttributeOutput::SectionBiDi(), WW8AttributeOutput::SectionFormProtection(), WW8AttributeOutput::SectionLineNumbering(), WW8AttributeOutput::SectionPageBorders(), WW8AttributeOutput::SectionPageNumbering(), WW8AttributeOutput::SectionRtlGutter(), WW8AttributeOutput::SectionTitlePage(), WW8AttributeOutput::SectionType(), SetupSectionPositions(), WW8AttributeOutput::StartRun(), WW8AttributeOutput::StartSection(), WW8AttributeOutput::StartStyle(), WW8AttributeOutput::StartStyleProperties(), WW8AttributeOutput::TableBackgrounds(), WW8AttributeOutput::TableCanSplit(), WW8AttributeOutput::TableCellBorders(), WW8AttributeOutput::TableDefaultBorders(), WW8AttributeOutput::TableDefinition(), WW8AttributeOutput::TableInfoCell(), WW8AttributeOutput::TableInfoRow(), WW8AttributeOutput::TableNodeInfoInner(), WW8AttributeOutput::TablePositioning(), WW8AttributeOutput::TableSpacing(), WW8AttributeOutput::TableVerticalCell(), WW8AttributeOutput::TextFootnote_Impl(), WW8AttributeOutput::TextLineBreak(), WW8AttributeOutput::TextVerticalAdjustment(), WriteFootnoteBegin(), and WriteOutliner().

◆ m_pSepx

std::unique_ptr<WW8_WrPlcSepx> WW8Export::m_pSepx

◆ m_pTableStrm

SvStream* WW8Export::m_pTableStrm

◆ m_pWriter

SwWW8Writer* WW8Export::m_pWriter
protected

Pointer to the writer.

Definition at line 1012 of file wrtww8.hxx.

Referenced by GetWriter(), Strm(), and TestOleNeedsGraphic().

◆ m_xEscherStg

tools::SvRef<SotStorage> WW8Export::m_xEscherStg
private

Definition at line 1016 of file wrtww8.hxx.

Referenced by WriteFkpPlcUsw().


The documentation for this class was generated from the following files: