LibreOffice Module sc (master) 1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ScDPGroupTableData Class Referencefinal

#include <dpgroup.hxx>

Inheritance diagram for ScDPGroupTableData:
[legend]
Collaboration diagram for ScDPGroupTableData:
[legend]

Public Member Functions

 ScDPGroupTableData (const std::shared_ptr< ScDPTableData > &pSource, ScDocument *pDocument)
 
virtual ~ScDPGroupTableData () override
 
const std::shared_ptr< ScDPTableData > & GetSourceTableData () const
 
void AddGroupDimension (const ScDPGroupDimension &rGroup)
 
void SetNumGroupDimension (sal_Int32 nIndex, const ScDPNumGroupDimension &rGroup)
 
sal_Int32 GetDimensionIndex (std::u16string_view rName)
 
virtual sal_Int32 GetColumnCount () override
 use (new) typed collection instead of ScStrCollection or separate Str and ValueCollection More...
 
virtual sal_Int32 GetMembersCount (sal_Int32 nDim) override
 
virtual const std::vector< SCROW > & GetColumnEntries (sal_Int32 nColumn) override
 
virtual const ScDPItemDataGetMemberById (sal_Int32 nDim, sal_Int32 nId) override
 
virtual sal_Int32 Compare (sal_Int32 nDim, sal_Int32 nDataId1, sal_Int32 nDataId2) override
 
virtual OUString getDimensionName (sal_Int32 nColumn) override
 
virtual bool getIsDataLayoutDimension (sal_Int32 nColumn) override
 
virtual bool IsDateDimension (sal_Int32 nDim) override
 
virtual sal_uInt32 GetNumberFormat (sal_Int32 nDim) override
 
virtual void DisposeData () override
 
virtual void SetEmptyFlags (bool bIgnoreEmptyRows, bool bRepeatIfEmpty) override
 
virtual bool IsRepeatIfEmpty () override
 
virtual void CreateCacheTable () override
 
virtual void FilterCacheTable (std::vector< ScDPFilteredCache::Criterion > &&rCriteria, std::unordered_set< sal_Int32 > &&rDataDims) override
 
virtual void GetDrillDownData (std::vector< ScDPFilteredCache::Criterion > &&rCriteria, std::unordered_set< sal_Int32 > &&rCatDims, css::uno::Sequence< css::uno::Sequence< css::uno::Any > > &rData) override
 
virtual void CalcResults (CalcInfo &rInfo, bool bAutoShow) override
 
virtual const ScDPFilteredCacheGetCacheTable () const override
 
virtual void ReloadCacheTable () override
 
virtual bool IsBaseForGroup (sal_Int32 nDim) const override
 
virtual sal_Int32 GetGroupBase (sal_Int32 nGroupDim) const override
 
virtual bool IsNumOrDateGroup (sal_Int32 nDim) const override
 
virtual bool IsInGroup (const ScDPItemData &rGroupData, sal_Int32 nGroupIndex, const ScDPItemData &rBaseData, sal_Int32 nBaseIndex) const override
 
virtual bool HasCommonElement (const ScDPItemData &rFirstData, sal_Int32 nFirstIndex, const ScDPItemData &rSecondData, sal_Int32 nSecondIndex) const override
 
virtual void Dump () const override
 
- Public Member Functions inherited from ScDPTableData
 ScDPTableData (const ScDPTableData &)=delete
 
const ScDPTableDataoperator= (const ScDPTableData &)=delete
 
 ScDPTableData (const ScDocument *pDoc)
 
virtual ~ScDPTableData ()
 
OUString GetFormattedString (sal_Int32 nDim, const ScDPItemData &rItem, bool bLocaleIndependent) const
 
tools::Long GetDatePart (tools::Long nDateVal, tools::Long nHierarchy, tools::Long nLevel)
 
virtual sal_Int32 GetColumnCount ()=0
 use (new) typed collection instead of ScStrCollection or separate Str and ValueCollection More...
 
virtual const std::vector< SCROW > & GetColumnEntries (sal_Int32 nColumn)
 
virtual OUString getDimensionName (sal_Int32 nColumn)=0
 
virtual bool getIsDataLayoutDimension (sal_Int32 nColumn)=0
 
virtual bool IsDateDimension (sal_Int32 nDim)=0
 
virtual sal_uInt32 GetNumberFormat (sal_Int32 nDim)
 
sal_uInt32 GetNumberFormatByIdx (NfIndexTableOffset)
 
virtual void DisposeData ()=0
 
virtual void SetEmptyFlags (bool bIgnoreEmptyRows, bool bRepeatIfEmpty)=0
 
virtual bool IsRepeatIfEmpty ()
 
