LibreOffice Module sc (master)  1
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
ScDPOutput Class Reference

#include <dpoutput.hxx>

Collaboration diagram for ScDPOutput:
[legend]

Public Member Functions

 ScDPOutput (ScDocument *pD, const css::uno::Reference< css::sheet::XDimensionsSupplier > &xSrc, const ScAddress &rPos, bool bFilter)
 
 ~ScDPOutput ()
 
void SetPosition (const ScAddress &rPos)
 
void Output ()
 
ScRange GetOutputRange (sal_Int32 nRegionType=css::sheet::DataPilotOutputRangeType::WHOLE)
 Refresh? More...
 
long GetHeaderRows () const
 
bool HasError ()
 
void GetPositionData (const ScAddress &rPos, css::sheet::DataPilotTablePositionData &rPosData)
 
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. More...
 
long GetHeaderDim (const ScAddress &rPos, css::sheet::DataPilotFieldOrientation &rOrient)
 
bool GetHeaderDrag (const ScAddress &rPos, bool bMouseLeft, bool bMouseTop, long nDragDim, tools::Rectangle &rPosRect, css::sheet::DataPilotFieldOrientation &rOrient, long &rDimPos)
 
bool IsFilterButton (const ScAddress &rPos)
 
void GetMemberResultNames (ScDPUniqueStringSet &rNames, long nDimension)
 
void SetHeaderLayout (bool bUseGrid)
 
bool GetHeaderLayout () const
 

Static Public Member Functions

static void GetDataDimensionNames (OUString &rSourceName, OUString &rGivenName, const css::uno::Reference< css::uno::XInterface > &xDim)
 

Private Member Functions

void DataCell (SCCOL nCol, SCROW nRow, SCTAB nTab, const css::sheet::DataResult &rData)
 
void HeaderCell (SCCOL nCol, SCROW nRow, SCTAB nTab, const css::sheet::MemberResult &rData, bool bColHeader, long nLevel)
 
void FieldCell (SCCOL nCol, SCROW nRow, SCTAB nTab, const ScDPOutLevelData &rData, bool bInTable)
 
void CalcSizes ()
 
sal_Int32 GetPositionType (const ScAddress &rPos)
 Query which sub-area of the table the cell is in. More...
 

Private Attributes

ScDocumentpDoc
 
css::uno::Reference< css::sheet::XDimensionsSupplier > xSource
 
ScAddress aStartPos
 
std::vector< ScDPOutLevelDatapColFields
 
std::vector< ScDPOutLevelDatapRowFields
 
std::vector< ScDPOutLevelDatapPageFields
 
css::uno::Sequence< css::uno::Sequence< css::sheet::DataResult > > aData
 
OUString aDataDescription
 
std::unique_ptr< sal_uInt32[]> pColNumFmt
 
std::unique_ptr< sal_uInt32[]> pRowNumFmt
 
long nColFmtCount
 
long nRowFmtCount
 
sal_uInt32 nSingleNumFmt
 
long nColCount
 
long nRowCount
 
long nHeaderSize
 
SCCOL nTabStartCol
 
SCROW nTabStartRow
 
SCCOL nMemberStartCol
 
SCROW nMemberStartRow
 
SCCOL nDataStartCol
 
SCROW nDataStartRow
 
SCCOL nTabEndCol
 
SCROW nTabEndRow
 
bool bDoFilter:1
 
bool bResultsError:1
 
bool bSizesValid:1
 
bool bSizeOverflow:1
 
bool mbHeaderLayout:1
 

Detailed Description

Definition at line 45 of file dpoutput.hxx.

Constructor & Destructor Documentation

ScDPOutput::ScDPOutput ( ScDocument pD,
const css::uno::Reference< css::sheet::XDimensionsSupplier > &  xSrc,
const ScAddress rPos,
bool  bFilter 
)
ScDPOutput::~ScDPOutput ( )

Definition at line 679 of file dpoutput.cxx.

Member Function Documentation

