From 2434e019252cbc8b6a567eafe89ccfdf4749b838 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Thu, 29 Sep 2016 21:26:16 +0100 Subject: reorg FillItemData Change-Id: Ia70bf1c7fb4bf524b92c3f97103cd74bccf46822 --- sc/source/core/data/dptabres.cxx | 24 +++++++++--------------- sc/source/core/data/dptabsrc.cxx | 13 +++++-------- 2 files changed, 14 insertions(+), 23 deletions(-) (limited to 'sc/source/core') diff --git a/sc/source/core/data/dptabres.cxx b/sc/source/core/data/dptabres.cxx index 12a40ccef9a7..2d5e72d4c9f6 100644 --- a/sc/source/core/data/dptabres.cxx +++ b/sc/source/core/data/dptabres.cxx @@ -965,8 +965,7 @@ OUString ScDPResultMember::GetDisplayName( bool bLocaleIndependent ) const if (!pDPMember) return OUString(); - ScDPItemData aItem; - pDPMember->FillItemData(aItem); + ScDPItemData aItem(pDPMember->FillItemData()); if (aParentDimData.mpParentDim) { long nDim = aParentDimData.mpParentDim->GetDimension(); @@ -976,13 +975,12 @@ OUString ScDPResultMember::GetDisplayName( bool bLocaleIndependent ) const return aItem.GetString(); } -void ScDPResultMember::FillItemData( ScDPItemData& rData ) const +ScDPItemData ScDPResultMember::FillItemData() const { - const ScDPMember* pMemberDesc = GetDPMember(); + const ScDPMember* pMemberDesc = GetDPMember(); if (pMemberDesc) - pMemberDesc->FillItemData( rData ); - else - rData.SetString( ScGlobal::GetRscString(STR_PIVOT_TOTAL) ); // root member + return pMemberDesc->FillItemData(); + return ScDPItemData(ScGlobal::GetRscString(STR_PIVOT_TOTAL)); // root member } bool ScDPResultMember::IsNamedItem( SCROW nIndex ) const @@ -1322,8 +1320,7 @@ void ScDPResultMember::FillMemberResults( } else { - ScDPItemData aItemData; - FillItemData( aItemData ); + ScDPItemData aItemData(FillItemData()); if (aParentDimData.mpParentDim) { long nDim = aParentDimData.mpParentDim->GetDimension(); @@ -2694,8 +2691,7 @@ bool ScDPGroupCompare::TestIncluded( const ScDPMember& rMember ) { // need to check all previous groups //TODO: get array of groups (or indexes) before loop? - ScDPItemData aMemberData; - rMember.FillItemData( aMemberData ); + ScDPItemData aMemberData(rMember.FillItemData()); const std::vector& rMemStates = rInitState.GetMembers(); std::vector::const_iterator it = rMemStates.begin(), itEnd = rMemStates.end(); @@ -2714,8 +2710,7 @@ bool ScDPGroupCompare::TestIncluded( const ScDPMember& rMember ) // -> look for other groups using the same base //TODO: get array of groups (or indexes) before loop? - ScDPItemData aMemberData; - rMember.FillItemData( aMemberData ); + ScDPItemData aMemberData(rMember.FillItemData()); const std::vector& rMemStates = rInitState.GetMembers(); std::vector::const_iterator it = rMemStates.begin(), itEnd = rMemStates.end(); for (; it != itEnd && bInclude; ++it) @@ -3510,8 +3505,7 @@ void ScDPResultDimension::FillVisibilityData(ScDPResultVisibilityData& rData) co ScDPResultMember* pMember = *itr; if (pMember->IsValid()) { - ScDPItemData aItem; - pMember->FillItemData(aItem); + ScDPItemData aItem(pMember->FillItemData()); rData.addVisibleMember(GetName(), aItem); pMember->FillVisibilityData(rData); } diff --git a/sc/source/core/data/dptabsrc.cxx b/sc/source/core/data/dptabsrc.cxx index 859b0caa929f..390bc0e89c1c 100644 --- a/sc/source/core/data/dptabsrc.cxx +++ b/sc/source/core/data/dptabsrc.cxx @@ -463,8 +463,7 @@ Sequence< Sequence > SAL_CALL ScDPSource::getDrillDownData(const SequenceGetIndexFromName( rFilter.MatchValueName ); if ( nIndex >= 0 ) { - ScDPItemData aItem; - pMembers->getByIndex(nIndex)->FillItemData( aItem ); + ScDPItemData aItem(pMembers->getByIndex(nIndex)->FillItemData()); aFilterCriteria.push_back( ScDPFilteredCache::Criterion() ); aFilterCriteria.back().mnFieldIndex = nCol; aFilterCriteria.back().mpFilter.reset( @@ -737,8 +736,7 @@ void ScDPSource::FilterCacheByPageDimensions() ScDPMember* pMem = pMems->getByIndex(j); if (pMem->isVisible()) { - ScDPItemData aData; - pMem->FillItemData(aData); + ScDPItemData aData(pMem->FillItemData()); pGrpFilter->addMatchItem(aData); } } @@ -1450,8 +1448,7 @@ const ScDPItemData& ScDPDimension::GetSelectedData() ScDPMember* pMember = pMembers->getByIndex(i); if (aSelectedPage.equals(pMember->GetNameStr( false))) { - pSelectedData = new ScDPItemData(); - pMember->FillItemData( *pSelectedData ); + pSelectedData = new ScDPItemData(pMember->FillItemData()); } } } @@ -2582,12 +2579,12 @@ sal_Int32 ScDPMember::Compare( const ScDPMember& rOther ) const return pSource->GetData()->Compare( pSource->GetSourceDim(nDim),mnDataId,rOther.GetItemDataId()); } -void ScDPMember::FillItemData( ScDPItemData& rData ) const +ScDPItemData ScDPMember::FillItemData() const { //TODO: handle date hierarchy... const ScDPItemData* pData = GetItemData(); - rData = (pData ? *pData : ScDPItemData()); + return (pData ? *pData : ScDPItemData()); } const OUString* ScDPMember::GetLayoutName() const -- cgit v1.2.3