summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/inc/dmapper/DomainMapper.hxx1
-rw-r--r--writerfilter/source/dmapper/DomainMapper.cxx5
-rw-r--r--writerfilter/source/dmapper/DomainMapperTableManager.cxx18
-rw-r--r--writerfilter/source/dmapper/DomainMapperTableManager.hxx5
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.hxx2
-rw-r--r--writerfilter/source/dmapper/StyleSheetTable.cxx5
-rw-r--r--writerfilter/source/dmapper/StyleSheetTable.hxx1
-rw-r--r--writerfilter/source/dmapper/TablePropertiesHandler.cxx6
-rw-r--r--writerfilter/source/dmapper/TablePropertiesHandler.hxx4
-rw-r--r--writerfilter/source/dmapper/TblStylePrHandler.cxx2
-rw-r--r--writerfilter/source/ooxml/model.xml14
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"/>