tdf#126710: sc:Remove pResultData from ScDPResultMemberSlim
pResultData is constant in ScDPResultDimension, so we don't need to store it in ScDPResultMemberSlim, just ask the dimension. Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org> Change-Id: I0b9f9081c9ffcc0c285e546a4cfb2784315d0c3d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208635 Tested-by: Jenkins Reviewed-by: David Gilbert <freedesktop@treblig.org>
This commit is contained in:
committed by
David Gilbert
parent
aac1744361
commit
19b0757c54
+3
-8
@@ -449,7 +449,6 @@ private:
|
||||
// When adding fields here, update ScDPResultDimension::Promote
|
||||
ScDPResultDimension* mpOurDimension;
|
||||
const ScDPMember* mpMemberDesc;
|
||||
const ScDPResultData* pResultData;
|
||||
const SCROW mnOrder;
|
||||
bool bmHasElements : 1;
|
||||
bool bmHasHiddenDetails : 1;
|
||||
@@ -469,8 +468,7 @@ private:
|
||||
ScDPResultMember* Promote(const char* sReason);
|
||||
|
||||
public:
|
||||
ScDPResultMemberSlim(ScDPResultDimension* pRDimension, const ScDPResultData* pData,
|
||||
const ScDPParentDimData& rParentDimData);
|
||||
ScDPResultMemberSlim(ScDPResultDimension* pRDimension, const ScDPParentDimData& rParentDimData);
|
||||
|
||||
bool GetHasElements() const override
|
||||
{
|
||||
@@ -614,11 +612,7 @@ public:
|
||||
return bmInitialized;
|
||||
};
|
||||
|
||||
const ScDPResultData* GetResultData() const override
|
||||
{
|
||||
// pResultData is never changed, and on promotion is passed to new version
|
||||
return pResultData;
|
||||
}
|
||||
const ScDPResultData* GetResultData() const override;
|
||||
|
||||
SCROW GetOrder() const override
|
||||
{
|
||||
@@ -878,6 +872,7 @@ public:
|
||||
|
||||
const ScMemberSortOrder& GetMemberOrder() const { return aMemberOrder; }
|
||||
ScMemberSortOrder& GetMemberOrder() { return aMemberOrder; }
|
||||
const ScDPResultData* GetResultData() const { return pResultData; }
|
||||
|
||||
bool IsDataLayout() const { return bIsDataLayout; }
|
||||
const OUString& GetName() const { return aDimensionName; }
|
||||
|
||||
@@ -989,11 +989,9 @@ ResultMembers& ScDPResultData::GetDimResultMembers(tools::Long nDim, const ScDPD
|
||||
|
||||
ScDPResultMemberSlim::ScDPResultMemberSlim(
|
||||
ScDPResultDimension* pRDimension,
|
||||
const ScDPResultData* pData,
|
||||
const ScDPParentDimData& rParentDimData) :
|
||||
mpOurDimension(pRDimension),
|
||||
mpMemberDesc(rParentDimData.mpMemberDesc),
|
||||
pResultData(pData),
|
||||
mnOrder(rParentDimData.mnOrder),
|
||||
bmHasElements(false),
|
||||
bmHasHiddenDetails(false),
|
||||
@@ -1039,6 +1037,12 @@ const ScDPLevel* ScDPResultMemberSlim::GetParentLevel() const
|
||||
return mpOurDimension->GetParentLevelForResult();
|
||||
}
|
||||
|
||||
const ScDPResultData* ScDPResultMemberSlim::GetResultData() const
|
||||
{
|
||||
// pResultData is constant over the dimension, just ask it
|
||||
return mpOurDimension->GetResultData();
|
||||
}
|
||||
|
||||
ScDPResultMemberFull::ScDPResultMemberFull(
|
||||
const ScDPResultData* pData, const ScDPParentDimData& rParentDimData ) :
|
||||
pResultData( pData ),
|
||||
@@ -3826,7 +3830,7 @@ ScDPResultMember* ScDPResultDimension::Promote(ScDPResultMemberSlim* pSlim, SCRO
|
||||
assert(pSlim == maMemberArray[nIndex].get());
|
||||
|
||||
ScDPParentDimData aParentData(nOrder, mpDimension, mpLevel, pSlim->mpMemberDesc);
|
||||
ScDPResultMember* pFull = new ScDPResultMemberFull(pSlim->pResultData, aParentData);
|
||||
ScDPResultMember* pFull = new ScDPResultMemberFull(pResultData, aParentData);
|
||||
|
||||
if (pSlim->bmHasElements)
|
||||
pFull->SetHasElements();
|
||||
@@ -4289,7 +4293,7 @@ SCROW ScDPResultMember::GetDataId() const
|
||||
|
||||
ScDPResultMember* ScDPResultDimension::AddMember(const ScDPParentDimData &aData )
|
||||
{
|
||||
ScDPResultMember* pMember = new ScDPResultMemberSlim(this, pResultData, aData);
|
||||
ScDPResultMember* pMember = new ScDPResultMemberSlim(this, aData);
|
||||
maMemberArray.emplace_back( pMember );
|
||||
|
||||
return pMember;
|
||||
|
||||
Reference in New Issue
Block a user