diff options
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/inc/dmapper/DomainMapper.hxx | 1 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper.cxx | 5 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapperTableManager.cxx | 18 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapperTableManager.hxx | 5 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper_Impl.hxx | 2 | ||||
-rw-r--r-- | writerfilter/source/dmapper/StyleSheetTable.cxx | 5 | ||||
-rw-r--r-- | writerfilter/source/dmapper/StyleSheetTable.hxx | 1 | ||||
-rw-r--r-- | writerfilter/source/dmapper/TablePropertiesHandler.cxx | 6 | ||||
-rw-r--r-- | writerfilter/source/dmapper/TablePropertiesHandler.hxx | 4 | ||||
-rw-r--r-- | writerfilter/source/dmapper/TblStylePrHandler.cxx | 2 | ||||
-rw-r--r-- | writerfilter/source/ooxml/model.xml | 14 |
11 files changed, 53 insertions, 10 deletions
diff --git a/writerfilter/inc/dmapper/DomainMapper.hxx b/writerfilter/inc/dmapper/DomainMapper.hxx index dd4dc3fa68f5..054f69b54627 100644 --- a/writerfilter/inc/dmapper/DomainMapper.hxx +++ b/writerfilter/inc/dmapper/DomainMapper.hxx @@ -115,6 +115,7 @@ public: com::sun::star::uno::Reference<com::sun::star::drawing::XShape> PopPendingShape(); bool IsInHeaderFooter() const; + bool IsStyleSheetImport() const; /** @see DomainMapper_Impl::processDeferredCharacterProperties() */ diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 78d7ba0e758c..f001d99c06b2 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -3450,6 +3450,11 @@ bool DomainMapper::IsInHeaderFooter() const return m_pImpl->IsInHeaderFooter(); } +bool DomainMapper::IsStyleSheetImport() const +{ + return m_pImpl->IsStyleSheetImport(); +} + void DomainMapper::enableInteropGrabBag(const OUString& aName) { m_pImpl->m_aInteropGrabBagName = aName; diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.cxx b/writerfilter/source/dmapper/DomainMapperTableManager.cxx index efbecfe59754..75eeb619adc2 100644 --- a/writerfilter/source/dmapper/DomainMapperTableManager.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableManager.cxx @@ -32,6 +32,7 @@ #include <com/sun/star/text/WritingMode2.hpp> #include <ooxml/resourceids.hxx> #include <dmapperLoggers.hxx> +#include <dmapper/DomainMapper.hxx> namespace writerfilter { namespace dmapper { @@ -40,7 +41,7 @@ using namespace ::com::sun::star; using namespace ::std; -DomainMapperTableManager::DomainMapperTableManager(bool bOOXML) : +DomainMapperTableManager::DomainMapperTableManager(bool bOOXML, DomainMapper& rDMapper) : m_nRow(0), m_nCell(), m_nGridSpan(1), @@ -50,6 +51,7 @@ DomainMapperTableManager::DomainMapperTableManager(bool bOOXML) : m_nHeaderRepeat(0), m_nTableWidth(0), m_bOOXML( bOOXML ), + m_rDMapper( rDMapper ), m_aTmpPosition(), m_aTmpTableProperties(), m_bPushCurrentWidth(false), @@ -58,7 +60,7 @@ DomainMapperTableManager::DomainMapperTableManager(bool bOOXML) : m_bTableSizeTypeInserted(false), m_nLayoutType(0), m_nMaxFixedWidth(0), - m_pTablePropsHandler( new TablePropertiesHandler( bOOXML ) ) + m_pTablePropsHandler( new TablePropertiesHandler( bOOXML, rDMapper ) ) { m_pTablePropsHandler->SetTableManager( this ); @@ -457,6 +459,18 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) case NS_ooxml::LN_CT_TrPrBase_gridAfter: m_nGridAfter = nIntValue; break; + case NS_ooxml::LN_CT_TblPrBase_tblCaption: + // To-Do: Not yet preserved + break; + case NS_ooxml::LN_CT_TblPrBase_tblDescription: + // To-Do: Not yet preserved + break; + case NS_ooxml::LN_CT_TrPrBase_tblCellSpacing: + // To-Do: Not yet preserved + break; + case NS_ooxml::LN_CT_TblPrBase_tblCellSpacing: + // To-Do: Not yet preserved + break; default: bRet = false; diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.hxx b/writerfilter/source/dmapper/DomainMapperTableManager.hxx index 3f53e93c0259..dfb89445b4a9 100644 --- a/writerfilter/source/dmapper/DomainMapperTableManager.hxx +++ b/writerfilter/source/dmapper/DomainMapperTableManager.hxx @@ -32,6 +32,8 @@ namespace writerfilter { namespace dmapper { +class DomainMapper; + class DomainMapperTableManager : public DomainMapperTableManager_Base_t { typedef boost::shared_ptr< std::vector<sal_Int32> > IntVectorPtr; @@ -45,6 +47,7 @@ class DomainMapperTableManager : public DomainMapperTableManager_Base_t sal_Int32 m_nHeaderRepeat; //counter of repeated headers - if == -1 then the repeating stops sal_Int32 m_nTableWidth; //might be set directly or has to be calculated from the column positions bool m_bOOXML; + DomainMapper& m_rDMapper; OUString m_sTableStyleName; /// Grab-bag of table look attributes for preserving. comphelper::SequenceAsHashMap m_aTableLook; @@ -76,7 +79,7 @@ class DomainMapperTableManager : public DomainMapperTableManager_Base_t public: - DomainMapperTableManager(bool bOOXML); + DomainMapperTableManager(bool bOOXML, DomainMapper& rDMapper); virtual ~DomainMapperTableManager(); // use this method to avoid adding the properties for the table diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx index e2f9c4ba3f80..8ec93fec6e39 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx @@ -676,7 +676,7 @@ public: void appendTableManager( ) { boost::shared_ptr< DomainMapperTableManager > pMngr( - new DomainMapperTableManager( m_eDocumentType == DOCUMENT_OOXML || m_eDocumentType == DOCUMENT_RTF ) ); + new DomainMapperTableManager( m_eDocumentType == DOCUMENT_OOXML || m_eDocumentType == DOCUMENT_RTF, m_rDMapper )); m_aTableManagers.push( pMngr ); } diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx index 50e9b7eeb5e9..3d717398d01e 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.cxx +++ b/writerfilter/source/dmapper/StyleSheetTable.cxx @@ -382,7 +382,8 @@ StyleSheetTable::StyleSheetTable(DomainMapper& rDMapper, bool const bIsNewDoc) : LoggedProperties(dmapper_logger, "StyleSheetTable") , LoggedTable(dmapper_logger, "StyleSheetTable") -, m_pImpl( new StyleSheetTable_Impl(rDMapper, xTextDocument, bIsNewDoc) ) +, m_pImpl( new StyleSheetTable_Impl(rDMapper, xTextDocument, bIsNewDoc) ), +m_rDMapper( rDMapper ) { } @@ -747,7 +748,7 @@ void StyleSheetTable::lcl_sprm(Sprm & rSprm) if (!m_pImpl->m_pCurrentEntry) break; - TablePropertiesHandlerPtr pTblHandler( new TablePropertiesHandler( true ) ); + TablePropertiesHandlerPtr pTblHandler( new TablePropertiesHandler( true, m_rDMapper ) ); pTblHandler->SetProperties( m_pImpl->m_pCurrentEntry->pProperties ); if ( !pTblHandler->sprm( rSprm ) ) { diff --git a/writerfilter/source/dmapper/StyleSheetTable.hxx b/writerfilter/source/dmapper/StyleSheetTable.hxx index 43b3b432eb52..7bc40a3b6234 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.hxx +++ b/writerfilter/source/dmapper/StyleSheetTable.hxx @@ -86,6 +86,7 @@ class StyleSheetTable : public LoggedTable { StyleSheetTable_Impl *m_pImpl; + DomainMapper & m_rDMapper; public: StyleSheetTable( DomainMapper& rDMapper, diff --git a/writerfilter/source/dmapper/TablePropertiesHandler.cxx b/writerfilter/source/dmapper/TablePropertiesHandler.cxx index de66b335feee..e2d30316cce1 100644 --- a/writerfilter/source/dmapper/TablePropertiesHandler.cxx +++ b/writerfilter/source/dmapper/TablePropertiesHandler.cxx @@ -33,6 +33,7 @@ #include <com/sun/star/text/VertOrientation.hpp> #include <dmapperLoggers.hxx> #include <oox/token/tokens.hxx> +#include <dmapper/DomainMapper.hxx> using namespace com::sun::star; using namespace oox; @@ -40,10 +41,11 @@ using namespace oox; namespace writerfilter { namespace dmapper { - TablePropertiesHandler::TablePropertiesHandler( bool bOOXML ) : + TablePropertiesHandler::TablePropertiesHandler( bool bOOXML, DomainMapper& rDMapper ) : m_pCurrentInteropGrabBag(0), m_pTableManager( NULL ), - m_bOOXML( bOOXML ) + m_bOOXML( bOOXML ), + m_rDMapper( rDMapper ) { } diff --git a/writerfilter/source/dmapper/TablePropertiesHandler.hxx b/writerfilter/source/dmapper/TablePropertiesHandler.hxx index 6f4b3c762aa4..a4588e06434e 100644 --- a/writerfilter/source/dmapper/TablePropertiesHandler.hxx +++ b/writerfilter/source/dmapper/TablePropertiesHandler.hxx @@ -32,6 +32,7 @@ namespace writerfilter { namespace dmapper { +class DomainMapper; typedef ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > Handle_t; typedef TableManager<Handle_t , TablePropertyMapPtr > DomainMapperTableManager_Base_t; @@ -44,9 +45,10 @@ private: std::vector<css::beans::PropertyValue>* m_pCurrentInteropGrabBag; DomainMapperTableManager_Base_t *m_pTableManager; bool m_bOOXML; + DomainMapper& m_rDMapper; public: - TablePropertiesHandler( bool bOOXML ); + TablePropertiesHandler( bool bOOXML, DomainMapper& rDMapper ); virtual ~TablePropertiesHandler( ); bool sprm(Sprm & sprm); diff --git a/writerfilter/source/dmapper/TblStylePrHandler.cxx b/writerfilter/source/dmapper/TblStylePrHandler.cxx index 24fee7d5f5dc..0acccd644a36 100644 --- a/writerfilter/source/dmapper/TblStylePrHandler.cxx +++ b/writerfilter/source/dmapper/TblStylePrHandler.cxx @@ -33,7 +33,7 @@ namespace dmapper { TblStylePrHandler::TblStylePrHandler( DomainMapper & rDMapper ) : LoggedProperties(dmapper_logger, "TblStylePrHandler"), m_rDMapper( rDMapper ), -m_pTablePropsHandler( new TablePropertiesHandler( true ) ), +m_pTablePropsHandler( new TablePropertiesHandler( true, rDMapper ) ), m_nType( TBL_STYLE_UNKNOWN ), m_pProperties( new PropertyMap ) { diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml index 42e7eb11fbf6..f2b8aeb57e98 100644 --- a/writerfilter/source/ooxml/model.xml +++ b/writerfilter/source/ooxml/model.xml @@ -14636,6 +14636,12 @@ <element name="tblLook"> <ref name="CT_TblLook"/> </element> + <element name="tblCaption"> + <ref name="CT_String"/> + </element> + <element name="tblDescription"> + <ref name="CT_String"/> + </element> </define> <define name="CT_TblPr"> <ref name="CT_TblPrBase"/> @@ -14671,6 +14677,12 @@ <element name="tblLook"> <ref name="CT_TblLook"/> </element> + <element name="tblCaption"> + <ref name="CT_String"/> + </element> + <element name="tblDescription"> + <ref name="CT_String"/> + </element> </define> <define name="CT_TblPrEx"> <ref name="CT_TblPrExBase"/> @@ -18347,6 +18359,8 @@ <element name="tblLayout" tokenid="ooxml:CT_TblPrBase_tblLayout"/> <element name="tblCellMar" tokenid="ooxml:CT_TblPrBase_tblCellMar"/> <element name="tblLook" tokenid="ooxml:CT_TblPrBase_tblLook"/> + <element name="tblCaption" tokenid="ooxml:CT_TblPrBase_tblCaption"/> + <element name="tblDescription" tokenid="ooxml:CT_TblPrBase_tblDescription"/> </resource> <resource name="CT_TblPr" resource="Properties"> <element name="tblPrChange" tokenid="ooxml:CT_TblPr_tblPrChange"/> |