virtual void CreateCacheTable ()=0
 
virtual void FilterCacheTable (std::vector< ScDPFilteredCache::Criterion > &&rCriteria, std::unordered_set< sal_Int32 > &&rDataDims)=0
 
virtual void GetDrillDownData (std::vector< ScDPFilteredCache::Criterion > &&rCriteria, std::unordered_set< sal_Int32 > &&rCatDims, css::uno::Sequence< css::uno::Sequence< css::uno::Any > > &rData)=0
 
virtual void CalcResults (CalcInfo &rInfo, bool bAutoShow)=0
 
virtual const ScDPFilteredCacheGetCacheTable () const =0
 
virtual void ReloadCacheTable ()=0
 
virtual bool IsBaseForGroup (sal_Int32 nDim) const
 
virtual sal_Int32 GetGroupBase (sal_Int32 nGroupDim) const
 
virtual bool IsNumOrDateGroup (sal_Int32 nDim) const
 
virtual bool IsInGroup (const ScDPItemData &rGroupData, sal_Int32 nGroupIndex, const ScDPItemData &rBaseData, sal_Int32 nBaseIndex) const
 
virtual bool HasCommonElement (const ScDPItemData &rFirstData, sal_Int32 nFirstIndex, const ScDPItemData &rSecondData, sal_Int32 nSecondIndex) const
 
virtual sal_Int32 GetMembersCount (sal_Int32 nDim)
 
const ScDPItemDataGetMemberByIndex (sal_Int32 nDim, sal_Int32 nIndex)
 
virtual const ScDPItemDataGetMemberById (sal_Int32 nDim, sal_Int32 nId)
 
virtual sal_Int32 GetSourceDim (sal_Int32 nDim)
 
virtual sal_Int32 Compare (sal_Int32 nDim, sal_Int32 nDataId1, sal_Int32 nDataId2)
 
virtual void Dump () const
 

Private Member Functions

void FillGroupValues (std::vector< SCROW > &rItems, const std::vector< sal_Int32 > &rDims)
 
virtual sal_Int32 GetSourceDim (sal_Int32 nDim) override
 
bool IsNumGroupDimension (tools::Long nDimension) const
 
void GetNumGroupInfo (tools::Long nDimension, ScDPNumGroupInfo &rInfo)
 
void ModifyFilterCriteria (::std::vector< ScDPFilteredCache::Criterion > &rCriteria)
 

Private Attributes

std::shared_ptr< ScDPTableDatapSourceData
 
sal_Int32 nSourceCount
 
std::vector< ScDPGroupDimensionaGroups
 
std::unique_ptr< ScDPNumGroupDimension[]> pNumGroups
 
ScDocumentpDoc
 

Additional Inherited Members

- Protected Member Functions inherited from ScDPTableData
void FillRowDataFromCacheTable (sal_Int32 nRow, const ScDPFilteredCache &rCacheTable, const CalcInfo &rInfo, CalcRowData &rData)
 
void CalcResultsFromCacheTable (const ScDPFilteredCache &rCacheTable, CalcInfo &rInfo, bool bAutoShow)
 
- Static Protected Member Functions inherited from ScDPTableData
static void ProcessRowData (CalcInfo &rInfo, const CalcRowData &rData, bool bAutoShow)
 

Detailed Description

Definition at line 114 of file dpgroup.hxx.

Constructor & Destructor Documentation

◆ ScDPGroupTableData()

ScDPGroupTableData::ScDPGroupTableData ( const std::shared_ptr< ScDPTableData > &  pSource,
ScDocument pDocument 
)

Definition at line 464 of file dpgroup.cxx.

References CreateCacheTable(), nSourceCount, and pNumGroups.

◆ ~ScDPGroupTableData()

ScDPGroupTableData::~ScDPGroupTableData ( )
overridevirtual

Definition at line 476 of file dpgroup.cxx.

Member Function Documentation

◆ AddGroupDimension()

void ScDPGroupTableData::AddGroupDimension ( const ScDPGroupDimension rGroup)

Definition at line 480 of file dpgroup.cxx.

References aGroups, GetColumnCount(), and ScDPGroupDimension::SetGroupDim().

◆ CalcResults()

void ScDPGroupTableData::CalcResults ( CalcInfo rInfo,
bool  bAutoShow 
)
overridevirtual

◆ Compare()

sal_Int32 ScDPGroupTableData::Compare ( sal_Int32  nDim,
sal_Int32  nDataId1,
sal_Int32  nDataId2 
)
overridevirtual

Reimplemented from ScDPTableData.

Definition at line 1004 of file dpgroup.cxx.

