LibreOffice Module sw (master) 1
Classes | Macros | Typedefs | Functions | Variables
wrtww8.cxx File Reference
#include <memory>
#include <iostream>
#include <com/sun/star/embed/ElementModes.hpp>
#include <com/sun/star/embed/XStorage.hpp>
#include <com/sun/star/frame/XModel.hpp>
#include <com/sun/star/packages/XPackageEncryption.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <unotools/ucbstreamhelper.hxx>
#include <unotools/streamwrap.hxx>
#include <algorithm>
#include <map>
#include <hintids.hxx>
#include <string.h>
#include <o3tl/safeint.hxx>
#include <osl/endian.h>
#include <sal/log.hxx>
#include <docsh.hxx>
#include <drawdoc.hxx>
#include <unotools/fltrcfg.hxx>
#include <sot/storage.hxx>
#include <sfx2/docinf.hxx>
#include <editeng/tstpitem.hxx>
#include <svx/svdpage.hxx>
#include <editeng/hyphenzoneitem.hxx>
#include <filter/msfilter/classids.hxx>
#include <filter/msfilter/msoleexp.hxx>
#include <editeng/lrspitem.hxx>
#include <editeng/ulspitem.hxx>
#include <editeng/boxitem.hxx>
#include <editeng/brushitem.hxx>
#include <swtypes.hxx>
#include <swrect.hxx>
#include <swtblfmt.hxx>
#include <fmtcntnt.hxx>
#include <fmtpdsc.hxx>
#include <fmtrowsplt.hxx>
#include <frmatr.hxx>
#include <../../core/inc/rootfrm.hxx>
#include <doc.hxx>
#include <IDocumentSettingAccess.hxx>
#include <IDocumentDrawModelAccess.hxx>
#include <IDocumentStylePoolAccess.hxx>
#include <IDocumentStatistics.hxx>
#include <IDocumentLayoutAccess.hxx>
#include <IDocumentExternalData.hxx>
#include <viewopt.hxx>
#include <docary.hxx>
#include <pam.hxx>
#include <ndtxt.hxx>
#include <shellio.hxx>
#include <docstat.hxx>
#include <pagedesc.hxx>
#include <poolfmt.hxx>
#include <IMark.hxx>
#include <swtable.hxx>
#include "wrtww8.hxx"
#include "ww8par.hxx"
#include <swmodule.hxx>
#include <section.hxx>
#include <fmtinfmt.hxx>
#include <txtinet.hxx>
#include <fmturl.hxx>
#include <vcl/imap.hxx>
#include <vcl/imapobj.hxx>
#include <mdiexp.hxx>
#include <strings.hrc>
#include <fmtline.hxx>
#include <fmtfsize.hxx>
#include "sprmids.hxx"
#include <comphelper/sequenceashashmap.hxx>
#include <comphelper/processfactory.hxx>
#include "writerhelper.hxx"
#include "writerwordglue.hxx"
#include "ww8attributeoutput.hxx"
#include <xmloff/odffields.hxx>
#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
#include <com/sun/star/document/XDocumentProperties.hpp>
#include <dbgoutsw.hxx>
#include <sfx2/docfile.hxx>
#include <sfx2/frame.hxx>
#include <svl/stritem.hxx>
#include <unotools/tempfile.hxx>
#include <filter/msfilter/mscodec.hxx>
#include <filter/msfilter/svxmsbas.hxx>
#include <rtl/random.h>
#include <vcl/svapp.hxx>
#include <sfx2/docfilt.hxx>
#include "WW8Sttbf.hxx"
#include <editeng/charrotateitem.hxx>
#include <svx/swframetypes.hxx>
#include "WW8FibData.hxx"
#include <numrule.hxx>
#include <fmtclds.hxx>
#include <rdfhelper.hxx>
#include <fmtclbl.hxx>
#include <iodetect.hxx>
Include dependency graph for wrtww8.cxx:

