LibreOffice Module sc (master) 1
|
#include <dpoutput.hxx>
Public Member Functions | |
ScDPOutput (ScDocument *pD, css::uno::Reference< css::sheet::XDimensionsSupplier > xSrc, const ScAddress &rPos, bool bFilter, bool bExpandCollapse) | |
~ScDPOutput () | |
void | SetPosition (const ScAddress &rPos) |
void | Output () |
ScRange | GetOutputRange (sal_Int32 nRegionType=css::sheet::DataPilotOutputRangeType::WHOLE) |
Refresh? More... | |
sal_Int32 | 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... | |
tools::Long | GetHeaderDim (const ScAddress &rPos, css::sheet::DataPilotFieldOrientation &rOrient) |
bool | GetHeaderDrag (const ScAddress &rPos, bool bMouseLeft, bool bMouseTop, tools::Long nDragDim, tools::Rectangle &rPosRect, css::sheet::DataPilotFieldOrientation &rOrient, tools::Long &rDimPos) |
bool | IsFilterButton (const ScAddress &rPos) |
void | GetMemberResultNames (ScDPUniqueStringSet &rNames, tools::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, tools::Long nLevel) |
void | FieldCell (SCCOL nCol, SCROW nRow, SCTAB nTab, const ScDPOutLevelData &rData, bool bInTable) |
void | MultiFieldCell (SCCOL nCol, SCROW nRow, SCTAB nTab, bool bRowField) |
SCCOL | GetColumnsForRowFields () const |
Computes number of columns needed to write row fields. More... | |
void | CalcSizes () |
sal_Int32 | GetPositionType (const ScAddress &rPos) |
Query which sub-area of the table the cell is in. More... | |
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. More... | |
sal_Int32 | GetRowFieldCompact (SCCOL nColQuery, SCROW nRowQuery) const |
Find row field index from row position in case of compact layout. More... | |
Private Attributes | |
ScDocument * | pDoc |
css::uno::Reference< css::sheet::XDimensionsSupplier > | xSource |
ScAddress | aStartPos |
std::vector< ScDPOutLevelData > | pColFields |
std::vector< ScDPOutLevelData > | pRowFields |
std::vector< ScDPOutLevelData > | pPageFields |
css::uno::Sequence< css::uno::Sequence< css::sheet::DataResult > > | aData |
OUString | aDataDescription |
std::unique_ptr< sal_uInt32[]> | pColNumFmt |
std::unique_ptr< sal_uInt32[]> | pRowNumFmt |
std::vector< bool > | aRowCompactFlags |
sal_Int32 | nColFmtCount |
sal_Int32 | nRowFmtCount |
sal_uInt32 | nSingleNumFmt |
size_t | nRowDims |
sal_Int32 | nColCount |
sal_Int32 | nRowCount |
sal_Int32 | 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 |
bool | mbHasCompactRowField:1 |
bool | mbExpandCollapse:1 |
Definition at line 46 of file dpoutput.hxx.
ScDPOutput::ScDPOutput | ( | ScDocument * | pD, |
css::uno::Reference< css::sheet::XDimensionsSupplier > | xSrc, | ||
const ScAddress & | rPos, | ||
bool | bFilter, | ||
bool | bExpandCollapse | ||
) |
Definition at line 509 of file dpoutput.cxx.
References aData, aDataDescription, aLayoutInfo, aName, aRowCompactFlags, bResultsError, ScUnoHelpFunctions::GetBoolProperty(), ScUnoHelpFunctions::GetEnumProperty(), ScUnoHelpFunctions::GetLongProperty(), ScUnoHelpFunctions::GetStringProperty(), mbHasCompactRowField, nColFmtCount, nDataStartCol, nDataStartRow, nDimCount, nMemberStartCol, nMemberStartRow, nRowDims, nRowFmtCount, nSingleNumFmt, nTabEndCol, nTabEndRow, nTabStartCol, nTabStartRow, pColFields, pColNumFmt, pPageFields, pRowFields, pRowNumFmt, SC_UNO_DP_DATADESC, SC_UNO_DP_HAS_HIDDEN_MEMBER, SC_UNO_DP_ISDATALAYOUT, SC_UNO_DP_LAYOUT, SC_UNO_DP_LAYOUTNAME, SC_UNO_DP_NUMBERFO, SC_UNO_DP_ORIENTATION, SC_UNO_DP_POSITION, SC_UNO_DP_USEDHIERARCHY, and xSource.
ScDPOutput::~ScDPOutput | ( | ) |
Definition at line 703 of file dpoutput.cxx.
|
private |
Definition at line 892 of file dpoutput.cxx.
References aData, aStartPos, bDoFilter, bSizeOverflow, bSizesValid, ScAddress::Col(), GetColumnsForRowFields(), GetHeaderLayout(), ScDocument::MaxCol(), ScDocument::MaxRow(), nColCount, nDataStartCol, nDataStartRow, nHeaderSize, nMemberStartCol, nMemberStartRow, nRowCount, nTabEndCol, nTabEndRow, nTabStartCol, nTabStartRow, pColFields, pDoc, pPageFields, pRowFields, and ScAddress::Row().
Referenced by GetDataResultPositionData(), GetHeaderDim(), GetHeaderDrag(), GetOutputRange(), GetPositionData(), GetPositionType(), HasError(), and Output().
|
private |
Definition at line 713 of file dpoutput.cxx.
References ScDocument::ApplyAttr(), ATTR_VALUE_FORMAT(), bSizesValid, nColFmtCount, nDataStartCol, nDataStartRow, nIndex, nRowFmtCount, nSingleNumFmt, pColNumFmt, pDoc, pRowNumFmt, ScDocument::SetError(), and ScDocument::SetValue().
Referenced by Output().
|
private |
Definition at line 835 of file dpoutput.cxx.
References ScSetStringParam::Always, ScDocument::ApplyFlagsTab(), Button, ButtonPopup, HiddenMember, ScDPOutLevelData::maCaption, ScDPOutLevelData::mbDataLayout, ScSetStringParam::mbDetectNumberFormat, ScSetStringParam::mbHandleApostrophe, ScDPOutLevelData::mbHasHiddenMember, ScDPOutLevelData::mbPageDim, ScSetStringParam::meSetTextNumFormat, NONE, pDoc, and ScDocument::SetString().
Referenced by Output().
|
private |
Computes number of columns needed to write row fields.
Definition at line 876 of file dpoutput.cxx.
References aRowCompactFlags, mbHasCompactRowField, and pRowFields.
Referenced by CalcSizes().
|
static |
Definition at line 1694 of file dpoutput.cxx.
References ScUnoHelpFunctions::GetShortProperty(), ScDPUtil::getSourceDimensionName(), condformat::dialog::NONE, and SC_UNO_DP_FUNCTION2.
Referenced by ScDPObject::ParseFilters().
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 1569 of file dpoutput.cxx.
References aStartPos, CalcSizes(), ScAddress::Col(), Flags, ScUnoHelpFunctions::GetLongProperty(), nDataStartCol, nDataStartRow, nTabEndCol, nTabEndRow, pColFields, pRowFields, ScAddress::Row(), SC_UNO_DP_DATAFIELDCOUNT, ScAddress::Tab(), and xSource.
Referenced by GetPositionData().
tools::Long ScDPOutput::GetHeaderDim | ( | const ScAddress & | rPos, |
css::sheet::DataPilotFieldOrientation & | rOrient | ||
) |
Definition at line 1727 of file dpoutput.cxx.
References aStartPos, bDoFilter, CalcSizes(), ScAddress::Col(), o3tl::make_unsigned(), nDataStartCol, nDataStartRow, nTabStartCol, nTabStartRow, pColFields, pPageFields, pRowFields, ScAddress::Row(), and ScAddress::Tab().
bool ScDPOutput::GetHeaderDrag | ( | const ScAddress & | rPos, |
bool | bMouseLeft, | ||
bool | bMouseTop, | ||
tools::Long | nDragDim, | ||
tools::Rectangle & | rPosRect, | ||
css::sheet::DataPilotFieldOrientation & | rOrient, | ||
tools::Long & | rDimPos | ||
) |
...
...
...
Definition at line 1773 of file dpoutput.cxx.
References tools::Rectangle::AdjustBottom(), tools::Rectangle::AdjustLeft(), tools::Rectangle::AdjustRight(), tools::Rectangle::AdjustTop(), aStartPos, bDoFilter, CalcSizes(), ScAddress::Col(), o3tl::make_unsigned(), nDataStartCol, nDataStartRow, nMemberStartRow, nPos, nTabEndCol, nTabEndRow, nTabStartCol, pColFields, pPageFields, pRowFields, ScAddress::Row(), and ScAddress::Tab().
|
inline |
sal_Int32 ScDPOutput::GetHeaderRows | ( | ) | const |
Definition at line 1252 of file dpoutput.cxx.
References bDoFilter, and pPageFields.
void ScDPOutput::GetMemberResultNames | ( | ScDPUniqueStringSet & | rNames, |
tools::Long | nDimension | ||
) |
Definition at line 1269 of file dpoutput.cxx.
References pColFields, and pRowFields.
ScRange ScDPOutput::GetOutputRange | ( | sal_Int32 | nRegionType = css::sheet::DataPilotOutputRangeType::WHOLE | ) |
Refresh?
Definition at line 1225 of file dpoutput.cxx.
References aStartPos, CalcSizes(), ScAddress::Col(), nDataStartCol, nDataStartRow, nTabEndCol, nTabEndRow, nTabStartRow, ScAddress::Row(), ScAddress::Tab(), and TABLE.
void ScDPOutput::GetPositionData | ( | const ScAddress & | rPos, |
css::sheet::DataPilotTablePositionData & | rPosData | ||
) |
Definition at line 1462 of file dpoutput.cxx.
References aData, aStartPos, CalcSizes(), ScAddress::Col(), COLUMN_HEADER, comphelper::containerToSequence(), Flags, GetDataResultPositionData(), ScUnoHelpFunctions::GetLongProperty(), GetPositionType(), GetRowFieldCompact(), o3tl::make_unsigned(), nDataStartCol, nDataStartRow, nTabStartRow, pColFields, pRowFields, ScAddress::Row(), ROW_HEADER, SC_UNO_DP_DATAFIELDCOUNT, ScAddress::Tab(), and xSource.
|
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 945 of file dpoutput.cxx.
References aStartPos, CalcSizes(), ScAddress::Col(), COLUMN_HEADER, nDataStartCol, nDataStartRow, nTabEndCol, nTabEndRow, nTabStartCol, nTabStartRow, ScAddress::Row(), ROW_HEADER, and ScAddress::Tab().
Referenced by GetPositionData().
Find row field index from row position in case of compact layout.
Definition at line 1432 of file dpoutput.cxx.
References GetRowFieldRange(), mbHasCompactRowField, nDataStartRow, nTabStartCol, and pRowFields.
Referenced by GetPositionData().
|
private |
Returns the range of row fields that are contained by table's row fields column nCol.
Definition at line 1385 of file dpoutput.cxx.
References aRowCompactFlags, mbHasCompactRowField, and SAL_WARN.
Referenced by GetRowFieldCompact().
bool ScDPOutput::HasError | ( | ) |
Definition at line 1245 of file dpoutput.cxx.
References bResultsError, bSizeOverflow, and CalcSizes().
|
private |
Definition at line 765 of file dpoutput.cxx.
References nDataStartCol, nDataStartRow, nMemberStartCol, nMemberStartRow, nTabEndCol, nTabEndRow, nTabStartCol, nTabStartRow, pDoc, ScSetStringParam::setNumericInput(), ScDocument::SetString(), ScSetStringParam::setTextInput(), and ScDocument::SetValue().
Referenced by Output().
bool ScDPOutput::IsFilterButton | ( | const ScAddress & | rPos | ) |
Definition at line 1715 of file dpoutput.cxx.
References aStartPos, bDoFilter, ScAddress::Col(), ScAddress::Row(), and ScAddress::Tab().
Definition at line 815 of file dpoutput.cxx.
References ScDocument::ApplyFlagsTab(), Button, ButtonPopup2, HiddenMember, pDoc, pRowFields, ScResId(), and ScDocument::SetString().
Referenced by Output().
void ScDPOutput::Output | ( | ) |
Definition at line 988 of file dpoutput.cxx.
References aData, aDataDescription, ALL, ScDocument::ApplyAttr(), ScDocument::ApplyFlagsTab(), aRowCompactFlags, aStartPos, ATTR_VALUE_FORMAT(), bDoFilter, bResultsError, bSizeOverflow, CalcSizes(), Caption, ScAddress::Col(), o3tl::convert(), DataCell(), ScDocument::DeleteAreaTab(), DpCollapse, DpExpand, FieldCell(), Flags, HeaderCell(), lcl_DoFilterButton(), mbExpandCollapse, mbHasCompactRowField, MultiFieldCell(), n, nColCount, nDataStartCol, nDataStartRow, nMemberStartCol, nMemberStartRow, nRowCount, nRowDims, nTabEndCol, nTabEndRow, nTabStartCol, nTabStartRow, pColFields, pDoc, pPageFields, pRowFields, o3tl::px, ScAddress::Row(), ScResId(), ScDocument::SetString(), ScSetStringParam::setTextInput(), ScAddress::Tab(), and o3tl::twip.
void ScDPOutput::SetHeaderLayout | ( | bool | bUseGrid | ) |
Definition at line 1295 of file dpoutput.cxx.
References bSizesValid, and mbHeaderLayout.
void ScDPOutput::SetPosition | ( | const ScAddress & | rPos | ) |
Definition at line 707 of file dpoutput.cxx.
References aStartPos, bSizeOverflow, and bSizesValid.
|
private |
Definition at line 55 of file dpoutput.hxx.
Referenced by CalcSizes(), GetPositionData(), Output(), and ScDPOutput().
|
private |
Definition at line 56 of file dpoutput.hxx.
Referenced by Output(), and ScDPOutput().
|
private |
Definition at line 63 of file dpoutput.hxx.
Referenced by GetColumnsForRowFields(), GetRowFieldRange(), Output(), and ScDPOutput().
|
private |
Definition at line 51 of file dpoutput.hxx.
Referenced by CalcSizes(), GetDataResultPositionData(), GetHeaderDim(), GetHeaderDrag(), GetOutputRange(), GetPositionData(), GetPositionType(), IsFilterButton(), Output(), and SetPosition().
|
private |
Definition at line 81 of file dpoutput.hxx.
Referenced by CalcSizes(), GetHeaderDim(), GetHeaderDrag(), GetHeaderRows(), IsFilterButton(), and Output().
|
private |
Definition at line 82 of file dpoutput.hxx.
Referenced by HasError(), Output(), and ScDPOutput().
|
private |
Definition at line 84 of file dpoutput.hxx.
Referenced by CalcSizes(), HasError(), Output(), and SetPosition().
|
private |
Definition at line 83 of file dpoutput.hxx.
Referenced by CalcSizes(), DataCell(), SetHeaderLayout(), and SetPosition().
|
private |
Definition at line 87 of file dpoutput.hxx.
Referenced by Output().
|
private |
Definition at line 86 of file dpoutput.hxx.
Referenced by GetColumnsForRowFields(), GetRowFieldCompact(), GetRowFieldRange(), Output(), and ScDPOutput().
|
private |
Definition at line 85 of file dpoutput.hxx.
Referenced by GetHeaderLayout(), and SetHeaderLayout().
|
private |
Definition at line 70 of file dpoutput.hxx.
Referenced by CalcSizes(), and Output().
|
private |
Definition at line 64 of file dpoutput.hxx.
Referenced by DataCell(), and ScDPOutput().
|
private |
Definition at line 77 of file dpoutput.hxx.
Referenced by CalcSizes(), DataCell(), GetDataResultPositionData(), GetHeaderDim(), GetHeaderDrag(), GetOutputRange(), GetPositionData(), GetPositionType(), HeaderCell(), Output(), and ScDPOutput().
|
private |
Definition at line 78 of file dpoutput.hxx.
Referenced by CalcSizes(), DataCell(), GetDataResultPositionData(), GetHeaderDim(), GetHeaderDrag(), GetOutputRange(), GetPositionData(), GetPositionType(), GetRowFieldCompact(), HeaderCell(), Output(), and ScDPOutput().
|
private |
Definition at line 72 of file dpoutput.hxx.
Referenced by CalcSizes().
|
private |
Definition at line 75 of file dpoutput.hxx.
Referenced by CalcSizes(), HeaderCell(), Output(), and ScDPOutput().
|
private |
Definition at line 76 of file dpoutput.hxx.
Referenced by CalcSizes(), GetHeaderDrag(), HeaderCell(), Output(), and ScDPOutput().
|
private |
Definition at line 71 of file dpoutput.hxx.
Referenced by CalcSizes(), and Output().
|
private |
Definition at line 67 of file dpoutput.hxx.
Referenced by Output(), and ScDPOutput().
|
private |
Definition at line 65 of file dpoutput.hxx.
Referenced by DataCell(), and ScDPOutput().
|
private |
Definition at line 66 of file dpoutput.hxx.
Referenced by DataCell(), and ScDPOutput().
|
private |
Definition at line 79 of file dpoutput.hxx.
Referenced by CalcSizes(), GetDataResultPositionData(), GetHeaderDrag(), GetOutputRange(), GetPositionType(), HeaderCell(), Output(), and ScDPOutput().
|
private |
Definition at line 80 of file dpoutput.hxx.
Referenced by CalcSizes(), GetDataResultPositionData(), GetHeaderDrag(), GetOutputRange(), GetPositionType(), HeaderCell(), Output(), and ScDPOutput().
|
private |
Definition at line 73 of file dpoutput.hxx.
Referenced by CalcSizes(), GetHeaderDim(), GetHeaderDrag(), GetPositionType(), GetRowFieldCompact(), HeaderCell(), Output(), and ScDPOutput().
|
private |
Definition at line 74 of file dpoutput.hxx.
Referenced by CalcSizes(), GetHeaderDim(), GetOutputRange(), GetPositionData(), GetPositionType(), HeaderCell(), Output(), and ScDPOutput().
|
private |
Definition at line 52 of file dpoutput.hxx.
Referenced by CalcSizes(), GetDataResultPositionData(), GetHeaderDim(), GetHeaderDrag(), GetMemberResultNames(), GetPositionData(), Output(), and ScDPOutput().
|
private |
Definition at line 60 of file dpoutput.hxx.
Referenced by DataCell(), and ScDPOutput().
|
private |
Definition at line 49 of file dpoutput.hxx.
Referenced by CalcSizes(), DataCell(), FieldCell(), HeaderCell(), MultiFieldCell(), and Output().
|
private |
Definition at line 54 of file dpoutput.hxx.
Referenced by CalcSizes(), GetHeaderDim(), GetHeaderDrag(), GetHeaderRows(), Output(), and ScDPOutput().
|
private |
Definition at line 53 of file dpoutput.hxx.
Referenced by CalcSizes(), GetColumnsForRowFields(), GetDataResultPositionData(), GetHeaderDim(), GetHeaderDrag(), GetMemberResultNames(), GetPositionData(), GetRowFieldCompact(), MultiFieldCell(), Output(), and ScDPOutput().
|
private |
Definition at line 62 of file dpoutput.hxx.
Referenced by DataCell(), and ScDPOutput().
|
private |
Definition at line 50 of file dpoutput.hxx.
Referenced by GetDataResultPositionData(), GetPositionData(), and ScDPOutput().