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 707 of file dpoutput.cxx.
|
private |
Definition at line 896 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 717 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 839 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 880 of file dpoutput.cxx.
References aRowCompactFlags, mbHasCompactRowField, and pRowFields.
Referenced by CalcSizes().
|
static |
Definition at line 1698 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 1573 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 1731 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 1777 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 1256 of file dpoutput.cxx.
References bDoFilter, and pPageFields.
void ScDPOutput::GetMemberResultNames | ( | ScDPUniqueStringSet & | rNames, |
tools::Long | nDimension | ||
) |
Definition at line 1273 of file dpoutput.cxx.
References pColFields, and pRowFields.
ScRange ScDPOutput::GetOutputRange | ( | sal_Int32 | nRegionType = css::sheet::DataPilotOutputRangeType::WHOLE | ) |
Refresh?
Definition at line 1229 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 1466 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 949 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 1436 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 1389 of file dpoutput.cxx.
References aRowCompactFlags, mbHasCompactRowField, and SAL_WARN.
Referenced by GetRowFieldCompact().
bool ScDPOutput::HasError | ( | ) |
Definition at line 1249 of file dpoutput.cxx.
References bResultsError, bSizeOverflow, and CalcSizes().
|
private |
Definition at line 769 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 1719 of file dpoutput.cxx.
References aStartPos, bDoFilter, ScAddress::Col(), ScAddress::Row(), and ScAddress::Tab().
Definition at line 819 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 992 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 1299 of file dpoutput.cxx.
References bSizesValid, and mbHeaderLayout.
void ScDPOutput::SetPosition | ( | const ScAddress & | rPos | ) |
Definition at line 711 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().