Go to the source code of this file.

Classes

class  WW8_WrFkp
 FKP - Formatted disK Page. More...
 
class  WW8_WrPc
 
class  WW8_WrtBookmarks
 
class  WW8_WrtFactoids
 Handles export of smart tags. More...
 

Macros

#define DEFAULT_STYLES_COUNT   16
 

Typedefs

typedef std::map< OUString, tools::LongBKMKNames
 
typedef std::pair< bool, OUString > BKMK
 
typedef std::pair< tools::Long, BKMKBKMKCP
 
typedef std::multimap< tools::Long, BKMKCP * > BKMKCPs
 
typedef BKMKCPs::iterator CPItr
 
typedef ww8::WW8Sttb< ww8::WW8StructWW8SttbAssoc
 

Functions

static void WriteDop (WW8Export &rWrt)
 
static int lcl_CmpBeginEndChars (const OUString &rSWStr, const sal_Unicode *pMSStr, int nMSStrByteLen)
 
static sal_uInt16 lcl_TCFlags (SwDoc &rDoc, const SwTableBox *pBox, sal_Int32 nRowSpan)
 
SAL_DLLPUBLIC_EXPORT sal_uInt32 SaveOrDelMSVBAStorage_ww8 (SfxObjectShell &rDoc, SotStorage &rStor, sal_Bool bSaveInto, const OUString &rStorageName)
 
SAL_DLLPUBLIC_EXPORT void ExportDOC (std::u16string_view rFltName, const OUString &rBaseURL, WriterRef &xRet)
 
SAL_DLLPUBLIC_EXPORT sal_uInt32 GetSaveWarningOfMSVBAStorage_ww8 (SfxObjectShell &rDocS)
 

Variables

constexpr OUStringLiteral sMainStream = u"WordDocument"
 
constexpr OUStringLiteral sCompObj = u"\1CompObj"
 
static sal_uInt8 nAttrMagicIdx = 0
 

Macro Definition Documentation

◆ DEFAULT_STYLES_COUNT

#define DEFAULT_STYLES_COUNT   16

Definition at line 445 of file wrtww8.cxx.

Typedef Documentation

◆ BKMK

typedef std::pair<bool,OUString> BKMK

Definition at line 183 of file wrtww8.cxx.

◆ BKMKCP

typedef std::pair<tools::Long,BKMK> BKMKCP

Definition at line 184 of file wrtww8.cxx.

◆ BKMKCPs

typedef std::multimap<tools::Long,BKMKCP*> BKMKCPs

Definition at line 185 of file wrtww8.cxx.

◆ BKMKNames

typedef std::map<OUString,tools::Long> BKMKNames

Definition at line 182 of file wrtww8.cxx.

◆ CPItr

typedef BKMKCPs::iterator CPItr

Definition at line 186 of file wrtww8.cxx.

◆ WW8SttbAssoc

Definition at line 2981 of file wrtww8.cxx.

Function Documentation

◆ ExportDOC()

SAL_DLLPUBLIC_EXPORT void ExportDOC ( std::u16string_view  rFltName,
const OUString &  rBaseURL,
WriterRef xRet 
)

Definition at line 3967 of file wrtww8.cxx.

Referenced by GetWW8Writer().

◆ GetSaveWarningOfMSVBAStorage_ww8()

SAL_DLLPUBLIC_EXPORT sal_uInt32 GetSaveWarningOfMSVBAStorage_ww8 ( SfxObjectShell rDocS)

◆ lcl_CmpBeginEndChars()

static int lcl_CmpBeginEndChars ( const OUString &  rSWStr,
const sal_Unicode pMSStr,
int  nMSStrByteLen 
)
static

Definition at line 562 of file wrtww8.cxx.

Referenced by WW8Export::ExportDopTypography().

◆ lcl_TCFlags()

