28 #include <com/sun/star/lang/XServiceInfo.hpp>
29 #include <com/sun/star/lang/XUnoTunnel.hpp>
30 #include <com/sun/star/beans/XPropertySet.hpp>
31 #include <com/sun/star/container/XEnumerationAccess.hpp>
32 #include <com/sun/star/container/XNameContainer.hpp>
33 #include <com/sun/star/util/XModifyBroadcaster.hpp>
35 #include <com/sun/star/sheet/DataPilotFieldGroupInfo.hpp>
36 #include <com/sun/star/sheet/DataPilotFieldOrientation.hpp>
37 #include <com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.hpp>
38 #include <com/sun/star/sheet/XDataPilotDescriptor.hpp>
39 #include <com/sun/star/sheet/XDataPilotField.hpp>
40 #include <com/sun/star/sheet/XDataPilotFieldGrouping.hpp>
41 #include <com/sun/star/sheet/XDataPilotTable2.hpp>
42 #include <com/sun/star/sheet/XDataPilotTables.hpp>
73 css::sheet::DataPilotFieldGroupInfo& rInfo,
79 css::sheet::XDataPilotTables,
80 css::container::XEnumerationAccess,
81 css::container::XIndexAccess,
82 css::lang::XServiceInfo>,
99 virtual css::uno::Reference< css::sheet::XDataPilotDescriptor > SAL_CALL
102 const css::table::CellAddress& aOutputAddress,
103 const css::uno::Reference< css::sheet::XDataPilotDescriptor >& xDescriptor )
override;
104 virtual void SAL_CALL
removeByName(
const OUString& aName )
override;
107 virtual css::uno::Any SAL_CALL
getByName(
const OUString& aName )
override;
108 virtual css::uno::Sequence< OUString > SAL_CALL
getElementNames()
override;
112 virtual sal_Int32 SAL_CALL
getCount()
override;
116 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL
131 public cppu::WeakImplHelper<
132 css::sheet::XDataPilotDescriptor,
133 css::beans::XPropertySet,
134 css::sheet::XDataPilotDataLayoutFieldSupplier,
135 css::lang::XServiceInfo,
136 css::lang::XUnoTunnel>,
153 virtual void SetDPObject(
ScDPObject* pDPObj) = 0;
158 virtual css::table::CellRangeAddress SAL_CALL getSourceRange()
override;
159 virtual void SAL_CALL setSourceRange(
const css::table::CellRangeAddress& aSourceRange )
override;
160 virtual css::uno::Reference< css::sheet::XSheetFilterDescriptor > SAL_CALL
161 getFilterDescriptor()
override;
162 virtual css::uno::Reference< css::container::XIndexAccess > SAL_CALL
163 getDataPilotFields()
override;
164 virtual css::uno::Reference< css::container::XIndexAccess > SAL_CALL
165 getColumnFields()
override;
166 virtual css::uno::Reference< css::container::XIndexAccess > SAL_CALL
167 getRowFields()
override;
168 virtual css::uno::Reference< css::container::XIndexAccess > SAL_CALL
169 getPageFields()
override;
170 virtual css::uno::Reference< css::container::XIndexAccess > SAL_CALL
171 getDataFields()
override;
172 virtual css::uno::Reference< css::container::XIndexAccess > SAL_CALL
173 getHiddenFields()
override;
176 virtual css::uno::Reference< css::beans::XPropertySetInfo >
177 SAL_CALL getPropertySetInfo( )
override;
179 const css::uno::Any& aValue )
override;
181 const OUString& PropertyName )
override;
182 virtual void SAL_CALL addPropertyChangeListener(
const OUString& aPropertyName,
183 const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener )
override;
184 virtual void SAL_CALL removePropertyChangeListener(
const OUString& aPropertyName,
185 const css::uno::Reference< css::beans::XPropertyChangeListener >& aListener )
override;
186 virtual void SAL_CALL addVetoableChangeListener(
const OUString& PropertyName,
187 const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener )
override;
188 virtual void SAL_CALL removeVetoableChangeListener(
const OUString& PropertyName,
189 const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener )
override;
192 virtual css::uno::Reference< css::sheet::XDataPilotField >
193 SAL_CALL getDataLayoutField()
override;
196 virtual sal_Int64 SAL_CALL getSomething(
const css::uno::Sequence<
199 SC_DLLPUBLIC static const css::uno::Sequence<sal_Int8>& getUnoTunnelId();
217 virtual OUString SAL_CALL
getName()
override;
218 virtual void SAL_CALL
setName(
const OUString& aName )
override;
219 virtual OUString SAL_CALL
getTag()
override;
220 virtual void SAL_CALL
setTag(
const OUString& aTag )
override;
229 public css::sheet::XDataPilotTable2,
230 public css::util::XModifyBroadcaster
243 virtual css::uno::Any SAL_CALL
queryInterface(
const css::uno::Type & rType )
override;
244 virtual void SAL_CALL
acquire() noexcept override;
245 virtual
void SAL_CALL
release() noexcept override;
253 virtual OUString SAL_CALL
getName() override;
254 virtual
void SAL_CALL
setName( const OUString& aName ) override;
255 virtual OUString SAL_CALL
getTag() override;
256 virtual
void SAL_CALL
setTag( const OUString& aTag ) override;
260 virtual
void SAL_CALL
refresh() override;
266 virtual
css::sheet::DataPilotTablePositionData
294 mnFieldIdx( 0 ), mbDataLayout(
false ) {}
297 maFieldName( rFieldName ), mnFieldIdx( 0 ), mbDataLayout( bDataLayout ) {}
318 sal_Int32 GetMemberCount()
const;
320 css::uno::Reference< css::sheet::XMembersAccess > GetMembers()
const;
331 typedef ::cppu::WeakImplHelper
333 css::container::XEnumerationAccess,
334 css::container::XIndexAccess,
335 css::container::XNameAccess,
336 css::lang::XServiceInfo
349 css::sheet::DataPilotFieldOrientation eOrient );
354 virtual css::uno::Any SAL_CALL getByName(
const OUString& aName )
override;
355 virtual css::uno::Sequence< OUString > SAL_CALL getElementNames()
override;
356 virtual sal_Bool SAL_CALL hasByName(
const OUString& aName )
override;
359 virtual sal_Int32 SAL_CALL getCount()
override;
360 virtual css::uno::Any SAL_CALL getByIndex( sal_Int32
Index )
override;
363 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL
364 createEnumeration()
override;
367 virtual css::uno::Type SAL_CALL getElementType()
override;
368 virtual sal_Bool SAL_CALL hasElements()
override;
383 typedef ::cppu::WeakImplHelper
385 css::container::XNamed,
386 css::beans::XPropertySet,
387 css::sheet::XDataPilotField,
388 css::sheet::XDataPilotFieldGrouping,
389 css::lang::XServiceInfo
404 const css::uno::Any& rOrient );
409 virtual OUString SAL_CALL
getName()
override;
410 virtual void SAL_CALL
setName(
const OUString& aName)
override;
413 virtual css::uno::Reference< css::beans::XPropertySetInfo >
416 const css::uno::Any& aValue )
override;
417 virtual css::uno::Any SAL_CALL
getPropertyValue(
const OUString& PropertyName )
override;
419 const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener )
override;
421 const css::uno::Reference< css::beans::XPropertyChangeListener >& aListener )
override;
423 const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener )
override;
425 const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener )
override;
428 virtual css::uno::Reference<css::container::XIndexAccess> SAL_CALL
433 void setOrientation(css::sheet::DataPilotFieldOrientation
Orientation);
434 sal_Int16 getFunction()
const;
436 css::uno::Sequence< sal_Int16 > getSubtotals()
const;
437 void setSubtotals(
const std::vector< ScGeneralFunction >& rFunctions);
438 void setCurrentPage(
const OUString& sPage);
439 void setUseCurrentPage(
bool bUse);
440 const css::sheet::DataPilotFieldAutoShowInfo* getAutoShowInfo()
const;
441 void setAutoShowInfo(
const css::sheet::DataPilotFieldAutoShowInfo* pInfo);
442 const css::sheet::DataPilotFieldLayoutInfo* getLayoutInfo()
const;
443 void setLayoutInfo(
const css::sheet::DataPilotFieldLayoutInfo* pInfo);
444 const css::sheet::DataPilotFieldReference* getReference()
const;
445 void setReference(
const css::sheet::DataPilotFieldReference* pInfo);
446 const css::sheet::DataPilotFieldSortInfo* getSortInfo()
const;
447 void setSortInfo(
const css::sheet::DataPilotFieldSortInfo* pInfo);
448 bool getShowEmpty()
const;
449 void setShowEmpty(
bool bShow);
450 bool getRepeatItemLabels()
const;
451 void setRepeatItemLabels(
bool bShow);
453 bool hasGroupInfo()
const;
454 css::sheet::DataPilotFieldGroupInfo getGroupInfo();
455 void setGroupInfo(
const css::sheet::DataPilotFieldGroupInfo* pInfo);
458 virtual css::uno::Reference < css::sheet::XDataPilotField > SAL_CALL
459 createNameGroup(
const css::uno::Sequence< OUString >& aItems)
override;
460 virtual css::uno::Reference < css::sheet::XDataPilotField > SAL_CALL
461 createDateGroup(
const css::sheet::DataPilotFieldGroupInfo& rInfo)
override;
469 css::uno::Reference< css::container::XIndexAccess >
485 typedef ::cppu::WeakImplHelper
487 css::container::XNameContainer,
488 css::container::XEnumerationAccess,
489 css::container::XIndexAccess,
490 css::lang::XServiceInfo
507 virtual css::uno::Any SAL_CALL getByName(
const OUString& aName )
override;
508 virtual css::uno::Sequence< OUString > SAL_CALL getElementNames()
override;
509 virtual sal_Bool SAL_CALL hasByName(
const OUString& aName )
override;
512 virtual void SAL_CALL replaceByName(
const OUString& aName,
513 const css::uno::Any& aElement )
override;
516 virtual void SAL_CALL insertByName(
const OUString& aName,
517 const css::uno::Any& aElement )
override;
518 virtual void SAL_CALL removeByName(
const OUString&
Name )
override;
521 virtual sal_Int32 SAL_CALL getCount()
override;
522 virtual css::uno::Any SAL_CALL getByIndex( sal_Int32
Index )
override;
525 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL
526 createEnumeration()
override;
529 virtual css::uno::Type SAL_CALL getElementType()
override;
530 virtual sal_Bool SAL_CALL hasElements()
override;
541 void renameFieldGroup(
const OUString& rOldName,
const OUString& rNewName );
544 ScFieldGroups::iterator implFindByName(
const OUString& rName );
550 typedef ::cppu::WeakImplHelper
552 css::container::XNameContainer,
553 css::container::XEnumerationAccess,
554 css::container::XIndexAccess,
555 css::container::XNamed,
556 css::lang::XServiceInfo
567 virtual css::uno::Any SAL_CALL getByName(
const OUString& aName )
override;
568 virtual css::uno::Sequence< OUString > SAL_CALL getElementNames()
override;
569 virtual sal_Bool SAL_CALL hasByName(
const OUString& aName )
override;
572 virtual void SAL_CALL replaceByName(
const OUString& aName,
573 const css::uno::Any& aElement )
override;
576 virtual void SAL_CALL insertByName(
const OUString& aName,
577 const css::uno::Any& aElement )
override;
578 virtual void SAL_CALL removeByName(
const OUString&
Name )
override;
581 virtual sal_Int32 SAL_CALL getCount()
override;
582 virtual css::uno::Any SAL_CALL getByIndex( sal_Int32
Index )
override;
585 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL
586 createEnumeration()
override;
589 virtual css::uno::Type SAL_CALL getElementType()
override;
590 virtual sal_Bool SAL_CALL hasElements()
override;
593 virtual OUString SAL_CALL
getName()
override;
594 virtual void SAL_CALL
setName(
const OUString& aName )
override;
606 typedef ::cppu::WeakImplHelper
608 css::container::XNamed,
609 css::lang::XServiceInfo
620 virtual OUString SAL_CALL
getName()
override;
621 virtual void SAL_CALL
setName(
const OUString& aName )
override;
633 typedef ::cppu::WeakImplHelper
635 css::container::XEnumerationAccess,
636 css::container::XIndexAccess,
637 css::container::XNameAccess,
638 css::lang::XServiceInfo
649 virtual css::uno::Any SAL_CALL getByName(
const OUString& aName )
override;
650 virtual css::uno::Sequence< OUString > SAL_CALL getElementNames()
override;
651 virtual sal_Bool SAL_CALL hasByName(
const OUString& aName )
override;
654 virtual sal_Int32 SAL_CALL getCount()
override;
655 virtual css::uno::Any SAL_CALL getByIndex( sal_Int32
Index )
override;
658 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL
659 createEnumeration()
override;
662 virtual css::uno::Type SAL_CALL getElementType()
override;
663 virtual sal_Bool SAL_CALL hasElements()
override;
674 typedef ::cppu::WeakImplHelper
676 css::container::XNamed,
677 css::beans::XPropertySet,
678 css::lang::XServiceInfo
693 virtual OUString SAL_CALL
getName()
override;
694 virtual void SAL_CALL
setName(
const OUString& aName )
override;
697 virtual css::uno::Reference< css::beans::XPropertySetInfo >
700 const css::uno::Any& aValue )
override;
702 const OUString& PropertyName )
override;
704 const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener )
override;
706 const css::uno::Reference< css::beans::XPropertyChangeListener >& aListener )
override;
708 const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener )
override;
710 const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener )
override;
virtual css::uno::Any SAL_CALL getByName(const OUString &aName) override
virtual void SAL_CALL insertDrillDownSheet(const css::table::CellAddress &aAddr) override
virtual css::table::CellRangeAddress SAL_CALL getOutputRangeByType(sal_Int32 nType) override
static ScGeneralFunction FirstFunc(PivotFunc nBits)
::cppu::WeakImplHelper< css::container::XNameContainer, css::container::XEnumerationAccess, css::container::XIndexAccess, css::container::XNamed, css::lang::XServiceInfo > ScDataPilotFieldGroupObjImpl
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
std::unique_ptr< ScDPObject > mpDPObject
virtual css::uno::Reference< css::sheet::XDataPilotDescriptor > SAL_CALL createDataPilotDescriptor() override
virtual OUString SAL_CALL getImplementationName() override
virtual sal_Int32 SAL_CALL getCount() override
virtual OUString SAL_CALL getName() override
virtual ~ScDataPilotDescriptor() override
rtl::Reference< ScDataPilotFieldGroupObj > mxParent
sal_Int32 mnFieldIdx
Source field name.
::cppu::WeakImplHelper< css::container::XNamed, css::beans::XPropertySet, css::lang::XServiceInfo > ScDataPilotItemObjImpl
const SfxListener & operator=(const SfxListener &)=delete
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override
virtual ScDPObject * GetDPObject() const override
::cppu::WeakImplHelper< css::container::XEnumerationAccess, css::container::XIndexAccess, css::container::XNameAccess, css::lang::XServiceInfo > ScDataPilotFieldsObjImpl
DataPilotTables collection per sheet.
ScDataPilotTablesObj(ScDocShell &rDocSh, SCTAB nT)
virtual css::sheet::DataPilotTablePositionData SAL_CALL getPositionData(const css::table::CellAddress &aAddr) override
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
static void FillGroupInfo(css::sheet::DataPilotFieldGroupInfo &rInfo, const ScDPNumGroupInfo &rGroupInfo)
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
std::vector< css::uno::Reference< css::util::XModifyListener > > XModifyListenerArr_Impl
virtual OUString SAL_CALL getTag() override
::std::vector< ScFieldGroup > ScFieldGroups
B2VectorOrientation getOrientation(const B2DPolygon &rCandidate)
bool getPropertyValue(ValueType &rValue, css::uno::Reference< css::beans::XPropertySet > const &xPropSet, OUString const &propName)
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
virtual void SAL_CALL addModifyListener(const css::uno::Reference< css::util::XModifyListener > &aListener) override
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
ScDataPilotDescriptor(ScDocShell &rDocSh)
ScFieldIdentifier(const OUString &rFieldName, bool bDataLayout)
virtual void SAL_CALL acquire() noexcept override
::cppu::WeakImplHelper< css::container::XNameContainer, css::container::XEnumerationAccess, css::container::XIndexAccess, css::lang::XServiceInfo > ScDataPilotFieldGroupsObjImpl
bool mbDataLayout
Field index (if several fields with same name exist).
css::uno::Reference< css::container::XIndexAccess > mxItems
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override
virtual css::uno::Sequence< css::uno::Sequence< css::uno::Any > > SAL_CALL getDrillDownData(const css::table::CellAddress &aAddr) override
static PivotFunc FunctionBit(sal_Int16 eFunc)
Collection of all DataPilot fields, or of all fields from a specific dimension.
rtl::Reference< ScDataPilotDescriptorBase > mxParent
::cppu::WeakImplHelper< css::container::XEnumerationAccess, css::container::XIndexAccess, css::container::XNameAccess, css::lang::XServiceInfo > ScDataPilotItemsObjImpl
virtual css::uno::Type SAL_CALL getElementType() override
virtual css::table::CellRangeAddress SAL_CALL getOutputRange() override
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
ScFieldIdentifier maFieldId
virtual OUString SAL_CALL getImplementationName() override
Implementation of a single DataPilot field.
SfxItemPropertySet maPropSet
XModifyListenerArr_Impl aModifyListeners
virtual void SAL_CALL setTag(const OUString &aTag) override
ScFieldGroupMembers maMembers
rtl::Reference< ScDataPilotTableObj > GetObjectByName_Impl(const OUString &aName)
virtual sal_Bool SAL_CALL hasElements() override
virtual sal_Bool SAL_CALL hasByName(const OUString &aName) override
bool setPropertyValue(uno::Sequence< beans::PropertyValue > &aProp, const OUString &aName, const uno::Any &aValue)
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
rtl::Reference< ScDataPilotFieldGroupsObj > mxParent
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual void SetDPObject(ScDPObject *pDPObj) override
rtl::Reference< ScDataPilotTableObj > GetObjectByIndex_Impl(sal_Int32 nIndex)
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
ScDocShell * GetDocShell() const
Implementation of all grouped items in a DataPilot field.
virtual void SAL_CALL setTag(const OUString &aTag) override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 Index) override
virtual void SAL_CALL release() noexcept override
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint)
SfxItemPropertySet maPropSet
::cppu::WeakImplHelper< css::container::XNamed, css::beans::XPropertySet, css::sheet::XDataPilotField, css::sheet::XDataPilotFieldGrouping, css::lang::XServiceInfo > ScDataPilotFieldObjImpl
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
::std::vector< OUString > ScFieldGroupMembers
virtual ~ScDataPilotTablesObj() override
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
virtual void SAL_CALL removeModifyListener(const css::uno::Reference< css::util::XModifyListener > &aListener) override
ScGeneralFunction
the css::sheet::GeneralFunction enum is extended by constants in GeneralFunction2, which causes some type-safety issues.
virtual void SAL_CALL removeByName(const OUString &aName) override
ScFieldIdentifier()
True = data layout field collecting all data fields as items.
virtual OUString SAL_CALL getTag() override
virtual OUString SAL_CALL getImplementationName() override
virtual void SAL_CALL insertNewByName(const OUString &aName, const css::table::CellAddress &aOutputAddress, const css::uno::Reference< css::sheet::XDataPilotDescriptor > &xDescriptor) override
virtual void SAL_CALL refresh() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual void SAL_CALL setName(const OUString &aName) override
SfxItemPropertySet maPropSet
Base class of all implementation objects based on a DataPilot descriptor or DataPilot table object...
virtual void SAL_CALL setName(const OUString &aName) override
virtual ~ScDataPilotTableObj() override
virtual OUString SAL_CALL getName() override
ScDataPilotTableObj(ScDocShell &rDocSh, SCTAB nT, const OUString &rN)
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
virtual void SetDPObject(ScDPObject *pDPObj) override
virtual ScDPObject * GetDPObject() const override
::cppu::WeakImplHelper< css::container::XNamed, css::lang::XServiceInfo > ScDataPilotFieldGroupItemObjImpl
bool m_bDetectedRangeSegmentation false
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override