19 #ifndef INCLUDED_SW_INC_UNOCHART_HXX
20 #define INCLUDED_SW_INC_UNOCHART_HXX
25 #include <com/sun/star/lang/XUnoTunnel.hpp>
26 #include <com/sun/star/chart2/data/XDataProvider.hpp>
27 #include <com/sun/star/chart2/data/XDataSource.hpp>
28 #include <com/sun/star/chart2/data/XDataSequence.hpp>
29 #include <com/sun/star/chart2/data/XTextualDataSequence.hpp>
30 #include <com/sun/star/chart2/data/XNumericalDataSequence.hpp>
31 #include <com/sun/star/chart2/data/XLabeledDataSequence2.hpp>
32 #include <com/sun/star/chart2/data/XRangeXMLConversion.hpp>
33 #include <com/sun/star/chart2/data/DataSequenceRole.hpp>
34 #include <com/sun/star/lang/XServiceInfo.hpp>
35 #include <com/sun/star/beans/XPropertySet.hpp>
36 #include <com/sun/star/util/XCloneable.hpp>
37 #include <com/sun/star/lang/XComponent.hpp>
38 #include <com/sun/star/lang/XEventListener.hpp>
39 #include <com/sun/star/util/XModifiable.hpp>
40 #include <com/sun/star/util/XModifyListener.hpp>
46 #include <rtl/ref.hxx>
93 typedef cppu::WeakImplHelper
95 css::chart2::data::XDataProvider,
96 css::chart2::data::XRangeXMLConversion,
97 css::lang::XComponent,
98 css::lang::XServiceInfo
110 bool operator()( css::uno::WeakReference< css::chart2::data::XDataSequence > xWRef1, css::uno::WeakReference< css::chart2::data::XDataSequence > xWRef2 )
const
112 css::uno::Reference< css::chart2::data::XDataSequence > xRef1( xWRef1 );
113 css::uno::Reference< css::chart2::data::XDataSequence > xRef2( xWRef2 );
114 return xRef1.get() < xRef2.get();
137 css::uno::Reference< css::chart2::data::XDataSource >
Impl_createDataSource(
const css::uno::Sequence< css::beans::PropertyValue >& aArguments,
bool bTestOnly =
false );
150 virtual css::uno::Reference< css::chart2::data::XDataSource > SAL_CALL
createDataSource(
const css::uno::Sequence< css::beans::PropertyValue >& aArguments )
override;
151 virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL
detectArguments(
const css::uno::Reference< css::chart2::data::XDataSource >& xDataSource )
override;
154 virtual css::uno::Reference< css::sheet::XRangeSelection > SAL_CALL
getRangeSelection( )
override;
156 virtual css::uno::Reference<css::chart2::data::XDataSequence>
158 const OUString& aRole,
const OUString& aRangeRepresentation,
const OUString& aRoleQualifier )
override;
161 virtual OUString SAL_CALL
convertRangeToXML(
const OUString& aRangeRepresentation )
override;
165 virtual void SAL_CALL
dispose( )
override;
166 virtual void SAL_CALL
addEventListener(
const css::uno::Reference< css::lang::XEventListener >& xListener )
override;
167 virtual void SAL_CALL
removeEventListener(
const css::uno::Reference< css::lang::XEventListener >& aListener )
override;
174 void AddDataSequence(
const SwTable &rTable, css::uno::Reference< css::chart2::data::XDataSequence >
const &rxDataSequence );
175 void RemoveDataSequence(
const SwTable &rTable, css::uno::Reference< css::chart2::data::XDataSequence >
const &rxDataSequence );
187 typedef cppu::WeakImplHelper
189 css::chart2::data::XDataSource,
190 css::lang::XServiceInfo
198 css::uno::Reference< css::chart2::data::XLabeledDataSequence > >
m_aLDS;
204 SwChartDataSource(
const css::uno::Sequence< css::uno::Reference< css::chart2::data::XLabeledDataSequence > > &rLDS );
208 virtual css::uno::Sequence< css::uno::Reference< css::chart2::data::XLabeledDataSequence > > SAL_CALL
getDataSequences( )
override;
216 typedef cppu::WeakImplHelper
218 css::chart2::data::XDataSequence,
219 css::chart2::data::XTextualDataSequence,
220 css::chart2::data::XNumericalDataSequence,
221 css::util::XCloneable,
222 css::beans::XPropertySet,
223 css::lang::XServiceInfo,
224 css::lang::XUnoTunnel,
225 css::util::XModifiable,
226 css::lang::XEventListener,
227 css::lang::XComponent
257 const std::shared_ptr<SwUnoCursor>& pTableCursor );
263 virtual sal_Int64 SAL_CALL
getSomething(
const css::uno::Sequence< sal_Int8 >& aIdentifier )
override;
266 virtual css::uno::Sequence< css::uno::Any > SAL_CALL
getData()
override;
268 virtual css::uno::Sequence< OUString > SAL_CALL
generateLabel( css::chart2::data::LabelOrigin eLabelOrigin )
override;
272 virtual css::uno::Sequence< OUString > SAL_CALL
getTextualData()
override;
278 virtual css::uno::Reference< css::util::XCloneable > SAL_CALL
createClone( )
override;
281 virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL
getPropertySetInfo( )
override;
282 virtual void SAL_CALL
setPropertyValue(
const OUString& aPropertyName,
const css::uno::Any& aValue )
override;
283 virtual css::uno::Any SAL_CALL
getPropertyValue(
const OUString& PropertyName )
override;
284 virtual void SAL_CALL
addPropertyChangeListener(
const OUString& aPropertyName,
const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener )
override;
285 virtual void SAL_CALL
removePropertyChangeListener(
const OUString& aPropertyName,
const css::uno::Reference< css::beans::XPropertyChangeListener >& aListener )
override;
286 virtual void SAL_CALL
addVetoableChangeListener(
const OUString& PropertyName,
const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener )
override;
287 virtual void SAL_CALL
removeVetoableChangeListener(
const OUString& PropertyName,
const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener )
override;
299 virtual void SAL_CALL
addModifyListener(
const css::uno::Reference< css::util::XModifyListener >& aListener )
override;
300 virtual void SAL_CALL
removeModifyListener(
const css::uno::Reference< css::util::XModifyListener >& aListener )
override;
303 virtual void SAL_CALL
disposing(
const css::lang::EventObject& Source )
override;
306 virtual void SAL_CALL
dispose( )
override;
307 virtual void SAL_CALL
addEventListener(
const css::uno::Reference< css::lang::XEventListener >& xListener )
override;
308 virtual void SAL_CALL
removeEventListener(
const css::uno::Reference< css::lang::XEventListener >& aListener )
override;
314 void ExtendTo(
bool bExtendCol, sal_Int32 nFirstNew, sal_Int32 nCount );
315 std::vector< css::uno::Reference< css::table::XCell > >
GetCells();
320 typedef cppu::WeakImplHelper
322 css::chart2::data::XLabeledDataSequence2,
323 css::lang::XServiceInfo,
324 css::util::XModifyListener,
325 css::lang::XComponent
335 css::uno::Reference< css::chart2::data::XDataSequence >
m_xData;
336 css::uno::Reference< css::chart2::data::XDataSequence >
m_xLabels;
343 void SetDataSequence( css::uno::Reference< css::chart2::data::XDataSequence >& rxDest,
const css::uno::Reference< css::chart2::data::XDataSequence >& rxSource );
350 virtual css::uno::Reference< css::chart2::data::XDataSequence > SAL_CALL
getValues( )
override;
351 virtual void SAL_CALL
setValues(
const css::uno::Reference< css::chart2::data::XDataSequence >& xSequence )
override;
352 virtual css::uno::Reference< css::chart2::data::XDataSequence > SAL_CALL
getLabel( )
override;
353 virtual void SAL_CALL
setLabel(
const css::uno::Reference< css::chart2::data::XDataSequence >& xSequence )
override;
356 virtual css::uno::Reference< css::util::XCloneable > SAL_CALL
createClone( )
override;
364 virtual void SAL_CALL
disposing(
const css::lang::EventObject& Source )
override;
367 virtual void SAL_CALL
modified(
const css::lang::EventObject& aEvent )
override;
370 virtual void SAL_CALL
addModifyListener(
const css::uno::Reference< css::util::XModifyListener >& aListener )
override;
371 virtual void SAL_CALL
removeModifyListener(
const css::uno::Reference< css::util::XModifyListener >& aListener )
override;
374 virtual void SAL_CALL
dispose( )
override;
375 virtual void SAL_CALL
addEventListener(
const css::uno::Reference< css::lang::XEventListener >& xListener )
override;
376 virtual void SAL_CALL
removeEventListener(
const css::uno::Reference< css::lang::XEventListener >& aListener )
override;
css::uno::Reference< css::chart2::data::XDataSource > Impl_createDataSource(const css::uno::Sequence< css::beans::PropertyValue > &aArguments, bool bTestOnly=false)
void AddRowCols(const SwTable &rTable, const SwSelBoxes &rBoxes, sal_uInt16 nLines, bool bBehind)
SwChartDataProvider::AddRowCols tries to notify charts of added columns or rows and extends the value...
virtual void SAL_CALL dispose() override
void StartOrContinueLocking()
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
virtual css::uno::Reference< css::util::XCloneable > SAL_CALL createClone() override
SwChartLockController_Helper(const SwChartLockController_Helper &)=delete
virtual void SAL_CALL setLabel(const css::uno::Reference< css::chart2::data::XDataSequence > &xSequence) override
cppu::WeakImplHelper< css::chart2::data::XDataSource, css::lang::XServiceInfo > SwChartDataSourceBaseClass
virtual ~SwChartDataProvider() override
SwChartDataSequence & operator=(const SwChartDataSequence &)=delete
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
~SwChartLockController_Helper()
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual sal_Int64 SAL_CALL getSomething(const css::uno::Sequence< sal_Int8 > &aIdentifier) override
void FillRangeDesc(SwRangeDescriptor &rRangeDesc) const
virtual OUString SAL_CALL convertRangeToXML(const OUString &aRangeRepresentation) override
virtual OUString SAL_CALL getSourceRangeRepresentation() override
SwChartLabeledDataSequence()
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
void RemoveDataSequence(const SwTable &rTable, css::uno::Reference< css::chart2::data::XDataSequence > const &rxDataSequence)
std::vector< css::uno::Reference< css::table::XCell > > GetCells()
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
SwChartDataSource & operator=(const SwChartDataSource &)=delete
::comphelper::OInterfaceContainerHelper4< css::util::XModifyListener > m_aModifyListeners
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
void InvalidateTable(const SwTable *pTable, bool bImmediate=false)
virtual css::uno::Sequence< double > SAL_CALL getNumericalData() override
std::set< css::uno::WeakReference< css::chart2::data::XDataSequence >, lt_DataSequenceRef > Set_DataSequenceRef_t
void ExtendTo(bool bExtendCol, sal_Int32 nFirstNew, sal_Int32 nCount)
Extends the data-sequence by new cells added at the end of the direction the data-sequence points to...
virtual void SAL_CALL removeModifyListener(const css::uno::Reference< css::util::XModifyListener > &aListener) override
SwChartLabeledDataSequence & operator=(const SwChartLabeledDataSequence &)=delete
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
bool FillRangeDescriptor(SwRangeDescriptor &rDesc, std::u16string_view rCellRangeName)
rCellRangeName needs to be of one of the following formats:
bool operator()(css::uno::WeakReference< css::chart2::data::XDataSequence > xWRef1, css::uno::WeakReference< css::chart2::data::XDataSequence > xWRef2) const
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL detectArguments(const css::uno::Reference< css::chart2::data::XDataSource > &xDataSource) override
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) override
void AddDataSequence(const SwTable &rTable, css::uno::Reference< css::chart2::data::XDataSequence > const &rxDataSequence)
virtual void SAL_CALL setModified(sal_Bool bModified) override
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) override
virtual css::uno::Sequence< css::uno::Reference< css::chart2::data::XLabeledDataSequence > > SAL_CALL getDataSequences() override
virtual void SAL_CALL modified(const css::lang::EventObject &aEvent) override
virtual css::uno::Reference< css::util::XCloneable > SAL_CALL createClone() override
SwChartLockController_Helper & operator=(const SwChartLockController_Helper &)=delete
virtual void SAL_CALL dispose() override
virtual css::uno::Reference< css::chart2::data::XDataSequence > SAL_CALL getLabel() override
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
cppu::WeakImplHelper< css::chart2::data::XLabeledDataSequence2, css::lang::XServiceInfo, css::util::XModifyListener, css::lang::XComponent > SwChartLabeledDataSequenceBaseClass
virtual ~SwChartLabeledDataSequence() override
SwChartDataProvider & operator=(const SwChartDataProvider &)=delete
virtual OUString SAL_CALL getImplementationName() override
std::map< const SwTable *, Set_DataSequenceRef_t > Map_Set_DataSequenceRef_t
cppu::WeakImplHelper< css::chart2::data::XDataProvider, css::chart2::data::XRangeXMLConversion, css::lang::XComponent, css::lang::XServiceInfo > SwChartDataProviderBaseClass
virtual ~SwChartDataSource() override
virtual OUString SAL_CALL convertRangeFromXML(const OUString &aXMLRange) override
virtual sal_Bool SAL_CALL createDataSequenceByRangeRepresentationPossible(const OUString &aRangeRepresentation) override
SwFrameFormat * m_pFormat
virtual void SAL_CALL disposing(const css::lang::EventObject &Source) override
virtual void SAL_CALL addModifyListener(const css::uno::Reference< css::util::XModifyListener > &aListener) override
SwChartDataSource(const SwChartDataSource &)=delete
rtl::Reference< SwChartDataProvider > m_xDataProvider
sw::UnoCursorPointer m_pTableCursor
void DisposeAllDataSequences(const SwTable *pTable)
virtual sal_Bool SAL_CALL isModified() override
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) override
css::uno::Reference< css::chart2::data::XDataSequence > m_xLabels
virtual void SAL_CALL dispose() override
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
SwFrameFormat * GetFrameFormat() const
bool DeleteBox(const SwTableBox &rBox)
virtual void SAL_CALL setValues(const css::uno::Reference< css::chart2::data::XDataSequence > &xSequence) override
::comphelper::OInterfaceContainerHelper4< css::lang::XEventListener > m_aEventListeners
virtual ~SwChartDataSequence() override
css::uno::Reference< css::chart2::data::XDataSequence > m_xData
virtual void Notify(const SfxHint &rHint) override
virtual css::uno::Reference< css::chart2::data::XDataSequence > SAL_CALL getValues() override
::comphelper::OInterfaceContainerHelper4< css::lang::XEventListener > m_aEventListeners
SwTable is one table in the document model, containing rows (which contain cells).
virtual OUString SAL_CALL getImplementationName() override
const SfxItemPropertySet * m_pPropSet
virtual sal_Bool SAL_CALL createDataSourcePossible(const css::uno::Sequence< css::beans::PropertyValue > &aArguments) override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
::comphelper::OInterfaceContainerHelper4< css::util::XModifyListener > m_aModifyListeners
cppu::WeakImplHelper< css::chart2::data::XDataSequence, css::chart2::data::XTextualDataSequence, css::chart2::data::XNumericalDataSequence, css::util::XCloneable, css::beans::XPropertySet, css::lang::XServiceInfo, css::lang::XUnoTunnel, css::util::XModifiable, css::lang::XEventListener, css::lang::XComponent > SwChartDataSequenceBaseClass
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
static const css::uno::Sequence< sal_Int8 > & getUnoTunnelId()
void LockUnlockAllCharts(bool bLock)
::comphelper::OInterfaceContainerHelper4< css::lang::XEventListener > m_aEvtListeners
virtual OUString SAL_CALL getImplementationName() override
virtual css::uno::Sequence< OUString > SAL_CALL getTextualData() override
Map_Set_DataSequenceRef_t m_aDataSequences
SwTableBox is one table cell in the document model.
css::chart2::data::DataSequenceRole m_aRole
virtual void SAL_CALL disposing(const css::lang::EventObject &Source) override
virtual css::uno::Sequence< css::uno::Any > SAL_CALL getData() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual css::uno::Sequence< OUString > SAL_CALL generateLabel(css::chart2::data::LabelOrigin eLabelOrigin) override
css::uno::Reference< css::chart2::data::XDataSequence > Impl_createDataSequenceByRangeRepresentation(std::u16string_view aRangeRepresentation, bool bTestOnly=false)
static OUString GetBrokenCellRangeForExport(std::u16string_view rCellRangeRepresentation)
Fix for #i79009 we need to return a property that has the same value as the property 'CellRangeRepres...
virtual css::uno::Reference< css::chart2::data::XDataSequence > SAL_CALL createDataSequenceByValueArray(const OUString &aRole, const OUString &aRangeRepresentation, const OUString &aRoleQualifier) override
void DeleteBox(const SwTable *pTable, const SwTableBox &rBox)
DECL_LINK(DoUnlockAllCharts, Timer *, void)
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
virtual css::uno::Reference< css::sheet::XRangeSelection > SAL_CALL getRangeSelection() override
virtual void SAL_CALL addModifyListener(const css::uno::Reference< css::util::XModifyListener > &aListener) override
SwChartDataSequence(const SwChartDataSequence &rObj)
void SetDataSequence(css::uno::Reference< css::chart2::data::XDataSequence > &rxDest, const css::uno::Reference< css::chart2::data::XDataSequence > &rxSource)
virtual OUString SAL_CALL getImplementationName() override
virtual ::sal_Int32 SAL_CALL getNumberFormatKeyByIndex(::sal_Int32 nIndex) override
virtual css::uno::Reference< css::chart2::data::XDataSequence > SAL_CALL createDataSequenceByRangeRepresentation(const OUString &aRangeRepresentation) override
css::uno::Sequence< css::uno::Reference< css::chart2::data::XLabeledDataSequence > > m_aLDS
virtual css::uno::Reference< css::chart2::data::XDataSource > SAL_CALL createDataSource(const css::uno::Sequence< css::beans::PropertyValue > &aArguments) override
SwChartDataProvider(const SwChartDataProvider &)=delete
static void DoUpdateAllCharts(SwDoc *pDoc)
virtual void SAL_CALL removeModifyListener(const css::uno::Reference< css::util::XModifyListener > &aListener) override
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override