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 )
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();
1386 GetScImport().GetMM100UnitConverter().convertDateTime(fStart, aIter.toView());
1398 GetScImport().GetMM100UnitConverter().convertDateTime(fEnd, aIter.toView());
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())
@ HiddenMember
dp button with popup arrow
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 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_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