static sal_uInt16 lcl_TCFlags ( SwDoc rDoc,
const SwTableBox pBox,
sal_Int32  nRowSpan 
)
static

◆ SaveOrDelMSVBAStorage_ww8()

SAL_DLLPUBLIC_EXPORT sal_uInt32 SaveOrDelMSVBAStorage_ww8 ( SfxObjectShell rDoc,
SotStorage rStor,
sal_Bool  bSaveInto,
const OUString &  rStorageName 
)

Definition at line 3961 of file wrtww8.cxx.

References SvxImportMSVBasic::SaveOrDelMSVBAStorage().

Referenced by SaveOrDelMSVBAStorage().

◆ WriteDop()

static void WriteDop ( WW8Export rWrt)
static

Definition at line 451 of file wrtww8.cxx.

References ADD_EXT_LEADING, WW8Dop::cCh, WW8Dop::cChFootnoteEdn, WW8Dop::cLines, WW8Dop::cLinesFootnoteEdn, WW8Dop::cParas, WW8Dop::cParasFootnoteEdn, WW8Dop::cPg, WW8Dop::cPgFootnoteEdn, WW8Dop::cWords, WW8Dop::cWordsFootnoteEnd, sw::ms::DateTime2DTTM(), DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK, WW8Dop::dttmCreated, WW8Dop::dttmLastPrint, WW8Dop::dttmRevised, WW8Dop::dxaTab, WW8Dop::fDontUseHTMLAutoSpacing, WW8Dop::fExpShRtn, WW8Dop::fNoLeading, WW8Dop::fProtEnabled, WW8Dop::fUsePrinterMetrics, WW8Dop::fWCFootnoteEdn, IDocumentSettingAccess::get(), SwDoc::GetAttrPool(), IDocumentLayoutAccess::GetCurrentViewShell(), SfxItemPool::GetDefaultItem(), SwDoc::GetDocShell(), IDocumentStatistics::GetDocStat(), SwDoc::getIDocumentLayoutAccess(), SwDoc::getIDocumentSettingAccess(), SwDoc::getIDocumentStatistics(), SfxObjectShell::GetModel(), SfxObjectShell::GetModifyPasswordHash(), IDocumentSettingAccess::Getn32DummyCompatibilityOptions1(), IDocumentSettingAccess::Getn32DummyCompatibilityOptions2(), comphelper::SequenceAsHashMap::getValue(), SwViewShell::GetViewOptions(), SwViewOption::GetZoom(), SwViewOption::GetZoomType(), GUTTER_AT_TOP, WW8Dop::iGutterPos, WW8Dop::lKeyProtDoc, WW8Export::m_pDop, WW8Export::m_pFib, WW8Export::m_pSepx, WW8Export::m_pTableStrm, MSWordExportBase::m_rDoc, SwDocStat::nChar, SwDocStat::nPage, SwDocStat::nPara, SwDocStat::nWord, PARA_SPACE_MAX, PROTECT_FORM, RES_PARATR_TABSTOP(), WW8Dop::SetCompatibilityOptions(), WW8Dop::SetCompatibilityOptions2(), USE_VIRTUAL_DEVICE, WW8Dop::Write(), WW8Dop::wScaleSaved, and WW8Dop::zkSaved.

Referenced by WW8Export::WriteFkpPlcUsw().

Variable Documentation

◆ nAttrMagicIdx

sal_uInt8 nAttrMagicIdx = 0
static

Definition at line 1598 of file wrtww8.cxx.

Referenced by WW8Export::OutGrf(), and WW8Export::OutGrfBullets().

◆ sCompObj

constexpr OUStringLiteral sCompObj = u"\1CompObj"
constexpr

Definition at line 449 of file wrtww8.cxx.

Referenced by WW8Export::PrepareStorage().

◆ sMainStream

constexpr OUStringLiteral sMainStream = u"WordDocument"
constexpr

Definition at line 448 of file wrtww8.cxx.