Update ooo320-m1
[ooovba.git] / chart2 / source / model / main / ChartModel.hxx
blob05df2b8f1a363f14ceeccf3b3a36cc4e3d5043eb
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: ChartModel.hxx,v $
10 * $Revision: 1.12.8.2 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef _CHART_MODEL_HXX
31 #define _CHART_MODEL_HXX
33 #include "LifeTime.hxx"
34 #include "ServiceMacros.hxx"
36 #include <com/sun/star/frame/XModel.hpp>
37 #include <com/sun/star/frame/XStorable2.hpp>
38 #include <com/sun/star/util/XModifiable.hpp>
39 #include <com/sun/star/util/XCloseable.hpp>
40 #include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
41 #include <com/sun/star/document/XFilter.hpp>
42 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
43 #include <com/sun/star/lang/XServiceInfo.hpp>
44 #include <com/sun/star/uno/XComponentContext.hpp>
45 #include <com/sun/star/util/XCloneable.hpp>
46 #include <com/sun/star/embed/XVisualObject.hpp>
47 #include <com/sun/star/document/XStorageBasedDocument.hpp>
48 #include <com/sun/star/lang/XUnoTunnel.hpp>
49 #include <com/sun/star/util/XNumberFormatsSupplier.hpp>
50 #include <com/sun/star/container/XChild.hpp>
51 #include <com/sun/star/chart2/XUndoSupplier.hpp>
52 #include <com/sun/star/chart2/data/XDataSource.hpp>
54 // public API
55 #include <com/sun/star/chart2/data/XDataProvider.hpp>
56 #include <com/sun/star/chart2/data/XDataReceiver.hpp>
58 #include <com/sun/star/chart2/XChartDocument.hpp>
59 #include <com/sun/star/chart2/XTitled.hpp>
61 #include <com/sun/star/frame/XLoadable.hpp>
62 #include <com/sun/star/embed/XEmbeddedObject.hpp>
63 #include <com/sun/star/embed/XStorage.hpp>
64 #include <com/sun/star/datatransfer/XTransferable.hpp>
66 #if ! defined(INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_20)
67 #define INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_20
68 #define COMPHELPER_IMPLBASE_INTERFACE_NUMBER 20
69 #include "comphelper/implbase_var.hxx"
70 #endif
71 #include <osl/mutex.hxx>
72 #include <cppuhelper/interfacecontainer.hxx>
73 #include <goodies/grfmgr.hxx>
75 // for auto_ptr
76 #include <memory>
78 //=============================================================================
79 /** this is an example implementation for the service ::com::sun::star::document::OfficeDocument
82 namespace chart
85 namespace impl
87 class ImplChartModel;
89 // Note: needed for queryInterface (if it calls the base-class implementation)
90 typedef ::comphelper::WeakImplHelper20<
91 // ::com::sun::star::frame::XModel //comprehends XComponent (required interface), base of XChartDocument
92 ::com::sun::star::util::XCloseable //comprehends XCloseBroadcaster
93 ,::com::sun::star::frame::XStorable2 //(extension of XStorable)
94 // ,::com::sun::star::frame::XStorable //(required interface) base of XStorable2
95 ,::com::sun::star::util::XModifiable //comprehends XModifyBroadcaster (required interface)
96 // ,::com::sun::star::uno::XWeak // implemented by WeakImplHelper(optional interface)
97 // ,::com::sun::star::uno::XInterface // implemented by WeakImplHelper(optional interface)
98 // ,::com::sun::star::lang::XTypeProvider // implemented by WeakImplHelper
99 ,::com::sun::star::lang::XServiceInfo
100 ,::com::sun::star::chart2::XChartDocument // derived from XModel
101 ,::com::sun::star::chart2::data::XDataReceiver // public API
102 ,::com::sun::star::chart2::XTitled
103 ,::com::sun::star::frame::XLoadable
104 ,::com::sun::star::util::XCloneable
105 ,::com::sun::star::embed::XVisualObject
106 ,::com::sun::star::lang::XMultiServiceFactory
107 ,::com::sun::star::document::XStorageBasedDocument
108 ,::com::sun::star::lang::XUnoTunnel
109 ,::com::sun::star::util::XNumberFormatsSupplier
110 ,::com::sun::star::container::XChild
111 ,::com::sun::star::util::XModifyListener
112 ,::com::sun::star::datatransfer::XTransferable
113 ,::com::sun::star::chart2::XUndoSupplier
114 ,::com::sun::star::document::XDocumentPropertiesSupplier
115 ,::com::sun::star::chart2::data::XDataSource
117 ChartModel_Base;
120 class ChartModel : public impl::ChartModel_Base
123 private:
124 mutable ::apphelper::CloseableLifeTimeManager m_aLifeTimeManager;
126 mutable ::osl::Mutex m_aModelMutex;
127 sal_Bool volatile m_bReadOnly;
128 sal_Bool volatile m_bModified;
129 sal_Int32 m_nInLoad;
130 sal_Bool volatile m_bUpdateNotificationsPending;
132 ::rtl::OUString m_aResource;
133 ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > m_aMediaDescriptor;
134 ::com::sun::star::uno::Reference< ::com::sun::star::document::XDocumentProperties > m_xDocumentProperties;
136 ::cppu::OInterfaceContainerHelper m_aControllers;
137 ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController > m_xCurrentController;
138 sal_uInt16 m_nControllerLockCount;
140 // ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > m_aPrinterOptions;
142 ::std::auto_ptr< impl::ImplChartModel > m_pImplChartModel;
144 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
145 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XAggregation > m_xOldModelAgg;
147 ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xStorage;
148 //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.
149 ::com::sun::star::awt::Size m_aVisualAreaSize;
150 ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > m_xParent;
151 ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XRangeHighlighter > m_xRangeHighlighter;
152 ::std::vector< GraphicObject > m_aGraphicObjectVector;
154 private:
155 //private methods
157 ::rtl::OUString impl_g_getLocation();
159 sal_Bool
160 impl_isControllerConnected( const com::sun::star::uno::Reference<
161 com::sun::star::frame::XController >& xController );
163 com::sun::star::uno::Reference< com::sun::star::frame::XController >
164 impl_getCurrentController()
165 throw( com::sun::star::uno::RuntimeException);
167 void SAL_CALL
168 impl_notifyModifiedListeners()
169 throw( com::sun::star::uno::RuntimeException);
170 void SAL_CALL
171 impl_notifyCloseListeners()
172 throw( com::sun::star::uno::RuntimeException);
173 void SAL_CALL
174 impl_notifyStorageChangeListeners()
175 throw(::com::sun::star::uno::RuntimeException);
177 void impl_killInternalData() throw( com::sun::star::util::CloseVetoException );
179 void impl_createOldModelAgg();
180 void impl_store(
181 const ::com::sun::star::uno::Sequence<
182 ::com::sun::star::beans::PropertyValue >& rMediaDescriptor,
183 const ::com::sun::star::uno::Reference<
184 ::com::sun::star::embed::XStorage > & xStorage );
185 void impl_load(
186 const ::com::sun::star::uno::Sequence<
187 ::com::sun::star::beans::PropertyValue >& rMediaDescriptor,
188 const ::com::sun::star::uno::Reference<
189 ::com::sun::star::embed::XStorage >& xStorage );
190 void impl_loadGraphics(
191 const ::com::sun::star::uno::Reference<
192 ::com::sun::star::embed::XStorage >& xStorage );
193 ::com::sun::star::uno::Reference<
194 ::com::sun::star::document::XFilter >
195 impl_createFilter( const ::com::sun::star::uno::Sequence<
196 ::com::sun::star::beans::PropertyValue > & rMediaDescriptor );
198 public:
199 //no default constructor
200 ChartModel(::com::sun::star::uno::Reference<
201 ::com::sun::star::uno::XComponentContext > const & xContext);
202 explicit ChartModel( const ChartModel & rOther );
203 virtual ~ChartModel();
205 //-----------------------------------------------------------------
206 // ::com::sun::star::lang::XServiceInfo
207 //-----------------------------------------------------------------
209 APPHELPER_XSERVICEINFO_DECL()
210 APPHELPER_SERVICE_FACTORY_HELPER(ChartModel)
212 //-----------------------------------------------------------------
213 // ::com::sun::star::frame::XModel (required interface)
214 //-----------------------------------------------------------------
216 virtual sal_Bool SAL_CALL
217 attachResource( const ::rtl::OUString& rURL
218 , const ::com::sun::star::uno::Sequence<
219 ::com::sun::star::beans::PropertyValue >& rMediaDescriptor )
220 throw (::com::sun::star::uno::RuntimeException);
222 virtual ::rtl::OUString SAL_CALL
223 getURL() throw (::com::sun::star::uno::RuntimeException);
225 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL
226 getArgs() throw (::com::sun::star::uno::RuntimeException);
228 virtual void SAL_CALL
229 connectController( const ::com::sun::star::uno::Reference<
230 ::com::sun::star::frame::XController >& xController )
231 throw (::com::sun::star::uno::RuntimeException);
233 virtual void SAL_CALL
234 disconnectController( const ::com::sun::star::uno::Reference<
235 ::com::sun::star::frame::XController >& xController )
236 throw (::com::sun::star::uno::RuntimeException);
238 virtual void SAL_CALL
239 lockControllers() throw (::com::sun::star::uno::RuntimeException);
241 virtual void SAL_CALL
242 unlockControllers() throw (::com::sun::star::uno::RuntimeException);
244 virtual sal_Bool SAL_CALL
245 hasControllersLocked()
246 throw (::com::sun::star::uno::RuntimeException);
248 virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController > SAL_CALL
249 getCurrentController()
250 throw (::com::sun::star::uno::RuntimeException);
252 virtual void SAL_CALL
253 setCurrentController( const ::com::sun::star::uno::Reference<
254 ::com::sun::star::frame::XController >& xController )
255 throw (::com::sun::star::container::NoSuchElementException
256 , ::com::sun::star::uno::RuntimeException);
258 virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
259 getCurrentSelection()
260 throw (::com::sun::star::uno::RuntimeException);
263 //-----------------------------------------------------------------
264 // ::com::sun::star::lang::XComponent (base of XModel)
265 //-----------------------------------------------------------------
266 virtual void SAL_CALL
267 dispose() throw (::com::sun::star::uno::RuntimeException);
269 virtual void SAL_CALL
270 addEventListener( const ::com::sun::star::uno::Reference<
271 ::com::sun::star::lang::XEventListener > & xListener )
272 throw (::com::sun::star::uno::RuntimeException);
274 virtual void SAL_CALL
275 removeEventListener( const ::com::sun::star::uno::Reference<
276 ::com::sun::star::lang::XEventListener > & xListener )
277 throw (::com::sun::star::uno::RuntimeException);
279 //-----------------------------------------------------------------
280 // ::com::sun::star::util::XCloseable
281 //-----------------------------------------------------------------
282 virtual void SAL_CALL
283 close( sal_Bool bDeliverOwnership )
284 throw(::com::sun::star::util::CloseVetoException,
285 ::com::sun::star::uno::RuntimeException);
287 //-----------------------------------------------------------------
288 // ::com::sun::star::util::XCloseBroadcaster (base of XCloseable)
289 //-----------------------------------------------------------------
290 virtual void SAL_CALL
291 addCloseListener( const ::com::sun::star::uno::Reference<
292 ::com::sun::star::util::XCloseListener > & xListener )
293 throw (::com::sun::star::uno::RuntimeException);
295 virtual void SAL_CALL
296 removeCloseListener( const ::com::sun::star::uno::Reference<
297 ::com::sun::star::util::XCloseListener > & xListener )
298 throw (::com::sun::star::uno::RuntimeException);
300 //-----------------------------------------------------------------
301 // ::com::sun::star::frame::XStorable2 (extension of XStorable)
302 //-----------------------------------------------------------------
303 virtual void SAL_CALL storeSelf(
304 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rMediaDescriptor )
305 throw (::com::sun::star::lang::IllegalArgumentException,
306 ::com::sun::star::io::IOException,
307 ::com::sun::star::uno::RuntimeException);
309 //-----------------------------------------------------------------
310 // ::com::sun::star::frame::XStorable (required interface)
311 //-----------------------------------------------------------------
312 virtual sal_Bool SAL_CALL
313 hasLocation() throw (::com::sun::star::uno::RuntimeException);
315 virtual ::rtl::OUString SAL_CALL
316 getLocation() throw (::com::sun::star::uno::RuntimeException);
318 virtual sal_Bool SAL_CALL
319 isReadonly() throw (::com::sun::star::uno::RuntimeException);
321 virtual void SAL_CALL
322 store() throw (::com::sun::star::io::IOException
323 , ::com::sun::star::uno::RuntimeException);
325 virtual void SAL_CALL
326 storeAsURL( const ::rtl::OUString& rURL
327 , const ::com::sun::star::uno::Sequence<
328 ::com::sun::star::beans::PropertyValue >& rMediaDescriptor )
329 throw (::com::sun::star::io::IOException
330 , ::com::sun::star::uno::RuntimeException);
332 virtual void SAL_CALL
333 storeToURL( const ::rtl::OUString& rURL
334 , const ::com::sun::star::uno::Sequence<
335 ::com::sun::star::beans::PropertyValue >& rMediaDescriptor )
336 throw (::com::sun::star::io::IOException
337 , ::com::sun::star::uno::RuntimeException);
339 //-----------------------------------------------------------------
340 // ::com::sun::star::util::XModifiable (required interface)
341 //-----------------------------------------------------------------
342 virtual sal_Bool SAL_CALL
343 isModified() throw (::com::sun::star::uno::RuntimeException);
345 virtual void SAL_CALL
346 setModified( sal_Bool bModified )
347 throw (::com::sun::star::beans::PropertyVetoException
348 , ::com::sun::star::uno::RuntimeException);
350 //-----------------------------------------------------------------
351 // ::com::sun::star::util::XModifyBroadcaster (base of XModifiable)
352 //-----------------------------------------------------------------
353 virtual void SAL_CALL
354 addModifyListener( const ::com::sun::star::uno::Reference<
355 ::com::sun::star::util::XModifyListener >& xListener )
356 throw (::com::sun::star::uno::RuntimeException);
358 virtual void SAL_CALL
359 removeModifyListener( const ::com::sun::star::uno::Reference<
360 ::com::sun::star::util::XModifyListener >& xListener )
361 throw (::com::sun::star::uno::RuntimeException);
363 // ____ XModifyListener ____
364 virtual void SAL_CALL modified(
365 const ::com::sun::star::lang::EventObject& aEvent )
366 throw (::com::sun::star::uno::RuntimeException);
368 // ____ XEventListener (base of XModifyListener) ____
369 virtual void SAL_CALL disposing(
370 const ::com::sun::star::lang::EventObject& Source )
371 throw (::com::sun::star::uno::RuntimeException);
373 // ____ datatransferable::XTransferable ____
374 virtual ::com::sun::star::uno::Any SAL_CALL getTransferData(
375 const ::com::sun::star::datatransfer::DataFlavor& aFlavor )
376 throw (::com::sun::star::datatransfer::UnsupportedFlavorException,
377 ::com::sun::star::io::IOException,
378 ::com::sun::star::uno::RuntimeException);
379 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::datatransfer::DataFlavor > SAL_CALL getTransferDataFlavors()
380 throw (::com::sun::star::uno::RuntimeException);
381 virtual ::sal_Bool SAL_CALL isDataFlavorSupported(
382 const ::com::sun::star::datatransfer::DataFlavor& aFlavor )
383 throw (::com::sun::star::uno::RuntimeException);
385 //-----------------------------------------------------------------
386 // lang::XTypeProvider (overloaded method of WeakImplHelper)
387 //-----------------------------------------------------------------
388 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL
389 getTypes() throw (::com::sun::star::uno::RuntimeException);
391 // ____ document::XDocumentPropertiesSupplier ____
392 virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XDocumentProperties > SAL_CALL
393 getDocumentProperties( ) throw (::com::sun::star::uno::RuntimeException);
395 //-----------------------------------------------------------------
396 // ::com::sun::star::chart2::XChartDocument
397 //-----------------------------------------------------------------
398 virtual ::com::sun::star::uno::Reference<
399 ::com::sun::star::chart2::XDiagram > SAL_CALL
400 getFirstDiagram() throw (::com::sun::star::uno::RuntimeException);
401 virtual void SAL_CALL setFirstDiagram(
402 const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XDiagram >& xDiagram )
403 throw (::com::sun::star::uno::RuntimeException);
404 virtual void SAL_CALL
405 createInternalDataProvider( sal_Bool bCloneExistingData )
406 throw (::com::sun::star::util::CloseVetoException,
407 ::com::sun::star::uno::RuntimeException);
408 virtual ::sal_Bool SAL_CALL hasInternalDataProvider()
409 throw (::com::sun::star::uno::RuntimeException);
410 virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataProvider > SAL_CALL
411 getDataProvider()
412 throw (::com::sun::star::uno::RuntimeException);
413 virtual void SAL_CALL
414 setChartTypeManager( const ::com::sun::star::uno::Reference<
415 ::com::sun::star::chart2::XChartTypeManager >& xNewManager )
416 throw (::com::sun::star::uno::RuntimeException);
417 virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartTypeManager > SAL_CALL
418 getChartTypeManager()
419 throw (::com::sun::star::uno::RuntimeException);
420 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL
421 getPageBackground()
422 throw (::com::sun::star::uno::RuntimeException);
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 throw (::com::sun::star::uno::RuntimeException);
429 virtual void SAL_CALL setArguments(
430 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArguments )
431 throw (::com::sun::star::lang::IllegalArgumentException,
432 ::com::sun::star::uno::RuntimeException);
433 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getUsedRangeRepresentations()
434 throw (::com::sun::star::uno::RuntimeException);
435 virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSource > SAL_CALL getUsedData()
436 throw (::com::sun::star::uno::RuntimeException);
437 virtual void SAL_CALL attachNumberFormatsSupplier( const ::com::sun::star::uno::Reference<
438 ::com::sun::star::util::XNumberFormatsSupplier >& xSupplier )
439 throw (::com::sun::star::uno::RuntimeException);
440 virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XRangeHighlighter > SAL_CALL getRangeHighlighter()
441 throw (::com::sun::star::uno::RuntimeException);
443 // ____ XTitled ____
444 virtual ::com::sun::star::uno::Reference<
445 ::com::sun::star::chart2::XTitle > SAL_CALL getTitleObject()
446 throw (::com::sun::star::uno::RuntimeException);
447 virtual void SAL_CALL setTitleObject( const ::com::sun::star::uno::Reference<
448 ::com::sun::star::chart2::XTitle >& Title )
449 throw (::com::sun::star::uno::RuntimeException);
451 // ____ XInterface (for old API wrapper) ____
452 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType )
453 throw (::com::sun::star::uno::RuntimeException);
455 // ____ XLoadable ____
456 virtual void SAL_CALL initNew()
457 throw (::com::sun::star::frame::DoubleInitializationException,
458 ::com::sun::star::io::IOException,
459 ::com::sun::star::uno::Exception,
460 ::com::sun::star::uno::RuntimeException);
461 virtual void SAL_CALL load( const ::com::sun::star::uno::Sequence<
462 ::com::sun::star::beans::PropertyValue >& rMediaDescriptor )
463 throw (::com::sun::star::frame::DoubleInitializationException,
464 ::com::sun::star::io::IOException,
465 ::com::sun::star::uno::Exception,
466 ::com::sun::star::uno::RuntimeException);
468 // ____ XCloneable ____
469 virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone()
470 throw (::com::sun::star::uno::RuntimeException);
472 // ____ XVisualObject ____
473 virtual void SAL_CALL setVisualAreaSize(
474 ::sal_Int64 nAspect,
475 const ::com::sun::star::awt::Size& aSize )
476 throw (::com::sun::star::lang::IllegalArgumentException,
477 ::com::sun::star::embed::WrongStateException,
478 ::com::sun::star::uno::Exception,
479 ::com::sun::star::uno::RuntimeException);
480 virtual ::com::sun::star::awt::Size SAL_CALL getVisualAreaSize(
481 ::sal_Int64 nAspect )
482 throw (::com::sun::star::lang::IllegalArgumentException,
483 ::com::sun::star::embed::WrongStateException,
484 ::com::sun::star::uno::Exception,
485 ::com::sun::star::uno::RuntimeException);
486 virtual ::com::sun::star::embed::VisualRepresentation SAL_CALL getPreferredVisualRepresentation(
487 ::sal_Int64 nAspect )
488 throw (::com::sun::star::lang::IllegalArgumentException,
489 ::com::sun::star::embed::WrongStateException,
490 ::com::sun::star::uno::Exception,
491 ::com::sun::star::uno::RuntimeException);
492 virtual ::sal_Int32 SAL_CALL getMapUnit(
493 ::sal_Int64 nAspect )
494 throw (::com::sun::star::uno::Exception,
495 ::com::sun::star::uno::RuntimeException);
497 // ____ XMultiServiceFactory ____
498 virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
499 createInstance( const ::rtl::OUString& aServiceSpecifier )
500 throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
501 virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
502 createInstanceWithArguments( const ::rtl::OUString& ServiceSpecifier
503 , const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& Arguments )
504 throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
505 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL
506 getAvailableServiceNames() throw (::com::sun::star::uno::RuntimeException);
508 // ____ XStorageBasedDocument ____
509 virtual void SAL_CALL loadFromStorage(
510 const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage,
511 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rMediaDescriptor )
512 throw (::com::sun::star::lang::IllegalArgumentException,
513 ::com::sun::star::frame::DoubleInitializationException,
514 ::com::sun::star::io::IOException,
515 ::com::sun::star::uno::Exception,
516 ::com::sun::star::uno::RuntimeException);
517 virtual void SAL_CALL storeToStorage(
518 const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage,
519 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rMediaDescriptor )
520 throw (::com::sun::star::lang::IllegalArgumentException,
521 ::com::sun::star::io::IOException,
522 ::com::sun::star::uno::Exception,
523 ::com::sun::star::uno::RuntimeException);
524 virtual void SAL_CALL switchToStorage(
525 const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage )
526 throw (::com::sun::star::lang::IllegalArgumentException,
527 ::com::sun::star::io::IOException,
528 ::com::sun::star::uno::Exception,
529 ::com::sun::star::uno::RuntimeException);
530 virtual ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > SAL_CALL getDocumentStorage()
531 throw (::com::sun::star::io::IOException,
532 ::com::sun::star::uno::Exception,
533 ::com::sun::star::uno::RuntimeException);
534 virtual void SAL_CALL addStorageChangeListener(
535 const ::com::sun::star::uno::Reference< ::com::sun::star::document::XStorageChangeListener >& xListener )
536 throw (::com::sun::star::uno::RuntimeException);
537 virtual void SAL_CALL removeStorageChangeListener(
538 const ::com::sun::star::uno::Reference< ::com::sun::star::document::XStorageChangeListener >& xListener )
539 throw (::com::sun::star::uno::RuntimeException);
541 // for SvNumberFormatsSupplierObj
542 // ____ XUnoTunnel ___
543 virtual ::sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< ::sal_Int8 >& aIdentifier )
544 throw (::com::sun::star::uno::RuntimeException);
546 // ____ XNumberFormatsSupplier ____
547 virtual ::com::sun::star::uno::Reference<
548 ::com::sun::star::beans::XPropertySet > SAL_CALL getNumberFormatSettings()
549 throw (::com::sun::star::uno::RuntimeException);
550 virtual ::com::sun::star::uno::Reference<
551 ::com::sun::star::util::XNumberFormats > SAL_CALL getNumberFormats()
552 throw (::com::sun::star::uno::RuntimeException);
554 // ____ XChild ____
555 virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getParent()
556 throw (::com::sun::star::uno::RuntimeException);
557 virtual void SAL_CALL setParent(
558 const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& Parent )
559 throw (::com::sun::star::lang::NoSupportException,
560 ::com::sun::star::uno::RuntimeException);
562 // ____ XUndoSupplier ____
563 virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XUndoManager > SAL_CALL getUndoManager()
564 throw (::com::sun::star::uno::RuntimeException);
566 // ____ XDataSource ____ allows access to the curently used data and data ranges
567 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XLabeledDataSequence > > SAL_CALL getDataSequences()
568 throw (::com::sun::star::uno::RuntimeException);
571 } // namespace chart
573 #endif