void ScDPOutput::CalcSizes ( )
private
void ScDPOutput::DataCell ( SCCOL  nCol,
SCROW  nRow,
SCTAB  nTab,
const css::sheet::DataResult &  rData 
)
private
void ScDPOutput::FieldCell ( SCCOL  nCol,
SCROW  nRow,
SCTAB  nTab,
const ScDPOutLevelData rData,
bool  bInTable 
)
private
void ScDPOutput::GetDataDimensionNames ( OUString &  rSourceName,
OUString &  rGivenName,
const css::uno::Reference< css::uno::XInterface > &  xDim 
)
static
bool ScDPOutput::GetDataResultPositionData ( ::std::vector< css::sheet::DataPilotFieldFilter > &  rFilters,
const ScAddress rPos 
)

Get filtering criteria based on the position of the cell within data field region.

Definition at line 1390 of file dpoutput.cxx.

References aStartPos, CalcSizes(), ScAddress::Col(), ScUnoHelpFunctions::GetLongProperty(), nDataStartCol, nDataStartRow, nTabEndCol, nTabEndRow, pColFields, pRowFields, ScAddress::Row(), SC_UNO_DP_DATAFIELDCOUNT, and ScAddress::Tab().

Referenced by GetPositionData().

long ScDPOutput::GetHeaderDim ( const ScAddress rPos,
css::sheet::DataPilotFieldOrientation &  rOrient 
)
bool ScDPOutput::GetHeaderDrag ( const ScAddress rPos,
bool  bMouseLeft,
bool  bMouseTop,
long  nDragDim,
tools::Rectangle rPosRect,
css::sheet::DataPilotFieldOrientation &  rOrient,
long &  rDimPos 
)
bool ScDPOutput::GetHeaderLayout ( ) const
inline

Definition at line 127 of file dpoutput.hxx.

References mbHeaderLayout.

Referenced by CalcSizes().

long ScDPOutput::GetHeaderRows ( ) const

Definition at line 1150 of file dpoutput.cxx.

References bDoFilter, and pPageFields.

void ScDPOutput::GetMemberResultNames ( ScDPUniqueStringSet rNames,
long  nDimension 
)

Definition at line 1167 of file dpoutput.cxx.

References pColFields, and pRowFields.

ScRange ScDPOutput::GetOutputRange ( sal_Int32  nRegionType = css::sheet::DataPilotOutputRangeType::WHOLE)
void ScDPOutput::GetPositionData ( const ScAddress rPos,
css::sheet::DataPilotTablePositionData &  rPosData 
)
sal_Int32 ScDPOutput::GetPositionType ( const ScAddress rPos)
private

Query which sub-area of the table the cell is in.

See css.sheet.DataPilotTablePositionType for the interpretation of the return value.

Definition at line 885 of file dpoutput.cxx.

References aStartPos, CalcSizes(), ScAddress::Col(), COLUMN_HEADER, nDataStartCol, nDataStartRow, ScAddress::Row(), ROW_HEADER, and ScAddress::Tab().

Referenced by GetPositionData().

bool ScDPOutput::HasError ( )

Definition at line 1143 of file dpoutput.cxx.

References bResultsError, bSizeOverflow, and CalcSizes().

void ScDPOutput::HeaderCell ( SCCOL  nCol,
SCROW  nRow,
SCTAB  nTab,
const css::sheet::MemberResult &  rData,
bool  bColHeader,
long  nLevel 
)
private
bool ScDPOutput::IsFilterButton ( const ScAddress rPos)

Definition at line 1536 of file dpoutput.cxx.

References aStartPos, bDoFilter, ScAddress::Col(), ScAddress::Row(), and ScAddress::Tab().

void ScDPOutput::Output ( )
void ScDPOutput::SetHeaderLayout ( bool  bUseGrid)

Definition at line 1193 of file dpoutput.cxx.

References bSizesValid, and mbHeaderLayout.

void ScDPOutput::SetPosition ( const ScAddress rPos)

Definition at line 683 of file dpoutput.cxx.

References aStartPos, bSizeOverflow, and bSizesValid.

Member Data Documentation

css::uno::Sequence< css::uno::Sequence< css::sheet::DataResult> > ScDPOutput::aData
private

Definition at line 54 of file dpoutput.hxx.

Referenced by CalcSizes(), GetPositionData(), Output(), and ScDPOutput().

OUString ScDPOutput::aDataDescription
private

Definition at line 55 of file dpoutput.hxx.

