diff options
Diffstat (limited to 'sw/source/filter/ww8/docxexport.hxx')
-rw-r--r-- | sw/source/filter/ww8/docxexport.hxx | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/sw/source/filter/ww8/docxexport.hxx b/sw/source/filter/ww8/docxexport.hxx index 3cf1397ea9b5..4838d55868c4 100644 --- a/sw/source/filter/ww8/docxexport.hxx +++ b/sw/source/filter/ww8/docxexport.hxx @@ -1,3 +1,4 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -28,15 +29,16 @@ #ifndef _DOCXEXPORT_HXX_ #define _DOCXEXPORT_HXX_ -#include "docxattributeoutput.hxx" #include "wrtww8.hxx" #include <sax/fshelper.hxx> +#include <sax/fastattribs.hxx> #include <rtl/ustring.hxx> #include <cstdio> #include <vector> +class DocxAttributeOutput; class DocxExportFilter; class SwNode; class SwEndNode; @@ -52,6 +54,10 @@ namespace oox { namespace vml { class VMLExport; } } +namespace com { namespace sun { namespace star { + namespace frame { class XModel; } +} } } + /// The class that does all the actual DOCX export-related work. class DocxExport : public MSWordExportBase { @@ -80,15 +86,20 @@ class DocxExport : public MSWordExportBase oox::vml::VMLExport *m_pVMLExport; public: + + DocxExportFilter& GetFilter() { return *m_pFilter; }; + const DocxExportFilter& GetFilter() const { return *m_pFilter; }; + /// Access to the attribute output class. virtual AttributeOutputBase& AttrOutput() const; /// Access to the sections/headers/footres. virtual MSWordSections& Sections() const; - /// Hack, unfortunately necessary at some places for now. - /// FIXME remove it when possible. - virtual bool HackIsWW8OrHigher() const { return true; } + /// Determines if the format is expected to support unicode. + virtual bool SupportsUnicode() const { return true; } + + virtual bool ignoreAttributeForStyles( sal_uInt16 nWhich ) const; /// Guess the script (asian/western). virtual bool CollapseScriptsforWordOk( sal_uInt16 nScript, sal_uInt16 nWhich ); @@ -108,7 +119,7 @@ public: /// Output the actual headers and footers. virtual void WriteHeadersFooters( sal_uInt8 nHeadFootFlags, - const SwFrmFmt& rFmt, const SwFrmFmt& rLeftFmt, const SwFrmFmt& rFirstPageFmt ); + const SwFrmFmt& rFmt, const SwFrmFmt& rLeftFmt, const SwFrmFmt& rFirstPageFmt, sal_uInt8 nBreakCode ); /// Write the field virtual void OutputField( const SwField* pFld, ww::eField eFldType, @@ -116,6 +127,7 @@ public: /// Write the data of the form field virtual void WriteFormData( const ::sw::mark::IFieldmark& rFieldmark ); + virtual void WriteHyperlinkData( const ::sw::mark::IFieldmark& rFieldmark ); virtual void DoComboBox(const rtl::OUString &rName, const rtl::OUString &rHelp, @@ -127,6 +139,9 @@ public: virtual sal_uLong ReplaceCr( sal_uInt8 nChar ); + /// Returns the relationd id + rtl::OString OutputChart( com::sun::star::uno::Reference< com::sun::star::frame::XModel >& xModel, sal_Int32 nCount ); + protected: /// Format-dependant part of the actual export. virtual void ExportDocument_Impl(); @@ -146,10 +161,11 @@ protected: /// Output SwOLENode virtual void OutputOLENode( const SwOLENode& ); + virtual void OutputLinkedOLE( const rtl::OUString& ); virtual void AppendSection( const SwPageDesc *pPageDesc, const SwSectionFmt* pFmt, sal_uLong nLnNum ); - virtual void SectionBreaksAndFrames( const SwTxtNode& rNode ) {} + virtual void SectionBreaksAndFrames( const SwTxtNode& /*rNode*/ ) {} /// Get ready for a new section. virtual void PrepareNewPageDesc( const SfxItemSet* pSet, @@ -176,6 +192,9 @@ private: /// Write docProps/core.xml void WriteProperties(); + /// All xml namespaces to be used at the top of any text .xml file (main doc, headers, footers,...) + sax_fastparser::XFastAttributeListRef MainXmlNamespaces( sax_fastparser::FSHelperPtr serializer ); + public: /// FIXME this is temporary, remotely reminding the method of the same /// name in WW8Export. @@ -200,4 +219,5 @@ private: }; #endif // _DOCXEXPORT_HXX_ -/* vi:set tabstop=4 shiftwidth=4 expandtab: */ + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |