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:
Collaboration diagram for WW8Export:

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) 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_uLong 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 (sal_uLong nStt, sal_uLong 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 (sal_uLong nStart, sal_uLong 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)
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 bool ignoreAttributeForStyleDefaults (sal_uInt16) const
 Used to filter out attributes that can be e.g. written to .doc but not to .docx. More...
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...
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...
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
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...
bool GetNumberFormat (const SwField &rField, OUString &rStr)
const SfxPoolItemHasItem (sal_uInt16 nWhich) const
int GetGrfIndex (const SvxBrushItem &rBrush)
 Returns the index of a picture bullet, used in numberings. More...
 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::bytespO
 Buffer. More...
 Streams for WW97 Export. More...
std::unique_ptr< WW8FibpFib
 File Information Block. More...
std::unique_ptr< WW8DoppDop
 Document Properties. More...
std::unique_ptr< WW8_WrPlcFootnoteEdnpFootnote
 Footnotes - structure to remember them, and output. More...
std::unique_ptr< WW8_WrPlcFootnoteEdnpEdn
 Endnotes - structure to remember them, and output. More...
std::unique_ptr< WW8_WrPlcSepxpSepx
 Sections/headers/footers. More...
bool m_bDot
 Template or document. More...
- Public Attributes inherited from MSWordExportBase
wwFontHelper m_aFontHelper
std::vector< sal_uLongm_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::unique_ptr< SvxMSExportOLEObjectsm_pOLEExp
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
bool m_bFirstTOCNodeWithSection
std::unique_ptr< WW8_WrPlcPnm_pPapPlc
std::unique_ptr< WW8_WrPlcPnm_pChpPlc
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
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::BroadcastingModifym_pOutFormatNode
const SwFormatm_pCurrentStyle
std::unique_ptr< MainTextPlcDrawObjm_pSdrObjs
std::unique_ptr< HdFtPlcDrawObjm_pHFSdrObjs
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
sal_uLong m_nCurStart
sal_uLong m_nCurEnd
std::shared_ptr< SwUnoCursor > & m_pCurPam
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
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
void OutputStartNode (const SwStartNode &)
 Output SwStartNode. More...
virtual void OutputEndNode (const SwEndNode &)
 Output SwEndNode. More...
void OutputSectionNode (const SwSectionNode &)
 Output SwSectionNode. More...
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 (sal_uLong nStt, sal_uLong 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

 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< SotStoragexEscherStg

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 988 of file wrtww8.hxx.

Constructor & Destructor Documentation

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

Setup the exporter.

Definition at line 3914 of file wrtww8.cxx.

WW8Export::~WW8Export ( )

Definition at line 3926 of file wrtww8.cxx.

WW8Export::WW8Export ( const WW8Export )

Member Function Documentation

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

Definition at line 1656 of file wrtww8.cxx.

References MSWordExportBase::m_pRedlAuthors, and SW_MOD.

Referenced by WW8AttributeOutput::Redline().

virtual bool WW8Export::AddSectionBreaksForTOX ( ) const

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

Implements MSWordExportBase.

Definition at line 1021 of file wrtww8.hxx.

void WW8Export::AppendAnnotationMarks ( const SwWW8AttrIter rAttrs,
sal_Int32  nCurrentPos,
sal_Int32  nLen 
void WW8Export::AppendBookmark ( const OUString &  rName)

Implements MSWordExportBase.

Definition at line 1493 of file wrtww8.cxx.

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

Referenced by ExportGrfBullet().

void WW8Export::AppendBookmarkEndWithCorrection ( const OUString &  rName)

Definition at line 1499 of file wrtww8.cxx.

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

void WW8Export::AppendBookmarks ( const SwTextNode rNd,
sal_Int32  nCurrentPos,
sal_Int32  nLen 
void WW8Export::AppendFlyInFlys ( const ww8::Frame rFrameFormat,
const Point rNdTopLeft 
void WW8Export::AppendSection ( const SwPageDesc pPageDesc,
const SwSectionFormat pFormat,
sal_uLong  nLnNum 

Implements MSWordExportBase.

Definition at line 3370 of file wrtw8nds.cxx.

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

void WW8Export::AppendSmartTags ( SwTextNode rTextNode)

Reimplemented from MSWordExportBase.

Definition at line 1478 of file wrtww8.cxx.

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

AttributeOutputBase & WW8Export::AttrOutput ( ) const

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

Access to the attribute output class.

Implements MSWordExportBase.

Definition at line 3930 of file wrtww8.cxx.

References m_pAttrOutput.

Referenced by WriteOutliner().

bool WW8Export::CollapseScriptsforWordOk ( sal_uInt16  nScript,
sal_uInt16  nWhich 
void WW8Export::CreateEscher ( )
WW8_WrPlcField * WW8Export::CurrentFieldPlc ( ) const


Definition at line 1779 of file ww8atr.cxx.


SwTwips WW8Export::CurrentPageWidth ( SwTwips rLeft,
SwTwips rRight 
) const
bool WW8Export::DisallowInheritingOutlineNumbering ( const SwFormat rFormat)

Return value indicates if an inherited outline numbering is suppressed.

Implements MSWordExportBase.

Definition at line 795 of file ww8atr.cxx.

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

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

Implements MSWordExportBase.

void WW8Export::DoFormText ( const SwInputField pField)
void WW8Export::EndCommentOutput ( std::u16string_view  rName)

Definition at line 1962 of file ww8atr.cxx.

References Close, CmdEnd, End, and ww::eQUOTE.

Referenced by WW8AttributeOutput::OutputFlyFrame_Impl().

ErrCode WW8Export::ExportDocument_Impl ( )

Format-dependent part of the actual export.

Implements MSWordExportBase.

Definition at line 3450 of file wrtww8.cxx.

References SL::a1Table, SL::aData, CHP, tools::SvRef< T >::clear(), Writer::CreateBookmarkTable(), utl::TempFile::EnableKillingFile(), err, ERRCODE_NONE, tools::SvRef< T >::get(), IDocumentLayoutAccess::GetCurrentLayout(), msfilter::MSCodec97::GetDocId(), msfilter::MSCodec_Std97::GetEncryptKey(), SwDoc::getIDocumentLayoutAccess(), SwDoc::getIDocumentStylePoolAccess(), SwFormat::GetItemState(), StgWriter::GetStorage(), utl::TempFile::GetStream(), IDocumentStylePoolAccess::GetTextCollFromPool(), GetWriter(), SwWW8Writer::InitStd97CodecUpdateMedium(), IsHyphen(), MSWordExportBase::m_aMainStg, m_bDot, MSWordExportBase::m_nOrigRedlineFlags, MSWordExportBase::m_pAtn, MSWordExportBase::m_pBkmks, MSWordExportBase::m_pChpPlc, MSWordExportBase::m_pFactoids, MSWordExportBase::m_pFieldAtn, MSWordExportBase::m_pFieldEdn, MSWordExportBase::m_pFieldFootnote, MSWordExportBase::m_pFieldHdFt, MSWordExportBase::m_pFieldHFTextBxs, MSWordExportBase::m_pFieldMain, MSWordExportBase::m_pFieldTextBxs, MSWordExportBase::m_pGrf, MSWordExportBase::m_pHFSdrObjs, MSWordExportBase::m_pHFTextBxs, MSWordExportBase::m_pMagicTable, MSWordExportBase::m_pPapPlc, MSWordExportBase::m_pPiece, MSWordExportBase::m_pRedlAuthors, MSWordExportBase::m_pSdrObjs, MSWordExportBase::m_pStyles, MSWordExportBase::m_pTextBxs, MSWordExportBase::m_rDoc, On, SotStorage::OpenSotStream(), PAP, pDataStrm, pDop, pEdn, pFib, pFootnote, pO, PrepareStorage(), pSepx, pTableStrm, 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().

void WW8Export::ExportDopTypography ( WW8DopTypography rTypo)
void WW8Export::ExportGrfBullet ( const SwTextNode rNd)
WW8_CP WW8Export::Fc2Cp ( sal_uLong  nFc) const
virtual bool WW8Export::FieldsQuoted ( ) const

Determines if the import filter already quoted fields or not.

Implements MSWordExportBase.

Definition at line 1019 of file wrtww8.hxx.

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

Definition at line 892 of file wrtw8nds.cxx.

References pO.

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

const SvxBrushItem * WW8Export::GetCurrentPageBgBrush ( ) const
virtual ExportFormat WW8Export::GetExportFormat ( ) const

Implements MSWordExportBase.

Definition at line 1194 of file wrtww8.hxx.

unsigned int WW8Export::GetHdFtIndex ( ) const

Definition at line 1132 of file wrtww8.hxx.

References MSWordExportBase::m_nHdFtIndex.

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

sal_uInt8 WW8Export::GetNumId ( sal_uInt16  eNumType)
SwMSConvertControls& WW8Export::GetOCXExp ( )

Definition at line 1048 of file wrtww8.hxx.

References MSWordExportBase::m_pOCXExp.

Referenced by WW8_WrPlcSubDoc::WriteGenericText().

sal_uInt32 WW8Export::GetSdrOrdNum ( const SwFrameFormat rFormat) const
SwWW8Writer& WW8Export::GetWriter ( ) const
void WW8Export::IncrementHdFtIndex ( )

Definition at line 1134 of file wrtww8.hxx.

References MSWordExportBase::m_nHdFtIndex.

Referenced by WriteHeadersFooters().

void WW8Export::InsInt16 ( sal_Int16  n)

Definition at line 1153 of file wrtww8.hxx.

References InsUInt16().

Referenced by WW8AttributeOutput::TableDefinition().

void WW8Export::InsUInt16 ( sal_uInt16  n)
void WW8Export::InsUInt32 ( sal_uInt32  n)
bool WW8Export::MiserableFormFieldExportHack ( const SwFrameFormat rFrameFormat)
void WW8Export::MiserableRTLFrameFormatHack ( SwTwips rLeft,
SwTwips rRight,
const ww8::Frame rFrameFormat 
void WW8Export::MoveFieldMarks ( WW8_CP  nFrom,
WW8_CP  nTo 

Definition at line 1488 of file wrtww8.cxx.

References MSWordExportBase::m_pBkmks.

WW8Export& WW8Export::operator= ( const WW8Export )
void WW8Export::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.

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

Definition at line 4525 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(), and NS_sprm::sprm< ispmd, fSpec, sgc, spra >::val.

Referenced by WW8AttributeOutput::CharBorder().

void WW8Export::Out_CellRangeBorders ( const SvxBoxItem pBox,
sal_uInt8  nStart,
sal_uInt8  nLimit 
void WW8Export::Out_SwFormatBox ( const SvxBoxItem rBox,
bool  bShadow 

is for all boxes except in tables.

pO of the WW8Writer is used


Definition at line 4567 of file ww8atr.cxx.

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

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

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 )

rOA WW8Bytes pointer is passed in as output parameter

Definition at line 4622 of file ww8atr.cxx.

References SvxBoxItem::GetLine().

Referenced by WW8AttributeOutput::TableDefinition().

void WW8Export::OutGrf ( const ww8::Frame rFrame)
void WW8Export::OutGrfBullets ( const ww8::Frame rFrame)
void WW8Export::OutListNamesTab ( )
void WW8Export::OutOverrideListTab ( )

Definition at line 591 of file wrtw8num.cxx.

References SwWW8Writer::FillCount(), n, and nCount.

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

Output SwGrfNode.

Implements MSWordExportBase.

Definition at line 74 of file wrtww8gr.cxx.

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

void WW8Export::OutputLinkedOLE ( const OUString &  rOleId)
void WW8Export::OutputOLENode ( const SwOLENode rOLENode)
void WW8Export::OutSprmBytes ( sal_uInt8 pBytes,
sal_uInt16  nSiz 

Definition at line 1104 of file wrtww8.hxx.

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

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

Implements MSWordExportBase.

Definition at line 1017 of file wrtww8.hxx.

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

Helper method for OutputSectionBreaks() and OutputFollowPageDesc().

Implements MSWordExportBase.

Definition at line 670 of file ww8atr.cxx.

References msword::PageBreak.

void WW8Export::PrepareStorage ( )
sal_uLong WW8Export::ReplaceCr ( sal_uInt8  nChar)

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.

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

Implements MSWordExportBase.

Definition at line 3840 of file ww8atr.cxx.

References o3tl::make_unsigned(), nPos, SvStream::ReadUInt16(), rStrm, SvStream::Seek(), SvStream::SeekRel(), and SvStream::Tell().

void WW8Export::RestoreData ( )
void WW8Export::RestoreMacroCmds ( )
void WW8Export::SaveData ( sal_uLong  nStt,
sal_uLong  nEnd 

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

Reimplemented from MSWordExportBase.

Definition at line 1947 of file wrtww8.cxx.

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

Referenced by WW8AttributeOutput::OutputFlyFrame_Impl().

void WW8Export::SectionBreaksAndFrames ( const SwTextNode rNode)
MSWordSections & WW8Export::Sections ( ) const

Access to the sections/headers/footres.

Implements MSWordExportBase.

Definition at line 3935 of file wrtww8.cxx.

References pSepx.

void WW8Export::SetHdFtIndex ( unsigned int  nHdFtIndex)

Definition at line 1133 of file wrtww8.hxx.

Referenced by WW8_WrPlcSepx::WriteKFText().

void WW8Export::SetupSectionPositions ( WW8_PdAttrDesc pA)

Setup the pA's info.

Reimplemented from MSWordExportBase.

Definition at line 1459 of file wrtw8sty.cxx.

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

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

Definition at line 1956 of file ww8atr.cxx.

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

Referenced by WW8AttributeOutput::OutputFlyFrame_Impl().

void WW8Export::StoreDoc1 ( )
SvStream& WW8Export::Strm ( ) const
bool WW8Export::TestOleNeedsGraphic ( const SwAttrSet rSet,
tools::SvRef< SotStorage > const &  xOleStg,
const tools::SvRef< SotStorage > &  xObjStg,
OUString const &  rStorageName,
bool WW8Export::TransBrush ( const Color rCol,
WW8_SHD rShd 

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

real brush ( not transparent )

Definition at line 1608 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().

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

Definition at line 4421 of file ww8atr.cxx.

References DEF_LINE_WIDTH_0, and wwUtility::RGBToBGR().

Referenced by SwWW8WrGrf::WritePICFHeader().

std::shared_ptr< SvxBrushItem > WW8Export::TrueFrameBgBrush ( const SwFrameFormat rFlyFormat) const
void WW8Export::WriteAsStringTable ( const std::vector< OUString > &  rStrings,
sal_Int32 &  rfcSttbf,
sal_Int32 &  rlcbSttbf 
void WW8Export::WriteChar ( sal_Unicode  c)
void WW8Export::WriteCR ( ww8::WW8TableNodeInfoInner::Pointer_t  pTableTextNodeInfoInner = ww8::WW8TableNodeInfoInner::Pointer_t())
void WW8Export::WriteEscher ( )
void WW8Export::WriteFkpPlcUsw ( )
void WW8Export::WriteFootnoteBegin ( const SwFormatFootnote rFootnote,
ww::bytes pO = nullptr 
void WW8Export::WriteFormData ( const ::sw::mark::IFieldmark rFieldmark)
void WW8Export::WriteHeadersFooters ( sal_uInt8  nHeadFootFlags,
const SwFrameFormat rFormat,
const SwFrameFormat rLeftHeaderFormat,
const SwFrameFormat rLeftFooterFormat,
const SwFrameFormat rFirstPageFormat,
sal_uInt8  nBreakCode,
bool  bEvenAndOddHeaders 
void WW8Export::WriteHyperlinkData ( const ::sw::mark::IFieldmark rFieldmark)

Implements MSWordExportBase.

Definition at line 4318 of file wrtww8.cxx.

void WW8Export::WriteMainText ( )
void WW8Export::WriteNumbering ( )

Output the numbering table.

Implements MSWordExportBase.

Definition at line 174 of file wrtw8num.cxx.

Referenced by WriteFkpPlcUsw().

void WW8Export::WriteOutliner ( const OutlinerParaObject rOutliner,
sal_uInt8  nTyp 
void WW8Export::WritePostItBegin ( ww::bytes pO = nullptr)
void WW8Export::WriteSdrTextObj ( const SdrTextObj rObj,
sal_uInt8  nTyp 
void WW8Export::WriteStringAsPara ( const OUString &  rText)

Member Data Documentation

bool WW8Export::m_bDot

Template or document.

Definition at line 1001 of file wrtww8.hxx.

Referenced by ExportDocument_Impl().

std::unique_ptr<WW8AttributeOutput> WW8Export::m_pAttrOutput

Converting attributes to stream data.

Definition at line 1005 of file wrtww8.hxx.

Referenced by AttrOutput(), and OutGrf().

SwWW8Writer* WW8Export::m_pWriter

Pointer to the writer.

Definition at line 1004 of file wrtww8.hxx.

Referenced by GetWriter(), and TestOleNeedsGraphic().

SvStream * WW8Export::pDataStrm
std::unique_ptr<WW8Dop> WW8Export::pDop
std::unique_ptr<WW8_WrPlcFootnoteEdn> WW8Export::pEdn

Endnotes - structure to remember them, and output.

Definition at line 998 of file wrtww8.hxx.

Referenced by ExportDocument_Impl(), StoreDoc1(), and WriteFkpPlcUsw().

std::unique_ptr<WW8Fib> WW8Export::pFib
std::unique_ptr<WW8_WrPlcFootnoteEdn> WW8Export::pFootnote

Footnotes - structure to remember them, and output.

Definition at line 997 of file wrtww8.hxx.

Referenced by ExportDocument_Impl(), StoreDoc1(), and WriteFkpPlcUsw().

std::unique_ptr<ww::bytes> WW8Export::pO
std::unique_ptr<WW8_WrPlcSepx> WW8Export::pSepx
SvStream* WW8Export::pTableStrm
tools::SvRef<SotStorage> WW8Export::xEscherStg

Definition at line 1008 of file wrtww8.hxx.

Referenced by WriteFkpPlcUsw().

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