Referenced by Output(), and ScDPOutput().

ScAddress ScDPOutput::aStartPos
private
bool ScDPOutput::bDoFilter
private
bool ScDPOutput::bResultsError
private

Definition at line 79 of file dpoutput.hxx.

Referenced by HasError(), Output(), and ScDPOutput().

bool ScDPOutput::bSizeOverflow
private

Definition at line 81 of file dpoutput.hxx.

Referenced by CalcSizes(), HasError(), Output(), and SetPosition().

bool ScDPOutput::bSizesValid
private

Definition at line 80 of file dpoutput.hxx.

Referenced by CalcSizes(), DataCell(), SetHeaderLayout(), and SetPosition().

bool ScDPOutput::mbHeaderLayout
private

Definition at line 82 of file dpoutput.hxx.

Referenced by GetHeaderLayout(), and SetHeaderLayout().

long ScDPOutput::nColCount
private

Definition at line 67 of file dpoutput.hxx.

Referenced by CalcSizes(), and Output().

long ScDPOutput::nColFmtCount
private

Definition at line 62 of file dpoutput.hxx.

Referenced by DataCell(), and ScDPOutput().

SCCOL ScDPOutput::nDataStartCol
private
SCROW ScDPOutput::nDataStartRow
private
long ScDPOutput::nHeaderSize
private

Definition at line 69 of file dpoutput.hxx.

Referenced by CalcSizes().

SCCOL ScDPOutput::nMemberStartCol
private

Definition at line 72 of file dpoutput.hxx.

Referenced by CalcSizes(), HeaderCell(), Output(), and ScDPOutput().

SCROW ScDPOutput::nMemberStartRow
private

Definition at line 73 of file dpoutput.hxx.

Referenced by CalcSizes(), GetHeaderDrag(), HeaderCell(), Output(), and ScDPOutput().

long ScDPOutput::nRowCount
private

Definition at line 68 of file dpoutput.hxx.

Referenced by CalcSizes(), and Output().

long ScDPOutput::nRowFmtCount
private

Definition at line 63 of file dpoutput.hxx.

Referenced by DataCell(), and ScDPOutput().

sal_uInt32 ScDPOutput::nSingleNumFmt
private

Definition at line 64 of file dpoutput.hxx.

Referenced by DataCell(), and ScDPOutput().

SCCOL ScDPOutput::nTabEndCol
private

Definition at line 76 of file dpoutput.hxx.

Referenced by GetDataResultPositionData(), GetHeaderDrag(), GetOutputRange(), and Output().

SCROW ScDPOutput::nTabEndRow
private

Definition at line 77 of file dpoutput.hxx.

Referenced by GetDataResultPositionData(), GetOutputRange(), and Output().

SCCOL ScDPOutput::nTabStartCol
private

Definition at line 70 of file dpoutput.hxx.

Referenced by CalcSizes(), GetHeaderDim(), GetHeaderDrag(), and GetPositionData().

SCROW ScDPOutput::nTabStartRow
private

Definition at line 71 of file dpoutput.hxx.

Referenced by GetOutputRange().

std::vector<ScDPOutLevelData> ScDPOutput::pColFields
private
std::unique_ptr<sal_uInt32[]> ScDPOutput::pColNumFmt
private

Definition at line 59 of file dpoutput.hxx.

Referenced by DataCell(), and ScDPOutput().

ScDocument* ScDPOutput::pDoc
private

Definition at line 48 of file dpoutput.hxx.

std::vector<ScDPOutLevelData> ScDPOutput::pPageFields
private

Definition at line 53 of file dpoutput.hxx.

Referenced by CalcSizes(), GetHeaderDim(), GetHeaderDrag(), GetHeaderRows(), Output(), and ScDPOutput().

std::vector<ScDPOutLevelData> ScDPOutput::pRowFields
private
std::unique_ptr<sal_uInt32[]> ScDPOutput::pRowNumFmt
private

Definition at line 61 of file dpoutput.hxx.

Referenced by DataCell(), and ScDPOutput().

css::uno::Reference< css::sheet::XDimensionsSupplier> ScDPOutput::xSource
private

Definition at line 49 of file dpoutput.hxx.

Referenced by ScDPOutput().


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