20 #ifndef INCLUDED_SC_INC_CHART2UNO_HXX
21 #define INCLUDED_SC_INC_CHART2UNO_HXX
30 #include <com/sun/star/chart2/data/XDataProvider.hpp>
31 #include <com/sun/star/chart2/data/XSheetDataProvider.hpp>
32 #include <com/sun/star/chart2/data/XRangeXMLConversion.hpp>
33 #include <com/sun/star/chart2/data/XDataSource.hpp>
34 #include <com/sun/star/chart2/data/XDataSequence.hpp>
35 #include <com/sun/star/chart2/data/XTextualDataSequence.hpp>
36 #include <com/sun/star/chart2/data/XNumericalDataSequence.hpp>
37 #include <com/sun/star/chart2/data/DataSequenceRole.hpp>
38 #include <com/sun/star/chart2/XTimeBased.hpp>
39 #include <com/sun/star/lang/XServiceInfo.hpp>
40 #include <com/sun/star/beans/XPropertySet.hpp>
41 #include <com/sun/star/util/XCloneable.hpp>
42 #include <com/sun/star/util/XModifyBroadcaster.hpp>
44 #include <rtl/ustring.hxx>
48 #include <unordered_set>
57 ::cppu::WeakImplHelper<
58 css::chart2::data::XDataProvider,
59 css::chart2::data::XSheetDataProvider,
60 css::chart2::data::XRangeXMLConversion,
61 css::beans::XPropertySet,
62 css::lang::XServiceInfo>,
72 virtual sal_Bool SAL_CALL createDataSourcePossible(
73 const css::uno::Sequence< css::beans::PropertyValue >&
aArguments )
override;
75 virtual css::uno::Reference<
76 css::chart2::data::XDataSource > SAL_CALL createDataSource(
77 const css::uno::Sequence< css::beans::PropertyValue >& aArguments )
override;
79 virtual css::uno::Sequence<
80 css::beans::PropertyValue > SAL_CALL detectArguments(
81 const css::uno::Reference< css::chart2::data::XDataSource >& xDataSource )
override;
83 virtual sal_Bool SAL_CALL createDataSequenceByRangeRepresentationPossible(
84 const OUString& aRangeRepresentation )
override;
86 virtual css::uno::Reference<
87 css::chart2::data::XDataSequence > SAL_CALL createDataSequenceByRangeRepresentation(
88 const OUString& aRangeRepresentation )
override;
90 virtual css::uno::Reference<css::chart2::data::XDataSequence> SAL_CALL
91 createDataSequenceByValueArray(
const OUString& aRole,
const OUString& aRangeRepresentation )
override;
93 virtual css::uno::Reference< css::sheet::XRangeSelection > SAL_CALL getRangeSelection()
override;
96 virtual sal_Bool SAL_CALL createDataSequenceByFormulaTokensPossible(
97 const css::uno::Sequence< css::sheet::FormulaToken >& aTokens )
override;
99 virtual css::uno::Reference< css::chart2::data::XDataSequence >
100 SAL_CALL createDataSequenceByFormulaTokens(
101 const css::uno::Sequence< css::sheet::FormulaToken >& aTokens )
override;
104 virtual OUString SAL_CALL convertRangeToXML(
const OUString& sRangeRepresentation )
override;
106 virtual OUString SAL_CALL convertRangeFromXML(
const OUString& sXMLRange )
override;
109 virtual css::uno::Reference< css::beans::XPropertySetInfo> SAL_CALL
110 getPropertySetInfo()
override;
113 const OUString& rPropertyName,
114 const css::uno::Any&
rValue)
override;
117 const OUString& rPropertyName)
override;
119 virtual void SAL_CALL addPropertyChangeListener(
120 const OUString& rPropertyName,
121 const css::uno::Reference< css::beans::XPropertyChangeListener>& xListener)
override;
123 virtual void SAL_CALL removePropertyChangeListener(
124 const OUString& rPropertyName,
125 const css::uno::Reference< css::beans::XPropertyChangeListener>& rListener)
override;
127 virtual void SAL_CALL addVetoableChangeListener(
128 const OUString& rPropertyName,
129 const css::uno::Reference< css::beans::XVetoableChangeListener>& rListener)
override;
131 virtual void SAL_CALL removeVetoableChangeListener(
132 const OUString& rPropertyName,
133 const css::uno::Reference< css::beans::XVetoableChangeListener>& rListener)
override;
139 rServiceName)
override;
141 virtual css::uno::Sequence< OUString> SAL_CALL
153 ::cppu::WeakImplHelper<
154 css::chart2::data::XDataSource,
155 css::lang::XServiceInfo>,
165 virtual css::uno::Sequence< css::uno::Reference<
166 css::chart2::data::XLabeledDataSequence > > SAL_CALL
173 rServiceName)
override;
175 virtual css::uno::Sequence< OUString> SAL_CALL
180 void AddLabeledSequence(
const css::uno::Reference < css::chart2::data::XLabeledDataSequence >& xNew);
191 ::cppu::WeakImplHelper<
192 css::chart2::data::XDataSequence,
193 css::chart2::data::XTextualDataSequence,
194 css::chart2::data::XNumericalDataSequence,
195 css::chart2::XTimeBased,
196 css::util::XCloneable,
197 css::util::XModifyBroadcaster,
198 css::beans::XPropertySet,
199 css::lang::XServiceInfo>,
204 ::std::vector<ScTokenRef>&& rTokens,
bool bIncludeHiddenCells );
213 virtual css::uno::Sequence< css::uno::Any >
216 virtual css::uno::Sequence< OUString >
217 SAL_CALL
generateLabel(css::chart2::data::LabelOrigin nOrigin)
override;
225 virtual css::uno::Sequence< double >
229 virtual css::uno::Sequence< OUString >
236 virtual void SAL_CALL
setRange(sal_Int32 nStart, sal_Int32 nEnd)
override;
239 virtual css::uno::Reference<
240 css::beans::XPropertySetInfo> SAL_CALL
244 const OUString& rPropertyName,
245 const css::uno::Any&
rValue)
override;
248 const OUString& rPropertyName)
override;
251 const OUString& rPropertyName,
252 const css::uno::Reference< css::beans::XPropertyChangeListener>& xListener)
override;
255 const OUString& rPropertyName,
256 const css::uno::Reference< css::beans::XPropertyChangeListener>& rListener)
override;
259 const OUString& rPropertyName,
260 const css::uno::Reference< css::beans::XVetoableChangeListener>& rListener)
override;
263 const OUString& rPropertyName,
264 const css::uno::Reference< css::beans::XVetoableChangeListener>& rListener)
override;
267 virtual css::uno::Reference< css::util::XCloneable > SAL_CALL
createClone()
override;
271 const css::uno::Reference< css::util::XModifyListener >& aListener )
override;
273 const css::uno::Reference< css::util::XModifyListener >& aListener )
override;
279 rServiceName)
override;
281 virtual css::uno::Sequence< OUString> SAL_CALL
346 virtual void notify()
override;
375 std::unique_ptr<ExternalRefListener>
394 #endif // INCLUDED_SC_INC_CHART2UNO_HXX
css::uno::Sequence< sal_Int32 > m_aHiddenValues
std::unique_ptr< HiddenRangeListener > m_pHiddenListener
bool m_bIncludeHiddenCells
ExternalRefListener & operator=(const ExternalRefListener &)=delete
ExternalRefListener * GetExtRefListener()
virtual css::uno::Sequence< OUString > SAL_CALL getTextualData() override
virtual sal_Bool SAL_CALL supportsService(const OUString &rServiceName) override
SfxItemPropertySet m_aPropSet
virtual void SAL_CALL removeModifyListener(const css::uno::Reference< css::util::XModifyListener > &aListener) override
virtual ~ScChart2DataSource() override
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
RangeIndexMapPtr m_pRangeIndices
css::uno::Sequence< OUString > getSupportedServiceNames()
OUString getImplementationName()
ScChart2DataSequence & mrParent
bool m_bGotDataChangedHint
virtual void SAL_CALL addModifyListener(const css::uno::Reference< css::util::XModifyListener > &aListener) override
std::vector< ScTokenRef > m_aTokens
virtual OUString SAL_CALL getImplementationName() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual OUString SAL_CALL getImplementationName() override
std::unique_ptr< std::vector< sal_uInt32 > > RangeIndexMapPtr
virtual void notify(sal_uInt16 nFileId, ScExternalRefManager::LinkUpdateType eType) override
css::uno::Sequence< css::uno::Any > m_aMixedDataCache
Cached data for getData.
ScChart2DataSequence & mrParent
void StopListeningToAllExternalRefs()
SfxItemPropertySet m_aPropSet
css::uno::Any const & rValue
css::chart2::data::DataSequenceRole m_aRole
std::vector< css::uno::Reference< css::util::XModifyListener > > XModifyListenerArr_Impl
ScChart2DataSequence & operator=(const ScChart2DataSequence &)=delete
Sequence< PropertyValue > aArguments
bool getPropertyValue(ValueType &rValue, css::uno::Reference< css::beans::XPropertySet > const &xPropSet, OUString const &propName)
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
ScChart2DataSequence(ScDocument *pDoc,::std::vector< ScTokenRef > &&rTokens, bool bIncludeHiddenCells)
virtual void SAL_CALL addPropertyChangeListener(const OUString &rPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
virtual ~HiddenRangeListener() override
virtual sal_Bool SAL_CALL switchToNext(sal_Bool bWrap) override
virtual void SAL_CALL setRange(sal_Int32 nStart, sal_Int32 nEnd) override
virtual sal_Bool SAL_CALL supportsService(const OUString &rServiceName) override
HiddenRangeListener(ScChart2DataSequence &rParent)
ScChart2DataSource(ScDocument *pDoc)
Base class for objects that need to listen to link updates.
const std::unordered_set< sal_uInt16 > & getAllFileIds() const
virtual void SAL_CALL removeVetoableChangeListener(const OUString &rPropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &rListener) override
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
ExternalRefListener(ScChart2DataSequence &rParent, ScDocument *pDoc)
virtual sal_Bool SAL_CALL setToPointInTime(sal_Int32 nPoint) override
void BuildDataCache()
Build an internal data array to cache the data ranges, and other information such as hidden values...
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &rPropertyName) override
bool setPropertyValue(uno::Sequence< beans::PropertyValue > &aProp, const OUString &aName, const uno::Any &aValue)
std::vector< css::uno::Reference< css::chart2::data::XLabeledDataSequence > > m_aLabeledSequences
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint)
std::unique_ptr< ExternalRefListener > m_pExtRefListener
virtual ::sal_Int32 SAL_CALL getNumberFormatKeyByIndex(::sal_Int32 nIndex) override
Get the number format key for the n-th data entry If nIndex == -1, then you will get the number forma...
std::unordered_set< sal_uInt16 > maFileIds
void setDataChangedHint(bool b)
void CopyData(const ScChart2DataSequence &r)
std::vector< Item > m_aDataArray
This vector contains the cached data which was calculated with BuildDataCache().
DECL_LINK(ValueListenerHdl, const SfxHint &, void)
void addFileId(sal_uInt16 nFileId)
XModifyListenerArr_Impl m_aValueListeners
virtual void SAL_CALL addVetoableChangeListener(const OUString &rPropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &rListener) override
::boost::intrusive_ptr< formula::FormulaToken > ScTokenRef
virtual void SAL_CALL removePropertyChangeListener(const OUString &rPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &rListener) override
virtual void notify() override
std::unique_ptr< ScLinkListener > m_pValueListener
virtual css::uno::Sequence< double > SAL_CALL getNumericalData() override
void UpdateTokensFromRanges(const ScRangeList &rRanges)
virtual css::uno::Sequence< css::uno::Reference< css::chart2::data::XLabeledDataSequence > > SAL_CALL getDataSequences() override
virtual OUString SAL_CALL getSourceRangeRepresentation() override
virtual css::uno::Reference< css::util::XCloneable > SAL_CALL createClone() override
bool m_bIncludeHiddenCells
sal_Int32 FillCacheFromExternalRef(const ScTokenRef &pToken)
virtual ~ScChart2DataSequence() override
virtual css::uno::Sequence< css::uno::Any > SAL_CALL getData() override
void AddLabeledSequence(const css::uno::Reference< css::chart2::data::XLabeledDataSequence > &xNew)
virtual void SAL_CALL setPropertyValue(const OUString &rPropertyName, const css::uno::Any &rValue) override
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
virtual css::uno::Sequence< OUString > SAL_CALL generateLabel(css::chart2::data::LabelOrigin nOrigin) override
virtual ~ExternalRefListener() override
bool m_bExtDataRebuildQueued