LibreOffice Module sc (master)  1
dptabsrc.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #ifndef INCLUDED_SC_INC_DPTABSRC_HXX
21 #define INCLUDED_SC_INC_DPTABSRC_HXX
22 
23 #include <com/sun/star/sheet/XDimensionsSupplier.hpp>
24 #include <com/sun/star/sheet/XHierarchiesSupplier.hpp>
25 #include <com/sun/star/sheet/XLevelsSupplier.hpp>
26 #include <com/sun/star/sheet/XMembersSupplier.hpp>
27 #include <com/sun/star/sheet/XDataPilotResults.hpp>
28 #include <com/sun/star/sheet/XDataPilotMemberResults.hpp>
29 #include <com/sun/star/sheet/DataPilotFieldAutoShowInfo.hpp>
30 #include <com/sun/star/sheet/DataPilotFieldLayoutInfo.hpp>
31 #include <com/sun/star/sheet/DataPilotFieldLayoutMode.hpp>
32 #include <com/sun/star/sheet/DataPilotFieldReference.hpp>
33 #include <com/sun/star/sheet/DataPilotFieldSortInfo.hpp>
34 #include <com/sun/star/sheet/DataPilotFieldOrientation.hpp>
35 #include <com/sun/star/util/XRefreshable.hpp>
36 #include <com/sun/star/sheet/XDrillDownDataSupplier.hpp>
37 #include <com/sun/star/util/XCloneable.hpp>
38 #include <com/sun/star/beans/XPropertySet.hpp>
39 #include <com/sun/star/lang/XServiceInfo.hpp>
40 #include <com/sun/star/container/XNamed.hpp>
41 #include <cppuhelper/implbase.hxx>
42 #include <rtl/ref.hxx>
43 
44 #include "dptabdat.hxx"
45 #include "dpresfilter.hxx"
46 
47 #include <memory>
48 #include <unordered_map>
49 #include <unordered_set>
50 #include <vector>
51 #include <optional>
52 
53 namespace com::sun::star {
54  namespace sheet {
55  struct DataPilotFieldFilter;
56  struct MemberResult;
57  }
58 }
59 
60 class ScDPResultMember;
61 class ScDPResultData;
62 class ScDPItemData;
63 class ScDPDimensions;
64 class ScDPDimension;
65 class ScDPHierarchies;
66 class ScDPHierarchy;
67 class ScDPLevels;
68 class ScDPLevel;
69 class ScDPMembers;
70 class ScDPMember;
71 enum class ScGeneralFunction;
72 
73 // implementation of DataPilotSource using ScDPTableData
74 
75 class ScDPSource final : public cppu::WeakImplHelper<
76  css::sheet::XDimensionsSupplier,
77  css::sheet::XDataPilotResults,
78  css::util::XRefreshable,
79  css::sheet::XDrillDownDataSupplier,
80  css::beans::XPropertySet,
81  css::lang::XServiceInfo >
82 {
83 private:
84  ScDPTableData* pData; // data source (ScDPObject manages its life time)
86  // settings:
87 
88  std::vector<long> maColDims;
89  std::vector<long> maRowDims;
90  std::vector<long> maDataDims;
91  std::vector<long> maPageDims;
93 
95  bool bRowGrand;
98 
99  long nDupCount;
100 
101  // results:
102  std::unique_ptr<ScDPResultData> pResData; // keep the rest in this!
103  std::unique_ptr<ScDPResultMember> pColResRoot;
104  std::unique_ptr<ScDPResultMember> pRowResRoot;
105  std::unique_ptr<css::uno::Sequence<css::sheet::MemberResult>[]> pColResults;
106  std::unique_ptr<css::uno::Sequence<css::sheet::MemberResult>[]> pRowResults;
107  std::vector<ScDPLevel*> aColLevelList;
108  std::vector<ScDPLevel*> aRowLevelList;
110  bool bPageFiltered; // set if page field filters have been applied to cache table
111 
112  std::optional<OUString> mpGrandTotalName;
113 
114  void CreateRes_Impl();
115  void FillMemberResults();
116  void FillLevelList( css::sheet::DataPilotFieldOrientation nOrientation, std::vector<ScDPLevel*> &rList );
117  void FillCalcInfo(bool bIsRow, ScDPTableData::CalcInfo& rInfo, bool &bHasAutoShow);
118 
123  void GetCategoryDimensionIndices(std::unordered_set<sal_Int32>& rCatDims);
124 
130 
131  void SetDupCount( long nNew );
132 
133  OUString getDataDescription();
134 
135  void setIgnoreEmptyRows(bool bSet);
136  void setRepeatIfEmpty(bool bSet);
137 
138  void disposeData();
139 
140 public:
141  ScDPSource( ScDPTableData* pD );
142  virtual ~ScDPSource() override;
143 
144  ScDPTableData* GetData() { return pData; }
145  const ScDPTableData* GetData() const { return pData; }
146 
147  const std::optional<OUString> &
148  GetGrandTotalName() const;
149 
150  css::sheet::DataPilotFieldOrientation
151  GetOrientation(long nColumn);
152  void SetOrientation(long nColumn, css::sheet::DataPilotFieldOrientation nNew);
153  long GetPosition(long nColumn);
154 
155  long GetDataDimensionCount() const;
156  ScDPDimension* GetDataDimension(long nIndex);
157  OUString GetDataDimName(long nIndex);
158  const ScDPCache* GetCache();
159  const ScDPItemData* GetItemDataById( long nDim, long nId );
160  bool IsDataLayoutDimension(long nDim);
161  css::sheet::DataPilotFieldOrientation
163 
164  bool IsDateDimension(long nDim);
165 
166  bool SubTotalAllowed(long nColumn);
167 
168  ScDPDimension* AddDuplicated(const OUString& rNewName);
169  long GetDupCount() const { return nDupCount; }
170 
171  long GetSourceDim(long nDim);
172 
173  const css::uno::Sequence<css::sheet::MemberResult>*
174  GetMemberResults( const ScDPLevel* pLevel );
175 
177 
178  // XDimensionsSupplier
179  virtual css::uno::Reference< css::container::XNameAccess >
180  SAL_CALL getDimensions( ) override;
181 
182  // XDataPilotResults
183  virtual css::uno::Sequence< css::uno::Sequence< css::sheet::DataResult > > SAL_CALL getResults( ) override;
184 
185  virtual css::uno::Sequence<double> SAL_CALL
187  const css::uno::Sequence<css::sheet::DataPilotFieldFilter>& aFilters ) override;
188 
189  // XRefreshable
190  virtual void SAL_CALL refresh() override;
191  virtual void SAL_CALL addRefreshListener( const css::uno::Reference< css::util::XRefreshListener >& l ) override;
192  virtual void SAL_CALL removeRefreshListener( const css::uno::Reference< css::util::XRefreshListener >& l ) override;
193 
194  // XDrillDownDataSupplier
195  virtual css::uno::Sequence< css::uno::Sequence< css::uno::Any > >
196  SAL_CALL getDrillDownData(const css::uno::Sequence<
197  css::sheet::DataPilotFieldFilter >& aFilters ) override;
198 
199  // XPropertySet
200  virtual css::uno::Reference< css::beans::XPropertySetInfo >
201  SAL_CALL getPropertySetInfo( ) override;
202  virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName,
203  const css::uno::Any& aValue ) override;
204  virtual css::uno::Any SAL_CALL getPropertyValue(
205  const OUString& PropertyName ) override;
206  virtual void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName,
207  const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener ) override;
208  virtual void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName,
209  const css::uno::Reference< css::beans::XPropertyChangeListener >& aListener ) override;
210  virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName,
211  const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener ) override;
212  virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName,
213  const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener ) override;
214 
215  // XServiceInfo
216  virtual OUString SAL_CALL getImplementationName( ) override;
217  virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
218  virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
219 
220 #if DUMP_PIVOT_TABLE
221  void DumpResults() const;
222 #endif
223 };
224 
225 class ScDPDimensions : public cppu::WeakImplHelper<
226  css::container::XNameAccess,
227  css::lang::XServiceInfo >
228 {
229 private:
231  long nDimCount;
232  std::unique_ptr<rtl::Reference<ScDPDimension>[]>
234 
235 public:
236  ScDPDimensions( ScDPSource* pSrc );
237  virtual ~ScDPDimensions() override;
238 
239  void CountChanged();
240 
241  // XNameAccess
242  virtual css::uno::Any SAL_CALL getByName( const OUString& aName ) override;
243  virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override;
244  virtual sal_Bool SAL_CALL hasByName( const OUString& aName ) override;
245 
246  // XElementAccess
247  virtual css::uno::Type SAL_CALL getElementType() override;
248  virtual sal_Bool SAL_CALL hasElements() override;
249 
250  // XServiceInfo
251  virtual OUString SAL_CALL getImplementationName( ) override;
252  virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
253  virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
254 
255  long getCount() const;
256  ScDPDimension* getByIndex(long nIndex) const;
257 };
258 
259 class ScDPDimension : public cppu::WeakImplHelper<
260  css::sheet::XHierarchiesSupplier,
261  css::container::XNamed,
262  css::util::XCloneable,
263  css::beans::XPropertySet,
264  css::lang::XServiceInfo >
265 {
267  long nDim; // dimension index (== column ID)
270  OUString aName; // if empty, take from source
271  std::optional<OUString> mpLayoutName;
272  std::optional<OUString> mpSubtotalName;
273  long nSourceDim; // >=0 if dup'ed
274  css::sheet::DataPilotFieldReference
275  aReferenceValue; // settings for "show data as" / "displayed value"
277  OUString aSelectedPage;
278  std::unique_ptr<ScDPItemData>
279  pSelectedData; // internal, temporary, created from aSelectedPage
281 
282 public:
283  ScDPDimension( ScDPSource* pSrc, long nD );
284  virtual ~ScDPDimension() override;
285  ScDPDimension(const ScDPDimension&) = delete;
286  ScDPDimension& operator=(const ScDPDimension&) = delete;
287 
288  long GetDimension() const { return nDim; } // dimension index in source
289  long GetSourceDim() const { return nSourceDim; } // >=0 if dup'ed
290 
293 
294  const std::optional<OUString> & GetLayoutName() const;
295  const std::optional<OUString> & GetSubtotalName() const;
296 
297  // XNamed
298  virtual OUString SAL_CALL getName() override;
299  virtual void SAL_CALL setName( const OUString& aName ) override;
300 
301  // XHierarchiesSupplier
302  virtual css::uno::Reference< css::container::XNameAccess > SAL_CALL
303  getHierarchies() override;
304 
305  // XCloneable
306  virtual css::uno::Reference< css::util::XCloneable > SAL_CALL
307  createClone() override;
308 
309  // XPropertySet
310  virtual css::uno::Reference< css::beans::XPropertySetInfo >
311  SAL_CALL getPropertySetInfo( ) override;
312  virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName,
313  const css::uno::Any& aValue ) override;
314  virtual css::uno::Any SAL_CALL getPropertyValue(
315  const OUString& PropertyName ) override;
316  virtual void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName,
317  const css::uno::Reference<
318  css::beans::XPropertyChangeListener >& xListener ) override;
319  virtual void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName,
320  const css::uno::Reference< css::beans::XPropertyChangeListener >& aListener ) override;
321  virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName,
322  const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener ) override;
323  virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName,
324  const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener ) override;
325 
326  // XServiceInfo
327  virtual OUString SAL_CALL getImplementationName( ) override;
328  virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
329  virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
330 
331  css::sheet::DataPilotFieldOrientation getOrientation() const;
332  bool getIsDataLayoutDimension() const;
334  void setFunction(ScGeneralFunction nNew); // for data dimension
335  static long getUsedHierarchy() { return 0;}
336 
337  bool HasSelectedPage() const { return bHasSelectedPage; }
338  const ScDPItemData& GetSelectedData();
339 
340  const css::sheet::DataPilotFieldReference& GetReferenceValue() const { return aReferenceValue;}
341 };
342 
343 class ScDPHierarchies : public cppu::WeakImplHelper<
344  css::container::XNameAccess,
345  css::lang::XServiceInfo >
346 {
347 private:
349  long nDim;
350  // date columns have 3 hierarchies (flat/quarter/week), other columns only one
351  // #i52547# don't offer the incomplete date hierarchy implementation
352  static const long nHierCount = 1;
353  std::unique_ptr<rtl::Reference<ScDPHierarchy>[]>
355 
356 public:
357  ScDPHierarchies( ScDPSource* pSrc, long nD );
358  virtual ~ScDPHierarchies() override;
359 
360  // XNameAccess
361  virtual css::uno::Any SAL_CALL getByName( const OUString& aName ) override;
362  virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override;
363  virtual sal_Bool SAL_CALL hasByName( const OUString& aName ) override;
364 
365  // XElementAccess
366  virtual css::uno::Type SAL_CALL getElementType() override;
367  virtual sal_Bool SAL_CALL hasElements() override;
368 
369  // XServiceInfo
370  virtual OUString SAL_CALL getImplementationName( ) override;
371  virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
372  virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
373 
374  static long getCount();
375  ScDPHierarchy* getByIndex(long nIndex) const;
376 };
377 
378 class ScDPHierarchy : public cppu::WeakImplHelper<
379  css::sheet::XLevelsSupplier,
380  css::container::XNamed,
381  css::lang::XServiceInfo >
382 {
383 private:
385  long nDim;
386  long nHier;
388 
389 public:
390  ScDPHierarchy( ScDPSource* pSrc, long nD, long nH );
391  virtual ~ScDPHierarchy() override;
392 
394 
395  // XNamed
396  virtual OUString SAL_CALL getName() override;
397  virtual void SAL_CALL setName( const OUString& aName ) override;
398 
399  // XLevelsSupplier
400  virtual css::uno::Reference< css::container::XNameAccess > SAL_CALL
401  getLevels() override;
402 
403  // XServiceInfo
404  virtual OUString SAL_CALL getImplementationName( ) override;
405  virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
406  virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
407 };
408 
409 class ScDPLevels : public cppu::WeakImplHelper<
410  css::container::XNameAccess,
411  css::lang::XServiceInfo >
412 {
413 private:
415  long nDim;
416  long nHier;
417  long nLevCount;
418  std::unique_ptr<rtl::Reference<ScDPLevel>[]>
420 
421 public:
422  ScDPLevels( ScDPSource* pSrc, long nD, long nH );
423  virtual ~ScDPLevels() override;
424 
425  // XNameAccess
426  virtual css::uno::Any SAL_CALL getByName( const OUString& aName ) override;
427  virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override;
428  virtual sal_Bool SAL_CALL hasByName( const OUString& aName ) override;
429 
430  // XElementAccess
431  virtual css::uno::Type SAL_CALL getElementType() override;
432  virtual sal_Bool SAL_CALL hasElements() override;
433 
434  // XServiceInfo
435  virtual OUString SAL_CALL getImplementationName( ) override;
436  virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
437  virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
438 
439  long getCount() const;
440  ScDPLevel* getByIndex(long nIndex) const;
441 };
442 
443 class ScDPLevel : public cppu::WeakImplHelper<
444  css::sheet::XMembersSupplier,
445  css::container::XNamed,
446  css::sheet::XDataPilotMemberResults,
447  css::beans::XPropertySet,
448  css::lang::XServiceInfo >
449 {
450 private:
452  long nDim;
453  long nHier;
454  long nLev;
456  css::uno::Sequence<sal_Int16> aSubTotals;
457  css::sheet::DataPilotFieldSortInfo aSortInfo; // stored user settings
458  css::sheet::DataPilotFieldAutoShowInfo aAutoShowInfo; // stored user settings
459  css::sheet::DataPilotFieldLayoutInfo aLayoutInfo; // stored user settings
460  // valid only from result calculation:
461  ::std::vector<sal_Int32> aGlobalOrder; // result of sorting by name or position
462  long nSortMeasure; // measure (index of data dimension) to sort by
463  long nAutoMeasure; // measure (index of data dimension) for AutoShow
464  bool bShowEmpty:1;
465  bool bEnableLayout:1; // enabled only for row fields, not for the innermost one
467 
468 public:
469  ScDPLevel( ScDPSource* pSrc, long nD, long nH, long nL );
470  virtual ~ScDPLevel() override;
471 
473 
474  // XNamed
475  virtual OUString SAL_CALL getName() override;
476  virtual void SAL_CALL setName( const OUString& aName ) override;
477 
478  // XMembersSupplier
479  virtual css::uno::Reference< css::sheet::XMembersAccess > SAL_CALL
480  getMembers() override;
481 
482  // XDataPilotMemberResults
483  virtual css::uno::Sequence< css::sheet::MemberResult > SAL_CALL
484  getResults() override;
485 
486  // XPropertySet
487  virtual css::uno::Reference< css::beans::XPropertySetInfo >
488  SAL_CALL getPropertySetInfo( ) override;
489  virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName,
490  const css::uno::Any& aValue ) override;
491  virtual css::uno::Any SAL_CALL getPropertyValue(
492  const OUString& PropertyName ) override;
493  virtual void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName,
494  const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener ) override;
495  virtual void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName,
496  const css::uno::Reference< css::beans::XPropertyChangeListener >& aListener ) override;
497  virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName,
498  const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener ) override;
499  virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName,
500  const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener ) override;
501 
502  // XServiceInfo
503  virtual OUString SAL_CALL getImplementationName( ) override;
504  virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
505  virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
506 
507  css::uno::Sequence<sal_Int16> getSubTotals() const;
508  bool getShowEmpty() const { return bShowEmpty;}
509  bool getRepeatItemLabels() const { return bRepeatItemLabels; }
510 
511  const css::sheet::DataPilotFieldSortInfo& GetSortInfo() const { return aSortInfo; }
512  const css::sheet::DataPilotFieldAutoShowInfo& GetAutoShow() const { return aAutoShowInfo; }
513 
514  void EvaluateSortOrder();
515  void SetEnableLayout(bool bSet);
516 
517  const ::std::vector<sal_Int32>& GetGlobalOrder() const { return aGlobalOrder; }
518  ::std::vector<sal_Int32>& GetGlobalOrder() { return aGlobalOrder; }
519  long GetSortMeasure() const { return nSortMeasure; }
520  long GetAutoMeasure() const { return nAutoMeasure; }
521 
522  bool IsOutlineLayout() const
523  {
524  return bEnableLayout &&
525  aLayoutInfo.LayoutMode !=
526  css::sheet::DataPilotFieldLayoutMode::TABULAR_LAYOUT;
527  }
528 
529  bool IsSubtotalsAtTop() const
530  {
531  return bEnableLayout &&
532  aLayoutInfo.LayoutMode ==
533  css::sheet::DataPilotFieldLayoutMode::OUTLINE_SUBTOTALS_TOP;
534  }
535 
536  bool IsAddEmpty() const
537  {
538  return bEnableLayout && aLayoutInfo.AddEmptyLines;
539  }
540 
542 };
543 
544 // hash map from name to index in the member array, for fast name access
545 typedef std::unordered_map< OUString, sal_Int32 > ScDPMembersHashMap;
546 
547 class ScDPMembers : public cppu::WeakImplHelper<
548  css::sheet::XMembersAccess,
549  css::lang::XServiceInfo >
550 {
551 private:
552  typedef std::vector<rtl::Reference<ScDPMember> > MembersType;
554  long nDim;
555  long nHier;
556  long nLev;
557  long nMbrCount;
558  mutable MembersType maMembers;
560 
561 public:
562  ScDPMembers( ScDPSource* pSrc, long nD, long nH, long nL );
563  virtual ~ScDPMembers() override;
564 
565  // XMembersAccess
566  virtual css::uno::Sequence< OUString > SAL_CALL getLocaleIndependentElementNames() override;
567 
568  // XNameAccess
569  virtual css::uno::Any SAL_CALL getByName( const OUString& aName ) override;
570  virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override;
571  virtual sal_Bool SAL_CALL hasByName( const OUString& aName ) override;
572 
573  // XElementAccess
574  virtual css::uno::Type SAL_CALL getElementType() override;
575  virtual sal_Bool SAL_CALL hasElements() override;
576 
577  // XServiceInfo
578  virtual OUString SAL_CALL getImplementationName( ) override;
579  virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
580  virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
581 
582  long getCount() const { return nMbrCount;}
583  ScDPMember* getByIndex(long nIndex) const;
584 
585  long getMinMembers() const;
586 
587  sal_Int32 GetIndexFromName( const OUString& rName ) const; // <0 if not found
588  const ScDPItemData* GetSrcItemDataByIndex( SCROW nIndex);
589 
590 private:
592  css::uno::Sequence< OUString > getElementNames( bool bLocaleIndependent ) const;
593 };
594 
595 class ScDPMember : public cppu::WeakImplHelper<
596  css::container::XNamed,
597  css::beans::XPropertySet,
598  css::lang::XServiceInfo >
599 {
600 private:
602  long nDim;
603  long nHier;
604  long nLev;
605 
607  std::optional<OUString> mpLayoutName;
608 
609  sal_Int32 nPosition; // manual sorting
610  bool bVisible;
611  bool bShowDet;
612 
613 public:
614  ScDPMember(ScDPSource* pSrc, long nD, long nH, long nL, SCROW nIndex);
615  virtual ~ScDPMember() override;
616  ScDPMember(const ScDPMember&) = delete;
617  ScDPMember& operator=(const ScDPMember&) = delete;
618 
619  OUString GetNameStr( bool bLocaleIndependent ) const;
620  ScDPItemData FillItemData() const;
621  const ScDPItemData* GetItemData() const;
622  SCROW GetItemDataId() const { return mnDataId; }
623  bool IsNamedItem(SCROW nIndex) const;
624 
625  const std::optional<OUString> & GetLayoutName() const;
626  long GetDim() const { return nDim;}
627 
628  sal_Int32 Compare( const ScDPMember& rOther ) const; // visible order
629 
630  // XNamed
631  virtual OUString SAL_CALL getName() override;
632  virtual void SAL_CALL setName( const OUString& aName ) override;
633 
634  // XPropertySet
635  virtual css::uno::Reference< css::beans::XPropertySetInfo >
636  SAL_CALL getPropertySetInfo( ) override;
637  virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName,
638  const css::uno::Any& aValue ) override;
639  virtual css::uno::Any SAL_CALL getPropertyValue(
640  const OUString& PropertyName ) override;
641  virtual void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName,
642  const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener ) override;
643  virtual void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName,
644  const css::uno::Reference< css::beans::XPropertyChangeListener >& aListener ) override;
645  virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName,
646  const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener ) override;
647  virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName,
648  const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener ) override;
649 
650  // XServiceInfo
651  virtual OUString SAL_CALL getImplementationName( ) override;
652  virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
653  virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
654 
655  bool isVisible() const { return bVisible;}
656  bool getShowDetails() const { return bShowDet;}
657 };
658 
659 #endif
660 
661 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
void DumpResults() const
long GetSortMeasure() const
Definition: dptabsrc.hxx:519
OUString getDataDescription()
Definition: dptabsrc.cxx:480
bool IsOutlineLayout() const
Definition: dptabsrc.hxx:522
void SetDupCount(long nNew)
Definition: dptabsrc.cxx:308
ScDPDimension * GetDataDimension(long nIndex)
Definition: dptabsrc.cxx:148
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
Definition: dptabsrc.cxx:2547
bool SubTotalAllowed(long nColumn)
Definition: dptabsrc.cxx:234
ScDPTableData * GetData()
Definition: dptabsrc.hxx:144
virtual ~ScDPMember() override
Definition: dptabsrc.cxx:2464
ScDPMember * getByIndex(long nIndex) const
Definition: dptabsrc.cxx:2357
void SetEnableLayout(bool bSet)
Definition: dptabsrc.cxx:1969
long nDim
Definition: dptabsrc.hxx:452
rtl::Reference< ScDPHierarchies > mxHierarchies
Definition: dptabsrc.hxx:268
void FillLevelList(css::sheet::DataPilotFieldOrientation nOrientation, std::vector< ScDPLevel * > &rList)
Definition: dptabsrc.cxx:956
const std::optional< OUString > & GetGrandTotalName() const
Definition: dptabsrc.cxx:121
sal_Int32 nPosition
Definition: dptabsrc.hxx:609
long GetSourceDim(long nDim)
Definition: dptabsrc.cxx:336
ScDPHierarchy(ScDPSource *pSrc, long nD, long nH)
Definition: dptabsrc.cxx:1701
virtual ~ScDPLevel() override
Definition: dptabsrc.cxx:1907
virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override
Definition: dptabsrc.cxx:1802
ScDPSource * pSource
Definition: dptabsrc.hxx:230
const css::sheet::DataPilotFieldAutoShowInfo & GetAutoShow() const
Definition: dptabsrc.hxx:512
virtual OUString SAL_CALL getImplementationName() override
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
ScDPLevels * GetLevelsObject()
Definition: dptabsrc.cxx:1714
virtual sal_Bool SAL_CALL hasByName(const OUString &aName) override
Definition: dptabsrc.cxx:1651
void EvaluateSortOrder()
Definition: dptabsrc.cxx:1912
virtual sal_Bool SAL_CALL hasElements() override
Definition: dptabsrc.cxx:1239
ScGeneralFunction nFunction
Definition: dptabsrc.hxx:269
ScDPDimension(ScDPSource *pSrc, long nD)
Definition: dptabsrc.cxx:1274
void setFunction(ScGeneralFunction nNew)
Definition: dptabsrc.cxx:1338
std::optional< OUString > mpLayoutName
Definition: dptabsrc.hxx:271
std::optional< OUString > mpGrandTotalName
Definition: dptabsrc.hxx:112
ScDPLevel * getByIndex(long nIndex) const
Definition: dptabsrc.cxx:1838
The term 'measure' here roughly equals "data dimension" ?
Definition: dptabres.hxx:273
std::unique_ptr< ScDPResultMember > pRowResRoot
Definition: dptabsrc.hxx:104
virtual OUString SAL_CALL getImplementationName() override
ScDPTableData * pData
Definition: dptabsrc.hxx:84
OUString aName
Definition: dptabsrc.hxx:270
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
Definition: dptabsrc.cxx:2122
bool mbHasHiddenMember
Definition: dptabsrc.hxx:280
virtual void SAL_CALL refresh() override
Definition: dptabsrc.cxx:424
ScDPHierarchy * getByIndex(long nIndex) const
Definition: dptabsrc.cxx:1677
long getCount() const
Definition: dptabsrc.cxx:1246
std::unordered_map< OUString, sal_Int32 > ScDPMembersHashMap
Definition: dptabsrc.hxx:545
ScDPSource * pSource
Definition: dptabsrc.hxx:384
ScDPHierarchies(ScDPSource *pSrc, long nD)
Definition: dptabsrc.cxx:1612
ScDPLevels(ScDPSource *pSrc, long nD, long nH)
Definition: dptabsrc.cxx:1754
ScDPSource * pSource
Definition: dptabsrc.hxx:601
const css::sheet::DataPilotFieldReference & GetReferenceValue() const
Definition: dptabsrc.hxx:340
const ScDPCache * GetCache()
Definition: dptabsrc.cxx:2604
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
Definition: dptabsrc.cxx:1119
long GetAutoMeasure() const
Definition: dptabsrc.hxx:520
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
void GetCategoryDimensionIndices(std::unordered_set< sal_Int32 > &rCatDims)
Compile a list of dimension indices that are either, column, row or page dimensions (i...
Definition: dptabsrc.cxx:665
ScDPMembers * GetMembersObject()
Definition: dptabsrc.cxx:1974
std::unique_ptr< css::uno::Sequence< css::sheet::MemberResult >[]> pColResults
Definition: dptabsrc.hxx:105
void SetOrientation(long nColumn, css::sheet::DataPilotFieldOrientation nNew)
Definition: dptabsrc.cxx:245
std::vector< long > maDataDims
Definition: dptabsrc.hxx:90
long nMbrCount
Definition: dptabsrc.hxx:557
virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override
Definition: dptabsrc.cxx:1641
bool bPageFiltered
Definition: dptabsrc.hxx:110
This class represents the cached data part of the datapilot cache table implementation.
Definition: dpcache.hxx:47
css::sheet::DataPilotFieldLayoutInfo aLayoutInfo
Definition: dptabsrc.hxx:459
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
Definition: dptabsrc.cxx:2093
virtual sal_Bool SAL_CALL hasElements() override
Definition: dptabsrc.cxx:2304
bool IsAddEmpty() const
Definition: dptabsrc.hxx:536
virtual void SAL_CALL setName(const OUString &aName) override
Definition: dptabsrc.cxx:1322
const css::uno::Sequence< css::sheet::MemberResult > * GetMemberResults(const ScDPLevel *pLevel)
Definition: dptabsrc.cxx:1049
const ScDPItemData & GetSelectedData()
Definition: dptabsrc.cxx:1363
ScDPDimension * AddDuplicated(const OUString &rNewName)
move to ScDPResultData
Definition: dptabsrc.cxx:313
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
long getMinMembers() const
Definition: dptabsrc.cxx:2340
long nHier
Definition: dptabsrc.hxx:603
exports com.sun.star. sheet
const ScDPItemData * GetSrcItemDataByIndex(SCROW nIndex)
Definition: dptabsrc.cxx:2622
std::vector< long > maRowDims
Definition: dptabsrc.hxx:89
virtual sal_Bool SAL_CALL hasByName(const OUString &aName) override
Definition: dptabsrc.cxx:1225
rtl::Reference< ScDPDimensions > pDimensions
Definition: dptabsrc.hxx:85
::std::vector< sal_Int32 > aGlobalOrder
Definition: dptabsrc.hxx:461
const ScDPItemData * GetItemDataById(long nDim, long nId)
Definition: dptabsrc.cxx:2617
const std::optional< OUString > & GetSubtotalName() const
Definition: dptabsrc.cxx:1304
virtual OUString SAL_CALL getName() override
Definition: dptabsrc.cxx:1997
long getCount() const
Definition: dptabsrc.hxx:582
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
Definition: dptabsrc.cxx:2564
bool HasSelectedPage() const
Definition: dptabsrc.hxx:337
virtual ~ScDPHierarchy() override
Definition: dptabsrc.cxx:1709
MembersType maMembers
Definition: dptabsrc.hxx:558
std::optional< OUString > mpSubtotalName
Definition: dptabsrc.hxx:272
ScDPDimensions * GetDimensionsObject()
Definition: dptabsrc.cxx:294
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
ScDPDimensions(ScDPSource *pSrc)
Definition: dptabsrc.cxx:1163
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
Definition: dptabsrc.cxx:1096
ScDPSource(ScDPTableData *pD)
Definition: dptabsrc.cxx:96
ScDPSource * pSource
Definition: dptabsrc.hxx:266
bool bRowGrand
Definition: dptabsrc.hxx:95
ScGeneralFunction getFunction() const
Definition: dptabsrc.hxx:333
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
SCROW mnDataId
Definition: dptabsrc.hxx:606
ScDPDimension * getByIndex(long nIndex) const
Definition: dptabsrc.cxx:1253
long GetDimension() const
Definition: dptabsrc.hxx:288
ScDPSource * pSource
Definition: dptabsrc.hxx:553
ScDPDimension * CreateCloneObject()
Definition: dptabsrc.cxx:1343
virtual OUString SAL_CALL getName() override
Definition: dptabsrc.cxx:1314
virtual ~ScDPDimension() override
Definition: dptabsrc.cxx:1285
virtual css::uno::Type SAL_CALL getElementType() override
Definition: dptabsrc.cxx:2299
virtual ~ScDPDimensions() override
Definition: dptabsrc.cxx:1172
bool getShowEmpty() const
Definition: dptabsrc.hxx:508
std::vector< rtl::Reference< ScDPMember > > MembersType
Definition: dptabsrc.hxx:552
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
ScDPMember & operator=(const ScDPMember &)=delete
virtual css::uno::Reference< css::container::XNameAccess > SAL_CALL getDimensions() override
Definition: dptabsrc.cxx:303
long nLevCount
Definition: dptabsrc.hxx:417
virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override
Definition: dptabsrc.cxx:2289
const ::std::vector< sal_Int32 > & GetGlobalOrder() const
Definition: dptabsrc.hxx:517
css::sheet::DataPilotFieldAutoShowInfo aAutoShowInfo
Definition: dptabsrc.hxx:458
void FillCalcInfo(bool bIsRow, ScDPTableData::CalcInfo &rInfo, bool &bHasAutoShow)
Definition: dptabsrc.cxx:599
This class maintains pivot table calculation result in a tree structure which represents the logical ...
Definition: dpresfilter.hxx:50
virtual void SAL_CALL setName(const OUString &aName) override
Definition: dptabsrc.cxx:2540
virtual sal_Bool SAL_CALL hasByName(const OUString &aName) override
Definition: dptabsrc.cxx:2294
bool bShowDet
Definition: dptabsrc.hxx:611
virtual void SAL_CALL setName(const OUString &aName) override
Definition: dptabsrc.cxx:1749
css::sheet::DataPilotFieldOrientation GetDataLayoutOrientation()
Definition: dptabsrc.cxx:284
std::optional< OUString > mpLayoutName
Definition: dptabsrc.hxx:607
virtual css::uno::Reference< css::container::XNameAccess > SAL_CALL getLevels() override
Definition: dptabsrc.cxx:1723
virtual css::uno::Any SAL_CALL getByName(const OUString &aName) override
Definition: dptabsrc.cxx:1626
When assigning a string value, you can also assign an interned string whose life-cycle is managed by ...
Definition: dpitemdata.hxx:29
virtual ~ScDPLevels() override
Definition: dptabsrc.cxx:1780
std::unique_ptr< rtl::Reference< ScDPLevel >[]> ppLevs
Definition: dptabsrc.hxx:419
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
This structure stores dimension information used when calculating results.
Definition: dptabdat.hxx:69
virtual ~ScDPHierarchies() override
Definition: dptabsrc.cxx:1619
virtual OUString SAL_CALL getImplementationName() override
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
Definition: dptabsrc.cxx:2072
virtual css::uno::Type SAL_CALL getElementType() override
Definition: dptabsrc.cxx:1234
long nLev
Definition: dptabsrc.hxx:454
std::unique_ptr< ScDPResultMember > pColResRoot
Definition: dptabsrc.hxx:103
virtual css::uno::Any SAL_CALL getByName(const OUString &aName) override
Definition: dptabsrc.cxx:2275
std::unique_ptr< rtl::Reference< ScDPHierarchy >[]> ppHiers
Definition: dptabsrc.hxx:354
::std::vector< sal_Int32 > & GetGlobalOrder()
Definition: dptabsrc.hxx:518
virtual OUString SAL_CALL getName() override
Definition: dptabsrc.cxx:2535
virtual OUString SAL_CALL getImplementationName() override
const css::sheet::DataPilotFieldSortInfo & GetSortInfo() const
Definition: dptabsrc.hxx:511
std::unique_ptr< css::uno::Sequence< css::sheet::MemberResult >[]> pRowResults
Definition: dptabsrc.hxx:106
const ScDPTableData * GetData() const
Definition: dptabsrc.hxx:145
virtual css::uno::Any SAL_CALL getByName(const OUString &aName) override
Definition: dptabsrc.cxx:1199
SCROW GetItemDataId() const
Definition: dptabsrc.hxx:622
unsigned char sal_Bool
bool bEnableLayout
Definition: dptabsrc.hxx:465
std::vector< long > maColDims
Definition: dptabsrc.hxx:88
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
void FilterCacheByPageDimensions()
Set visibilities of individual rows in the cache table based on the page field data.
Definition: dptabsrc.cxx:677
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
void FillMemberResults()
Definition: dptabsrc.cxx:1006
void setIgnoreEmptyRows(bool bSet)
???
Definition: dptabsrc.cxx:496
virtual void SAL_CALL removeRefreshListener(const css::uno::Reference< css::util::XRefreshListener > &l) override
Definition: dptabsrc.cxx:434
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
Definition: dptabsrc.cxx:1429
ScDPItemData FillItemData() const
Definition: dptabsrc.cxx:2514
css::uno::Sequence< sal_Int16 > getSubTotals() const
Definition: dptabsrc.cxx:2059
ScDPLevel(ScDPSource *pSrc, long nD, long nH, long nL)
Definition: dptabsrc.cxx:1891
css::sheet::DataPilotFieldReference aReferenceValue
Definition: dptabsrc.hxx:275
virtual OUString SAL_CALL getName() override
Definition: dptabsrc.cxx:1728
long getCount() const
Definition: dptabsrc.cxx:1833
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
bool getShowDetails() const
Definition: dptabsrc.hxx:656
virtual css::uno::Any SAL_CALL getByName(const OUString &aName) override
Definition: dptabsrc.cxx:1787
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
long nHier
Definition: dptabsrc.hxx:453
virtual sal_Bool SAL_CALL hasByName(const OUString &aName) override
Definition: dptabsrc.cxx:1812
css::sheet::DataPilotFieldSortInfo aSortInfo
Definition: dptabsrc.hxx:457
OUString GetDataDimName(long nIndex)
Definition: dptabsrc.cxx:157
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
long GetPosition(long nColumn)
Definition: dptabsrc.cxx:166
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
std::unique_ptr< rtl::Reference< ScDPDimension >[]> ppDims
Definition: dptabsrc.hxx:233
std::vector< ScDPLevel * > aColLevelList
Definition: dptabsrc.hxx:107
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual css::uno::Sequence< css::uno::Sequence< css::sheet::DataResult > > SAL_CALL getResults() override
Definition: dptabsrc.cxx:357
Base class that abstracts different data source types of a datapilot table.
Definition: dptabdat.hxx:56
sal_Int32 SCROW
Definition: types.hxx:18
void setRepeatIfEmpty(bool bSet)
Definition: dptabsrc.cxx:502
virtual css::uno::Sequence< double > SAL_CALL getFilteredResults(const css::uno::Sequence< css::sheet::DataPilotFieldFilter > &aFilters) override
Definition: dptabsrc.cxx:391
ScDPSource * pSource
Definition: dptabsrc.hxx:414
rtl::Reference< ScDPMembers > mxMembers
Definition: dptabsrc.hxx:455
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
std::vector< long > maPageDims
Definition: dptabsrc.hxx:91
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
bool bRepeatItemLabels
Definition: dptabsrc.hxx:466
bool IsSubtotalsAtTop() const
Definition: dptabsrc.hxx:529
long GetDim() const
Definition: dptabsrc.hxx:626
bool IsNamedItem(SCROW nIndex) const
Definition: dptabsrc.cxx:2469
sal_Int32 Compare(const ScDPMember &rOther) const
Definition: dptabsrc.cxx:2489
bool bRepeatIfEmpty
Definition: dptabsrc.hxx:97
std::vector< ScDPLevel * > aRowLevelList
Definition: dptabsrc.hxx:108
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
Definition: dptabsrc.cxx:1401
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
bool bShowEmpty
Definition: dptabsrc.hxx:464
sal_Int32 GetIndexFromName(const OUString &rName) const
Definition: dptabsrc.cxx:2257
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual void SAL_CALL setName(const OUString &aName) override
Definition: dptabsrc.cxx:2054
virtual sal_Bool SAL_CALL hasElements() override
Definition: dptabsrc.cxx:1665
ScDPMembers(ScDPSource *pSrc, long nD, long nH, long nL)
Definition: dptabsrc.cxx:2177
virtual css::uno::Sequence< OUString > SAL_CALL getLocaleIndependentElementNames() override
Definition: dptabsrc.cxx:2313
ScGeneralFunction
the css::sheet::GeneralFunction enum is extended by constants in GeneralFunction2, which causes some type-safety issues.
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
bool bResultOverflow
Definition: dptabsrc.hxx:109
bool IsDataLayoutDimension(long nDim)
Definition: dptabsrc.cxx:279
virtual OUString SAL_CALL getImplementationName() override
virtual css::uno::Type SAL_CALL getElementType() override
Definition: dptabsrc.cxx:1821
virtual OUString SAL_CALL getImplementationName() override
ScDPSource * pSource
Definition: dptabsrc.hxx:348
static long getCount()
Definition: dptabsrc.cxx:1672
virtual ~ScDPMembers() override
Definition: dptabsrc.cxx:2251
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
Definition: dptabsrc.cxx:2584
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
Definition: dptabsrc.cxx:1073
ScDPResultTree maResFilterSet
Definition: dptabsrc.hxx:92
virtual sal_Bool SAL_CALL hasElements() override
Definition: dptabsrc.cxx:1826
virtual css::uno::Reference< css::sheet::XMembersAccess > SAL_CALL getMembers() override
Definition: dptabsrc.cxx:1983
virtual OUString SAL_CALL getImplementationName() override
bool bColumnGrand
Definition: dptabsrc.hxx:94
OUString GetNameStr(bool bLocaleIndependent) const
Definition: dptabsrc.cxx:2527
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual void SAL_CALL addRefreshListener(const css::uno::Reference< css::util::XRefreshListener > &l) override
Definition: dptabsrc.cxx:429
virtual OUString SAL_CALL getImplementationName() override
virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override
Definition: dptabsrc.cxx:1215
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
virtual ~ScDPSource() override
Definition: dptabsrc.cxx:109
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
css::uno::Sequence< sal_Int16 > aSubTotals
Definition: dptabsrc.hxx:456
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
bool getIsDataLayoutDimension() const
Definition: dptabsrc.cxx:1333
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
bool IsDateDimension(long nDim)
Definition: dptabsrc.cxx:289
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
Definition: dptabsrc.cxx:1511
long nHier
Definition: dptabsrc.hxx:416
long nAutoMeasure
Definition: dptabsrc.hxx:463
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
bool bIgnoreEmptyRows
Definition: dptabsrc.hxx:96
static long getUsedHierarchy()
Definition: dptabsrc.hxx:335
virtual OUString SAL_CALL getImplementationName() override
virtual css::uno::Type SAL_CALL getElementType() override
Definition: dptabsrc.cxx:1660
ScDPHierarchies * GetHierarchiesObject()
Definition: dptabsrc.cxx:1290
std::unique_ptr< ScDPItemData > pSelectedData
Definition: dptabsrc.hxx:279
rtl::Reference< ScDPLevels > mxLevels
Definition: dptabsrc.hxx:387
long GetDupCount() const
Definition: dptabsrc.hxx:169
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
const std::optional< OUString > & GetLayoutName() const
Definition: dptabsrc.cxx:2522
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
virtual css::uno::Sequence< css::uno::Sequence< css::uno::Any > > SAL_CALL getDrillDownData(const css::uno::Sequence< css::sheet::DataPilotFieldFilter > &aFilters) override
Definition: dptabsrc.cxx:439
void CountChanged()
Definition: dptabsrc.cxx:1177
virtual css::uno::Reference< css::util::XCloneable > SAL_CALL createClone() override
Definition: dptabsrc.cxx:1358
ScDPDimension & operator=(const ScDPDimension &)=delete
void disposeData()
Definition: dptabsrc.cxx:508
bool bHasSelectedPage
Definition: dptabsrc.hxx:276
ScDPSource * pSource
Definition: dptabsrc.hxx:451
ScDPMembersHashMap aHashMap
Definition: dptabsrc.hxx:559
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
virtual css::uno::Reference< css::container::XNameAccess > SAL_CALL getHierarchies() override
Definition: dptabsrc.cxx:1309
long GetSourceDim() const
Definition: dptabsrc.hxx:289
long nDupCount
Definition: dptabsrc.hxx:99
void CreateRes_Impl()
Definition: dptabsrc.cxx:741
css::sheet::DataPilotFieldOrientation getOrientation() const
Definition: dptabsrc.cxx:1328
const ScDPItemData * GetItemData() const
Definition: dptabsrc.cxx:2610
bool bVisible
Definition: dptabsrc.hxx:610
long nSortMeasure
Definition: dptabsrc.hxx:462
ScDPMember(ScDPSource *pSrc, long nD, long nH, long nL, SCROW nIndex)
Definition: dptabsrc.cxx:2450
css::sheet::DataPilotFieldOrientation GetOrientation(long nColumn)
Definition: dptabsrc.cxx:126
OUString aSelectedPage
Definition: dptabsrc.hxx:277
static const long nHierCount
Definition: dptabsrc.hxx:352
std::unique_ptr< ScDPResultData > pResData
Definition: dptabsrc.hxx:102
bool getRepeatItemLabels() const
Definition: dptabsrc.hxx:509
long GetDataDimensionCount() const
Definition: dptabsrc.cxx:143
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
bool isVisible() const
Definition: dptabsrc.hxx:655
const std::optional< OUString > & GetLayoutName() const
Definition: dptabsrc.cxx:1299
virtual css::uno::Sequence< css::sheet::MemberResult > SAL_CALL getResults() override
Definition: dptabsrc.cxx:1988