References ScDPItemData::Compare(), getIsDataLayoutDimension(), and GetMemberById().

◆ CreateCacheTable()

void ScDPGroupTableData::CreateCacheTable ( )
overridevirtual

Implements ScDPTableData.

Definition at line 619 of file dpgroup.cxx.

References pSourceData.

Referenced by ScDPGroupTableData().

◆ DisposeData()

void ScDPGroupTableData::DisposeData ( )
overridevirtual

Implements ScDPTableData.

Definition at line 598 of file dpgroup.cxx.

References aGroups, DisposeData(), i, nSourceCount, pNumGroups, and pSourceData.

Referenced by DisposeData().

◆ Dump()

virtual void ScDPGroupTableData::Dump ( ) const
overridevirtual

Reimplemented from ScDPTableData.

◆ FillGroupValues()

void ScDPGroupTableData::FillGroupValues ( std::vector< SCROW > &  rItems,
const std::vector< sal_Int32 > &  rDims 
)
private

◆ FilterCacheTable()

void ScDPGroupTableData::FilterCacheTable ( std::vector< ScDPFilteredCache::Criterion > &&  rCriteria,
std::unordered_set< sal_Int32 > &&  rDataDims 
)
overridevirtual

Implements ScDPTableData.

Definition at line 750 of file dpgroup.cxx.

References ModifyFilterCriteria(), and pSourceData.

◆ GetCacheTable()

const ScDPFilteredCache & ScDPGroupTableData::GetCacheTable ( ) const
overridevirtual

Implements ScDPTableData.

Definition at line 793 of file dpgroup.cxx.

References pSourceData.

Referenced by FillGroupValues(), GetColumnEntries(), and ModifyFilterCriteria().

◆ GetColumnCount()

sal_Int32 ScDPGroupTableData::GetColumnCount ( )
overridevirtual

use (new) typed collection instead of ScStrCollection or separate Str and ValueCollection

Implements ScDPTableData.

Definition at line 505 of file dpgroup.cxx.

References aGroups, and nSourceCount.

Referenced by AddGroupDimension().

◆ GetColumnEntries()

const std::vector< SCROW > & ScDPGroupTableData::GetColumnEntries ( sal_Int32  nColumn)
overridevirtual

◆ GetDimensionIndex()

sal_Int32 ScDPGroupTableData::GetDimensionIndex ( std::u16string_view  rName)

Definition at line 497 of file dpgroup.cxx.

References i, nSourceCount, and pSourceData.

◆ getDimensionName()

OUString ScDPGroupTableData::getDimensionName ( sal_Int32  nColumn)
overridevirtual

Implements ScDPTableData.

Definition at line 553 of file dpgroup.cxx.

References aGroups, nSourceCount, and pSourceData.

◆ GetDrillDownData()

void ScDPGroupTableData::GetDrillDownData ( std::vector< ScDPFilteredCache::Criterion > &&  rCriteria,
std::unordered_set< sal_Int32 > &&  rCatDims,
css::uno::Sequence< css::uno::Sequence< css::uno::Any > > &  rData 
)
overridevirtual

Implements ScDPTableData.

Definition at line 756 of file dpgroup.cxx.

References ModifyFilterCriteria(), pSourceData, and rData.

◆ GetGroupBase()

sal_Int32 ScDPGroupTableData::GetGroupBase ( sal_Int32  nGroupDim) const
overridevirtual

Reimplemented from ScDPTableData.

Definition at line 879 of file dpgroup.cxx.

References aGroups.

◆ getIsDataLayoutDimension()

bool ScDPGroupTableData::getIsDataLayoutDimension ( sal_Int32  nColumn)
overridevirtual

Implements ScDPTableData.

Definition at line 566 of file dpgroup.cxx.

References aGroups, and nSourceCount.

Referenced by Compare(), GetColumnEntries(), and GetSourceDim().

◆ GetMemberById()

const ScDPItemData * ScDPGroupTableData::GetMemberById ( sal_Int32  nDim,
sal_Int32  nId 
)
overridevirtual

Reimplemented from ScDPTableData.

Definition at line 548 of file dpgroup.cxx.

References nId, and pSourceData.

Referenced by Compare(), and FillGroupValues().

◆ GetMembersCount()

sal_Int32 ScDPGroupTableData::GetMembersCount ( sal_Int32  nDim)
overridevirtual

Reimplemented from ScDPTableData.

Definition at line 520 of file dpgroup.cxx.

References GetColumnEntries(), and members.

◆ GetNumberFormat()

sal_uInt32 ScDPGroupTableData::GetNumberFormat ( sal_Int32  nDim)
overridevirtual

Reimplemented from ScDPTableData.

Definition at line 585 of file dpgroup.cxx.

References aGroups, nSourceCount, and pSourceData.

◆ GetNumGroupInfo()

void ScDPGroupTableData::GetNumGroupInfo ( tools::Long  nDimension,
ScDPNumGroupInfo rInfo 
)
private

Definition at line 515 of file dpgroup.cxx.

References nSourceCount, and pNumGroups.

Referenced by FillGroupValues().

◆ GetSourceDim()

sal_Int32 ScDPGroupTableData::GetSourceDim ( sal_Int32  nDim)
overrideprivatevirtual

Reimplemented from ScDPTableData.

Definition at line 992 of file dpgroup.cxx.

References aGroups, getIsDataLayoutDimension(), ScDPGroupDimension::GetSourceDim(), and nSourceCount.

◆ GetSourceTableData()

const std::shared_ptr< ScDPTableData > & ScDPGroupTableData::GetSourceTableData ( ) const
inline

Definition at line 137 of file dpgroup.hxx.

References pSourceData.

◆ HasCommonElement()

bool ScDPGroupTableData::HasCommonElement ( const ScDPItemData rFirstData,
sal_Int32  nFirstIndex,
const ScDPItemData rSecondData,
sal_Int32  nSecondIndex 
) const
overridevirtual

◆ IsBaseForGroup()

bool ScDPGroupTableData::IsBaseForGroup ( sal_Int32  nDim) const
overridevirtual

Reimplemented from ScDPTableData.

Definition at line 873 of file dpgroup.cxx.

References aGroups.

◆ IsDateDimension()

bool ScDPGroupTableData::IsDateDimension ( sal_Int32  nDim)
overridevirtual

Implements ScDPTableData.

Definition at line 572 of file dpgroup.cxx.

References aGroups, nSourceCount, and pSourceData.

◆ IsInGroup()

bool ScDPGroupTableData::IsInGroup ( const ScDPItemData rGroupData,
sal_Int32  nGroupIndex,
const ScDPItemData rBaseData,
sal_Int32  nBaseIndex 
) const
overridevirtual

◆ IsNumGroupDimension()

bool ScDPGroupTableData::IsNumGroupDimension ( tools::Long  nDimension) const
private

Definition at line 510 of file dpgroup.cxx.

References GetInfo, nSourceCount, and pNumGroups.

Referenced by FillGroupValues(), GetColumnEntries(), and ModifyFilterCriteria().

◆ IsNumOrDateGroup()

bool ScDPGroupTableData::IsNumOrDateGroup ( sal_Int32  nDim) const
overridevirtual

Reimplemented from ScDPTableData.

Definition at line 889 of file dpgroup.cxx.

References aGroups, nSourceCount, and pNumGroups.

◆ IsRepeatIfEmpty()

bool ScDPGroupTableData::IsRepeatIfEmpty ( )
overridevirtual

Reimplemented from ScDPTableData.

Definition at line 614 of file dpgroup.cxx.

References pSourceData.

◆ ModifyFilterCriteria()

void ScDPGroupTableData::ModifyFilterCriteria ( ::std::vector< ScDPFilteredCache::Criterion > &  rCriteria)
private

◆ ReloadCacheTable()

void ScDPGroupTableData::ReloadCacheTable ( )
overridevirtual

Implements ScDPTableData.

Definition at line 798 of file dpgroup.cxx.

References pSourceData.

◆ SetEmptyFlags()

void ScDPGroupTableData::SetEmptyFlags ( bool  bIgnoreEmptyRows,
bool  bRepeatIfEmpty 
)
overridevirtual

Implements ScDPTableData.

Definition at line 609 of file dpgroup.cxx.

References pSourceData.

◆ SetNumGroupDimension()

void ScDPGroupTableData::SetNumGroupDimension ( sal_Int32  nIndex,
const ScDPNumGroupDimension rGroup 
)

Definition at line 487 of file dpgroup.cxx.

References nIndex, nSourceCount, and pNumGroups.

Member Data Documentation

◆ aGroups

std::vector<ScDPGroupDimension> ScDPGroupTableData::aGroups
private

◆ nSourceCount

sal_Int32 ScDPGroupTableData::nSourceCount
private

◆ pDoc

ScDocument* ScDPGroupTableData::pDoc
private

Definition at line 122 of file dpgroup.hxx.

Referenced by FillGroupValues(), and ModifyFilterCriteria().

◆ pNumGroups

std::unique_ptr<ScDPNumGroupDimension[]> ScDPGroupTableData::pNumGroups
private

◆ pSourceData

std::shared_ptr<ScDPTableData> ScDPGroupTableData::pSourceData
private

The documentation for this class was generated from the following files: