20#ifndef INCLUDED_SW_SOURCE_FILTER_WW8_RTFEXPORT_HXX
21#define INCLUDED_SW_SOURCE_FILTER_WW8_RTFEXPORT_HXX
76 sal_Int32 nLen)
override;
101 bool bEvenAndOddHeaders)
override;
108 void WriteFormData(const ::sw::mark::IFieldmark& rFieldmark)
override;
111 void DoComboBox(
const OUString& rName,
const OUString& rHelp,
const OUString& ToolTip,
112 const OUString& rSelected,
113 const css::uno::Sequence<OUString>& rListItems)
override;
130 bool bExtraPageBreak =
false)
override;
155 SwPaM& rOriginalPam,
Writer* pWriter,
bool bOutOutlineOnly =
false);
189 void OutUnicode(std::string_view pToken, std::u16string_view rContent,
bool bUpr =
false);
190 void OutDateTime(std::string_view pStr,
const css::util::DateTime& rDT);
197 sal_uInt16
GetRedline(
const OUString& rAuthor);
200 void InsStyle(sal_uInt16 nId,
const OString& rStyle);
225 bool bTitlepg =
false);
Base class for WW8Export and DocxExport.
Class to collect and output the sections/headers/footers.
The class that has handlers for various resource types when exporting as RTF.
The physical access to the RTF document (for writing).
The class that does all the actual RTF export-related work.
void WriteNumbering() override
Write the numbering table.
void OutDateTime(std::string_view pStr, const css::util::DateTime &rDT)
sal_uInt16 GetColor(const Color &rColor) const
void WriteUserPropValue(std::u16string_view rValue)
Writes a single user property value.
void SetCurrentEncoding(rtl_TextEncoding eCurrentEncoding)
void OutputGrfNode(const SwGrfNode &rGrfNode) override
Output SwGrfNode.
SwNodeOffset m_nCurrentNodeIndex
Index of the current SwTextNode, if any.
void WriteRevTab()
Write the revision table.
void OutputEndNode(const SwEndNode &rEndNode) override
Output SwEndNode.
std::unique_ptr< MSWordSections > m_pSections
Sections/headers/footers.
std::unique_ptr< RtfAttributeOutput > m_pAttrOutput
Attribute output for document.
void WriteFormData(const ::sw::mark::IFieldmark &rFieldmark) override
Write the data of the form field.
void WriteHeaderFooter(const SfxPoolItem &rItem, bool bHeader)
RtfExport & operator=(const RtfExport &)=delete
RtfColorTable m_aColTable
void WriteChar(sal_Unicode c) override
RtfExport(const RtfExport &)=delete
void setStream()
From now on, let Strm() return a memory stream, not a real one.
rtl_TextEncoding GetDefaultEncoding() const
std::map< OUString, sal_uInt16 > m_aRedlineTable
std::unique_ptr< RtfSdrExport > m_pSdrExport
void OutPageDescription(const SwPageDesc &rPgDsc, bool bCheckForFirstPage)
const SfxItemSet * m_pFirstPageItemSet
Item set of the first page during export of a follow page format.
void OutputOLENode(const SwOLENode &rOLENode) override
Output SwOLENode.
RtfExport(RtfExportFilter *pFilter, SwDoc &rDocument, std::shared_ptr< SwUnoCursor > &pCurrentPam, SwPaM &rOriginalPam, Writer *pWriter, bool bOutOutlineOnly=false)
Pass the pDocument, pCurrentPam and pOriginalPam to the base class.
MSWordSections & Sections() const override
Access to the sections/headers/footres.
void AppendAnnotationMarks(const SwWW8AttrIter &rAttrs, sal_Int32 nCurrentPos, sal_Int32 nLen) override
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.
std::unique_ptr< SvMemoryStream > m_pStream
If set, then Strm() returns this stream, instead of m_pWriter's stream.
void OutUnicode(std::string_view pToken, std::u16string_view rContent, bool bUpr=false)
void OutputTextNode(SwTextNode &rNode) override
Output SwTextNode is depending on outline export mode.
void InsColorLine(const SvxBoxItem &rBox)
void AppendBookmark(const OUString &rName) override
void WriteUserPropType(int nType)
Writes a single user property type.
void AppendBookmarks(const SwTextNode &rNode, sal_Int32 nCurrentPos, sal_Int32 nLen, const SwRedlineData *pSwRedlineData=nullptr) override
bool GetRTFFlySyntax() const
OString getStream()
Get the contents of the memory stream as a string.
void WriteUserProps()
Writes the userprops group: user defined document properties.
rtl_TextEncoding m_eCurrentEncoding
bool FieldsQuoted() const override
Determines if the import filter already quoted fields or not.
AttributeOutputBase & AttrOutput() const override
Access to the attribute output class.
void DoFormText(const SwInputField *pField) override
void OutputField(const SwField *pField, ww::eField eFieldType, const OUString &rFieldCmd, FieldFlags nMode=FieldFlags::All) override
Write the field.
ExportFormat GetExportFormat() const override
bool PreferPageBreakBefore() const override
If saving page break is preferred as a paragraph attribute (yes) or as a special character (no).
void BuildNumbering()
This is necessary to have the numbering table ready before the main text is being processed.
ErrCode ExportDocument_Impl() override
Format-dependent part of the actual export.
void PrepareNewPageDesc(const SfxItemSet *pSet, const SwNode &rNd, const SwFormatPageDesc *pNewPgDescFormat, const SwPageDesc *pNewPgDesc, bool bExtraPageBreak=false) override
Get ready for a new section.
void OutputLinkedOLE(const OUString &rLink) override
void AppendSection(const SwPageDesc *pPageDesc, const SwSectionFormat *pFormat, sal_uLong nLnNum) override
sal_uInt16 GetRedline(const OUString &rAuthor)
rtl_TextEncoding GetCurrentEncoding() const
bool m_bRTFFlySyntax
This is used by OutputFlyFrame_Impl() to control the written syntax.
bool AddSectionBreaksForTOX() const override
Determines the Section Breaks are to be added for TOX Section.
bool DisallowInheritingOutlineNumbering(const SwFormat &rFormat) override
Return value indicates if an inherited outline numbering is suppressed.
void SectionBreaksAndFrames(const SwTextNode &) override
void resetStream()
Return back to the real stream.
void WritePageDescTable()
Writes the writer-specific \pgdsctbl group.
void DoComboBox(const OUString &rName, const OUString &rHelp, const OUString &ToolTip, const OUString &rSelected, const css::uno::Sequence< OUString > &rListItems) override
void WriteFootnoteSettings()
RtfSdrExport & SdrExporter() const
Access to the Rtf Sdr exporter.
void InsColor(const Color &rCol)
void ExportGrfBullet(const SwTextNode &rNd) override
~RtfExport() override
Destructor.
void SetRTFFlySyntax(bool bRTFFlySyntax)
RtfExportFilter * m_pFilter
Pointer to the filter that owns us.
std::map< sal_uInt16, OString > m_aStyTable
void WriteCR(ww8::WW8TableNodeInfoInner::Pointer_t) override
bool CollapseScriptsforWordOk(sal_uInt16 nScript, sal_uInt16 nWhich) override
Guess the script (asian/western).
void WriteHyperlinkData(const ::sw::mark::IFieldmark &rFieldmark) override
void WriteDocVars()
Writes document variables.
OString * GetStyle(sal_uInt16 nId)
sal_uInt64 ReplaceCr(sal_uInt8 nChar) override
SwNodeOffset GetCurrentNodeIndex() const
const SfxItemSet * GetFirstPageItemSet() const
void InsStyle(sal_uInt16 nId, const OString &rStyle)
rtl_TextEncoding m_eDefaultEncoding
Handles export of drawings using RTF markup.
Ends a section of nodes in the document model.
Base class of all fields.
Pagedescriptor Client of SwPageDesc that is "described" by the attribute.
Base class of the Writer document model elements.
PaM is Point and Mark: a selection of the document model.
SwTextNode is a paragraph in the document model.
std::map< sal_uInt16, Color > RtfColorTable