22#include <com/sun/star/sheet/DataPilotOutputRangeType.hpp>
23#include <com/sun/star/sheet/DataPilotFieldOrientation.hpp>
24#include <com/sun/star/uno/Sequence.hxx>
36 struct DataPilotFieldFilter;
37 struct DataPilotTablePositionData;
40 class XDimensionsSupplier;
50 css::uno::Reference< css::sheet::XDimensionsSupplier>
xSource;
55 css::uno::Sequence< css::uno::Sequence< css::sheet::DataResult> >
aData;
59 std::unique_ptr<sal_uInt32[]>
61 std::unique_ptr<sal_uInt32[]>
90 const css::sheet::DataResult& rData );
92 const css::sheet::MemberResult& rData,
113 css::uno::Reference< css::sheet::XDimensionsSupplier> xSrc,
114 const ScAddress& rPos,
bool bFilter,
bool bExpandCollapse );
142 OUString& rSourceName, OUString& rGivenName,
143 const css::uno::Reference< css::uno::XInterface>& xDim );
bool GetHeaderDrag(const ScAddress &rPos, bool bMouseLeft, bool bMouseTop, tools::Long nDragDim, tools::Rectangle &rPosRect, css::sheet::DataPilotFieldOrientation &rOrient, tools::Long &rDimPos)
void HeaderCell(SCCOL nCol, SCROW nRow, SCTAB nTab, const css::sheet::MemberResult &rData, bool bColHeader, tools::Long nLevel)
bool GetHeaderLayout() const
ScRange GetOutputRange(sal_Int32 nRegionType=css::sheet::DataPilotOutputRangeType::WHOLE)
Refresh?
void MultiFieldCell(SCCOL nCol, SCROW nRow, SCTAB nTab, bool bRowField)
bool mbHasCompactRowField
std::unique_ptr< sal_uInt32[]> pRowNumFmt
SCCOL GetColumnsForRowFields() const
Computes number of columns needed to write row fields.
void GetPositionData(const ScAddress &rPos, css::sheet::DataPilotTablePositionData &rPosData)
void GetMemberResultNames(ScDPUniqueStringSet &rNames, tools::Long nDimension)
css::uno::Sequence< css::uno::Sequence< css::sheet::DataResult > > aData
void SetPosition(const ScAddress &rPos)
css::uno::Reference< css::sheet::XDimensionsSupplier > xSource
bool GetDataResultPositionData(::std::vector< css::sheet::DataPilotFieldFilter > &rFilters, const ScAddress &rPos)
Get filtering criteria based on the position of the cell within data field region.
void FieldCell(SCCOL nCol, SCROW nRow, SCTAB nTab, const ScDPOutLevelData &rData, bool bInTable)
sal_Int32 GetRowFieldCompact(SCCOL nColQuery, SCROW nRowQuery) const
Find row field index from row position in case of compact layout.
tools::Long GetHeaderDim(const ScAddress &rPos, css::sheet::DataPilotFieldOrientation &rOrient)
std::vector< ScDPOutLevelData > pColFields
bool IsFilterButton(const ScAddress &rPos)
std::vector< bool > aRowCompactFlags
ScDPOutput(ScDocument *pD, css::uno::Reference< css::sheet::XDimensionsSupplier > xSrc, const ScAddress &rPos, bool bFilter, bool bExpandCollapse)
std::vector< ScDPOutLevelData > pPageFields
static void GetDataDimensionNames(OUString &rSourceName, OUString &rGivenName, const css::uno::Reference< css::uno::XInterface > &xDim)
OUString aDataDescription
std::unique_ptr< sal_uInt32[]> pColNumFmt
void GetRowFieldRange(SCCOL nCol, sal_Int32 &nRowFieldStart, sal_Int32 &nRowFieldEnd) const
Returns the range of row fields that are contained by table's row fields column nCol.
std::vector< ScDPOutLevelData > pRowFields
sal_Int32 GetHeaderRows() const
void SetHeaderLayout(bool bUseGrid)
void DataCell(SCCOL nCol, SCROW nRow, SCTAB nTab, const css::sheet::DataResult &rData)
sal_Int32 GetPositionType(const ScAddress &rPos)
Query which sub-area of the table the cell is in.
std::unordered_set< OUString > ScDPUniqueStringSet