writerfilter/source/dmapper/DomainMapper.cxx | 10 ++++ writerfilter/source/dmapper/DomainMapperTableManager.cxx | 26 ++++++++--- writerfilter/source/dmapper/DomainMapperTableManager.hxx | 1 writerfilter/source/ooxml/model.xml | 34 ++++++++++++++- 4 files changed, 63 insertions(+), 8 deletions(-)
New commits: commit 65facd8c79ffb26e3a79c5139ece83dadfe65d9b Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Mon Aug 4 17:36:54 2014 +0200 writerfilter: tokenize all attributes of CT_TblLook Change-Id: I0dcaef56804a6998f83afe73d01eb0d5b21a210a diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index e719ef1..33b6a95d 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -179,6 +179,9 @@ DomainMapper::~DomainMapper() void DomainMapper::lcl_attribute(Id nName, Value & val) { + if (m_pImpl->getTableManager().attribute(nName, val)) + return; + static OUString sLocalBookmarkName; sal_Int32 nIntValue = val.getInt(); OUString sStringValue = val.getString(); @@ -2451,6 +2454,13 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext ) m_pImpl->m_pSdtHelper->getInteropGrabBagAndClear(); } break; + case NS_ooxml::LN_CT_TblPrBase_tblLook: + { + writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); + if (pProperties.get()) + pProperties->resolve(*this); + } + break; default: { #ifdef DEBUG_DOMAINMAPPER diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.cxx b/writerfilter/source/dmapper/DomainMapperTableManager.cxx index e5a5b8b..d5a36a9 100644 --- a/writerfilter/source/dmapper/DomainMapperTableManager.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableManager.cxx @@ -74,6 +74,25 @@ DomainMapperTableManager::~DomainMapperTableManager() delete m_pTablePropsHandler, m_pTablePropsHandler = NULL; } +bool DomainMapperTableManager::attribute(Id nName, Value& rValue) +{ + bool bRet = true; + + switch (nName) + { + case NS_ooxml::LN_CT_TblLook_val: + { + TablePropertyMapPtr pPropMap(new TablePropertyMap()); + pPropMap->Insert(PROP_TBL_LOOK, uno::makeAny(rValue.getInt())); + insertTableProps(pPropMap); + } + break; + default: + bRet = false; + } + + return bRet; +} bool DomainMapperTableManager::sprm(Sprm & rSprm) { @@ -318,13 +337,6 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) m_nGridSpan = nIntValue; } break; - case NS_ooxml::LN_CT_TblPrBase_tblLook: - { - TablePropertyMapPtr pPropMap( new TablePropertyMap ); - pPropMap->Insert( PROP_TBL_LOOK, uno::makeAny( nIntValue )); - insertTableProps(pPropMap); - } - break; case NS_ooxml::LN_CT_TcPrBase_textDirection: { TablePropertyMapPtr pPropMap( new TablePropertyMap ); diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.hxx b/writerfilter/source/dmapper/DomainMapperTableManager.hxx index fea928b..24145bd 100644 --- a/writerfilter/source/dmapper/DomainMapperTableManager.hxx +++ b/writerfilter/source/dmapper/DomainMapperTableManager.hxx @@ -81,6 +81,7 @@ public: inline void SetStyleProperties( PropertyMapPtr pProperties ) { m_pStyleProps = pProperties; }; virtual bool sprm(Sprm & rSprm) SAL_OVERRIDE; + bool attribute(Id nName, Value & val); virtual void startLevel( ) SAL_OVERRIDE; virtual void endLevel( ) SAL_OVERRIDE; diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml index b1613d1..0555ea9 100644 --- a/writerfilter/source/ooxml/model.xml +++ b/writerfilter/source/ooxml/model.xml @@ -18377,7 +18377,7 @@ </optional> <optional> <element name="tblLook"> - <ref name="CT_ShortHexNumber"/> + <ref name="CT_TblLook"/> </element> </optional> </define> @@ -18458,6 +18458,29 @@ <ref name="EG_ContentRowContent"/> </zeroOrMore> </define> + <define name="CT_TblLook"> + <attribute name="firstRow"> + <ref name="ST_OnOff"/> + </attribute> + <attribute name="lastRow"> + <ref name="ST_OnOff"/> + </attribute> + <attribute name="firstColumn"> + <ref name="ST_OnOff"/> + </attribute> + <attribute name="lastColumn"> + <ref name="ST_OnOff"/> + </attribute> + <attribute name="noHBand"> + <ref name="ST_OnOff"/> + </attribute> + <attribute name="noVBand"> + <ref name="ST_OnOff"/> + </attribute> + <attribute name="val"> + <ref name="ST_ShortHexNumber"/> + </attribute> + </define> <define name="ST_FtnPos"> <choice> <!-- Footnotes Positioned at Page Bottom --> @@ -23171,6 +23194,15 @@ <action name="end" action="clearProps"/> </resource> <resource name="CT_Tbl" resource="TextTable"/> + <resource name="CT_TblLook" resource="Properties"> + <attribute name="firstRow" tokenid="ooxml:CT_TblLook_firstRow"/> + <attribute name="lastRow" tokenid="ooxml:CT_TblLook_lastRow"/> + <attribute name="firstColumn" tokenid="ooxml:CT_TblLook_firstColumn"/> + <attribute name="lastColumn" tokenid="ooxml:CT_TblLook_lastColumn"/> + <attribute name="noHBand" tokenid="ooxml:CT_TblLook_noHBand"/> + <attribute name="noVBand" tokenid="ooxml:CT_TblLook_noVBand"/> + <attribute name="val" tokenid="ooxml:CT_TblLook_val"/> + </resource> <resource name="ST_FtnPos" resource="List"> <value tokenid="ooxml:Value_ST_FtnPos_pageBottom">pageBottom</value> <value tokenid="ooxml:Value_ST_FtnPos_beneathText">beneathText</value> _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits