LibreOffice Module sw (master)  1
unochart.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 #ifndef INCLUDED_SW_INC_UNOCHART_HXX
20 #define INCLUDED_SW_INC_UNOCHART_HXX
21 
22 #include <map>
23 #include <set>
24 
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>
41 
43 #include <cppuhelper/implbase.hxx>
44 #include <cppuhelper/weakref.hxx>
45 
46 #include <rtl/ref.hxx>
47 #include <svl/listener.hxx>
48 #include <tools/link.hxx>
49 #include <vcl/timer.hxx>
50 
51 #include "frmfmt.hxx"
52 #include "unocrsr.hxx"
53 
54 class SfxItemPropertySet;
55 class SwDoc;
56 class SwTable;
57 class SwTableBox;
58 struct SwRangeDescriptor;
59 class SwSelBoxes;
60 namespace com::sun::star::table { class XCell; }
61 
62 bool FillRangeDescriptor( SwRangeDescriptor &rDesc, std::u16string_view rCellRangeName );
63 
65 {
66 public:
67  static void DoUpdateAllCharts( SwDoc* pDoc );
68 };
69 
71 {
73 
74  DECL_LINK( DoUnlockAllCharts, Timer *, void );
75  Timer m_aUnlockTimer; // timer to unlock chart controllers
77 
80 
81  void LockUnlockAllCharts( bool bLock );
82  void LockAllCharts() { LockUnlockAllCharts( true ); };
83  void UnlockAllCharts() { LockUnlockAllCharts( false ); };
84 
85 public:
86  SwChartLockController_Helper( SwDoc *pDocument );
88 
90  void Disconnect();
91 };
92 
93 typedef cppu::WeakImplHelper
94 <
95  css::chart2::data::XDataProvider,
96  css::chart2::data::XRangeXMLConversion,
97  css::lang::XComponent,
98  css::lang::XServiceInfo
99 >
101 
102 class SwChartDataProvider final :
104 {
105 
106  // used to keep weak-references to all data-sequences of a single table
107  // see set definition below...
109  {
110  bool operator()( css::uno::WeakReference< css::chart2::data::XDataSequence > xWRef1, css::uno::WeakReference< css::chart2::data::XDataSequence > xWRef2 ) const
111  {
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();
115  }
116  };
117  typedef std::set< css::uno::WeakReference < css::chart2::data::XDataSequence >, lt_DataSequenceRef > Set_DataSequenceRef_t;
118 
119  // map of data-sequence sets for each table
120  typedef std::map< const SwTable *, Set_DataSequenceRef_t > Map_Set_DataSequenceRef_t;
121 
122  // map of all data-sequences provided directly or indirectly (e.g. via
123  // data-source) by this object. Since there is only one object of this type
124  // for each document it should hold references to all used data-sequences for
125  // all tables of the document.
126  mutable Map_Set_DataSequenceRef_t m_aDataSequences;
127 
129  const SwDoc * m_pDoc;
131 
132  SwChartDataProvider( const SwChartDataProvider & ) = delete;
134 
137  css::uno::Reference< css::chart2::data::XDataSource > Impl_createDataSource( const css::uno::Sequence< css::beans::PropertyValue >& aArguments, bool bTestOnly = false );
140  css::uno::Reference< css::chart2::data::XDataSequence > Impl_createDataSequenceByRangeRepresentation( std::u16string_view aRangeRepresentation, bool bTestOnly = false );
141 
142  static OUString GetBrokenCellRangeForExport( std::u16string_view rCellRangeRepresentation );
143 
144 public:
145  SwChartDataProvider( const SwDoc& rDoc );
146  virtual ~SwChartDataProvider() override;
147 
148  // XDataProvider
149  virtual sal_Bool SAL_CALL createDataSourcePossible( const css::uno::Sequence< css::beans::PropertyValue >& aArguments ) override;
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;
152  virtual sal_Bool SAL_CALL createDataSequenceByRangeRepresentationPossible( const OUString& aRangeRepresentation ) override;
153  virtual css::uno::Reference< css::chart2::data::XDataSequence > SAL_CALL createDataSequenceByRangeRepresentation( const OUString& aRangeRepresentation ) override;
154  virtual css::uno::Reference< css::sheet::XRangeSelection > SAL_CALL getRangeSelection( ) override;
155 
156  virtual css::uno::Reference<css::chart2::data::XDataSequence>
158  const OUString& aRole, const OUString& aRangeRepresentation, const OUString& aRoleQualifier ) override;
159 
160  // XRangeXMLConversion
161  virtual OUString SAL_CALL convertRangeToXML( const OUString& aRangeRepresentation ) override;
162  virtual OUString SAL_CALL convertRangeFromXML( const OUString& aXMLRange ) override;
163 
164  // XComponent
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;
168 
169  // XServiceInfo
170  virtual OUString SAL_CALL getImplementationName( ) override;
171  virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
172  virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames( ) override;
173 
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 );
176 
177  // will send modified events for all data-sequences of the table
178  // tdf#122995 added Immediate-Mode to allow non-timer-delayed Chart invalidation
179  void InvalidateTable( const SwTable *pTable, bool bImmediate = false );
180  void DeleteBox( const SwTable *pTable, const SwTableBox &rBox );
181  void DisposeAllDataSequences( const SwTable *pTable );
182 
183  // functionality needed to get notified about new added rows/cols
184  void AddRowCols( const SwTable &rTable, const SwSelBoxes& rBoxes, sal_uInt16 nLines, bool bBehind );
185 };
186 
187 typedef cppu::WeakImplHelper
188 <
189  css::chart2::data::XDataSource,
190  css::lang::XServiceInfo
191 >
193 
194 class SwChartDataSource final :
196 {
197  css::uno::Sequence<
198  css::uno::Reference< css::chart2::data::XLabeledDataSequence > > m_aLDS;
199 
200  SwChartDataSource( const SwChartDataSource & ) = delete;
201  SwChartDataSource & operator = ( const SwChartDataSource & ) = delete;
202 
203 public:
204  SwChartDataSource( const css::uno::Sequence< css::uno::Reference< css::chart2::data::XLabeledDataSequence > > &rLDS );
205  virtual ~SwChartDataSource() override;
206 
207  // XDataSource
208  virtual css::uno::Sequence< css::uno::Reference< css::chart2::data::XLabeledDataSequence > > SAL_CALL getDataSequences( ) override;
209 
210  // XServiceInfo
211  virtual OUString SAL_CALL getImplementationName( ) override;
212  virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
213  virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames( ) override;
214 };
215 
216 typedef cppu::WeakImplHelper
217 <
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
228 >
230 
231 class SwChartDataSequence final :
233  public SvtListener
234 {
238  css::chart2::data::DataSequenceRole m_aRole;
239 
240  OUString m_aRowLabelText;
241  OUString m_aColLabelText;
242 
244 
245  sw::UnoCursorPointer m_pTableCursor; // cursor spanned over cells to use
246 
248 
250 
253 
254 public:
256  SwFrameFormat &rTableFormat,
257  const std::shared_ptr<SwUnoCursor>& pTableCursor );
258  virtual ~SwChartDataSequence() override;
259 
260  static const css::uno::Sequence< sal_Int8 > & getUnoTunnelId();
261 
262  //XUnoTunnel
263  virtual sal_Int64 SAL_CALL getSomething( const css::uno::Sequence< sal_Int8 >& aIdentifier ) override;
264 
265  // XDataSequence
266  virtual css::uno::Sequence< css::uno::Any > SAL_CALL getData() override;
267  virtual OUString SAL_CALL getSourceRangeRepresentation() override;
268  virtual css::uno::Sequence< OUString > SAL_CALL generateLabel( css::chart2::data::LabelOrigin eLabelOrigin ) override;
269  virtual ::sal_Int32 SAL_CALL getNumberFormatKeyByIndex( ::sal_Int32 nIndex ) override;
270 
271  // XTextualDataSequence
272  virtual css::uno::Sequence< OUString > SAL_CALL getTextualData() override;
273 
274  // XNumericalDataSequence
275  virtual css::uno::Sequence< double > SAL_CALL getNumericalData() override;
276 
277  // XCloneable
278  virtual css::uno::Reference< css::util::XCloneable > SAL_CALL createClone( ) override;
279 
280  // XPropertySet
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;
288 
289  // XServiceInfo
290  virtual OUString SAL_CALL getImplementationName( ) override;
291  virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
292  virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames( ) override;
293 
294  // XModifiable
295  virtual sal_Bool SAL_CALL isModified( ) override;
296  virtual void SAL_CALL setModified( sal_Bool bModified ) override;
297 
298  // XModifyBroadcaster
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;
301 
302  // XEventListener
303  virtual void SAL_CALL disposing( const css::lang::EventObject& Source ) override;
304 
305  // XComponent
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;
309 
311  bool DeleteBox( const SwTableBox &rBox );
312 
313  void FillRangeDesc( SwRangeDescriptor &rRangeDesc ) const;
314  void ExtendTo( bool bExtendCol, sal_Int32 nFirstNew, sal_Int32 nCount );
315  std::vector< css::uno::Reference< css::table::XCell > > GetCells();
316 
317  virtual void Notify(const SfxHint& rHint) override;
318 };
319 
320 typedef cppu::WeakImplHelper
321 <
322  css::chart2::data::XLabeledDataSequence2,
323  css::lang::XServiceInfo,
324  css::util::XModifyListener,
325  css::lang::XComponent
326 >
328 
331 {
334 
335  css::uno::Reference< css::chart2::data::XDataSequence > m_xData;
336  css::uno::Reference< css::chart2::data::XDataSequence > m_xLabels;
337 
339 
342 
343  void SetDataSequence( css::uno::Reference< css::chart2::data::XDataSequence >& rxDest, const css::uno::Reference< css::chart2::data::XDataSequence >& rxSource );
344 
345 public:
347  virtual ~SwChartLabeledDataSequence() override;
348 
349  // XLabeledDataSequence
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;
354 
355  // XCloneable
356  virtual css::uno::Reference< css::util::XCloneable > SAL_CALL createClone( ) override;
357 
358  // XServiceInfo
359  virtual OUString SAL_CALL getImplementationName( ) override;
360  virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
361  virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames( ) override;
362 
363  // XEventListener
364  virtual void SAL_CALL disposing( const css::lang::EventObject& Source ) override;
365 
366  // XModifyListener
367  virtual void SAL_CALL modified( const css::lang::EventObject& aEvent ) override;
368 
369  // XModifyBroadcaster
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;
372 
373  // XComponent
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;
377 };
378 
379 #endif
380 
381 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
css::uno::Reference< css::chart2::data::XDataSource > Impl_createDataSource(const css::uno::Sequence< css::beans::PropertyValue > &aArguments, bool bTestOnly=false)
Definition: unochart.cxx:513
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...
Definition: unochart.cxx:1552
OUString m_aRowLabelText
Definition: unochart.hxx:240
virtual void SAL_CALL dispose() override
Definition: unochart.cxx:2673
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
Definition: unochart.cxx:1392
virtual css::uno::Reference< css::util::XCloneable > SAL_CALL createClone() override
Definition: unochart.cxx:2071
SwChartLockController_Helper(const SwChartLockController_Helper &)=delete
virtual void SAL_CALL setLabel(const css::uno::Reference< css::chart2::data::XDataSequence > &xSequence) override
Definition: unochart.cxx:2578
cppu::WeakImplHelper< css::chart2::data::XDataSource, css::lang::XServiceInfo > SwChartDataSourceBaseClass
Definition: unochart.hxx:192
virtual ~SwChartDataProvider() override
Definition: unochart.cxx:509
SwChartDataSequence & operator=(const SwChartDataSequence &)=delete
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
Definition: unochart.cxx:2286
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
Definition: unochart.cxx:1405
Definition: doc.hxx:187
virtual sal_Int64 SAL_CALL getSomething(const css::uno::Sequence< sal_Int8 > &aIdentifier) override
Definition: unochart.cxx:1880
void FillRangeDesc(SwRangeDescriptor &rRangeDesc) const
Definition: unochart.cxx:2401
virtual OUString SAL_CALL convertRangeToXML(const OUString &aRangeRepresentation) override
Definition: unochart.cxx:1628
const SwDoc * m_pDoc
Definition: unochart.hxx:129
virtual OUString SAL_CALL getSourceRangeRepresentation() override
Definition: unochart.cxx:1886
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
Definition: unochart.cxx:2702
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
Definition: unochart.cxx:2131
void RemoveDataSequence(const SwTable &rTable, css::uno::Reference< css::chart2::data::XDataSequence > const &rxDataSequence)
Definition: unochart.cxx:1420
std::vector< css::uno::Reference< css::table::XCell > > GetCells()
Definition: unochart.cxx:2016
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
Definition: unochart.cxx:2124
SwChartDataSource & operator=(const SwChartDataSource &)=delete
::comphelper::OInterfaceContainerHelper4< css::util::XModifyListener > m_aModifyListeners
Definition: unochart.hxx:333
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
Definition: unochart.cxx:2621
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
Definition: unochart.cxx:2117
void InvalidateTable(const SwTable *pTable, bool bImmediate=false)
Definition: unochart.cxx:1425
virtual css::uno::Sequence< double > SAL_CALL getNumericalData() override
Definition: unochart.cxx:2058
std::set< css::uno::WeakReference< css::chart2::data::XDataSequence >, lt_DataSequenceRef > Set_DataSequenceRef_t
Definition: unochart.hxx:117
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...
Definition: unochart.cxx:2428
virtual void SAL_CALL removeModifyListener(const css::uno::Reference< css::util::XModifyListener > &aListener) override
Definition: unochart.cxx:2665
SwChartLabeledDataSequence & operator=(const SwChartLabeledDataSequence &)=delete
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: unochart.cxx:1772
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
Definition: unochart.cxx:2138
bool FillRangeDescriptor(SwRangeDescriptor &rDesc, std::u16string_view rCellRangeName)
rCellRangeName needs to be of one of the following formats:
Definition: unochart.cxx:174
bool operator()(css::uno::WeakReference< css::chart2::data::XDataSequence > xWRef1, css::uno::WeakReference< css::chart2::data::XDataSequence > xWRef2) const
Definition: unochart.hxx:110
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL detectArguments(const css::uno::Reference< css::chart2::data::XDataSource > &xDataSource) override
Definition: unochart.cxx:957
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) override
Definition: unochart.cxx:2278
void AddDataSequence(const SwTable &rTable, css::uno::Reference< css::chart2::data::XDataSequence > const &rxDataSequence)
Definition: unochart.cxx:1415
virtual void SAL_CALL setModified(sal_Bool bModified) override
Definition: unochart.cxx:2185
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) override
Definition: unochart.cxx:2694
virtual css::uno::Sequence< css::uno::Reference< css::chart2::data::XLabeledDataSequence > > SAL_CALL getDataSequences() override
Definition: unochart.cxx:1756
virtual void SAL_CALL modified(const css::lang::EventObject &aEvent) override
Definition: unochart.cxx:2648
virtual css::uno::Reference< css::util::XCloneable > SAL_CALL createClone() override
Definition: unochart.cxx:2593
SwChartLockController_Helper & operator=(const SwChartLockController_Helper &)=delete
virtual void SAL_CALL dispose() override
Definition: unochart.cxx:1358
virtual css::uno::Reference< css::chart2::data::XDataSequence > SAL_CALL getLabel() override
Definition: unochart.cxx:2570
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
Definition: unochart.cxx:2079
cppu::WeakImplHelper< css::chart2::data::XLabeledDataSequence2, css::lang::XServiceInfo, css::util::XModifyListener, css::lang::XComponent > SwChartLabeledDataSequenceBaseClass
Definition: unochart.hxx:327
virtual ~SwChartLabeledDataSequence() override
Definition: unochart.cxx:2517
SwChartDataProvider & operator=(const SwChartDataProvider &)=delete
virtual OUString SAL_CALL getImplementationName() override
Definition: unochart.cxx:2145
std::map< const SwTable *, Set_DataSequenceRef_t > Map_Set_DataSequenceRef_t
Definition: unochart.hxx:120
cppu::WeakImplHelper< css::chart2::data::XDataProvider, css::chart2::data::XRangeXMLConversion, css::lang::XComponent, css::lang::XServiceInfo > SwChartDataProviderBaseClass
Definition: unochart.hxx:100
virtual ~SwChartDataSource() override
Definition: unochart.cxx:1752
Style of a layout element.
Definition: frmfmt.hxx:59
virtual OUString SAL_CALL convertRangeFromXML(const OUString &aXMLRange) override
Definition: unochart.cxx:1698
virtual sal_Bool SAL_CALL createDataSequenceByRangeRepresentationPossible(const OUString &aRangeRepresentation) override
Definition: unochart.cxx:1319
SwFrameFormat * m_pFormat
Definition: unochart.hxx:235
virtual void SAL_CALL disposing(const css::lang::EventObject &Source) override
Definition: unochart.cxx:2212
virtual void SAL_CALL addModifyListener(const css::uno::Reference< css::util::XModifyListener > &aListener) override
Definition: unochart.cxx:2657
SwChartDataSource(const SwChartDataSource &)=delete
rtl::Reference< SwChartDataProvider > m_xDataProvider
Definition: unochart.hxx:243
sw::UnoCursorPointer m_pTableCursor
Definition: unochart.hxx:245
void DisposeAllDataSequences(const SwTable *pTable)
Definition: unochart.cxx:1505
virtual sal_Bool SAL_CALL isModified() override
Definition: unochart.cxx:2176
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) override
Definition: unochart.cxx:1384
css::uno::Reference< css::chart2::data::XDataSequence > m_xLabels
Definition: unochart.hxx:336
virtual void SAL_CALL dispose() override
Definition: unochart.cxx:2222
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
Definition: unochart.cxx:2104
SwFrameFormat * GetFrameFormat() const
Definition: unochart.hxx:310
bool DeleteBox(const SwTableBox &rBox)
Definition: unochart.cxx:2294
unsigned char sal_Bool
virtual void SAL_CALL setValues(const css::uno::Reference< css::chart2::data::XDataSequence > &xSequence) override
Definition: unochart.cxx:2555
::comphelper::OInterfaceContainerHelper4< css::lang::XEventListener > m_aEventListeners
Definition: unochart.hxx:128
virtual ~SwChartDataSequence() override
Definition: unochart.cxx:1870
css::uno::Reference< css::chart2::data::XDataSequence > m_xData
Definition: unochart.hxx:335
virtual void Notify(const SfxHint &rHint) override
Definition: unochart.cxx:2160
virtual css::uno::Reference< css::chart2::data::XDataSequence > SAL_CALL getValues() override
Definition: unochart.cxx:2521
::comphelper::OInterfaceContainerHelper4< css::lang::XEventListener > m_aEventListeners
Definition: unochart.hxx:332
SwTable is one table in the document model, containing rows (which contain cells).
Definition: swtable.hxx:112
virtual OUString SAL_CALL getImplementationName() override
Definition: unochart.cxx:2616
const SfxItemPropertySet * m_pPropSet
Definition: unochart.hxx:247
virtual sal_Bool SAL_CALL createDataSourcePossible(const css::uno::Sequence< css::beans::PropertyValue > &aArguments) override
Definition: unochart.cxx:896
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: unochart.cxx:2155
::comphelper::OInterfaceContainerHelper4< css::util::XModifyListener > m_aModifyListeners
Definition: unochart.hxx:237
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
Definition: unochart.hxx:229
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: unochart.cxx:1410
static const css::uno::Sequence< sal_Int8 > & getUnoTunnelId()
Definition: unochart.cxx:1874
void LockUnlockAllCharts(bool bLock)
Definition: unochart.cxx:115
::comphelper::OInterfaceContainerHelper4< css::lang::XEventListener > m_aEvtListeners
Definition: unochart.hxx:236
virtual OUString SAL_CALL getImplementationName() override
Definition: unochart.cxx:1762
virtual css::uno::Sequence< OUString > SAL_CALL getTextualData() override
Definition: unochart.cxx:2032
Map_Set_DataSequenceRef_t m_aDataSequences
Definition: unochart.hxx:126
SwTableBox is one table cell in the document model.
Definition: swtable.hxx:418
css::chart2::data::DataSequenceRole m_aRole
Definition: unochart.hxx:238
virtual void SAL_CALL disposing(const css::lang::EventObject &Source) override
Definition: unochart.cxx:2632
virtual css::uno::Sequence< css::uno::Any > SAL_CALL getData() override
Definition: unochart.cxx:2045
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: unochart.cxx:2627
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
Definition: unochart.cxx:2150
virtual css::uno::Sequence< OUString > SAL_CALL generateLabel(css::chart2::data::LabelOrigin eLabelOrigin) override
Definition: unochart.cxx:1903
css::uno::Reference< css::chart2::data::XDataSequence > Impl_createDataSequenceByRangeRepresentation(std::u16string_view aRangeRepresentation, bool bTestOnly=false)
Definition: unochart.cxx:1291
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...
Definition: unochart.cxx:930
virtual css::uno::Reference< css::chart2::data::XDataSequence > SAL_CALL createDataSequenceByValueArray(const OUString &aRole, const OUString &aRangeRepresentation, const OUString &aRoleQualifier) override
Definition: unochart.cxx:1351
OUString m_aColLabelText
Definition: unochart.hxx:241
void DeleteBox(const SwTable *pTable, const SwTableBox &rBox)
Definition: unochart.cxx:1451
DECL_LINK(DoUnlockAllCharts, Timer *, void)
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
Definition: unochart.cxx:2089
virtual css::uno::Reference< css::sheet::XRangeSelection > SAL_CALL getRangeSelection() override
Definition: unochart.cxx:1344
virtual void SAL_CALL addModifyListener(const css::uno::Reference< css::util::XModifyListener > &aListener) override
Definition: unochart.cxx:2196
SwChartDataSequence(const SwChartDataSequence &rObj)
Definition: unochart.cxx:1823
void SetDataSequence(css::uno::Reference< css::chart2::data::XDataSequence > &rxDest, const css::uno::Reference< css::chart2::data::XDataSequence > &rxSource)
Definition: unochart.cxx:2529
virtual OUString SAL_CALL getImplementationName() override
Definition: unochart.cxx:1400
virtual ::sal_Int32 SAL_CALL getNumberFormatKeyByIndex(::sal_Int32 nIndex) override
Definition: unochart.cxx:2010
virtual css::uno::Reference< css::chart2::data::XDataSequence > SAL_CALL createDataSequenceByRangeRepresentation(const OUString &aRangeRepresentation) override
Definition: unochart.cxx:1337
css::uno::Sequence< css::uno::Reference< css::chart2::data::XLabeledDataSequence > > m_aLDS
Definition: unochart.hxx:198
virtual css::uno::Reference< css::chart2::data::XDataSource > SAL_CALL createDataSource(const css::uno::Sequence< css::beans::PropertyValue > &aArguments) override
Definition: unochart.cxx:914
SwChartDataProvider(const SwChartDataProvider &)=delete
static void DoUpdateAllCharts(SwDoc *pDoc)
Definition: unochart.cxx:52
virtual void SAL_CALL removeModifyListener(const css::uno::Reference< css::util::XModifyListener > &aListener) override
Definition: unochart.cxx:2204
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
Definition: unochart.cxx:1767