xref: /trunk/main/chart2/source/model/main/ChartModel.hxx (revision 91144cd0085a7583d2099b982122deb2184ab956)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 #ifndef _CHART_MODEL_HXX
24 #define _CHART_MODEL_HXX
25 
26 #include "LifeTime.hxx"
27 #include "ServiceMacros.hxx"
28 
29 #include <com/sun/star/frame/XModel.hpp>
30 #include <com/sun/star/frame/XStorable2.hpp>
31 #include <com/sun/star/util/XModifiable.hpp>
32 #include <com/sun/star/util/XCloseable.hpp>
33 #include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
34 #include <com/sun/star/document/XUndoManagerSupplier.hpp>
35 #include <com/sun/star/document/XFilter.hpp>
36 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
37 #include <com/sun/star/lang/XServiceInfo.hpp>
38 #include <com/sun/star/lang/XInitialization.hpp>
39 #include <com/sun/star/uno/XComponentContext.hpp>
40 #include <com/sun/star/util/XCloneable.hpp>
41 #include <com/sun/star/embed/XVisualObject.hpp>
42 #include <com/sun/star/document/XStorageBasedDocument.hpp>
43 #include <com/sun/star/lang/XUnoTunnel.hpp>
44 #include <com/sun/star/util/XNumberFormatsSupplier.hpp>
45 #include <com/sun/star/container/XChild.hpp>
46 #include <com/sun/star/chart2/data/XDataSource.hpp>
47 #include <com/sun/star/chart2/XChartTypeTemplate.hpp>
48 #include <com/sun/star/container/XNameContainer.hpp>
49 
50 // public API
51 #include <com/sun/star/chart2/data/XDataProvider.hpp>
52 #include <com/sun/star/chart2/data/XDataReceiver.hpp>
53 
54 #include <com/sun/star/chart2/XChartDocument.hpp>
55 #include <com/sun/star/chart2/XTitled.hpp>
56 
57 #include <com/sun/star/frame/XLoadable.hpp>
58 #include <com/sun/star/embed/XEmbeddedObject.hpp>
59 #include <com/sun/star/embed/XStorage.hpp>
60 #include <com/sun/star/datatransfer/XTransferable.hpp>
61 
62 #if ! defined(INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_21)
63 #define INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_21
64 #define COMPHELPER_IMPLBASE_INTERFACE_NUMBER 21
65 #include "comphelper/implbase_var.hxx"
66 #endif
67 #include <osl/mutex.hxx>
68 #include <rtl/ref.hxx>
69 #include <cppuhelper/interfacecontainer.hxx>
70 #include <svtools/grfmgr.hxx>
71 
72 // for auto_ptr
73 #include <memory>
74 
75 class SvNumberFormatter;
76 
77 //=============================================================================
78 
79 namespace chart
80 {
81 
82 namespace impl
83 {
84 
85 // Note: needed for queryInterface (if it calls the base-class implementation)
86 typedef ::comphelper::WeakImplHelper21<
87 //       ::com::sun::star::frame::XModel        //comprehends XComponent (required interface), base of XChartDocument
88          ::com::sun::star::util::XCloseable     //comprehends XCloseBroadcaster
89         ,::com::sun::star::frame::XStorable2    //(extension of XStorable)
90 //      ,::com::sun::star::frame::XStorable     //(required interface) base of XStorable2
91         ,::com::sun::star::util::XModifiable    //comprehends XModifyBroadcaster (required interface)
92     //  ,::com::sun::star::uno::XWeak           // implemented by WeakImplHelper(optional interface)
93     //  ,::com::sun::star::uno::XInterface      // implemented by WeakImplHelper(optional interface)
94     //  ,::com::sun::star::lang::XTypeProvider  // implemented by WeakImplHelper
95         ,::com::sun::star::lang::XServiceInfo
96         ,::com::sun::star::lang::XInitialization
97         ,::com::sun::star::chart2::XChartDocument  // derived from XModel
98         ,::com::sun::star::chart2::data::XDataReceiver   // public API
99         ,::com::sun::star::chart2::XTitled
100         ,::com::sun::star::frame::XLoadable
101         ,::com::sun::star::util::XCloneable
102         ,::com::sun::star::embed::XVisualObject
103         ,::com::sun::star::lang::XMultiServiceFactory
104         ,::com::sun::star::document::XStorageBasedDocument
105         ,::com::sun::star::lang::XUnoTunnel
106         ,::com::sun::star::util::XNumberFormatsSupplier
107         ,::com::sun::star::container::XChild
108         ,::com::sun::star::util::XModifyListener
109         ,::com::sun::star::datatransfer::XTransferable
110         ,::com::sun::star::document::XDocumentPropertiesSupplier
111         ,::com::sun::star::chart2::data::XDataSource
112         ,::com::sun::star::document::XUndoManagerSupplier
113         >
114     ChartModel_Base;
115 }
116 
117 class UndoManager;
118 
119 class ChartModel : public impl::ChartModel_Base
120 {
121 
122 private:
123     mutable ::apphelper::CloseableLifeTimeManager   m_aLifeTimeManager;
124 
125     mutable ::osl::Mutex    m_aModelMutex;
126     sal_Bool volatile       m_bReadOnly;
127     sal_Bool volatile       m_bModified;
128     sal_Int32               m_nInLoad;
129     sal_Bool volatile       m_bUpdateNotificationsPending;
130 
131     ::rtl::OUString                                                             m_aResource;
132     ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >   m_aMediaDescriptor;
133     ::com::sun::star::uno::Reference< ::com::sun::star::document::XDocumentProperties > m_xDocumentProperties;
134     ::rtl::Reference< UndoManager >                                             m_pUndoManager;
135 
136     ::cppu::OInterfaceContainerHelper                                           m_aControllers;
137     ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController >    m_xCurrentController;
138     sal_uInt16                                                                  m_nControllerLockCount;
139 
140 //  ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >   m_aPrinterOptions;
141 
142     ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
143     ::com::sun::star::uno::Reference< ::com::sun::star::uno::XAggregation >      m_xOldModelAgg;
144 
145     ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >        m_xStorage;
146     //the content of this should be always synchronized with the current m_xViewWindow size. The variable is necessary to hold the information as long as no view window exists.
147     ::com::sun::star::awt::Size                                                  m_aVisualAreaSize;
148     ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >          m_xParent;
149     ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XRangeHighlighter > m_xRangeHighlighter;
150     ::std::vector< GraphicObject >                                               m_aGraphicObjectVector;
151 
152     ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataProvider >   m_xDataProvider;
153     /** is only valid if m_xDataProvider is set. If m_xDataProvider is set to an
154         external data provider this reference must be set to 0
155     */
156     ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataProvider >   m_xInternalDataProvider;
157 
158     ::com::sun::star::uno::Reference< com::sun::star::util::XNumberFormatsSupplier >
159                                 m_xOwnNumberFormatsSupplier;
160     ::com::sun::star::uno::Reference< com::sun::star::util::XNumberFormatsSupplier >
161                                 m_xNumberFormatsSupplier;
162     std::auto_ptr< SvNumberFormatter > m_apSvNumberFormatter; // #i113784# avoid memory leak
163 
164     ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartTypeManager >
165         m_xChartTypeManager;
166 
167     // Diagram Access
168     ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XDiagram >
169         m_xDiagram;
170 
171     ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XTitle >
172                                           m_xTitle;
173 
174     bool                                  m_bIsDisposed;
175     ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >
176                                           m_xPageBackground;
177 
178     ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess>     m_xXMLNamespaceMap;
179 
180     ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >     m_xModifyListener;
181 
182 private:
183     //private methods
184 
185     ::rtl::OUString impl_g_getLocation();
186 
187     sal_Bool
188         impl_isControllerConnected( const com::sun::star::uno::Reference<
189                             com::sun::star::frame::XController >& xController );
190 
191     com::sun::star::uno::Reference< com::sun::star::frame::XController >
192         impl_getCurrentController();
193 
194     void SAL_CALL
195         impl_notifyModifiedListeners();
196     void SAL_CALL
197         impl_notifyCloseListeners();
198     void SAL_CALL
199         impl_notifyStorageChangeListeners();
200 
201     void impl_killInternalData();
202 
203     void impl_store(
204         const ::com::sun::star::uno::Sequence<
205             ::com::sun::star::beans::PropertyValue >& rMediaDescriptor,
206         const ::com::sun::star::uno::Reference<
207             ::com::sun::star::embed::XStorage > & xStorage );
208     void impl_load(
209         const ::com::sun::star::uno::Sequence<
210             ::com::sun::star::beans::PropertyValue >& rMediaDescriptor,
211         const ::com::sun::star::uno::Reference<
212             ::com::sun::star::embed::XStorage >& xStorage );
213     void impl_loadGraphics(
214         const ::com::sun::star::uno::Reference<
215             ::com::sun::star::embed::XStorage >& xStorage );
216     ::com::sun::star::uno::Reference<
217             ::com::sun::star::document::XFilter >
218         impl_createFilter( const ::com::sun::star::uno::Sequence<
219                       ::com::sun::star::beans::PropertyValue > & rMediaDescriptor );
220 
221     ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartTypeTemplate > impl_createDefaultChartTypeTemplate();
222     ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSource > impl_createDefaultData();
223 
224     void impl_adjustAdditionalShapesPositionAndSize(
225         const ::com::sun::star::awt::Size& aVisualAreaSize );
226 
227     ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier >
228         impl_getNumberFormatsSupplier();
229 
230 public:
231     //no default constructor
232     ChartModel(::com::sun::star::uno::Reference<
233                ::com::sun::star::uno::XComponentContext > const & xContext);
234     explicit ChartModel( const ChartModel & rOther );
235     virtual ~ChartModel();
236 
237     //-----------------------------------------------------------------
238     // ::com::sun::star::lang::XServiceInfo
239     //-----------------------------------------------------------------
240 
241     APPHELPER_XSERVICEINFO_DECL()
242     APPHELPER_SERVICE_FACTORY_HELPER(ChartModel)
243 
244     //-----------------------------------------------------------------
245     // ::com::sun::star::lang::XInitialization
246     //-----------------------------------------------------------------
247     virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments );
248 
249     //-----------------------------------------------------------------
250     // ::com::sun::star::frame::XModel (required interface)
251     //-----------------------------------------------------------------
252 
253     virtual sal_Bool SAL_CALL
254         attachResource( const ::rtl::OUString& rURL
255                             , const ::com::sun::star::uno::Sequence<
256                             ::com::sun::star::beans::PropertyValue >& rMediaDescriptor );
257 
258     virtual ::rtl::OUString SAL_CALL
259         getURL();
260 
261     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL
262         getArgs();
263 
264     virtual void SAL_CALL
265         connectController( const ::com::sun::star::uno::Reference<
266                             ::com::sun::star::frame::XController >& xController );
267 
268     virtual void SAL_CALL
269         disconnectController( const ::com::sun::star::uno::Reference<
270                             ::com::sun::star::frame::XController >& xController );
271 
272     virtual void SAL_CALL
273         lockControllers();
274 
275     virtual void SAL_CALL
276         unlockControllers();
277 
278     virtual sal_Bool SAL_CALL
279         hasControllersLocked();
280 
281     virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController > SAL_CALL
282         getCurrentController();
283 
284     virtual void SAL_CALL
285         setCurrentController( const ::com::sun::star::uno::Reference<
286                             ::com::sun::star::frame::XController >& xController );
287 
288     virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
289         getCurrentSelection();
290 
291 
292     //-----------------------------------------------------------------
293     // ::com::sun::star::lang::XComponent (base of XModel)
294     //-----------------------------------------------------------------
295     virtual void SAL_CALL
296         dispose();
297 
298     virtual void SAL_CALL
299         addEventListener( const ::com::sun::star::uno::Reference<
300                           ::com::sun::star::lang::XEventListener > & xListener );
301 
302     virtual void SAL_CALL
303         removeEventListener( const ::com::sun::star::uno::Reference<
304                           ::com::sun::star::lang::XEventListener > & xListener );
305 
306     //-----------------------------------------------------------------
307     // ::com::sun::star::util::XCloseable
308     //-----------------------------------------------------------------
309     virtual void SAL_CALL
310         close( sal_Bool bDeliverOwnership );
311 
312     //-----------------------------------------------------------------
313     // ::com::sun::star::util::XCloseBroadcaster (base of XCloseable)
314     //-----------------------------------------------------------------
315     virtual void SAL_CALL
316         addCloseListener( const ::com::sun::star::uno::Reference<
317                             ::com::sun::star::util::XCloseListener > & xListener );
318 
319     virtual void SAL_CALL
320         removeCloseListener( const ::com::sun::star::uno::Reference<
321                             ::com::sun::star::util::XCloseListener > & xListener );
322 
323     //-----------------------------------------------------------------
324     // ::com::sun::star::frame::XStorable2 (extension of XStorable)
325     //-----------------------------------------------------------------
326     virtual void SAL_CALL storeSelf(
327         const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rMediaDescriptor );
328 
329     //-----------------------------------------------------------------
330     // ::com::sun::star::frame::XStorable (required interface)
331     //-----------------------------------------------------------------
332     virtual sal_Bool SAL_CALL
333         hasLocation();
334 
335     virtual ::rtl::OUString SAL_CALL
336         getLocation();
337 
338     virtual sal_Bool SAL_CALL
339         isReadonly();
340 
341     virtual void SAL_CALL
342         store();
343 
344     virtual void SAL_CALL
345         storeAsURL( const ::rtl::OUString& rURL
346                             , const ::com::sun::star::uno::Sequence<
347                             ::com::sun::star::beans::PropertyValue >& rMediaDescriptor );
348 
349     virtual void SAL_CALL
350         storeToURL( const ::rtl::OUString& rURL
351                             , const ::com::sun::star::uno::Sequence<
352                             ::com::sun::star::beans::PropertyValue >& rMediaDescriptor );
353 
354     //-----------------------------------------------------------------
355     // ::com::sun::star::util::XModifiable (required interface)
356     //-----------------------------------------------------------------
357     virtual sal_Bool SAL_CALL
358         isModified();
359 
360     virtual void SAL_CALL
361         setModified( sal_Bool bModified );
362 
363     //-----------------------------------------------------------------
364     // ::com::sun::star::util::XModifyBroadcaster (base of XModifiable)
365     //-----------------------------------------------------------------
366     virtual void SAL_CALL
367         addModifyListener( const ::com::sun::star::uno::Reference<
368                             ::com::sun::star::util::XModifyListener >& xListener );
369 
370     virtual void SAL_CALL
371         removeModifyListener( const ::com::sun::star::uno::Reference<
372                             ::com::sun::star::util::XModifyListener >& xListener );
373 
374     // ____ XModifyListener ____
375     virtual void SAL_CALL modified(
376         const ::com::sun::star::lang::EventObject& aEvent );
377 
378     // ____ XEventListener (base of XModifyListener) ____
379     virtual void SAL_CALL disposing(
380         const ::com::sun::star::lang::EventObject& Source );
381 
382     // ____ datatransferable::XTransferable ____
383     virtual ::com::sun::star::uno::Any SAL_CALL getTransferData(
384         const ::com::sun::star::datatransfer::DataFlavor& aFlavor );
385     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::datatransfer::DataFlavor > SAL_CALL getTransferDataFlavors();
386     virtual ::sal_Bool SAL_CALL isDataFlavorSupported(
387         const ::com::sun::star::datatransfer::DataFlavor& aFlavor );
388 
389     //-----------------------------------------------------------------
390     // lang::XTypeProvider (overloaded method of WeakImplHelper)
391     //-----------------------------------------------------------------
392     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL
393         getTypes();
394 
395     // ____ document::XDocumentPropertiesSupplier ____
396     virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XDocumentProperties > SAL_CALL
397         getDocumentProperties(  );
398 
399     // ____ document::XUndoManagerSupplier ____
400     virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XUndoManager > SAL_CALL
401         getUndoManager(  );
402 
403     //-----------------------------------------------------------------
404     // ::com::sun::star::chart2::XChartDocument
405     //-----------------------------------------------------------------
406     virtual ::com::sun::star::uno::Reference<
407                 ::com::sun::star::chart2::XDiagram > SAL_CALL
408         getFirstDiagram();
409     virtual void SAL_CALL setFirstDiagram(
410         const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XDiagram >& xDiagram );
411     virtual void SAL_CALL
412         createInternalDataProvider( sal_Bool bCloneExistingData );
413     virtual ::sal_Bool SAL_CALL hasInternalDataProvider();
414     virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataProvider > SAL_CALL
415         getDataProvider();
416     virtual void SAL_CALL
417         setChartTypeManager( const ::com::sun::star::uno::Reference<
418                              ::com::sun::star::chart2::XChartTypeManager >& xNewManager );
419     virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartTypeManager > SAL_CALL
420         getChartTypeManager();
421     virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL
422         getPageBackground();
423 
424     // ____ XDataReceiver (public API) ____
425     virtual void SAL_CALL
426         attachDataProvider( const ::com::sun::star::uno::Reference<
427                             ::com::sun::star::chart2::data::XDataProvider >& xProvider );
428     virtual void SAL_CALL setArguments(
429         const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArguments );
430     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getUsedRangeRepresentations();
431     virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSource > SAL_CALL getUsedData();
432     virtual void SAL_CALL attachNumberFormatsSupplier( const ::com::sun::star::uno::Reference<
433         ::com::sun::star::util::XNumberFormatsSupplier >& xSupplier );
434     virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XRangeHighlighter > SAL_CALL getRangeHighlighter();
435 
436     // ____ XTitled ____
437     virtual ::com::sun::star::uno::Reference<
438         ::com::sun::star::chart2::XTitle > SAL_CALL getTitleObject();
439     virtual void SAL_CALL setTitleObject( const ::com::sun::star::uno::Reference<
440                                           ::com::sun::star::chart2::XTitle >& Title );
441 
442     // ____ XInterface (for old API wrapper) ____
443     virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType );
444 
445     // ____ XLoadable ____
446     virtual void SAL_CALL initNew();
447     virtual void SAL_CALL load( const ::com::sun::star::uno::Sequence<
448                                 ::com::sun::star::beans::PropertyValue >& rMediaDescriptor );
449 
450     // ____ XCloneable ____
451     virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone();
452 
453     // ____ XVisualObject ____
454     virtual void SAL_CALL setVisualAreaSize(
455         ::sal_Int64 nAspect,
456         const ::com::sun::star::awt::Size& aSize );
457     virtual ::com::sun::star::awt::Size SAL_CALL getVisualAreaSize(
458         ::sal_Int64 nAspect );
459     virtual ::com::sun::star::embed::VisualRepresentation SAL_CALL getPreferredVisualRepresentation(
460         ::sal_Int64 nAspect );
461     virtual ::sal_Int32 SAL_CALL getMapUnit(
462         ::sal_Int64 nAspect );
463 
464     // ____ XMultiServiceFactory ____
465     virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
466         createInstance( const ::rtl::OUString& aServiceSpecifier );
467     virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
468         createInstanceWithArguments( const ::rtl::OUString& ServiceSpecifier
469                                    , const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& Arguments );
470     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL
471         getAvailableServiceNames();
472 
473     // ____ XStorageBasedDocument ____
474     virtual void SAL_CALL loadFromStorage(
475         const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage,
476         const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rMediaDescriptor );
477     virtual void SAL_CALL storeToStorage(
478         const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage,
479         const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rMediaDescriptor );
480     virtual void SAL_CALL switchToStorage(
481         const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage );
482     virtual ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > SAL_CALL getDocumentStorage();
483     virtual void SAL_CALL addStorageChangeListener(
484         const ::com::sun::star::uno::Reference< ::com::sun::star::document::XStorageChangeListener >& xListener );
485     virtual void SAL_CALL removeStorageChangeListener(
486         const ::com::sun::star::uno::Reference< ::com::sun::star::document::XStorageChangeListener >& xListener );
487 
488     // for SvNumberFormatsSupplierObj
489     // ____ XUnoTunnel ___
490     virtual ::sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< ::sal_Int8 >& aIdentifier );
491 
492     // ____ XNumberFormatsSupplier ____
493     virtual ::com::sun::star::uno::Reference<
494                 ::com::sun::star::beans::XPropertySet > SAL_CALL getNumberFormatSettings();
495     virtual ::com::sun::star::uno::Reference<
496                 ::com::sun::star::util::XNumberFormats > SAL_CALL getNumberFormats();
497 
498     // ____ XChild ____
499     virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getParent();
500     virtual void SAL_CALL setParent(
501         const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& Parent );
502 
503     // ____ XDataSource ____ allows access to the currently used data and data ranges
504     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XLabeledDataSequence > > SAL_CALL getDataSequences();
505 };
506 
507 }  // namespace chart
508 
509 #endif
510