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 )
107 if ( !rAttrList.is() )
110 for (
auto &aIter : *rAttrList)
112 switch (aIter.getToken())
160 sal_Int32 nOffset(0);
194 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
249 const std::vector<const ScDPSaveDimension*>& rRowDims,
250 const std::vector<const ScDPSaveDimension*>& rColDims,
251 const std::vector<const ScDPSaveDimension*>& rPageDims,
258 if (rColDims.size() <= nPos)
261 return rColDims[nPos];
265 if (rRowDims.size() <= nPos)
268 return rRowDims[nPos];
272 if (rPageDims.size() <= nPos)
275 return rPageDims[nPos];
291 case sheet::DataPilotFieldOrientation_COLUMN:
293 case sheet::DataPilotFieldOrientation_DATA:
295 case sheet::DataPilotFieldOrientation_PAGE:
297 case sheet::DataPilotFieldOrientation_ROW:
299 case sheet::DataPilotFieldOrientation_HIDDEN:
319 std::vector<const ScDPSaveDimension*> aRowDims, aColDims, aPageDims;
320 pDPSave->GetAllDimensionsByOrientation(sheet::DataPilotFieldOrientation_ROW, aRowDims);
321 pDPSave->GetAllDimensionsByOrientation(sheet::DataPilotFieldOrientation_COLUMN, aColDims);
322 pDPSave->GetAllDimensionsByOrientation(sheet::DataPilotFieldOrientation_PAGE, aPageDims);
325 sal_Int32 nOffset = 0;
326 while( nOffset >= 0 )
332 sal_Int32 nAddrOffset(0);
335 std::pair<ScDPOutputGeometry::FieldType, size_t> aBtnType = aGeometry.
getFieldButtonType(aScAddress);
337 aRowDims, aColDims, aPageDims, aBtnType.first, aBtnType.second);
339 bool bDimension = pDim !=
nullptr;
342 bool bPageDim = pDim && pDim->
GetOrientation() == sheet::DataPilotFieldOrientation_PAGE;
401 case sheet::DataPilotFieldOrientation_ROW:
404 case sheet::DataPilotFieldOrientation_COLUMN:
407 case sheet::DataPilotFieldOrientation_PAGE:
410 case sheet::DataPilotFieldOrientation_DATA:
413 case sheet::DataPilotFieldOrientation_HIDDEN:
456 aImportDesc.
nType = sheet::DataImportMode_SQL;
466 aImportDesc.
nType = sheet::DataImportMode_TABLE;
475 aImportDesc.
nType = sheet::DataImportMode_QUERY;
519 pDPObject->SetSaveData(*
pDPSave);
524 if ( pDPCollection->
GetByName(pDPObject->GetName()) )
525 pDPObject->SetName( OUString() );
533 XMLTokenEnum eOrientation,
bool bVisible,
const OUString& rDisplayName)
535 switch (eOrientation)
561 if ( !rAttrList.is() )
564 for (
auto &aIter : *rAttrList)
566 switch (aIter.getToken())
590 if ( !rAttrList.is() )
593 for (
auto &aIter : *rAttrList)
595 switch (aIter.getToken())
617 if ( !rAttrList.is() )
620 for (
auto &aIter : *rAttrList)
622 switch (aIter.getToken())
643 if ( !rAttrList.is() )
646 for (
auto &aIter : *rAttrList)
648 switch (aIter.getToken())
677 mpTableContext(pTableContext),
681 if ( !rAttrList.is() )
684 for (
auto &aIter : *rAttrList)
686 switch (aIter.getToken())
737 pDataPilotTable(pTempDataPilotTable)
739 if ( !rAttrList.is() )
742 for (
auto &aIter : *rAttrList)
744 switch (aIter.getToken())
749 sal_Int32 nOffset(0);
768 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
788 pDataPilotTable(pTempDataPilotTable),
796 nOrientation(
sheet::DataPilotFieldOrientation_HIDDEN),
797 bSelectedPage(false),
798 bIsGroupField(false),
802 mbHasHiddenMember(false)
804 bool bHasName =
false;
805 bool bDataLayout =
false;
806 bool bIgnoreSelectedPage =
false;
807 OUString aDisplayName;
808 if ( rAttrList.is() )
810 for (
auto &aIter : *rAttrList)
812 switch (aIter.getToken())
815 sName = aIter.toString();
820 aDisplayName = aIter.toString();
836 bIgnoreSelectedPage =
true;
846 if (bIgnoreSelectedPage)
852 if (!aDisplayName.isEmpty())
853 xDim->SetLayoutName(aDisplayName);
862 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
888 bool isVisible = pMember->GetIsVisible();
889 xDim->AddMember(std::move(pMember));
899 xDim->SetSubtotalName(rName);
906 aGroup.
aName = rName;
941 for (
const auto& rGroup :
aGroups)
944 for (
const auto& rMember : rGroup.aMembers)
967 sheet::DataPilotFieldReference aReference;
969 if ( rAttrList.is() )
971 for (
auto &aIter : *rAttrList)
973 switch (aIter.getToken())
980 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::ITEM_DIFFERENCE;
982 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::ITEM_PERCENTAGE;
984 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::ITEM_PERCENTAGE_DIFFERENCE;
986 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::RUNNING_TOTAL;
988 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::ROW_PERCENTAGE;
990 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::COLUMN_PERCENTAGE;
992 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::TOTAL_PERCENTAGE;
994 aReference.ReferenceType = sheet::DataPilotFieldReferenceType::INDEX;
999 aReference.ReferenceField = aIter.toString();
1005 aReference.ReferenceItemType = sheet::DataPilotFieldReferenceItemType::NAMED;
1007 aReference.ReferenceItemType = sheet::DataPilotFieldReferenceItemType::PREVIOUS;
1009 aReference.ReferenceItemType = sheet::DataPilotFieldReferenceItemType::NEXT;
1014 aReference.ReferenceItemName = aIter.toString();
1031 pDataPilotField(pTempDataPilotField)
1033 if ( !rAttrList.is() )
1036 for (
auto &aIter : *rAttrList)
1038 switch (aIter.getToken())
1055 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
1088 sheet::DataPilotFieldAutoShowInfo aInfo;
1090 if ( rAttrList.is() )
1092 for (
auto &aIter : *rAttrList)
1094 switch (aIter.getToken())
1098 aInfo.IsEnabled =
true;
1100 aInfo.IsEnabled =
false;
1104 aInfo.ShowItemsMode = sheet::DataPilotFieldShowItemsMode::FROM_TOP;
1106 aInfo.ShowItemsMode = sheet::DataPilotFieldShowItemsMode::FROM_BOTTOM;
1109 aInfo.ItemCount = aIter.toInt32();
1112 aInfo.DataField = aIter.toString();
1129 sheet::DataPilotFieldSortInfo aInfo;
1131 if ( rAttrList.is() )
1133 for (
auto &aIter : *rAttrList)
1135 switch (aIter.getToken())
1139 aInfo.IsAscending =
true;
1141 aInfo.IsAscending =
false;
1147 aInfo.Mode = sheet::DataPilotFieldSortMode::MANUAL;
1149 aInfo.Mode = sheet::DataPilotFieldSortMode::NAME;
1151 aInfo.Mode = sheet::DataPilotFieldSortMode::DATA;
1154 aInfo.Field = aIter.toString();
1171 sheet::DataPilotFieldLayoutInfo aInfo;
1173 if ( rAttrList.is() )
1175 for (
auto &aIter : *rAttrList)
1177 switch (aIter.getToken())
1181 aInfo.AddEmptyLines =
true;
1183 aInfo.AddEmptyLines =
false;
1187 aInfo.LayoutMode = sheet::DataPilotFieldLayoutMode::TABULAR_LAYOUT;
1189 aInfo.LayoutMode = sheet::DataPilotFieldLayoutMode::OUTLINE_SUBTOTALS_TOP;
1191 aInfo.LayoutMode = sheet::DataPilotFieldLayoutMode::OUTLINE_SUBTOTALS_BOTTOM;
1205 pDataPilotField(pTempDataPilotField)
1216 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
1254 if ( !rAttrList.is() )
1257 for (
auto &aIter : *rAttrList)
1259 switch (aIter.getToken())
1279 pDataPilotField(pTempDataPilotField)
1289 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
1309 pDataPilotField(pTempDataPilotField),
1311 bDisplayDetails( true ),
1314 if ( !rAttrList.is() )
1317 for (
auto &aIter : *rAttrList)
1319 switch (aIter.getToken())
1322 sName = aIter.toString();
1360 pDataPilotField(pTempDataPilotField)
1362 OUString sGroupSource;
1366 sal_Int32 nGroupPart(0);
1367 bool bDateValue(
false);
1368 bool bAutoStart(
true);
1369 bool bAutoEnd(
true);
1371 if ( rAttrList.is() )
1373 for (
auto &aIter : *rAttrList)
1379 sGroupSource = aIter.toString();
1412 fStart = aIter.toDouble();
1423 fEnd = aIter.toDouble();
1430 fStep = aIter.toDouble();
1436 nGroupPart = css::sheet::DataPilotFieldGroupBy::SECONDS;
1438 nGroupPart = css::sheet::DataPilotFieldGroupBy::MINUTES;
1440 nGroupPart = css::sheet::DataPilotFieldGroupBy::HOURS;
1442 nGroupPart = css::sheet::DataPilotFieldGroupBy::DAYS;
1444 nGroupPart = css::sheet::DataPilotFieldGroupBy::MONTHS;
1446 nGroupPart = css::sheet::DataPilotFieldGroupBy::QUARTERS;
1448 nGroupPart = css::sheet::DataPilotFieldGroupBy::YEARS;
1462 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
1480 pDataPilotField(pTempDataPilotField)
1482 if ( rAttrList.is() )
1485 if (aIter != rAttrList->end())
1486 sName = aIter.toString();
1495 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
1519 pDataPilotGroup(pTempDataPilotGroup)
1521 if ( rAttrList.is() )
1524 if (aIter != rAttrList->end())
1525 sName = aIter.toString();
1535 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)
XML_DATA_PILOT_GRAND_TOTAL
::std::vector< OUString > aMembers
ScXMLDataPilotFieldContext * pDataPilotField
This class has to do with handling exclusively grouped dimensions? TODO: Find out what this class doe...
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)
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)
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
XML_DATABASE_SOURCE_QUERY
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
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)
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
OUString sServiceSourceObject
virtual ~ScXMLSourceCellRangeContext() override
XML_OUTLINE_SUBTOTALS_TOP
ScXMLDPSourceTableContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, 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
virtual ~ScXMLDataPilotFieldContext() override
ScXMLDataPilotLayoutInfoContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotFieldContext *pDataPilotField)
css::sheet::DataPilotFieldOrientation nOrientation
void SetDisplayName(const OUString &rName)
void setPageFieldCount(sal_uInt32 nCount)
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
void appendSelectedPages(ScDPObject *pObj, const SelectedPagesType &rSelected)
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)
XML_DRILL_DOWN_ON_DOUBLE_CLICK
static css::sheet::DataPilotFieldOrientation GetOrientationFromString(std::u16string_view rString)
XML_DATA_PILOT_GROUP_MEMBER
void convertDateTime(OUStringBuffer &rBuffer, const double &fDateTime, bool const bAddTimeIf0AM=false)
XML_MEMBER_PERCENTAGE_DIFFERENCE
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
void AddGroup(const ::std::vector< OUString > &rMembers, const OUString &rName)
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
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
void SetSubTotals(std::vector< ScGeneralFunction > const &rFunctions)
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_FIELD_REFERENCE
ScXMLDataPilotTablesContext(ScXMLImport &rImport)
ScXMLDataPilotFieldContext * pDataPilotField
XML_OUTLINE_SUBTOTALS_BOTTOM
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
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)
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
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...
XML_DATA_PILOT_DISPLAY_INFO
virtual ~ScXMLDataPilotFieldReferenceContext() override
XML_DATABASE_SOURCE_TABLE
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
XML_DATA_PILOT_LAYOUT_INFO
void SetDateInfo(const ScDPNumGroupInfo &rInfo, sal_Int32 nPart)
ScXMLSourceServiceContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotTableContext *pDataPilotTable)
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