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>
49 using ::com::sun::star::uno::Reference;
64 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
105 if ( !rAttrList.is() )
108 for (
auto &aIter : *rAttrList)
110 switch (aIter.getToken())
158 sal_Int32 nOffset(0);
192 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
247 const std::vector<const ScDPSaveDimension*>& rRowDims,
248 const std::vector<const ScDPSaveDimension*>& rColDims,
249 const std::vector<const ScDPSaveDimension*>& rPageDims,
256 if (rColDims.size() <= nPos)
259 return rColDims[nPos];
263 if (rRowDims.size() <= nPos)
266 return rRowDims[nPos];
270 if (rPageDims.size() <= nPos)
273 return rPageDims[nPos];
289 case sheet::DataPilotFieldOrientation_COLUMN:
291 case sheet::DataPilotFieldOrientation_DATA:
293 case sheet::DataPilotFieldOrientation_PAGE:
295 case sheet::DataPilotFieldOrientation_ROW:
297 case sheet::DataPilotFieldOrientation_HIDDEN:
317 std::vector<const ScDPSaveDimension*> aRowDims, aColDims, aPageDims;
318 pDPSave->GetAllDimensionsByOrientation(sheet::DataPilotFieldOrientation_ROW, aRowDims);
319 pDPSave->GetAllDimensionsByOrientation(sheet::DataPilotFieldOrientation_COLUMN, aColDims);
320 pDPSave->GetAllDimensionsByOrientation(sheet::DataPilotFieldOrientation_PAGE, aPageDims);
323 sal_Int32 nOffset = 0;
324 while( nOffset >= 0 )
330 sal_Int32 nAddrOffset(0);
333 std::pair<ScDPOutputGeometry::FieldType, size_t> aBtnType = aGeometry.
getFieldButtonType(aScAddress);
335 aRowDims, aColDims, aPageDims, aBtnType.first, aBtnType.second);
337 bool bDimension = pDim !=
nullptr;
340 bool bPageDim = pDim && pDim->
GetOrientation() == sheet::DataPilotFieldOrientation_PAGE;
399 case sheet::DataPilotFieldOrientation_ROW:
402 case sheet::DataPilotFieldOrientation_COLUMN:
405 case sheet::DataPilotFieldOrientation_PAGE:
408 case sheet::DataPilotFieldOrientation_DATA:
411 case sheet::DataPilotFieldOrientation_HIDDEN:
454 aImportDesc.
nType = sheet::DataImportMode_SQL;
464 aImportDesc.
nType = sheet::DataImportMode_TABLE;
473 aImportDesc.
nType = sheet::DataImportMode_QUERY;
517 pDPObject->SetSaveData(*
pDPSave);
522 if ( pDPCollection->
GetByName(pDPObject->GetName()) )
523 pDPObject->SetName( OUString() );
531 XMLTokenEnum eOrientation,
bool bVisible,
const OUString& rDisplayName)
533 switch (eOrientation)
559 if ( !rAttrList.is() )
562 for (
auto &aIter : *rAttrList)
564 switch (aIter.getToken())
588 if ( !rAttrList.is() )
591 for (
auto &aIter : *rAttrList)
593 switch (aIter.getToken())
615 if ( !rAttrList.is() )
618 for (
auto &aIter : *rAttrList)
620 switch (aIter.getToken())
641 if ( !rAttrList.is() )
644 for (
auto &aIter : *rAttrList)
646 switch (aIter.getToken())
675 mpTableContext(pTableContext),
679 if ( !rAttrList.is() )
682 for (
auto &aIter : *rAttrList)
684 switch (aIter.getToken())
735 pDataPilotTable(pTempDataPilotTable)
737 if ( !rAttrList.is() )
740 for (
auto &aIter : *rAttrList)
742 switch (aIter.getToken())
747 sal_Int32 nOffset(0);
766 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
786 pDataPilotTable(pTempDataPilotTable),
793 nOrientation(
sheet::DataPilotFieldOrientation_HIDDEN),
794 bSelectedPage(
false),
795 bIsGroupField(
false),
799 mbHasHiddenMember(
false)
801 bool bHasName =
false;
802 bool bDataLayout =
false;
803 bool bIgnoreSelectedPage =
false;
804 OUString aDisplayName;
805 if ( rAttrList.is() )
807 for (
auto &aIter : *rAttrList)
809 switch (aIter.getToken())
812 sName = aIter.toString();
817 aDisplayName = aIter.toString();
833 bIgnoreSelectedPage =
true;
843 if (bIgnoreSelectedPage)
849 if (!aDisplayName.isEmpty())
850 xDim->SetLayoutName(aDisplayName);
859 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
885 bool isVisible = pMember->GetIsVisible();
886 xDim->AddMember(std::move(pMember));
896 xDim->SetSubtotalName(rName);
902 aGroup.
aMembers = std::move(rMembers);
903 aGroup.
aName = rName;
904 aGroups.push_back(std::move(aGroup));
938 for (
const auto& rGroup :
aGroups)
941 for (
const auto& rMember : rGroup.aMembers)
964 sheet::DataPilotFieldReference aReference;
966 if ( rAttrList.is() )
968 for (
auto &aIter : *rAttrList)
970 switch (aIter.getToken())
977 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::ITEM_DIFFERENCE;
979 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::ITEM_PERCENTAGE;
981 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::ITEM_PERCENTAGE_DIFFERENCE;
983 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::RUNNING_TOTAL;
985 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::ROW_PERCENTAGE;
987 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::COLUMN_PERCENTAGE;
989 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::TOTAL_PERCENTAGE;
991 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::INDEX;
996 aReference.ReferenceField = aIter.toString();
1002 aReference.ReferenceItemType = sheet::DataPilotFieldReferenceItemType::NAMED;
1004 aReference.ReferenceItemType = sheet::DataPilotFieldReferenceItemType::PREVIOUS;
1006 aReference.ReferenceItemType = sheet::DataPilotFieldReferenceItemType::NEXT;
1011 aReference.ReferenceItemName = aIter.toString();
1028 pDataPilotField(pTempDataPilotField)
1030 if ( !rAttrList.is() )
1033 for (
auto &aIter : *rAttrList)
1035 switch (aIter.getToken())
1052 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
1085 sheet::DataPilotFieldAutoShowInfo aInfo;
1087 if ( rAttrList.is() )
1089 for (
auto &aIter : *rAttrList)
1091 switch (aIter.getToken())
1095 aInfo.IsEnabled =
true;
1097 aInfo.IsEnabled =
false;
1101 aInfo.ShowItemsMode = sheet::DataPilotFieldShowItemsMode::FROM_TOP;
1103 aInfo.ShowItemsMode = sheet::DataPilotFieldShowItemsMode::FROM_BOTTOM;
1106 aInfo.ItemCount = aIter.toInt32();
1109 aInfo.DataField = aIter.toString();
1126 sheet::DataPilotFieldSortInfo aInfo;
1128 if ( rAttrList.is() )
1130 for (
auto &aIter : *rAttrList)
1132 switch (aIter.getToken())
1136 aInfo.IsAscending =
true;
1138 aInfo.IsAscending =
false;
1144 aInfo.Mode = sheet::DataPilotFieldSortMode::MANUAL;
1146 aInfo.Mode = sheet::DataPilotFieldSortMode::NAME;
1148 aInfo.Mode = sheet::DataPilotFieldSortMode::DATA;
1151 aInfo.Field = aIter.toString();
1168 sheet::DataPilotFieldLayoutInfo aInfo;
1170 if ( rAttrList.is() )
1172 for (
auto &aIter : *rAttrList)
1174 switch (aIter.getToken())
1178 aInfo.AddEmptyLines =
true;
1180 aInfo.AddEmptyLines =
false;
1184 aInfo.LayoutMode = sheet::DataPilotFieldLayoutMode::TABULAR_LAYOUT;
1186 aInfo.LayoutMode = sheet::DataPilotFieldLayoutMode::OUTLINE_SUBTOTALS_TOP;
1188 aInfo.LayoutMode = sheet::DataPilotFieldLayoutMode::OUTLINE_SUBTOTALS_BOTTOM;
1202 pDataPilotField(pTempDataPilotField)
1213 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
1251 if ( !rAttrList.is() )
1254 for (
auto &aIter : *rAttrList)
1256 switch (aIter.getToken())
1276 pDataPilotField(pTempDataPilotField)
1286 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
1306 pDataPilotField(pTempDataPilotField),
1308 bDisplayDetails( true ),
1311 if ( !rAttrList.is() )
1314 for (
auto &aIter : *rAttrList)
1316 switch (aIter.getToken())
1319 sName = aIter.toString();
1357 pDataPilotField(pTempDataPilotField)
1359 OUString sGroupSource;
1363 sal_Int32 nGroupPart(0);
1364 bool bDateValue(
false);
1365 bool bAutoStart(
true);
1366 bool bAutoEnd(
true);
1368 if ( rAttrList.is() )
1370 for (
auto &aIter : *rAttrList)
1376 sGroupSource = aIter.toString();
1409 fStart = aIter.toDouble();
1420 fEnd = aIter.toDouble();
1427 fStep = aIter.toDouble();
1433 nGroupPart = css::sheet::DataPilotFieldGroupBy::SECONDS;
1435 nGroupPart = css::sheet::DataPilotFieldGroupBy::MINUTES;
1437 nGroupPart = css::sheet::DataPilotFieldGroupBy::HOURS;
1439 nGroupPart = css::sheet::DataPilotFieldGroupBy::DAYS;
1441 nGroupPart = css::sheet::DataPilotFieldGroupBy::MONTHS;
1443 nGroupPart = css::sheet::DataPilotFieldGroupBy::QUARTERS;
1445 nGroupPart = css::sheet::DataPilotFieldGroupBy::YEARS;
1459 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
1477 pDataPilotField(pTempDataPilotField)
1479 if ( rAttrList.is() )
1482 if (aIter != rAttrList->end())
1483 sName = aIter.toString();
1492 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
1516 pDataPilotGroup(pTempDataPilotGroup)
1518 if ( rAttrList.is() )
1521 if (aIter != rAttrList->end())
1522 sName = aIter.toString();
1532 if (!
sName.isEmpty())
::std::vector< ScXMLDataPilotGroup > aGroups
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
void SetDatabaseName(const OUString &sValue)
OUString sSourceRangeName
void AddFunction(ScGeneralFunction nFunction)
void SetGrouping(const OUString &rGroupSource, const double &rStart, const double &rEnd, const double &rStep, sal_Int32 nPart, bool bDate, bool bAutoSt, bool bAutoE)
::std::vector< OUString > aMembers
ScXMLDataPilotFieldContext * pDataPilotField
This class has to do with handling exclusively grouped dimensions? TODO: Find out what this class doe...
XML_MEMBER_PERCENTAGE_DIFFERENCE
XML_DRILL_DOWN_ON_DOUBLE_CLICK
std::unique_ptr< ScDPDimensionSaveData > pDPDimSaveData
virtual ~ScXMLDPSourceTableContext() override
static bool GetAddressFromString(ScAddress &rAddress, const OUString &rAddressStr, const ScDocument &rDocument, formula::FormulaGrammar::AddressConvention eConv, sal_Int32 &nOffset, sal_Unicode cSeparator= ' ', sal_Unicode cQuote= '\'')
String to Range core.
virtual ~ScXMLDataPilotMemberContext() override
void SetServiceUsername(const OUString &sValue)
XML_DATABASE_SOURCE_QUERY
void SetSourceRangeName(const OUString &sValue)
css::sheet::DataPilotFieldOrientation GetOrientation() const
Store pivot table data that need to be post-processed at the end of the import.
ScDocument * GetDocument()
void SetServiceSourceName(const OUString &sValue)
void appendSheetSource(ScDPObject *pObj, const ScSheetSourceDesc &rDesc)
void setDataLayoutType(FieldType eType)
ScXMLDataPilotFieldContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotTableContext *pDataPilotTable)
void SetGrandTotal(::xmloff::token::XMLTokenEnum eOrientation, bool bVisible, const OUString &rDisplayName)
ScXMLDataPilotGrandTotalContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotTableContext *pTableContext)
ScXMLDataPilotLevelContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotFieldContext *pDataPilotField)
ScGeneralFunction nFunction
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
SelectedPagesType maSelectedPages
SC_DLLPUBLIC bool ApplyFlagsTab(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, ScMF nFlags)
void AddGroup(::std::vector< OUString > &&rMembers, const OUString &rName)
Orientation meOrientation
Classes to save Data Pilot settings that create new dimensions (fields).
void SetNative(bool bValue)
SC_DLLPUBLIC ScDPCollection * GetDPCollection()
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
ScXMLDataPilotGroupContext * pDataPilotGroup
sal_uInt32 mnPageFieldCount
ScXMLDPSourceQueryContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotTableContext *pDataPilotTable)
virtual ~ScXMLDataPilotTablesContext() override
::std::vector< OUString > aMembers
ScXMLDataPilotDisplayInfoContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotFieldContext *pDataPilotField)
void SetLayoutInfo(const css::sheet::DataPilotFieldLayoutInfo &aInfo)
void setColumnFieldCount(sal_uInt32 nCount)
void appendServiceSource(ScDPObject *pObj, const ScDPServiceDesc &rDesc)
bool IsXMLToken(std::u16string_view rString, enum XMLTokenEnum eToken)
FastAttributeList & castToFastAttributeList(const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList)
ScRange aSourceCellRangeAddress
OUString sServicePassword
bool IsDataLayout() const
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
bool HasInvisibleMember() const
void SetQueryParam(const ScQueryParam &rParam)
ScDPObject * GetByName(std::u16string_view rName) const
void SetAutoShowInfo(const css::sheet::DataPilotFieldAutoShowInfo &aInfo)
virtual ~ScXMLSourceServiceContext() override
virtual ~ScXMLDataPilotLevelContext() override
exports com.sun.star. sheet
virtual ~ScXMLDataPilotGroupContext() override
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
XML_DATA_PILOT_FIELD_REFERENCE
void AddMember(std::unique_ptr< ScDPSaveMember > pMember)
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
SC_DLLPUBLIC void SetSourceRange(const ScRange &rRange)
ScXMLSourceCellRangeContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotTableContext *pDataPilotTable)
ScXMLDataPilotGroupMemberContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotGroupContext *pDataPilotGroup)
OUString sServiceSourceObject
virtual ~ScXMLSourceCellRangeContext() override
ScXMLDPSourceTableContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotTableContext *pDataPilotTable)
XML_OUTLINE_SUBTOTALS_TOP
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 ~ScXMLDataPilotFieldContext() override
ScXMLDataPilotLayoutInfoContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotFieldContext *pDataPilotField)
XML_DATA_PILOT_LAYOUT_INFO
css::sheet::DataPilotFieldOrientation nOrientation
void SetDisplayName(const OUString &rName)
void setPageFieldCount(sal_uInt32 nCount)
void appendSelectedPages(ScDPObject *pObj, SelectedPagesType &&rSelected)
ScXMLDataPilotTableContext * pDataPilotTable
void SetSourceCellRangeAddress(const ScRange &aValue)
ScMySourceType nSourceType
OUString sApplicationData
static bool GetRangeFromString(ScRange &rRange, const OUString &rRangeStr, const ScDocument &rDocument, formula::FormulaGrammar::AddressConvention eConv, sal_Int32 &nOffset, sal_Unicode cSeparator= ' ', sal_Unicode cQuote= '\'')
virtual ~ScXMLDataPilotLayoutInfoContext() override
std::unique_ptr< ScDPSaveData > pDPSave
virtual ~ScXMLDataPilotGroupsContext() override
This class exists only to provide GetScImport() to its derived classes.
GrandTotalItem maRowGrandTotal
dp button with popup arrow
ScXMLDataPilotFieldContext * pDataPilotField
OUString sServiceUsername
ScXMLDataPilotTableContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList)
css::sheet::DataPilotFieldOrientation mnDataLayoutType
OUString sServiceSourceName
ScXMLDataPilotSubTotalsContext(ScXMLImport &rImport, ScXMLDataPilotFieldContext *pDataPilotField)
Represents a group dimension that introduces a new hierarchy for an existing dimension.
virtual ~ScXMLDPSourceQueryContext() override
void SetServiceSourceObject(const OUString &sValue)
ScXMLDataPilotSortInfoContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotFieldContext *pDataPilotField)
ScXMLDataPilotGroupContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotFieldContext *pDataPilotField)
void AddMember(const OUString &sMember)
ScXMLDPSourceSQLContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotTableContext *pDataPilotTable)
ScXMLDataPilotTableContext * mpTableContext
void AddGroupDim(const ScDPSaveNumGroupDimension &aNumGroupDim)
static css::sheet::DataPilotFieldOrientation GetOrientationFromString(std::u16string_view rString)
void convertDateTime(OUStringBuffer &rBuffer, const double &fDateTime, bool const bAddTimeIf0AM=false)
XML_DATA_PILOT_GROUP_MEMBER
ScQueryParam aSourceQueryParam
void SetServiceName(const OUString &sValue)
void SetFieldReference(const css::sheet::DataPilotFieldReference &aRef)
virtual ~ScXMLDataPilotMembersContext() override
void SetSourceObject(const OUString &sValue)
sal_uInt32 mnColFieldCount
std::pair< FieldType, size_t > getFieldButtonType(const ScAddress &rPos) const
void setRowFieldCount(sal_uInt32 nCount)
SC_DLLPUBLIC ScDPObject * InsertNewTable(std::unique_ptr< ScDPObject > pDPObj)
ScXMLImport & GetScImport()
void SetRepeatItemLabels(const bool bSet)
void SetDupFlag(bool bSet)
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 setHeaderLayout(bool bHeaderLayout)
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
virtual ~ScXMLDataPilotDisplayInfoContext() override
css::sheet::DataImportMode nType
virtual ~ScXMLDataPilotSubTotalContext() override
void SetServicePassword(const OUString &sValue)
virtual ~ScXMLDataPilotGroupMemberContext() override
ScXMLDataPilotFieldContext * pDataPilotField
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
ScXMLDataPilotSubTotalContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotSubTotalsContext *pDataPilotSubTotals)
ScXMLDataPilotMemberContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotFieldContext *pDataPilotField)
static ScGeneralFunction GetFunctionFromString2(std::u16string_view rString)
std::vector< ScGeneralFunction > maFunctions
void SetSubTotalName(const OUString &rName)
virtual ~ScXMLDataPilotTableContext() override
void setDataFieldCount(sal_uInt32 nCount)
ScXMLDataPilotMembersContext(ScXMLImport &rImport, ScXMLDataPilotFieldContext *pDataPilotField)
ScGeneralFunction
the css::sheet::GeneralFunction enum is extended by constants in GeneralFunction2, which causes some type-safety issues.
const OUString & GetName() const
ScXMLDataPilotFieldContext * pDataPilotField
XML_DATABASE_SOURCE_TABLE
std::unique_ptr< ScDPSaveDimension > xDim
Represents a new group dimension whose dimension ID is higher than the highest source dimension ID...
#define XML_ELEMENT(prefix, name)
ScRange aTargetRangeAddress
const SvXMLUnitConverter & GetMM100UnitConverter() const
ScXMLDataPilotTableContext * pDataPilotTable
void AddElement(const OUString &rName)
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
void SetDateInfo(const ScDPNumGroupInfo &rInfo, sal_Int32 nPart)
void SetSortInfo(const css::sheet::DataPilotFieldSortInfo &aInfo)
XML_DATA_PILOT_DISPLAY_INFO
ScXMLDataPilotTablesContext(ScXMLImport &rImport)
ScXMLDataPilotFieldContext * pDataPilotField
sal_uInt32 mnDataFieldCount
virtual ~ScXMLDPSourceSQLContext() override
void SetButtons(ScDPObject *pDPObject)
void SetSelectedPage(const OUString &rDimName, const OUString &rSelected)
void AddDimension(ScDPSaveDimension *pDim)
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 SetSubTotals(std::vector< ScGeneralFunction > &&rFunctions)
constexpr sal_Int32 TOKEN_MASK
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
ScXMLDataPilotGroupsContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotFieldContext *pDataPilotField)
XML_DATA_PILOT_GRAND_TOTAL
SC_DLLPUBLIC void SetRangeName(const OUString &rName)
void appendDBSource(ScDPObject *pObj, const ScImportSourceDesc &rDesc)
virtual ~ScXMLDataPilotGrandTotalContext() override
virtual ~ScXMLDataPilotSortInfoContext() override
sc::PivotTableSources & GetPivotTableSources()
static void GetTokenByOffset(OUString &rToken, const OUString &rString, sal_Int32 &nOffset, sal_Unicode cSeparator= ' ', sal_Unicode cQuote= '\'')
void SetShowEmpty(const bool bValue)
OUString sDataPilotTableName
XML_OUTLINE_SUBTOTALS_BOTTOM
ScXMLDataPilotFieldReferenceContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotFieldContext *pDataPilotField)
This class contains authoritative information on the internal reference used as the data source for d...
virtual ~ScXMLDataPilotFieldReferenceContext() override
void AddGroupItem(const ScDPSaveGroupItem &rItem)
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
void SetDateInfo(const ScDPNumGroupInfo &rInfo, sal_Int32 nPart)
ScXMLSourceServiceContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotTableContext *pDataPilotTable)
bool m_bDetectedRangeSegmentation false
ScXMLDataPilotFieldContext * pDataPilotField
sal_uInt32 mnRowFieldCount
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override