23#include <document.hxx>
39#include <com/sun/star/sheet/DataPilotFieldReferenceType.hpp>
40#include <com/sun/star/sheet/DataPilotFieldReferenceItemType.hpp>
41#include <com/sun/star/sheet/DataPilotFieldShowItemsMode.hpp>
42#include <com/sun/star/sheet/DataPilotFieldSortMode.hpp>
43#include <com/sun/star/sheet/DataPilotFieldLayoutMode.hpp>
44#include <com/sun/star/sheet/DataPilotFieldGroupBy.hpp>
45#include <com/sun/star/sheet/DataPilotFieldOrientation.hpp>
49using ::com::sun::star::uno::Reference;
64 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
107 if ( !rAttrList.is() )
110 for (
auto &aIter : *rAttrList)
112 switch (aIter.getToken())
160 sal_Int32 nOffset(0);
199 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
254 const std::vector<const ScDPSaveDimension*>& rRowDims,
255 const std::vector<const ScDPSaveDimension*>& rColDims,
256 const std::vector<const ScDPSaveDimension*>& rPageDims,
263 if (rColDims.size() <= nPos)
266 return rColDims[
nPos];
270 if (rRowDims.size() <= nPos)
273 return rRowDims[
nPos];
277 if (rPageDims.size() <= nPos)
280 return rPageDims[
nPos];
296 case sheet::DataPilotFieldOrientation_COLUMN:
298 case sheet::DataPilotFieldOrientation_DATA:
300 case sheet::DataPilotFieldOrientation_PAGE:
302 case sheet::DataPilotFieldOrientation_ROW:
304 case sheet::DataPilotFieldOrientation_HIDDEN:
324 std::vector<const ScDPSaveDimension*> aRowDims, aColDims, aPageDims;
325 pDPSave->GetAllDimensionsByOrientation(sheet::DataPilotFieldOrientation_ROW, aRowDims);
326 pDPSave->GetAllDimensionsByOrientation(sheet::DataPilotFieldOrientation_COLUMN, aColDims);
327 pDPSave->GetAllDimensionsByOrientation(sheet::DataPilotFieldOrientation_PAGE, aPageDims);
330 sal_Int32 nOffset = 0;
331 while( nOffset >= 0 )
337 sal_Int32 nAddrOffset(0);
340 std::pair<ScDPOutputGeometry::FieldType, size_t> aBtnType = aGeometry.
getFieldButtonType(aScAddress);
342 aRowDims, aColDims, aPageDims, aBtnType.first, aBtnType.second);
344 bool bDimension = pDim !=
nullptr;
347 bool bPageDim = pDim && pDim->
GetOrientation() == sheet::DataPilotFieldOrientation_PAGE;
406 case sheet::DataPilotFieldOrientation_ROW:
409 case sheet::DataPilotFieldOrientation_COLUMN:
412 case sheet::DataPilotFieldOrientation_PAGE:
415 case sheet::DataPilotFieldOrientation_DATA:
418 case sheet::DataPilotFieldOrientation_HIDDEN:
461 aImportDesc.
nType = sheet::DataImportMode_SQL;
471 aImportDesc.
nType = sheet::DataImportMode_TABLE;
480 aImportDesc.
nType = sheet::DataImportMode_QUERY;
525 pDPObject->SetSaveData(*
pDPSave);
530 if ( pDPCollection->
GetByName(pDPObject->GetName()) )
531 pDPObject->SetName( OUString() );
539 XMLTokenEnum eOrientation,
bool bVisible,
const OUString& rDisplayName)
541 switch (eOrientation)
567 if ( !rAttrList.is() )
570 for (
auto &aIter : *rAttrList)
572 switch (aIter.getToken())
596 if ( !rAttrList.is() )
599 for (
auto &aIter : *rAttrList)
601 switch (aIter.getToken())
623 if ( !rAttrList.is() )
626 for (
auto &aIter : *rAttrList)
628 switch (aIter.getToken())
649 if ( !rAttrList.is() )
652 for (
auto &aIter : *rAttrList)
654 switch (aIter.getToken())
683 mpTableContext(pTableContext),
687 if ( !rAttrList.is() )
690 for (
auto &aIter : *rAttrList)
692 switch (aIter.getToken())
743 pDataPilotTable(pTempDataPilotTable)
745 if ( !rAttrList.is() )
748 for (
auto &aIter : *rAttrList)
750 switch (aIter.getToken())
755 sal_Int32 nOffset(0);
774 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
794 pDataPilotTable(pTempDataPilotTable),
801 nOrientation(sheet::DataPilotFieldOrientation_HIDDEN),
802 bSelectedPage(false),
803 bIsGroupField(false),
807 mbHasHiddenMember(false)
809 bool bHasName =
false;
810 bool bDataLayout =
false;
811 bool bIgnoreSelectedPage =
false;
812 OUString aDisplayName;
813 if ( rAttrList.is() )
815 for (
auto &aIter : *rAttrList)
817 switch (aIter.getToken())
820 sName = aIter.toString();
825 aDisplayName = aIter.toString();
841 bIgnoreSelectedPage =
true;
851 if (bIgnoreSelectedPage)
857 if (!aDisplayName.isEmpty())
858 xDim->SetLayoutName(aDisplayName);
867 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
893 bool isVisible = pMember->GetIsVisible();
894 xDim->AddMember(std::move(pMember));
904 xDim->SetSubtotalName(rName);
910 xDim->SetLayoutInfo(&aInfo);
912 if (
pDataPilotTable && aInfo.LayoutMode == sheet::DataPilotFieldLayoutMode::COMPACT_LAYOUT)
919 aGroup.
aMembers = std::move(rMembers);
920 aGroup.
aName = rName;
921 aGroups.push_back(std::move(aGroup));
955 for (
const auto& rGroup :
aGroups)
958 for (
const auto& rMember : rGroup.aMembers)
981 sheet::DataPilotFieldReference aReference;
983 if ( rAttrList.is() )
985 for (
auto &aIter : *rAttrList)
987 switch (aIter.getToken())
994 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::ITEM_DIFFERENCE;
996 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::ITEM_PERCENTAGE;
998 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::ITEM_PERCENTAGE_DIFFERENCE;
1000 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::RUNNING_TOTAL;
1002 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::ROW_PERCENTAGE;
1004 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::COLUMN_PERCENTAGE;
1006 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::TOTAL_PERCENTAGE;
1008 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::INDEX;
1013 aReference.ReferenceField = aIter.toString();
1019 aReference.ReferenceItemType = sheet::DataPilotFieldReferenceItemType::NAMED;
1021 aReference.ReferenceItemType = sheet::DataPilotFieldReferenceItemType::PREVIOUS;
1023 aReference.ReferenceItemType = sheet::DataPilotFieldReferenceItemType::NEXT;
1028 aReference.ReferenceItemName = aIter.toString();
1045 pDataPilotField(pTempDataPilotField)
1047 if ( !rAttrList.is() )
1050 for (
auto &aIter : *rAttrList)
1052 switch (aIter.getToken())
1069 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
1102 sheet::DataPilotFieldAutoShowInfo aInfo;
1104 if ( rAttrList.is() )
1106 for (
auto &aIter : *rAttrList)
1108 switch (aIter.getToken())
1112 aInfo.IsEnabled =
true;
1114 aInfo.IsEnabled =
false;
1118 aInfo.ShowItemsMode = sheet::DataPilotFieldShowItemsMode::FROM_TOP;
1120 aInfo.ShowItemsMode = sheet::DataPilotFieldShowItemsMode::FROM_BOTTOM;
1123 aInfo.ItemCount = aIter.toInt32();
1126 aInfo.DataField = aIter.toString();
1143 sheet::DataPilotFieldSortInfo aInfo;
1145 if ( rAttrList.is() )
1147 for (
auto &aIter : *rAttrList)
1149 switch (aIter.getToken())
1153 aInfo.IsAscending =
true;
1155 aInfo.IsAscending =
false;
1161 aInfo.Mode = sheet::DataPilotFieldSortMode::MANUAL;
1163 aInfo.Mode = sheet::DataPilotFieldSortMode::NAME;
1165 aInfo.Mode = sheet::DataPilotFieldSortMode::DATA;
1168 aInfo.Field = aIter.toString();
1185 sheet::DataPilotFieldLayoutInfo aInfo;
1186 aInfo.LayoutMode = sheet::DataPilotFieldLayoutMode::TABULAR_LAYOUT;
1188 if ( rAttrList.is() )
1190 for (
auto &aIter : *rAttrList)
1192 switch (aIter.getToken())
1196 aInfo.AddEmptyLines =
true;
1198 aInfo.AddEmptyLines =
false;
1204 if (aInfo.LayoutMode != sheet::DataPilotFieldLayoutMode::COMPACT_LAYOUT)
1207 aInfo.LayoutMode = sheet::DataPilotFieldLayoutMode::TABULAR_LAYOUT;
1209 aInfo.LayoutMode = sheet::DataPilotFieldLayoutMode::OUTLINE_SUBTOTALS_TOP;
1211 aInfo.LayoutMode = sheet::DataPilotFieldLayoutMode::OUTLINE_SUBTOTALS_BOTTOM;
1213 aInfo.LayoutMode = sheet::DataPilotFieldLayoutMode::COMPACT_LAYOUT;
1228 pDataPilotField(pTempDataPilotField)
1239 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
1277 if ( !rAttrList.is() )
1280 for (
auto &aIter : *rAttrList)
1282 switch (aIter.getToken())
1302 pDataPilotField(pTempDataPilotField)
1312 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
1332 pDataPilotField(pTempDataPilotField),
1334 bDisplayDetails( true ),
1337 if ( !rAttrList.is() )
1340 for (
auto &aIter : *rAttrList)
1342 switch (aIter.getToken())
1345 sName = aIter.toString();
1383 pDataPilotField(pTempDataPilotField)
1385 OUString sGroupSource;
1389 sal_Int32 nGroupPart(0);
1390 bool bDateValue(
false);
1391 bool bAutoStart(
true);
1392 bool bAutoEnd(
true);
1394 if ( rAttrList.is() )
1396 for (
auto &aIter : *rAttrList)
1402 sGroupSource = aIter.toString();
1412 GetScImport().GetMM100UnitConverter().convertDateTime(fStart, aIter.toView());
1424 GetScImport().GetMM100UnitConverter().convertDateTime(fEnd, aIter.toView());
1435 fStart = aIter.toDouble();
1446 fEnd = aIter.toDouble();
1453 fStep = aIter.toDouble();
1459 nGroupPart = css::sheet::DataPilotFieldGroupBy::SECONDS;
1461 nGroupPart = css::sheet::DataPilotFieldGroupBy::MINUTES;
1463 nGroupPart = css::sheet::DataPilotFieldGroupBy::HOURS;
1465 nGroupPart = css::sheet::DataPilotFieldGroupBy::DAYS;
1467 nGroupPart = css::sheet::DataPilotFieldGroupBy::MONTHS;
1469 nGroupPart = css::sheet::DataPilotFieldGroupBy::QUARTERS;
1471 nGroupPart = css::sheet::DataPilotFieldGroupBy::YEARS;
1485 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
1503 pDataPilotField(pTempDataPilotField)
1505 if ( rAttrList.is() )
1508 if (aIter != rAttrList->end())
1509 sName = aIter.toString();
1518 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
1542 pDataPilotGroup(pTempDataPilotGroup)
1544 if ( rAttrList.is() )
1547 if (aIter != rAttrList->end())
1548 sName = aIter.toString();
1558 if (!
sName.isEmpty())
@ HiddenMember
dp button with popup arrow
@ ButtonPopup2
dp compact layout expand button
SC_DLLPUBLIC ScDPObject * InsertNewTable(std::unique_ptr< ScDPObject > pDPObj)
ScDPObject * GetByName(std::u16string_view rName) const
This class has to do with handling exclusively grouped dimensions? TODO: Find out what this class doe...
std::pair< FieldType, size_t > getFieldButtonType(const ScAddress &rPos) const
void setColumnFieldCount(sal_uInt32 nCount)
void setRowFieldCount(sal_uInt32 nCount)
void setHeaderLayout(bool bHeaderLayout)
void setPageFieldCount(sal_uInt32 nCount)
void setDataFieldCount(sal_uInt32 nCount)
void setDataLayoutType(FieldType eType)
bool HasInvisibleMember() const
void SetDupFlag(bool bSet)
css::sheet::DataPilotFieldOrientation GetOrientation() const
bool IsDataLayout() const
const OUString & GetName() const
Represents a new group dimension whose dimension ID is higher than the highest source dimension ID.
void AddGroupItem(const ScDPSaveGroupItem &rItem)
void SetDateInfo(const ScDPNumGroupInfo &rInfo, sal_Int32 nPart)
Classes to save Data Pilot settings that create new dimensions (fields).
void AddElement(const OUString &rName)
Represents a group dimension that introduces a new hierarchy for an existing dimension.
void SetDateInfo(const ScDPNumGroupInfo &rInfo, sal_Int32 nPart)
SC_DLLPUBLIC bool ApplyFlagsTab(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, ScMF nFlags)
SC_DLLPUBLIC ScDPCollection * GetDPCollection()
static bool GetAddressFromString(ScAddress &rAddress, std::u16string_view rAddressStr, const ScDocument &rDocument, formula::FormulaGrammar::AddressConvention eConv, sal_Int32 &nOffset, sal_Unicode cSeparator=' ', sal_Unicode cQuote='\'')
String to Range core.
static bool GetRangeFromString(ScRange &rRange, std::u16string_view rRangeStr, const ScDocument &rDocument, formula::FormulaGrammar::AddressConvention eConv, sal_Int32 &nOffset, sal_Unicode cSeparator=' ', sal_Unicode cQuote='\'')
static void GetTokenByOffset(OUString &rToken, std::u16string_view rString, sal_Int32 &nOffset, sal_Unicode cSeparator=' ', sal_Unicode cQuote='\'')
This class contains authoritative information on the internal reference used as the data source for d...
SC_DLLPUBLIC void SetSourceRange(const ScRange &rRange)
SC_DLLPUBLIC void SetRangeName(const OUString &rName)
void SetQueryParam(const ScQueryParam &rParam)
static css::sheet::DataPilotFieldOrientation GetOrientationFromString(std::u16string_view rString)
static ScGeneralFunction GetFunctionFromString2(std::u16string_view rString)
virtual ~ScXMLDPSourceQueryContext() override
ScXMLDPSourceQueryContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotTableContext *pDataPilotTable)
ScXMLDPSourceSQLContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotTableContext *pDataPilotTable)
virtual ~ScXMLDPSourceSQLContext() override
virtual ~ScXMLDPSourceTableContext() override
ScXMLDPSourceTableContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotTableContext *pDataPilotTable)
ScXMLDataPilotDisplayInfoContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotFieldContext *pDataPilotField)
virtual ~ScXMLDataPilotDisplayInfoContext() override
void SetLayoutInfo(const css::sheet::DataPilotFieldLayoutInfo &aInfo)
void SetShowEmpty(const bool bValue)
void SetSubTotals(std::vector< ScGeneralFunction > &&rFunctions)
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
void SetGrouping(const OUString &rGroupSource, const double &rStart, const double &rEnd, const double &rStep, sal_Int32 nPart, bool bDate, bool bAutoSt, bool bAutoE)
void SetAutoShowInfo(const css::sheet::DataPilotFieldAutoShowInfo &aInfo)
css::sheet::DataPilotFieldOrientation nOrientation
virtual ~ScXMLDataPilotFieldContext() override
void AddGroup(::std::vector< OUString > &&rMembers, const OUString &rName)
::std::vector< ScXMLDataPilotGroup > aGroups
void SetFieldReference(const css::sheet::DataPilotFieldReference &aRef)
ScXMLDataPilotTableContext * pDataPilotTable
ScGeneralFunction nFunction
void AddMember(std::unique_ptr< ScDPSaveMember > pMember)
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
void SetSubTotalName(const OUString &rName)
void SetSortInfo(const css::sheet::DataPilotFieldSortInfo &aInfo)
std::unique_ptr< ScDPSaveDimension > xDim
ScXMLDataPilotFieldContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotTableContext *pDataPilotTable)
void SetRepeatItemLabels(const bool bSet)
virtual ~ScXMLDataPilotFieldReferenceContext() override
ScXMLDataPilotFieldReferenceContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotFieldContext *pDataPilotField)
virtual ~ScXMLDataPilotGrandTotalContext() override
ScXMLDataPilotTableContext * mpTableContext
Orientation meOrientation
ScXMLDataPilotGrandTotalContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotTableContext *pTableContext)
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
void AddMember(const OUString &sMember)
ScXMLDataPilotGroupContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotFieldContext *pDataPilotField)
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
::std::vector< OUString > aMembers
ScXMLDataPilotFieldContext * pDataPilotField
virtual ~ScXMLDataPilotGroupContext() override
ScXMLDataPilotGroupMemberContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotGroupContext *pDataPilotGroup)
virtual ~ScXMLDataPilotGroupMemberContext() override
ScXMLDataPilotGroupContext * pDataPilotGroup
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
virtual ~ScXMLDataPilotGroupsContext() override
ScXMLDataPilotFieldContext * pDataPilotField
ScXMLDataPilotGroupsContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotFieldContext *pDataPilotField)
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
ScXMLDataPilotLayoutInfoContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotFieldContext *pDataPilotField)
virtual ~ScXMLDataPilotLayoutInfoContext() override
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
ScXMLDataPilotFieldContext * pDataPilotField
ScXMLDataPilotLevelContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotFieldContext *pDataPilotField)
virtual ~ScXMLDataPilotLevelContext() override
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
virtual ~ScXMLDataPilotMemberContext() override
ScXMLDataPilotFieldContext * pDataPilotField
ScXMLDataPilotMemberContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotFieldContext *pDataPilotField)
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
ScXMLDataPilotFieldContext * pDataPilotField
virtual ~ScXMLDataPilotMembersContext() override
ScXMLDataPilotMembersContext(ScXMLImport &rImport, ScXMLDataPilotFieldContext *pDataPilotField)
ScXMLDataPilotSortInfoContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotFieldContext *pDataPilotField)
virtual ~ScXMLDataPilotSortInfoContext() override
ScXMLDataPilotSubTotalContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotSubTotalsContext *pDataPilotSubTotals)
virtual ~ScXMLDataPilotSubTotalContext() override
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
virtual ~ScXMLDataPilotSubTotalsContext() override
void AddFunction(ScGeneralFunction nFunction)
void SetDisplayName(const OUString &rName)
std::vector< ScGeneralFunction > maFunctions
ScXMLDataPilotSubTotalsContext(ScXMLImport &rImport, ScXMLDataPilotFieldContext *pDataPilotField)
ScXMLDataPilotFieldContext * pDataPilotField
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
css::sheet::DataPilotFieldOrientation mnDataLayoutType
OUString sServicePassword
OUString sApplicationData
OUString sSourceRangeName
void SetHasCompactField()
void SetSourceRangeName(const OUString &sValue)
void SetServiceSourceObject(const OUString &sValue)
OUString sDataPilotTableName
OUString sServiceSourceObject
sal_uInt32 mnPageFieldCount
void SetSourceObject(const OUString &sValue)
GrandTotalItem maRowGrandTotal
void SetNative(bool bValue)
void AddDimension(ScDPSaveDimension *pDim)
sal_uInt32 mnRowFieldCount
void SetSourceCellRangeAddress(const ScRange &aValue)
std::unique_ptr< ScDPDimensionSaveData > pDPDimSaveData
void SetDatabaseName(const OUString &sValue)
ScXMLDataPilotTableContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList)
void SetServiceName(const OUString &sValue)
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
SelectedPagesType maSelectedPages
std::unique_ptr< ScDPSaveData > pDPSave
void SetButtons(ScDPObject *pDPObject)
sal_uInt32 mnDataFieldCount
OUString sServiceSourceName
ScQueryParam aSourceQueryParam
void AddGroupDim(const ScDPSaveNumGroupDimension &aNumGroupDim)
void SetServicePassword(const OUString &sValue)
OUString sServiceUsername
virtual ~ScXMLDataPilotTableContext() override
ScMySourceType nSourceType
ScRange aSourceCellRangeAddress
void SetSelectedPage(const OUString &rDimName, const OUString &rSelected)
void SetServiceSourceName(const OUString &sValue)
sal_uInt32 mnColFieldCount
void SetServiceUsername(const OUString &sValue)
GrandTotalItem maColGrandTotal
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
ScRange aTargetRangeAddress
void SetGrandTotal(::xmloff::token::XMLTokenEnum eOrientation, bool bVisible, const OUString &rDisplayName)
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
ScXMLDataPilotTablesContext(ScXMLImport &rImport)
virtual ~ScXMLDataPilotTablesContext() override
This class exists only to provide GetScImport() to its derived classes.
ScXMLImport & GetScImport()
ScDocument * GetDocument()
sc::PivotTableSources & GetPivotTableSources()
virtual ~ScXMLSourceCellRangeContext() override
ScXMLSourceCellRangeContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotTableContext *pDataPilotTable)
ScXMLDataPilotTableContext * pDataPilotTable
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
ScXMLSourceServiceContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotTableContext *pDataPilotTable)
virtual ~ScXMLSourceServiceContext() override
ScGeneralFunction
the css::sheet::GeneralFunction enum is extended by constants in GeneralFunction2,...
FastAttributeList & castToFastAttributeList(const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList)
XML_DATA_PILOT_FIELD_REFERENCE
XML_DATA_PILOT_DISPLAY_INFO
XML_DATA_PILOT_LAYOUT_INFO
XML_OUTLINE_SUBTOTALS_TOP
XML_MEMBER_PERCENTAGE_DIFFERENCE
XML_DATA_PILOT_GROUP_MEMBER
XML_DATABASE_SOURCE_QUERY
XML_OUTLINE_SUBTOTALS_BOTTOM
XML_SHOW_DRILL_DOWN_BUTTONS
XML_DATABASE_SOURCE_TABLE
XML_DRILL_DOWN_ON_DOUBLE_CLICK
XML_DATA_PILOT_GRAND_TOTAL
bool IsXMLToken(std::u16string_view rString, enum XMLTokenEnum eToken)
css::sheet::DataImportMode nType
::std::vector< OUString > aMembers
Store pivot table data that need to be post-processed at the end of the import.
void appendSelectedPages(ScDPObject *pObj, SelectedPagesType &&rSelected)
void appendSheetSource(ScDPObject *pObj, const ScSheetSourceDesc &rDesc)
void appendDBSource(ScDPObject *pObj, const ScImportSourceDesc &rDesc)
void appendServiceSource(ScDPObject *pObj, const ScDPServiceDesc &rDesc)
#define XML_ELEMENT(prefix, name)
constexpr sal_Int32 TOKEN_MASK