include/xmloff/xmlexppr.hxx | 14 +-- xmloff/source/chart/PropertyMaps.cxx | 6 - xmloff/source/draw/sdpropls.cxx | 2 xmloff/source/style/impastp1.cxx | 31 +----- xmloff/source/style/impastp3.cxx | 36 +++---- xmloff/source/style/impastp4.cxx | 152 +++++++++++++-------------------- xmloff/source/style/impastpl.hxx | 82 ++++++++--------- xmloff/source/style/xmlaustp.cxx | 2 xmloff/source/style/xmlexppr.cxx | 161 ++++++++++++++++------------------- 9 files changed, 210 insertions(+), 276 deletions(-)
New commits: commit defbcb229a08f0a147cfdc2c8476684694ad184f Author: Kohei Yoshida <kohei.yosh...@gmail.com> Date: Fri Aug 16 20:21:19 2013 -0400 Using ptr_vector for this simplifes it a bit... Change-Id: Id772a260475de7e9c8599616eff189851af6b356 diff --git a/xmloff/source/style/impastp3.cxx b/xmloff/source/style/impastp3.cxx index c99fd9e..e9baa3c 100644 --- a/xmloff/source/style/impastp3.cxx +++ b/xmloff/source/style/impastp3.cxx @@ -22,14 +22,8 @@ using namespace std; -// Class SvXMLAutoStylePoolParent_Impl -// dtor class SvXMLAutoStylePoolParent_Impl - SvXMLAutoStylePoolParentP_Impl::~SvXMLAutoStylePoolParentP_Impl() { - for( size_t i = maPropertiesList.size(); i > 0; ) - delete maPropertiesList[ --i ]; - maPropertiesList.clear(); } // Adds a array of XMLPropertyState ( vector< XMLPropertyState > ) to list @@ -39,13 +33,11 @@ sal_Bool SvXMLAutoStylePoolParentP_Impl::Add( XMLFamilyData_Impl& rFamilyData, c { sal_Bool bAdded = sal_False; SvXMLAutoStylePoolPropertiesP_Impl *pProperties = 0; - size_t i = 0; sal_Int32 nProperties = rProperties.size(); - size_t nCount = maPropertiesList.size(); - - for( i = 0; i < nCount; i++ ) + size_t i = 0; + for (size_t n = maPropertiesList.size(); i < n; ++i) { - SvXMLAutoStylePoolPropertiesP_Impl *pIS = maPropertiesList[ i ]; + SvXMLAutoStylePoolPropertiesP_Impl* pIS = &maPropertiesList[i]; if( nProperties > (sal_Int32)pIS->GetProperties().size() ) { continue; @@ -64,7 +56,7 @@ sal_Bool SvXMLAutoStylePoolParentP_Impl::Add( XMLFamilyData_Impl& rFamilyData, c if( !pProperties ) { pProperties = new SvXMLAutoStylePoolPropertiesP_Impl( rFamilyData, rProperties ); - SvXMLAutoStylePoolPropertiesPList_Impl::iterator it = maPropertiesList.begin(); + PropertiesListType::iterator it = maPropertiesList.begin(); ::std::advance( it, i ); maPropertiesList.insert( it, pProperties ); bAdded = sal_True; @@ -84,13 +76,11 @@ sal_Bool SvXMLAutoStylePoolParentP_Impl::Add( XMLFamilyData_Impl& rFamilyData, c sal_Bool SvXMLAutoStylePoolParentP_Impl::AddNamed( XMLFamilyData_Impl& rFamilyData, const vector< XMLPropertyState >& rProperties, const OUString& rName ) { sal_Bool bAdded = sal_False; - size_t i = 0; sal_Int32 nProperties = rProperties.size(); - size_t nCount = maPropertiesList.size(); - - for( i = 0; i < nCount; i++ ) + size_t i = 0; + for (size_t n = maPropertiesList.size(); i < n; ++i) { - SvXMLAutoStylePoolPropertiesP_Impl *pIS = maPropertiesList[ i ]; + SvXMLAutoStylePoolPropertiesP_Impl* pIS = &maPropertiesList[i]; if( nProperties > (sal_Int32)pIS->GetProperties().size() ) { continue; @@ -107,7 +97,7 @@ sal_Bool SvXMLAutoStylePoolParentP_Impl::AddNamed( XMLFamilyData_Impl& rFamilyDa new SvXMLAutoStylePoolPropertiesP_Impl( rFamilyData, rProperties ); // ignore the generated name pProperties->SetName( rName ); - SvXMLAutoStylePoolPropertiesPList_Impl::iterator it = maPropertiesList.begin(); + PropertiesListType::iterator it = maPropertiesList.begin(); ::std::advance( it, i ); maPropertiesList.insert( it, pProperties ); bAdded = sal_True; @@ -124,10 +114,9 @@ OUString SvXMLAutoStylePoolParentP_Impl::Find( const XMLFamilyData_Impl& rFamily { OUString sName; vector< XMLPropertyState>::size_type nItems = rProperties.size(); - size_t nCount = maPropertiesList.size(); - for( size_t i = 0; i < nCount; i++ ) + for (size_t i = 0, n = maPropertiesList.size(); i < n; ++i) { - SvXMLAutoStylePoolPropertiesP_Impl *pIS = maPropertiesList[ i ]; + const SvXMLAutoStylePoolPropertiesP_Impl* pIS = &maPropertiesList[i]; if( nItems > pIS->GetProperties().size() ) { continue; diff --git a/xmloff/source/style/impastp4.cxx b/xmloff/source/style/impastp4.cxx index 5f5dffa..3c4aeb1 100644 --- a/xmloff/source/style/impastp4.cxx +++ b/xmloff/source/style/impastp4.cxx @@ -292,7 +292,7 @@ void SvXMLAutoStylePoolP_Impl::exportXML( for( size_t j = 0; j < nProperties; j++ ) { const SvXMLAutoStylePoolPropertiesP_Impl* pProperties = - rParent.GetPropertiesList()[ j ]; + &rParent.GetPropertiesList()[j]; sal_uLong nPos = pProperties->GetPos(); DBG_ASSERT( nPos < nCount, "SvXMLAutoStylePool_Impl::exportXML: wrong position" ); diff --git a/xmloff/source/style/impastpl.hxx b/xmloff/source/style/impastpl.hxx index b004115..d3b6cf6 100644 --- a/xmloff/source/style/impastpl.hxx +++ b/xmloff/source/style/impastpl.hxx @@ -33,6 +33,7 @@ #include <boost/noncopyable.hpp> #include <boost/ptr_container/ptr_set.hpp> +#include <boost/ptr_container/ptr_vector.hpp> class SvXMLAutoStylePoolP; class SvXMLAutoStylePoolParentP_Impl; @@ -94,14 +95,15 @@ public: void SetName( const OUString& rNew ) { msName = rNew; } }; -typedef SvXMLAutoStylePoolPropertiesP_Impl* SvXMLAutoStylePoolPropertiesPPtr; -typedef ::std::vector< SvXMLAutoStylePoolPropertiesPPtr > SvXMLAutoStylePoolPropertiesPList_Impl; - // Parents of AutoStylePool's class SvXMLAutoStylePoolParentP_Impl { - OUString msParent; - SvXMLAutoStylePoolPropertiesPList_Impl maPropertiesList; +public: + typedef boost::ptr_vector<SvXMLAutoStylePoolPropertiesP_Impl> PropertiesListType; + +private: + OUString msParent; + PropertiesListType maPropertiesList; public: @@ -120,7 +122,7 @@ public: const OUString& GetParent() const { return msParent; } - const SvXMLAutoStylePoolPropertiesPList_Impl& GetPropertiesList() const + const PropertiesListType& GetPropertiesList() const { return maPropertiesList; } commit 1b183738aecc32219920a698196c72afebcdd8c0 Author: Kohei Yoshida <kohei.yosh...@gmail.com> Date: Fri Aug 16 16:13:59 2013 -0400 Use ptr_set for auto style parent list. That seems like a natural fit. Change-Id: I9fc094ec4aa7e4a6d4e637c5940c361639d44c65 diff --git a/xmloff/source/style/impastp1.cxx b/xmloff/source/style/impastp1.cxx index 2e6f2ce..4d813ae 100644 --- a/xmloff/source/style/impastp1.cxx +++ b/xmloff/source/style/impastp1.cxx @@ -28,25 +28,27 @@ XMLFamilyData_Impl::XMLFamilyData_Impl( const OUString& rStrName, const UniReference < SvXMLExportPropertyMapper > &rMapper, const OUString& rStrPrefix, - sal_Bool bAsFam ) : + bool bAsFamily ) : mnFamily( nFamily ), maStrFamilyName( rStrName), mxMapper( rMapper ), - mnCount( 0 ), mnName( 0 ), maStrPrefix( rStrPrefix ), bAsFamily( bAsFam ) + mnCount( 0 ), mnName( 0 ), maStrPrefix( rStrPrefix ), mbAsFamily( bAsFamily ) { - mpParentList = new SvXMLAutoStylePoolParentsP_Impl; mpNameList = new SvXMLAutoStylePoolNamesP_Impl; } +XMLFamilyData_Impl::XMLFamilyData_Impl( sal_Int32 nFamily ) : + mnFamily( nFamily ), mpNameList( NULL ), mnCount( 0 ), mnName( 0 ), + mbAsFamily( false ) +{} + XMLFamilyData_Impl::~XMLFamilyData_Impl() { - delete mpParentList; delete mpNameList; } void XMLFamilyData_Impl::ClearEntries() { - delete mpParentList; - mpParentList = new SvXMLAutoStylePoolParentsP_Impl; + maParents.clear(); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmloff/source/style/impastp3.cxx b/xmloff/source/style/impastp3.cxx index 91fff88..c99fd9e 100644 --- a/xmloff/source/style/impastp3.cxx +++ b/xmloff/source/style/impastp3.cxx @@ -146,4 +146,9 @@ OUString SvXMLAutoStylePoolParentP_Impl::Find( const XMLFamilyData_Impl& rFamily return sName; } +bool SvXMLAutoStylePoolParentP_Impl::operator< (const SvXMLAutoStylePoolParentP_Impl& rOther) const +{ + return msParent < rOther.msParent; +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmloff/source/style/impastp4.cxx b/xmloff/source/style/impastp4.cxx index c8f3798..5f5dffa 100644 --- a/xmloff/source/style/impastp4.cxx +++ b/xmloff/source/style/impastp4.cxx @@ -149,80 +149,70 @@ void SvXMLAutoStylePoolP_Impl::GetRegisteredNames( // if not added, yet. bool SvXMLAutoStylePoolP_Impl::Add( - OUString& rName, sal_Int32 nFamily, const OUString& rParent, + OUString& rName, sal_Int32 nFamily, const OUString& rParentName, const ::std::vector< XMLPropertyState >& rProperties, bool bDontSeek ) { - bool bRet = false; - XMLFamilyData_Impl aTemporary( nFamily ); FamilyListType::iterator aFind = maFamilyList.find(aTemporary); DBG_ASSERT(aFind != maFamilyList.end(), "SvXMLAutoStylePool_Impl::Add: unknown family"); - if (aFind != maFamilyList.end()) - { - XMLFamilyData_Impl &rFamily = *aFind; + if (aFind == maFamilyList.end()) + return false; - SvXMLAutoStylePoolParentP_Impl aTmp( rParent ); - SvXMLAutoStylePoolParentP_Impl *pParent = 0; + XMLFamilyData_Impl &rFamily = *aFind; - SvXMLAutoStylePoolParentsP_Impl *pParents = rFamily.mpParentList; - SvXMLAutoStylePoolParentsP_Impl::const_iterator const it2 = - pParents->find(&aTmp); - if (it2 != pParents->end()) - { - pParent = *it2; - } - else - { - pParent = new SvXMLAutoStylePoolParentP_Impl( rParent ); - pParents->insert( pParent ); - } + SvXMLAutoStylePoolParentP_Impl aTmp(rParentName); + XMLFamilyData_Impl::ParentsType::iterator it2 = rFamily.maParents.find(aTmp); + if (it2 == rFamily.maParents.end()) + { + std::pair<XMLFamilyData_Impl::ParentsType::iterator,bool> r = + rFamily.maParents.insert(new SvXMLAutoStylePoolParentP_Impl(rParentName)); + it2 = r.first; + } - if( pParent->Add( rFamily, rProperties, rName, bDontSeek ) ) - { - rFamily.mnCount++; - bRet = true; - } + SvXMLAutoStylePoolParentP_Impl& rParent = *it2; + + bool bRet = false; + if (rParent.Add(rFamily, rProperties, rName, bDontSeek)) + { + rFamily.mnCount++; + bRet = true; } return bRet; } -sal_Bool SvXMLAutoStylePoolP_Impl::AddNamed(const OUString& rName, sal_Int32 nFamily, - const OUString& rParent, const ::std::vector< XMLPropertyState >& rProperties ) +bool SvXMLAutoStylePoolP_Impl::AddNamed( + const OUString& rName, sal_Int32 nFamily, const OUString& rParentName, + const ::std::vector< XMLPropertyState >& rProperties ) { // get family and parent the same way as in Add() - sal_Bool bRet(sal_False); XMLFamilyData_Impl aTemporary( nFamily ); FamilyListType::iterator aFind = maFamilyList.find(aTemporary); DBG_ASSERT(aFind != maFamilyList.end(), "SvXMLAutoStylePool_Impl::Add: unknown family"); - if (aFind != maFamilyList.end()) - { - XMLFamilyData_Impl &rFamily = *aFind; + if (aFind == maFamilyList.end()) + return false; - SvXMLAutoStylePoolParentP_Impl aTmp( rParent ); - SvXMLAutoStylePoolParentP_Impl *pParent = 0; + XMLFamilyData_Impl &rFamily = *aFind; - SvXMLAutoStylePoolParentsP_Impl *pParents = rFamily.mpParentList; - SvXMLAutoStylePoolParentsP_Impl::const_iterator const it2 = - pParents->find(&aTmp); - if (it2 != pParents->end()) - { - pParent = *it2; - } - else - { - pParent = new SvXMLAutoStylePoolParentP_Impl( rParent ); - pParents->insert( pParent ); - } + SvXMLAutoStylePoolParentP_Impl aTmp(rParentName); + XMLFamilyData_Impl::ParentsType::iterator it2 = rFamily.maParents.find(aTmp); + if (it2 == rFamily.maParents.end()) + { + std::pair<XMLFamilyData_Impl::ParentsType::iterator,bool> r = + rFamily.maParents.insert(new SvXMLAutoStylePoolParentP_Impl(rParentName)); + it2 = r.first; + } - if( pParent->AddNamed( rFamily, rProperties, rName ) ) - { - rFamily.mnCount++; - bRet = sal_True; - } + SvXMLAutoStylePoolParentP_Impl& rParent = *it2; + + bool bRet = false; + if (rParent.AddNamed(rFamily, rProperties, rName)) + { + rFamily.mnCount++; + bRet = true; } return bRet; @@ -245,15 +235,11 @@ OUString SvXMLAutoStylePoolP_Impl::Find( sal_Int32 nFamily, if (iter != maFamilyList.end()) { XMLFamilyData_Impl const& rFamily = *iter; - const SvXMLAutoStylePoolParentsP_Impl* pParents = - rFamily.mpParentList; - SvXMLAutoStylePoolParentP_Impl aTmp( rParent ); - SvXMLAutoStylePoolParentsP_Impl::const_iterator const it2 = - pParents->find(&aTmp); - if (it2 != pParents->end()) + XMLFamilyData_Impl::ParentsType::const_iterator it2 = rFamily.maParents.find(aTmp); + if (it2 != rFamily.maParents.end()) { - sName = (*it2)->Find( rFamily, rProperties ); + sName = it2->Find(rFamily, rProperties); } } @@ -288,9 +274,6 @@ void SvXMLAutoStylePoolP_Impl::exportXML( // create, initialize and fill helper-structure (SvXMLAutoStylePoolProperties_Impl) // which contains a parent-name and a SvXMLAutoStylePoolProperties_Impl // - const SvXMLAutoStylePoolParentsP_Impl *pParents = - rFamily.mpParentList; - SvXMLAutoStylePoolPExport_Impl* aExpStyles = new SvXMLAutoStylePoolPExport_Impl[nCount]; @@ -301,14 +284,15 @@ void SvXMLAutoStylePoolP_Impl::exportXML( aExpStyles[i].mpProperties = 0; } - for (size_t k = 0; k < pParents->size(); k++) + XMLFamilyData_Impl::ParentsType::const_iterator it = rFamily.maParents.begin(), itEnd = rFamily.maParents.end(); + for (; it != itEnd; ++it) { - const SvXMLAutoStylePoolParentP_Impl *const pParent = (*pParents)[k]; - size_t nProperties = pParent->GetPropertiesList().size(); + const SvXMLAutoStylePoolParentP_Impl& rParent = *it; + size_t nProperties = rParent.GetPropertiesList().size(); for( size_t j = 0; j < nProperties; j++ ) { const SvXMLAutoStylePoolPropertiesP_Impl* pProperties = - pParent->GetPropertiesList()[ j ]; + rParent.GetPropertiesList()[ j ]; sal_uLong nPos = pProperties->GetPos(); DBG_ASSERT( nPos < nCount, "SvXMLAutoStylePool_Impl::exportXML: wrong position" ); @@ -317,7 +301,7 @@ void SvXMLAutoStylePoolP_Impl::exportXML( DBG_ASSERT( !aExpStyles[nPos].mpProperties, "SvXMLAutoStylePool_Impl::exportXML: double position" ); aExpStyles[nPos].mpProperties = pProperties; - aExpStyles[nPos].mpParent = &pParent->GetParent(); + aExpStyles[nPos].mpParent = &rParent.GetParent(); } } } @@ -338,7 +322,7 @@ void SvXMLAutoStylePoolP_Impl::exportXML( XML_NAMESPACE_STYLE, XML_NAME, aExpStyles[i].mpProperties->GetName() ); - if( rFamily.bAsFamily ) + if( rFamily.mbAsFamily ) { GetExport().AddAttribute( XML_NAMESPACE_STYLE, XML_FAMILY, aStrFamilyName ); @@ -353,7 +337,7 @@ void SvXMLAutoStylePoolP_Impl::exportXML( } OUString sName; - if( rFamily.bAsFamily ) + if( rFamily.mbAsFamily ) sName = GetXMLToken(XML_STYLE); else sName = rFamily.maStrFamilyName; diff --git a/xmloff/source/style/impastpl.hxx b/xmloff/source/style/impastpl.hxx index 84bfdfb..b004115 100644 --- a/xmloff/source/style/impastpl.hxx +++ b/xmloff/source/style/impastpl.hxx @@ -28,12 +28,14 @@ #include <com/sun/star/uno/Reference.h> #include <com/sun/star/xml/sax/XAttributeList.hpp> #include <com/sun/star/xml/sax/XDocumentHandler.hpp> -#include <o3tl/sorted_vector.hxx> #include <xmloff/maptype.hxx> #include <xmloff/xmlexppr.hxx> +#include <boost/noncopyable.hpp> +#include <boost/ptr_container/ptr_set.hpp> + class SvXMLAutoStylePoolP; -class SvXMLAutoStylePoolParentsP_Impl; +class SvXMLAutoStylePoolParentP_Impl; typedef std::set<OUString> SvXMLAutoStylePoolNamesP_Impl; class SvXMLExportPropertyMapper; class SvXMLExport; @@ -42,31 +44,26 @@ class SvXMLExport; // Implementationclass for stylefamily-information -class XMLFamilyData_Impl +struct XMLFamilyData_Impl : boost::noncopyable { -public: - sal_uInt32 mnFamily; + typedef boost::ptr_set<SvXMLAutoStylePoolParentP_Impl> ParentsType; + + sal_uInt32 mnFamily; OUString maStrFamilyName; UniReference < SvXMLExportPropertyMapper > mxMapper; - SvXMLAutoStylePoolParentsP_Impl* mpParentList; + ParentsType maParents; SvXMLAutoStylePoolNamesP_Impl* mpNameList; sal_uInt32 mnCount; sal_uInt32 mnName; OUString maStrPrefix; - sal_Bool bAsFamily; + bool mbAsFamily; -public: XMLFamilyData_Impl( sal_Int32 nFamily, const OUString& rStrName, - const UniReference < SvXMLExportPropertyMapper > & rMapper, - const OUString& rStrPrefix, sal_Bool bAsFamily = sal_True ); + const UniReference<SvXMLExportPropertyMapper>& rMapper, + const OUString& rStrPrefix, bool bAsFamily = true ); - XMLFamilyData_Impl( sal_Int32 nFamily ) : - mnFamily( nFamily ), mpParentList( NULL ), - mpNameList( NULL ), mnCount( 0 ), mnName( 0 ), - bAsFamily( false ) - - {} + XMLFamilyData_Impl( sal_Int32 nFamily ); ~XMLFamilyData_Impl(); friend bool operator<(const XMLFamilyData_Impl& r1, const XMLFamilyData_Impl& r2); @@ -127,6 +124,8 @@ public: { return maPropertiesList; } + + bool operator< (const SvXMLAutoStylePoolParentP_Impl& rOther) const; }; struct SvXMLAutoStylePoolParentPCmp_Impl @@ -136,11 +135,6 @@ struct SvXMLAutoStylePoolParentPCmp_Impl return lhs->GetParent().compareTo( rhs->GetParent() ) < 0; } }; -class SvXMLAutoStylePoolParentsP_Impl : public o3tl::sorted_vector<SvXMLAutoStylePoolParentP_Impl*, SvXMLAutoStylePoolParentPCmp_Impl> -{ -public: - ~SvXMLAutoStylePoolParentsP_Impl() { DeleteAndDestroyAll(); } -}; // Implementationclass of SvXMLAutoStylePool @@ -171,13 +165,14 @@ public: bool Add( OUString& rName, sal_Int32 nFamily, - const OUString& rParent, + const OUString& rParentName, const ::std::vector< XMLPropertyState >& rProperties, bool bDontSeek = false ); - sal_Bool AddNamed( const OUString& rName, sal_Int32 nFamily, - const OUString& rParent, - const ::std::vector< XMLPropertyState >& rProperties ); + bool AddNamed( + const OUString& rName, sal_Int32 nFamily, + const OUString& rParentName, + const ::std::vector< XMLPropertyState >& rProperties ); OUString Find( sal_Int32 nFamily, const OUString& rParent, const ::std::vector< XMLPropertyState >& rProperties ) const; commit e4f55865078e887a34d7b127b75d01ae374968de Author: Kohei Yoshida <kohei.yosh...@gmail.com> Date: Fri Aug 16 14:52:26 2013 -0400 This cache data member is never used. Remove it. Change-Id: I03d55ce8cfe175a75ed22639a06ac22c8783ccd7 diff --git a/xmloff/source/style/impastp1.cxx b/xmloff/source/style/impastp1.cxx index 49e8e01..2e6f2ce 100644 --- a/xmloff/source/style/impastp1.cxx +++ b/xmloff/source/style/impastp1.cxx @@ -28,9 +28,9 @@ XMLFamilyData_Impl::XMLFamilyData_Impl( const OUString& rStrName, const UniReference < SvXMLExportPropertyMapper > &rMapper, const OUString& rStrPrefix, - sal_Bool bAsFam ) - : pCache( 0 ), mnFamily( nFamily ), maStrFamilyName( rStrName), mxMapper( rMapper ), - mnCount( 0 ), mnName( 0 ), maStrPrefix( rStrPrefix ), bAsFamily( bAsFam ) + sal_Bool bAsFam ) : + mnFamily( nFamily ), maStrFamilyName( rStrName), mxMapper( rMapper ), + mnCount( 0 ), mnName( 0 ), maStrPrefix( rStrPrefix ), bAsFamily( bAsFam ) { mpParentList = new SvXMLAutoStylePoolParentsP_Impl; @@ -41,27 +41,12 @@ XMLFamilyData_Impl::~XMLFamilyData_Impl() { delete mpParentList; delete mpNameList; - DBG_ASSERT( !pCache || !pCache->size(), "auto style pool cache is not empty!" ); - if( pCache ) - { - for ( size_t i = 0, n = pCache->size(); i < n; ++i ) - delete (*pCache)[ i ]; - pCache->clear(); - delete pCache; - } } void XMLFamilyData_Impl::ClearEntries() { delete mpParentList; mpParentList = new SvXMLAutoStylePoolParentsP_Impl; - DBG_ASSERT( !pCache || !pCache->size(), "auto style pool cache is not empty!" ); - if( pCache ) - { - for ( size_t i = 0, n = pCache->size(); i < n; ++i ) - delete (*pCache)[ i ]; - pCache->clear(); - } } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmloff/source/style/impastp4.cxx b/xmloff/source/style/impastp4.cxx index 0edfb0a..c8f3798 100644 --- a/xmloff/source/style/impastp4.cxx +++ b/xmloff/source/style/impastp4.cxx @@ -148,13 +148,11 @@ void SvXMLAutoStylePoolP_Impl::GetRegisteredNames( // Adds a array of XMLPropertyState ( vector< XMLPropertyState > ) to list // if not added, yet. -sal_Bool SvXMLAutoStylePoolP_Impl::Add(OUString& rName, sal_Int32 nFamily, - const OUString& rParent, - const ::std::vector< XMLPropertyState >& rProperties, - sal_Bool bCache, - bool bDontSeek ) +bool SvXMLAutoStylePoolP_Impl::Add( + OUString& rName, sal_Int32 nFamily, const OUString& rParent, + const ::std::vector< XMLPropertyState >& rProperties, bool bDontSeek ) { - sal_Bool bRet(sal_False); + bool bRet = false; XMLFamilyData_Impl aTemporary( nFamily ); FamilyListType::iterator aFind = maFamilyList.find(aTemporary); @@ -183,15 +181,7 @@ sal_Bool SvXMLAutoStylePoolP_Impl::Add(OUString& rName, sal_Int32 nFamily, if( pParent->Add( rFamily, rProperties, rName, bDontSeek ) ) { rFamily.mnCount++; - bRet = sal_True; - } - - if( bCache ) - { - if( !rFamily.pCache ) - rFamily.pCache = new SvXMLAutoStylePoolCache_Impl(); - if( rFamily.pCache->size() < MAX_CACHE_SIZE ) - rFamily.pCache->push_back( new OUString( rName ) ); + bRet = true; } } diff --git a/xmloff/source/style/impastpl.hxx b/xmloff/source/style/impastpl.hxx index 140cc43..84bfdfb 100644 --- a/xmloff/source/style/impastpl.hxx +++ b/xmloff/source/style/impastpl.hxx @@ -42,13 +42,9 @@ class SvXMLExport; // Implementationclass for stylefamily-information -typedef OUString* OUStringPtr; -typedef ::std::vector< OUStringPtr > SvXMLAutoStylePoolCache_Impl; - class XMLFamilyData_Impl { public: - SvXMLAutoStylePoolCache_Impl *pCache; sal_uInt32 mnFamily; OUString maStrFamilyName; UniReference < SvXMLExportPropertyMapper > mxMapper; @@ -66,7 +62,6 @@ public: const OUString& rStrPrefix, sal_Bool bAsFamily = sal_True ); XMLFamilyData_Impl( sal_Int32 nFamily ) : - pCache( 0 ), mnFamily( nFamily ), mpParentList( NULL ), mpNameList( NULL ), mnCount( 0 ), mnName( 0 ), bAsFamily( false ) @@ -174,11 +169,12 @@ public: com::sun::star::uno::Sequence<sal_Int32>& aFamilies, com::sun::star::uno::Sequence<OUString>& aNames ); - sal_Bool Add( OUString& rName, sal_Int32 nFamily, - const OUString& rParent, - const ::std::vector< XMLPropertyState >& rProperties, - sal_Bool bCache = sal_False, - bool bDontSeek = false ); + bool Add( + OUString& rName, sal_Int32 nFamily, + const OUString& rParent, + const ::std::vector< XMLPropertyState >& rProperties, + bool bDontSeek = false ); + sal_Bool AddNamed( const OUString& rName, sal_Int32 nFamily, const OUString& rParent, const ::std::vector< XMLPropertyState >& rProperties ); diff --git a/xmloff/source/style/xmlaustp.cxx b/xmloff/source/style/xmlaustp.cxx index ef4718b..1baaff8 100644 --- a/xmloff/source/style/xmlaustp.cxx +++ b/xmloff/source/style/xmlaustp.cxx @@ -346,7 +346,7 @@ OUString SvXMLAutoStylePoolP::Add( sal_Int32 nFamily, const vector< XMLPropertyState >& rProperties, bool bDontSeek ) { OUString sName; - pImpl->Add(sName, nFamily, rParent, rProperties, sal_False, bDontSeek ); + pImpl->Add(sName, nFamily, rParent, rProperties, bDontSeek); return sName; } commit ef60854f7d28a325ddb2f938c2d9fe15e48777b4 Author: Kohei Yoshida <kohei.yosh...@gmail.com> Date: Fri Aug 16 14:33:23 2013 -0400 Tuck this typedef inside class scope where it's used. Change-Id: I2b3a0479f9aeecd601b3fea4a262f614ec437945 diff --git a/xmloff/source/style/impastp4.cxx b/xmloff/source/style/impastp4.cxx index c211945..0edfb0a 100644 --- a/xmloff/source/style/impastp4.cxx +++ b/xmloff/source/style/impastp4.cxx @@ -68,7 +68,7 @@ void SvXMLAutoStylePoolP_Impl::AddFamily( #if OSL_DEBUG_LEVEL > 0 XMLFamilyData_Impl aTemporary( nFamily ); - XMLFamilyDataList_Impl::iterator aFind = maFamilyList.find(aTemporary); + FamilyListType::iterator aFind = maFamilyList.find(aTemporary); if( aFind != maFamilyList.end() ) { // FIXME: do we really intend to replace the previous nFamily @@ -91,7 +91,7 @@ void SvXMLAutoStylePoolP_Impl::SetFamilyPropSetMapper( { XMLFamilyData_Impl aTemporary( nFamily ); - XMLFamilyDataList_Impl::iterator aFind = maFamilyList.find(aTemporary); + FamilyListType::iterator aFind = maFamilyList.find(aTemporary); if (aFind != maFamilyList.end()) aFind->mxMapper = rMapper; } @@ -100,7 +100,7 @@ void SvXMLAutoStylePoolP_Impl::SetFamilyPropSetMapper( void SvXMLAutoStylePoolP_Impl::RegisterName( sal_Int32 nFamily, const OUString& rName ) { XMLFamilyData_Impl aTmp( nFamily ); - XMLFamilyDataList_Impl::iterator aFind = maFamilyList.find(aTmp); + FamilyListType::iterator aFind = maFamilyList.find(aTmp); DBG_ASSERT( aFind != maFamilyList.end(), "SvXMLAutoStylePool_Impl::RegisterName: unknown family" ); if (aFind != maFamilyList.end()) @@ -120,7 +120,7 @@ void SvXMLAutoStylePoolP_Impl::GetRegisteredNames( vector<OUString> aNames; // iterate over families - for(XMLFamilyDataList_Impl::iterator aJ = maFamilyList.begin(); aJ != maFamilyList.end(); ++aJ) + for (FamilyListType::iterator aJ = maFamilyList.begin(); aJ != maFamilyList.end(); ++aJ) { XMLFamilyData_Impl &rFamily = *aJ; @@ -157,7 +157,7 @@ sal_Bool SvXMLAutoStylePoolP_Impl::Add(OUString& rName, sal_Int32 nFamily, sal_Bool bRet(sal_False); XMLFamilyData_Impl aTemporary( nFamily ); - XMLFamilyDataList_Impl::iterator aFind = maFamilyList.find(aTemporary); + FamilyListType::iterator aFind = maFamilyList.find(aTemporary); DBG_ASSERT(aFind != maFamilyList.end(), "SvXMLAutoStylePool_Impl::Add: unknown family"); if (aFind != maFamilyList.end()) @@ -205,7 +205,7 @@ sal_Bool SvXMLAutoStylePoolP_Impl::AddNamed(const OUString& rName, sal_Int32 nFa sal_Bool bRet(sal_False); XMLFamilyData_Impl aTemporary( nFamily ); - XMLFamilyDataList_Impl::iterator aFind = maFamilyList.find(aTemporary); + FamilyListType::iterator aFind = maFamilyList.find(aTemporary); DBG_ASSERT(aFind != maFamilyList.end(), "SvXMLAutoStylePool_Impl::Add: unknown family"); if (aFind != maFamilyList.end()) @@ -249,10 +249,8 @@ OUString SvXMLAutoStylePoolP_Impl::Find( sal_Int32 nFamily, OUString sName; XMLFamilyData_Impl aTemporary( nFamily ); - XMLFamilyDataList_Impl::const_iterator const iter = - maFamilyList.find(aTemporary); - OSL_ENSURE(iter != maFamilyList.end(), - "SvXMLAutoStylePool_Impl::Find: unknown family"); + FamilyListType::const_iterator const iter = maFamilyList.find(aTemporary); + OSL_ENSURE(iter != maFamilyList.end(), "SvXMLAutoStylePool_Impl::Find: unknown family"); if (iter != maFamilyList.end()) { @@ -285,7 +283,7 @@ void SvXMLAutoStylePoolP_Impl::exportXML( { // Get list of parents for current family (nFamily) XMLFamilyData_Impl aTmp( nFamily ); - XMLFamilyDataList_Impl::const_iterator aFind = maFamilyList.find(aTmp); + FamilyListType::const_iterator aFind = maFamilyList.find(aTmp); DBG_ASSERT( aFind != maFamilyList.end(), "SvXMLAutoStylePool_Impl::exportXML: unknown family" ); if (aFind == maFamilyList.end()) @@ -424,7 +422,7 @@ void SvXMLAutoStylePoolP_Impl::exportXML( void SvXMLAutoStylePoolP_Impl::ClearEntries() { - for(XMLFamilyDataList_Impl::iterator aI = maFamilyList.begin(); aI != maFamilyList.end(); ++aI) + for (FamilyListType::iterator aI = maFamilyList.begin(); aI != maFamilyList.end(); ++aI) aI->ClearEntries(); } diff --git a/xmloff/source/style/impastpl.hxx b/xmloff/source/style/impastpl.hxx index 1d8969f..140cc43 100644 --- a/xmloff/source/style/impastpl.hxx +++ b/xmloff/source/style/impastpl.hxx @@ -79,9 +79,6 @@ public: void ClearEntries(); }; -// A set that finds and sorts based only on mnFamily -typedef boost::ptr_set<XMLFamilyData_Impl> XMLFamilyDataList_Impl; - // Properties of a pool class SvXMLAutoStylePoolPropertiesP_Impl @@ -154,9 +151,11 @@ public: class SvXMLAutoStylePoolP_Impl { - SvXMLExport& rExport; + // A set that finds and sorts based only on mnFamily + typedef boost::ptr_set<XMLFamilyData_Impl> FamilyListType; - XMLFamilyDataList_Impl maFamilyList; + SvXMLExport& rExport; + FamilyListType maFamilyList; public: commit 7c02faf535a768252fc3559324ac68bc6525763a Author: Kohei Yoshida <kohei.yosh...@gmail.com> Date: Fri Aug 16 11:12:04 2013 -0400 Properly hide implementation details. If we are to hide, let's hide all. Change-Id: Ic68926ee099ac80d2d477d68e3769a7203dfea6c diff --git a/include/xmloff/xmlexppr.hxx b/include/xmloff/xmlexppr.hxx index 7e7bb76..b63b69c 100644 --- a/include/xmloff/xmlexppr.hxx +++ b/include/xmloff/xmlexppr.hxx @@ -41,14 +41,10 @@ class SvXMLExport; class XMLOFF_DLLPUBLIC SvXMLExportPropertyMapper : public UniRefBase { - UniReference< SvXMLExportPropertyMapper> mxNextMapper; - - FilterPropertiesInfos_Impl *pCache; + struct Impl; + Impl* mpImpl; protected: - UniReference< XMLPropertySetMapper > maPropMapper; - - OUString maStyleName; /** Filter all properties we don't want to export: Take all properties of the XPropertySet which are also found in the @@ -177,10 +173,10 @@ public: const ::std::vector< XMLPropertyState > *pProperties = 0, sal_uInt32 nIdx = 0 ) const; - inline const UniReference< XMLPropertySetMapper >& - getPropertySetMapper() const { return maPropMapper; } + const UniReference<XMLPropertySetMapper>& getPropertySetMapper() const; - void SetStyleName( const OUString& rStyleName ) { maStyleName = rStyleName; } + void SetStyleName( const OUString& rStyleName ); + const OUString& GetStyleName() const; }; #endif // _XMLOFF_XMLEXPPR_HXX diff --git a/xmloff/source/chart/PropertyMaps.cxx b/xmloff/source/chart/PropertyMaps.cxx index ce07cbd..6970d59 100644 --- a/xmloff/source/chart/PropertyMaps.cxx +++ b/xmloff/source/chart/PropertyMaps.cxx @@ -361,14 +361,14 @@ void XMLChartExportPropertyMapper::handleSpecialItem( { sal_Bool bHandled = sal_False; - sal_Int32 nContextId = maPropMapper->GetEntryContextId( rProperty.mnIndex ); + sal_Int32 nContextId = getPropertySetMapper()->GetEntryContextId( rProperty.mnIndex ); if( nContextId ) { bHandled = sal_True; - OUString sAttrName = maPropMapper->GetEntryXMLName( rProperty.mnIndex ); - sal_uInt16 nNameSpace = maPropMapper->GetEntryNameSpace( rProperty.mnIndex ); + OUString sAttrName = getPropertySetMapper()->GetEntryXMLName( rProperty.mnIndex ); + sal_uInt16 nNameSpace = getPropertySetMapper()->GetEntryNameSpace( rProperty.mnIndex ); OUStringBuffer sValueBuffer; OUString sValue; diff --git a/xmloff/source/draw/sdpropls.cxx b/xmloff/source/draw/sdpropls.cxx index bb709c7..2c5e2fd 100644 --- a/xmloff/source/draw/sdpropls.cxx +++ b/xmloff/source/draw/sdpropls.cxx @@ -1545,7 +1545,7 @@ void XMLShapeExportPropertyMapper::handleElementItem( { uno::Reference< container::XIndexReplace > xNumRule( rProperty.maValue, uno::UNO_QUERY ); if( xNumRule.is() ) - const_cast<XMLShapeExportPropertyMapper*>(this)->maNumRuleExp.exportNumberingRule( maStyleName, sal_False, xNumRule ); + const_cast<XMLShapeExportPropertyMapper*>(this)->maNumRuleExp.exportNumberingRule(GetStyleName(), false, xNumRule); } } break; diff --git a/xmloff/source/style/xmlexppr.cxx b/xmloff/source/style/xmlexppr.cxx index 0637cd2..4d27c69 100644 --- a/xmloff/source/style/xmlexppr.cxx +++ b/xmloff/source/style/xmlexppr.cxx @@ -204,32 +204,23 @@ public: sal_uInt32 GetPropertyCount() const { return nCount; } }; -typedef boost::unordered_map -< - PropertySetInfoKey, - FilterPropertiesInfo_Impl *, - PropertySetInfoHash, - PropertySetInfoHash -> -FilterOropertiesHashMap_Impl; - -class FilterPropertiesInfos_Impl : public FilterOropertiesHashMap_Impl +struct SvXMLExportPropertyMapper::Impl { -public: - ~FilterPropertiesInfos_Impl (); -}; + typedef boost::unordered_map<PropertySetInfoKey, FilterPropertiesInfo_Impl*, PropertySetInfoHash, PropertySetInfoHash> CacheType; + CacheType maCache; -FilterPropertiesInfos_Impl::~FilterPropertiesInfos_Impl () -{ - FilterOropertiesHashMap_Impl::iterator aIter = begin(); - FilterOropertiesHashMap_Impl::iterator aEnd = end(); - while( aIter != aEnd ) + UniReference<SvXMLExportPropertyMapper> mxNextMapper; + UniReference<XMLPropertySetMapper> mxPropMapper; + + OUString maStyleName; + + ~Impl() { - delete (*aIter).second; - (*aIter).second = 0; - ++aIter; + CacheType::iterator it = maCache.begin(), itEnd = maCache.end(); + for (; it != itEnd; ++it) + delete it->second; } -} +}; FilterPropertiesInfo_Impl::FilterPropertiesInfo_Impl() : nCount(0), @@ -544,44 +535,43 @@ void FilterPropertiesInfo_Impl::FillPropertyStateArray( SvXMLExportPropertyMapper::SvXMLExportPropertyMapper( const UniReference< XMLPropertySetMapper >& rMapper ) : - pCache( 0 ), - maPropMapper( rMapper ) + mpImpl(new Impl) { + mpImpl->mxPropMapper = rMapper; } SvXMLExportPropertyMapper::~SvXMLExportPropertyMapper() { - delete pCache; - mxNextMapper = 0; + delete mpImpl; } void SvXMLExportPropertyMapper::ChainExportMapper( const UniReference< SvXMLExportPropertyMapper>& rMapper ) { // add map entries from rMapper to current map - maPropMapper->AddMapperEntry( rMapper->getPropertySetMapper() ); + mpImpl->mxPropMapper->AddMapperEntry( rMapper->getPropertySetMapper() ); // rMapper uses the same map as 'this' - rMapper->maPropMapper = maPropMapper; + rMapper->mpImpl->mxPropMapper = mpImpl->mxPropMapper; // set rMapper as last mapper in current chain - UniReference< SvXMLExportPropertyMapper > xNext = mxNextMapper; + UniReference< SvXMLExportPropertyMapper > xNext = mpImpl->mxNextMapper; if( xNext.is()) { - while( xNext->mxNextMapper.is()) - xNext = xNext->mxNextMapper; - xNext->mxNextMapper = rMapper; + while (xNext->mpImpl->mxNextMapper.is()) + xNext = xNext->mpImpl->mxNextMapper; + xNext->mpImpl->mxNextMapper = rMapper; } else - mxNextMapper = rMapper; + mpImpl->mxNextMapper = rMapper; // if rMapper was already chained, correct // map pointer of successors xNext = rMapper; - while( xNext->mxNextMapper.is()) + while (xNext->mpImpl->mxNextMapper.is()) { - xNext = xNext->mxNextMapper; - xNext->maPropMapper = maPropMapper; + xNext = xNext->mpImpl->mxNextMapper; + xNext->mpImpl->mxPropMapper = mpImpl->mxPropMapper; } } @@ -596,7 +586,7 @@ vector< XMLPropertyState > SvXMLExportPropertyMapper::_Filter( if( !xInfo.is() ) return aPropStateArray; - sal_Int32 nProps = maPropMapper->GetEntryCount(); + sal_Int32 nProps = mpImpl->mxPropMapper->GetEntryCount(); FilterPropertiesInfo_Impl *pFilterInfo = 0; @@ -607,16 +597,12 @@ vector< XMLPropertyState > SvXMLExportPropertyMapper::_Filter( aImplId = xTypeProv->getImplementationId(); if( aImplId.getLength() == 16 ) { - if( pCache ) - { - // The key must not be created outside this block, because it - // keeps a reference to the property set info. - PropertySetInfoKey aKey( xInfo, aImplId ); - FilterPropertiesInfos_Impl::iterator aIter = - pCache->find( aKey ); - if( aIter != pCache->end() ) - pFilterInfo = (*aIter).second; - } + // The key must not be created outside this block, because it + // keeps a reference to the property set info. + PropertySetInfoKey aKey( xInfo, aImplId ); + Impl::CacheType::iterator aIter = mpImpl->maCache.find(aKey); + if (aIter != mpImpl->maCache.end()) + pFilterInfo = (*aIter).second; } } @@ -628,15 +614,15 @@ vector< XMLPropertyState > SvXMLExportPropertyMapper::_Filter( { // Are we allowed to ask for the property? (MID_FLAG_NO_PROP..) // Does the PropertySet contain name of mpEntries-array ? - const OUString& rAPIName = maPropMapper->GetEntryAPIName( i ); - const sal_Int32 nFlags = maPropMapper->GetEntryFlags( i ); + const OUString& rAPIName = mpImpl->mxPropMapper->GetEntryAPIName( i ); + const sal_Int32 nFlags = mpImpl->mxPropMapper->GetEntryFlags( i ); if( (0 == (nFlags & MID_FLAG_NO_PROPERTY_EXPORT)) && ( (0 != (nFlags & MID_FLAG_MUST_EXIST)) || xInfo->hasPropertyByName( rAPIName ) ) ) { const SvtSaveOptions::ODFDefaultVersion nCurrentVersion( SvtSaveOptions().GetODFDefaultVersion() ); const SvtSaveOptions::ODFDefaultVersion nEarliestODFVersionForExport( - maPropMapper->GetEarliestODFVersionForExport( i ) ); + mpImpl->mxPropMapper->GetEarliestODFVersionForExport(i)); if( nCurrentVersion >= nEarliestODFVersionForExport || nCurrentVersion == SvtSaveOptions::ODFVER_UNKNOWN || nEarliestODFVersionForExport == SvtSaveOptions::ODFVER_UNKNOWN ) @@ -655,19 +641,16 @@ vector< XMLPropertyState > SvXMLExportPropertyMapper::_Filter( xInfo = xWeakInfo; if( xInfo.is() ) { - if( !pCache ) - ((SvXMLExportPropertyMapper *)this)->pCache = - new FilterPropertiesInfos_Impl; PropertySetInfoKey aKey( xInfo, aImplId ); - (*pCache)[aKey] = pFilterInfo; + mpImpl->maCache.insert(Impl::CacheType::value_type(aKey, pFilterInfo)); } else - bDelInfo = sal_True; + bDelInfo = true; } else { OSL_FAIL("here is no TypeProvider or the ImplId is wrong"); - bDelInfo = sal_True; + bDelInfo = true; } } @@ -675,9 +658,8 @@ vector< XMLPropertyState > SvXMLExportPropertyMapper::_Filter( { try { - pFilterInfo->FillPropertyStateArray(aPropStateArray, - xPropSet, maPropMapper, - bDefault); + pFilterInfo->FillPropertyStateArray( + aPropStateArray, xPropSet, mpImpl->mxPropMapper, bDefault); } catch( UnknownPropertyException& ) { @@ -703,8 +685,8 @@ void SvXMLExportPropertyMapper::ContextFilter( Reference< XPropertySet > rPropSet ) const { // Derived class could implement this. - if( mxNextMapper.is() ) - mxNextMapper->ContextFilter( rProperties, rPropSet ); + if (mpImpl->mxNextMapper.is()) + mpImpl->mxNextMapper->ContextFilter(rProperties, rPropSet); } // Compares two Sequences of XMLPropertyState: @@ -732,13 +714,13 @@ sal_Bool SvXMLExportPropertyMapper::Equals( if( rProp1.mnIndex != -1 ) { // Now compare values - if( ( maPropMapper->GetEntryType( rProp1.mnIndex ) & + if ( (mpImpl->mxPropMapper->GetEntryType( rProp1.mnIndex ) & XML_TYPE_BUILDIN_CMP ) != 0 ) // simple type ( binary compare ) bRet = ( rProp1.maValue == rProp2.maValue ); else // complex type ( ask for compare-function ) - bRet = maPropMapper->GetPropertyHandler( + bRet = mpImpl->mxPropMapper->GetPropertyHandler( rProp1.mnIndex )->equals( rProp1.maValue, rProp2.maValue ); } @@ -832,10 +814,10 @@ void SvXMLExportPropertyMapper::handleSpecialItem( const ::std::vector< XMLPropertyState > *pProperties, sal_uInt32 nIdx ) const { - OSL_ENSURE( mxNextMapper.is(), "special item not handled in xml export" ); - if( mxNextMapper.is() ) - mxNextMapper->handleSpecialItem( rAttrList, rProperty, rUnitConverter, - rNamespaceMap, pProperties, nIdx ); + OSL_ENSURE(mpImpl->mxNextMapper.is(), "special item not handled in xml export"); + if (mpImpl->mxNextMapper.is()) + mpImpl->mxNextMapper->handleSpecialItem( + rAttrList, rProperty, rUnitConverter, rNamespaceMap, pProperties, nIdx); } /** this method is called for every item that has the @@ -847,10 +829,9 @@ void SvXMLExportPropertyMapper::handleElementItem( const ::std::vector< XMLPropertyState > *pProperties, sal_uInt32 nIdx ) const { - OSL_ENSURE( mxNextMapper.is(), "element item not handled in xml export" ); - if( mxNextMapper.is() ) - mxNextMapper->handleElementItem( rExport, rProperty, nFlags, - pProperties, nIdx ); + OSL_ENSURE(mpImpl->mxNextMapper.is(), "element item not handled in xml export"); + if (mpImpl->mxNextMapper.is()) + mpImpl->mxNextMapper->handleElementItem(rExport, rProperty, nFlags, pProperties, nIdx); } // protected methods @@ -872,7 +853,7 @@ void SvXMLExportPropertyMapper::_exportXML( if( -1 == nPropMapStartIdx ) nPropMapStartIdx = 0; if( -1 == nPropMapEndIdx ) - nPropMapEndIdx = maPropMapper->GetEntryCount(); + nPropMapEndIdx = mpImpl->mxPropMapper->GetEntryCount(); while( nIndex < nCount ) { @@ -880,7 +861,7 @@ void SvXMLExportPropertyMapper::_exportXML( if( nPropMapIdx >= nPropMapStartIdx && nPropMapIdx < nPropMapEndIdx )// valid entry? { - sal_uInt32 nEFlags = maPropMapper->GetEntryFlags( nPropMapIdx ); + sal_uInt32 nEFlags = mpImpl->mxPropMapper->GetEntryFlags(nPropMapIdx); sal_uInt16 nEPType = GET_PROP_TYPE(nEFlags); OSL_ENSURE( nEPType >= (XML_TYPE_PROP_START>>XML_TYPE_PROP_SHIFT), "no prop type sepcified" ); @@ -918,8 +899,7 @@ void SvXMLExportPropertyMapper::_exportXML( const ::std::vector< XMLPropertyState > *pProperties, sal_uInt32 nIdx ) const { - if ( ( maPropMapper->GetEntryFlags( rProperty.mnIndex ) & - MID_FLAG_SPECIAL_ITEM_EXPORT ) != 0 ) + if ((mpImpl->mxPropMapper->GetEntryFlags(rProperty.mnIndex) & MID_FLAG_SPECIAL_ITEM_EXPORT) != 0) { uno::Reference< container::XNameContainer > xAttrContainer; if( (rProperty.maValue >>= xAttrContainer) && xAttrContainer.is() ) @@ -1028,23 +1008,21 @@ void SvXMLExportPropertyMapper::_exportXML( rNamespaceMap, pProperties, nIdx ); } } - else if ( ( maPropMapper->GetEntryFlags( rProperty.mnIndex ) & - MID_FLAG_ELEMENT_ITEM_EXPORT ) == 0 ) + else if ((mpImpl->mxPropMapper->GetEntryFlags(rProperty.mnIndex) & MID_FLAG_ELEMENT_ITEM_EXPORT ) == 0) { OUString aValue; - const OUString sName( rNamespaceMap.GetQNameByKey( - maPropMapper->GetEntryNameSpace( rProperty.mnIndex ), - maPropMapper->GetEntryXMLName( rProperty.mnIndex ) ) ); + const OUString sName = rNamespaceMap.GetQNameByKey( + mpImpl->mxPropMapper->GetEntryNameSpace(rProperty.mnIndex), + mpImpl->mxPropMapper->GetEntryXMLName(rProperty.mnIndex)); sal_Bool bRemove = sal_False; - if( ( maPropMapper->GetEntryFlags( rProperty.mnIndex ) & - MID_FLAG_MERGE_ATTRIBUTE ) != 0 ) + if ((mpImpl->mxPropMapper->GetEntryFlags( rProperty.mnIndex ) & MID_FLAG_MERGE_ATTRIBUTE) != 0) { aValue = rAttrList.getValueByName( sName ); bRemove = sal_True; } - if( maPropMapper->exportXML( aValue, rProperty, rUnitConverter ) ) + if (mpImpl->mxPropMapper->exportXML(aValue, rProperty, rUnitConverter)) { if( bRemove ) rAttrList.RemoveAttribute( sName ); @@ -1066,7 +1044,7 @@ void SvXMLExportPropertyMapper::exportElementItems( { const sal_uInt16 nElement = rIndexArray[nIndex]; - OSL_ENSURE( 0 != ( maPropMapper->GetEntryFlags( + OSL_ENSURE( 0 != (mpImpl->mxPropMapper->GetEntryFlags( rProperties[nElement].mnIndex ) & MID_FLAG_ELEMENT_ITEM_EXPORT), "wrong mid flag!" ); @@ -1080,4 +1058,19 @@ void SvXMLExportPropertyMapper::exportElementItems( rExport.IgnorableWhitespace(); } +const UniReference<XMLPropertySetMapper>& SvXMLExportPropertyMapper::getPropertySetMapper() const +{ + return mpImpl->mxPropMapper; +} + +void SvXMLExportPropertyMapper::SetStyleName( const OUString& rStyleName ) +{ + mpImpl->maStyleName = rStyleName; +} + +const OUString& SvXMLExportPropertyMapper::GetStyleName() const +{ + return mpImpl->maStyleName; +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits