28 maOutRange(rOutRange),
33 meDataLayoutType(
None),
34 mbShowFilter(bShowFilter),
35 mbHeaderLayout (false),
81 sal_uInt32 nColumnFields, nRowFields;
84 vector<ScAddress> aAddrs;
97 nCurRow = nRowEnd + 2;
102 SCROW nRow = nCurRow;
107 SCCOL nColEnd = nColStart +
static_cast<SCCOL>(nColumnFields-1);
109 for (
SCCOL nCol = nColStart; nCol <= nColEnd; ++nCol)
110 aAddrs.emplace_back(nCol, nRow, nTab);
116 sal_uInt32 nColumnFields, nRowFields;
119 vector<ScAddress> aAddrs;
129 SCCOL nColEnd = nColStart +
static_cast<SCCOL>(nRowFields-1);
134 for (
SCCOL nCol = nColStart; nCol <= nColEnd; ++nCol)
135 aAddrs.emplace_back(nCol, nRow, nTab);
141 vector<ScAddress> aAddrs;
154 for (
SCROW nRow = nRowStart; nRow <= nRowEnd; ++nRow)
155 aAddrs.emplace_back(nCol, nRow, nTab);
162 sal_uInt32 nColumnFields, nRowFields;
169 nCurRow = nRowEnd + 2;
175 nCurRow +=
static_cast<SCROW>(nColumnFields);
194 if (rColumnFields > 0)
206 std::pair<ScDPOutputGeometry::FieldType, size_t>
210 sal_uInt32 nColumnFields, nRowFields;
218 if (rPos.
Col() == nCol && nRowStart <= rPos.
Row() && rPos.
Row() <= nRowEnd)
220 size_t nPos =
static_cast<size_t>(rPos.
Row() - nRowStart);
221 return std::pair<FieldType, size_t>(
Page, nPos);
224 nCurRow = nRowEnd + 2;
231 SCROW nRow = nCurRow;
233 SCCOL nColEnd = nColStart +
static_cast<SCCOL>(nColumnFields-1);
234 if (rPos.
Row() == nRow && nColStart <= rPos.
Col() && rPos.
Col() <= nColEnd)
236 size_t nPos =
static_cast<size_t>(rPos.
Col() - nColStart);
237 return std::pair<FieldType, size_t>(
Column, nPos);
240 nCurRow +=
static_cast<SCROW>(nColumnFields);
248 SCCOL nColEnd = nColStart +
static_cast<SCCOL>(nRowFields-1);
249 if (rPos.
Row() == nCurRow && nColStart <= rPos.
Col() && rPos.
Col() <= nColEnd)
251 size_t nPos =
static_cast<size_t>(rPos.
Col() - nColStart);
252 return std::pair<FieldType, size_t>(
Row, nPos);
256 return std::pair<FieldType, size_t>(
None, 0);
void adjustFieldsForDataLayout(sal_uInt32 &rColumnFields, sal_uInt32 &rRowFields) const
void setDataLayoutType(FieldType eType)
const wchar_t *typedef int(__stdcall *DllNativeUnregProc)(int
void setColumnFieldCount(sal_uInt32 nCount)
void getRowFieldPositions(::std::vector< ScAddress > &rAddrs) const
void setPageFieldCount(sal_uInt32 nCount)
ScDPOutputGeometry()=delete
void setCompactMode(bool bCompactMode)
std::pair< FieldType, size_t > getFieldButtonType(const ScAddress &rPos) const
void setRowFieldCount(sal_uInt32 nCount)
void setHeaderLayout(bool bHeaderLayout)
void getColumnFieldPositions(::std::vector< ScAddress > &rAddrs) const
SCROW getRowFieldHeaderRow() const
void setDataFieldCount(sal_uInt32 nCount)
void getPageFieldPositions(::std::vector< ScAddress > &rAddrs) const
FieldType meDataLayoutType
sal_uInt32 mnColumnFields
number of row fields