Line data Source code
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_CHART2_SOURCE_MODEL_MAIN_CHARTMODEL_HXX
20 : #define INCLUDED_CHART2_SOURCE_MODEL_MAIN_CHARTMODEL_HXX
21 :
22 : #include "LifeTime.hxx"
23 : #include "ServiceMacros.hxx"
24 :
25 : #include <com/sun/star/frame/XModel.hpp>
26 : #include <com/sun/star/frame/XStorable2.hpp>
27 : #include <com/sun/star/util/XModifiable.hpp>
28 : #include <com/sun/star/util/XCloseable.hpp>
29 : #include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
30 : #include <com/sun/star/document/XUndoManagerSupplier.hpp>
31 : #include <com/sun/star/document/XFilter.hpp>
32 : #include <com/sun/star/lang/XMultiServiceFactory.hpp>
33 : #include <com/sun/star/lang/XServiceInfo.hpp>
34 : #include <com/sun/star/lang/XInitialization.hpp>
35 : #include <com/sun/star/uno/XComponentContext.hpp>
36 : #include <com/sun/star/util/XCloneable.hpp>
37 : #include <com/sun/star/embed/XVisualObject.hpp>
38 : #include <com/sun/star/document/XStorageBasedDocument.hpp>
39 : #include <com/sun/star/lang/XUnoTunnel.hpp>
40 : #include <com/sun/star/util/XNumberFormatsSupplier.hpp>
41 : #include <com/sun/star/container/XChild.hpp>
42 : #include <com/sun/star/chart2/data/XDataSource.hpp>
43 : #include <com/sun/star/chart2/XChartTypeTemplate.hpp>
44 : #include <com/sun/star/container/XNameContainer.hpp>
45 : #include <com/sun/star/qa/XDumper.hpp>
46 :
47 : // public API
48 : #include <com/sun/star/chart2/data/XDataProvider.hpp>
49 : #include <com/sun/star/chart2/data/XDataReceiver.hpp>
50 :
51 : #include <com/sun/star/chart2/XChartDocument.hpp>
52 : #include <com/sun/star/chart2/XTitled.hpp>
53 :
54 : #include <com/sun/star/frame/XLoadable.hpp>
55 : #include <com/sun/star/embed/XEmbeddedObject.hpp>
56 : #include <com/sun/star/embed/XStorage.hpp>
57 : #include <com/sun/star/datatransfer/XTransferable.hpp>
58 :
59 : #ifndef INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_22
60 : #define INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_22
61 : #define COMPHELPER_IMPLBASE_INTERFACE_NUMBER 22
62 : #include "comphelper/implbase_var.hxx"
63 : #endif
64 : #include <osl/mutex.hxx>
65 : #include <rtl/ref.hxx>
66 : #include <cppuhelper/interfacecontainer.hxx>
67 : #include <svtools/grfmgr.hxx>
68 :
69 : #include <boost/scoped_ptr.hpp>
70 :
71 : class SvNumberFormatter;
72 :
73 : namespace chart
74 : {
75 :
76 : namespace impl
77 : {
78 :
79 : // Note: needed for queryInterface (if it calls the base-class implementation)
80 : typedef ::comphelper::WeakImplHelper22<
81 : // ::com::sun::star::frame::XModel //comprehends XComponent (required interface), base of XChartDocument
82 : ::com::sun::star::util::XCloseable //comprehends XCloseBroadcaster
83 : ,::com::sun::star::frame::XStorable2 //(extension of XStorable)
84 : ,::com::sun::star::util::XModifiable //comprehends XModifyBroadcaster (required interface)
85 : ,::com::sun::star::lang::XServiceInfo
86 : ,::com::sun::star::lang::XInitialization
87 : ,::com::sun::star::chart2::XChartDocument // derived from XModel
88 : ,::com::sun::star::chart2::data::XDataReceiver // public API
89 : ,::com::sun::star::chart2::XTitled
90 : ,::com::sun::star::frame::XLoadable
91 : ,::com::sun::star::util::XCloneable
92 : ,::com::sun::star::embed::XVisualObject
93 : ,::com::sun::star::lang::XMultiServiceFactory
94 : ,::com::sun::star::document::XStorageBasedDocument
95 : ,::com::sun::star::lang::XUnoTunnel
96 : ,::com::sun::star::util::XNumberFormatsSupplier
97 : ,::com::sun::star::container::XChild
98 : ,::com::sun::star::util::XModifyListener
99 : ,::com::sun::star::datatransfer::XTransferable
100 : ,::com::sun::star::document::XDocumentPropertiesSupplier
101 : ,::com::sun::star::chart2::data::XDataSource
102 : ,::com::sun::star::document::XUndoManagerSupplier
103 : ,::com::sun::star::qa::XDumper
104 : >
105 : ChartModel_Base;
106 : }
107 :
108 : class UndoManager;
109 : class ChartView;
110 :
111 : class OOO_DLLPUBLIC_CHARTTOOLS ChartModel : public impl::ChartModel_Base
112 : {
113 :
114 : private:
115 : mutable ::apphelper::CloseableLifeTimeManager m_aLifeTimeManager;
116 :
117 : mutable ::osl::Mutex m_aModelMutex;
118 : sal_Bool volatile m_bReadOnly;
119 : sal_Bool volatile m_bModified;
120 : sal_Int32 m_nInLoad;
121 : sal_Bool volatile m_bUpdateNotificationsPending;
122 :
123 : bool mbTimeBased;
124 :
125 : com::sun::star::uno::Reference< com::sun::star::uno::XInterface > xChartView; // for the ref count
126 : ChartView* mpChartView;
127 :
128 : OUString m_aResource;
129 : ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > m_aMediaDescriptor;
130 : ::com::sun::star::uno::Reference< ::com::sun::star::document::XDocumentProperties > m_xDocumentProperties;
131 : ::rtl::Reference< UndoManager > m_pUndoManager;
132 :
133 : ::cppu::OInterfaceContainerHelper m_aControllers;
134 : ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController > m_xCurrentController;
135 : sal_uInt16 m_nControllerLockCount;
136 :
137 : ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
138 : ::com::sun::star::uno::Reference< ::com::sun::star::uno::XAggregation > m_xOldModelAgg;
139 :
140 : ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xStorage;
141 : //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.
142 : ::com::sun::star::awt::Size m_aVisualAreaSize;
143 : ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > m_xParent;
144 : ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XRangeHighlighter > m_xRangeHighlighter;
145 : ::std::vector< GraphicObject > m_aGraphicObjectVector;
146 :
147 : ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataProvider > m_xDataProvider;
148 : /** is only valid if m_xDataProvider is set. If m_xDataProvider is set to an
149 : external data provider this reference must be set to 0
150 : */
151 : ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataProvider > m_xInternalDataProvider;
152 :
153 : ::com::sun::star::uno::Reference< com::sun::star::util::XNumberFormatsSupplier >
154 : m_xOwnNumberFormatsSupplier;
155 : ::com::sun::star::uno::Reference< com::sun::star::util::XNumberFormatsSupplier >
156 : m_xNumberFormatsSupplier;
157 : boost::scoped_ptr< SvNumberFormatter > m_apSvNumberFormatter; // #i113784# avoid memory leak
158 :
159 : ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartTypeManager >
160 : m_xChartTypeManager;
161 :
162 : // Diagram Access
163 : ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XDiagram >
164 : m_xDiagram;
165 :
166 : ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XTitle >
167 : m_xTitle;
168 :
169 : ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >
170 : m_xPageBackground;
171 :
172 : ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess> m_xXMLNamespaceMap;
173 :
174 : ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener > m_xModifyListener;
175 :
176 : private:
177 : //private methods
178 :
179 : OUString impl_g_getLocation();
180 :
181 : sal_Bool
182 : impl_isControllerConnected( const com::sun::star::uno::Reference<
183 : com::sun::star::frame::XController >& xController );
184 :
185 : com::sun::star::uno::Reference< com::sun::star::frame::XController >
186 : impl_getCurrentController()
187 : throw( com::sun::star::uno::RuntimeException);
188 :
189 : void SAL_CALL
190 : impl_notifyModifiedListeners()
191 : throw( com::sun::star::uno::RuntimeException);
192 : void SAL_CALL
193 : impl_notifyCloseListeners()
194 : throw( com::sun::star::uno::RuntimeException);
195 : void SAL_CALL
196 : impl_notifyStorageChangeListeners()
197 : throw(::com::sun::star::uno::RuntimeException);
198 :
199 : void impl_store(
200 : const ::com::sun::star::uno::Sequence<
201 : ::com::sun::star::beans::PropertyValue >& rMediaDescriptor,
202 : const ::com::sun::star::uno::Reference<
203 : ::com::sun::star::embed::XStorage > & xStorage );
204 : void impl_load(
205 : const ::com::sun::star::uno::Sequence<
206 : ::com::sun::star::beans::PropertyValue >& rMediaDescriptor,
207 : const ::com::sun::star::uno::Reference<
208 : ::com::sun::star::embed::XStorage >& xStorage );
209 : void impl_loadGraphics(
210 : const ::com::sun::star::uno::Reference<
211 : ::com::sun::star::embed::XStorage >& xStorage );
212 : ::com::sun::star::uno::Reference<
213 : ::com::sun::star::document::XFilter >
214 : impl_createFilter( const ::com::sun::star::uno::Sequence<
215 : ::com::sun::star::beans::PropertyValue > & rMediaDescriptor );
216 :
217 : ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartTypeTemplate > impl_createDefaultChartTypeTemplate();
218 : ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSource > impl_createDefaultData();
219 :
220 : void impl_adjustAdditionalShapesPositionAndSize(
221 : const ::com::sun::star::awt::Size& aVisualAreaSize );
222 :
223 : public:
224 : //no default constructor
225 : ChartModel(::com::sun::star::uno::Reference<
226 : ::com::sun::star::uno::XComponentContext > const & xContext);
227 : explicit ChartModel( const ChartModel & rOther );
228 : virtual ~ChartModel();
229 :
230 : // ::com::sun::star::lang::XServiceInfo
231 :
232 : APPHELPER_XSERVICEINFO_DECL()
233 0 : APPHELPER_SERVICE_FACTORY_HELPER(ChartModel)
234 :
235 : // ::com::sun::star::lang::XInitialization
236 : virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments )
237 : throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
238 :
239 : // ::com::sun::star::frame::XModel (required interface)
240 :
241 : virtual sal_Bool SAL_CALL
242 : attachResource( const OUString& rURL
243 : , const ::com::sun::star::uno::Sequence<
244 : ::com::sun::star::beans::PropertyValue >& rMediaDescriptor )
245 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
246 :
247 : virtual OUString SAL_CALL
248 : getURL() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
249 :
250 : virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL
251 : getArgs() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
252 :
253 : virtual void SAL_CALL
254 : connectController( const ::com::sun::star::uno::Reference<
255 : ::com::sun::star::frame::XController >& xController )
256 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
257 :
258 : virtual void SAL_CALL
259 : disconnectController( const ::com::sun::star::uno::Reference<
260 : ::com::sun::star::frame::XController >& xController )
261 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
262 :
263 : virtual void SAL_CALL
264 : lockControllers() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
265 :
266 : virtual void SAL_CALL
267 : unlockControllers() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
268 :
269 : virtual sal_Bool SAL_CALL
270 : hasControllersLocked()
271 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
272 :
273 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController > SAL_CALL
274 : getCurrentController()
275 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
276 :
277 : virtual void SAL_CALL
278 : setCurrentController( const ::com::sun::star::uno::Reference<
279 : ::com::sun::star::frame::XController >& xController )
280 : throw (::com::sun::star::container::NoSuchElementException
281 : , ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
282 :
283 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
284 : getCurrentSelection()
285 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
286 :
287 : // ::com::sun::star::lang::XComponent (base of XModel)
288 : virtual void SAL_CALL
289 : dispose() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
290 :
291 : virtual void SAL_CALL
292 : addEventListener( const ::com::sun::star::uno::Reference<
293 : ::com::sun::star::lang::XEventListener > & xListener )
294 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
295 :
296 : virtual void SAL_CALL
297 : removeEventListener( const ::com::sun::star::uno::Reference<
298 : ::com::sun::star::lang::XEventListener > & xListener )
299 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
300 :
301 : // ::com::sun::star::util::XCloseable
302 : virtual void SAL_CALL
303 : close( sal_Bool bDeliverOwnership )
304 : throw(::com::sun::star::util::CloseVetoException,
305 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
306 :
307 : // ::com::sun::star::util::XCloseBroadcaster (base of XCloseable)
308 : virtual void SAL_CALL
309 : addCloseListener( const ::com::sun::star::uno::Reference<
310 : ::com::sun::star::util::XCloseListener > & xListener )
311 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
312 :
313 : virtual void SAL_CALL
314 : removeCloseListener( const ::com::sun::star::uno::Reference<
315 : ::com::sun::star::util::XCloseListener > & xListener )
316 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
317 :
318 : // ::com::sun::star::frame::XStorable2 (extension of XStorable)
319 : virtual void SAL_CALL storeSelf(
320 : const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rMediaDescriptor )
321 : throw (::com::sun::star::lang::IllegalArgumentException,
322 : ::com::sun::star::io::IOException,
323 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
324 :
325 : // ::com::sun::star::frame::XStorable (required interface)
326 : virtual sal_Bool SAL_CALL
327 : hasLocation() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
328 :
329 : virtual OUString SAL_CALL
330 : getLocation() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
331 :
332 : virtual sal_Bool SAL_CALL
333 : isReadonly() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
334 :
335 : virtual void SAL_CALL
336 : store() throw (::com::sun::star::io::IOException
337 : , ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
338 :
339 : virtual void SAL_CALL
340 : storeAsURL( const OUString& rURL
341 : , const ::com::sun::star::uno::Sequence<
342 : ::com::sun::star::beans::PropertyValue >& rMediaDescriptor )
343 : throw (::com::sun::star::io::IOException
344 : , ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
345 :
346 : virtual void SAL_CALL
347 : storeToURL( const OUString& rURL
348 : , const ::com::sun::star::uno::Sequence<
349 : ::com::sun::star::beans::PropertyValue >& rMediaDescriptor )
350 : throw (::com::sun::star::io::IOException
351 : , ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
352 :
353 : // ::com::sun::star::util::XModifiable (required interface)
354 : virtual sal_Bool SAL_CALL
355 : isModified() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
356 :
357 : virtual void SAL_CALL
358 : setModified( sal_Bool bModified )
359 : throw (::com::sun::star::beans::PropertyVetoException
360 : , ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
361 :
362 : // ::com::sun::star::util::XModifyBroadcaster (base of XModifiable)
363 : virtual void SAL_CALL
364 : addModifyListener( const ::com::sun::star::uno::Reference<
365 : ::com::sun::star::util::XModifyListener >& xListener )
366 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
367 :
368 : virtual void SAL_CALL
369 : removeModifyListener( const ::com::sun::star::uno::Reference<
370 : ::com::sun::star::util::XModifyListener >& xListener )
371 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
372 :
373 : // ____ XModifyListener ____
374 : virtual void SAL_CALL modified(
375 : const ::com::sun::star::lang::EventObject& aEvent )
376 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
377 :
378 : // ____ XEventListener (base of XModifyListener) ____
379 : virtual void SAL_CALL disposing(
380 : const ::com::sun::star::lang::EventObject& Source )
381 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
382 :
383 : // ____ datatransferable::XTransferable ____
384 : virtual ::com::sun::star::uno::Any SAL_CALL getTransferData(
385 : const ::com::sun::star::datatransfer::DataFlavor& aFlavor )
386 : throw (::com::sun::star::datatransfer::UnsupportedFlavorException,
387 : ::com::sun::star::io::IOException,
388 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
389 : virtual ::com::sun::star::uno::Sequence< ::com::sun::star::datatransfer::DataFlavor > SAL_CALL getTransferDataFlavors()
390 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
391 : virtual sal_Bool SAL_CALL isDataFlavorSupported(
392 : const ::com::sun::star::datatransfer::DataFlavor& aFlavor )
393 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
394 :
395 : // lang::XTypeProvider (overloaded method of WeakImplHelper)
396 : virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL
397 : getTypes() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
398 :
399 : // ____ document::XDocumentPropertiesSupplier ____
400 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XDocumentProperties > SAL_CALL
401 : getDocumentProperties( ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
402 :
403 : // ____ document::XUndoManagerSupplier ____
404 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XUndoManager > SAL_CALL
405 : getUndoManager( ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
406 :
407 : // ::com::sun::star::chart2::XChartDocument
408 : virtual ::com::sun::star::uno::Reference<
409 : ::com::sun::star::chart2::XDiagram > SAL_CALL
410 : getFirstDiagram() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
411 : virtual void SAL_CALL setFirstDiagram(
412 : const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XDiagram >& xDiagram )
413 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
414 : virtual void SAL_CALL
415 : createInternalDataProvider( sal_Bool bCloneExistingData )
416 : throw (::com::sun::star::util::CloseVetoException,
417 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
418 : virtual sal_Bool SAL_CALL hasInternalDataProvider()
419 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
420 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataProvider > SAL_CALL
421 : getDataProvider()
422 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
423 : virtual void SAL_CALL
424 : setChartTypeManager( const ::com::sun::star::uno::Reference<
425 : ::com::sun::star::chart2::XChartTypeManager >& xNewManager )
426 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
427 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartTypeManager > SAL_CALL
428 : getChartTypeManager()
429 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
430 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL
431 : getPageBackground()
432 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
433 :
434 : // ____ XDataReceiver (public API) ____
435 : virtual void SAL_CALL
436 : attachDataProvider( const ::com::sun::star::uno::Reference<
437 : ::com::sun::star::chart2::data::XDataProvider >& xProvider )
438 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
439 : virtual void SAL_CALL setArguments(
440 : const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArguments )
441 : throw (::com::sun::star::lang::IllegalArgumentException,
442 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
443 : virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getUsedRangeRepresentations()
444 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
445 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSource > SAL_CALL getUsedData()
446 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
447 : virtual void SAL_CALL attachNumberFormatsSupplier( const ::com::sun::star::uno::Reference<
448 : ::com::sun::star::util::XNumberFormatsSupplier >& xSupplier )
449 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
450 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XRangeHighlighter > SAL_CALL getRangeHighlighter()
451 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
452 :
453 : // ____ XTitled ____
454 : virtual ::com::sun::star::uno::Reference<
455 : ::com::sun::star::chart2::XTitle > SAL_CALL getTitleObject()
456 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
457 : virtual void SAL_CALL setTitleObject( const ::com::sun::star::uno::Reference<
458 : ::com::sun::star::chart2::XTitle >& Title )
459 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
460 :
461 : // ____ XInterface (for old API wrapper) ____
462 : virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType )
463 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
464 :
465 : // ____ XLoadable ____
466 : virtual void SAL_CALL initNew()
467 : throw (::com::sun::star::frame::DoubleInitializationException,
468 : ::com::sun::star::io::IOException,
469 : ::com::sun::star::uno::Exception,
470 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
471 : virtual void SAL_CALL load( const ::com::sun::star::uno::Sequence<
472 : ::com::sun::star::beans::PropertyValue >& rMediaDescriptor )
473 : throw (::com::sun::star::frame::DoubleInitializationException,
474 : ::com::sun::star::io::IOException,
475 : ::com::sun::star::uno::Exception,
476 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
477 :
478 : // ____ XCloneable ____
479 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone()
480 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
481 :
482 : // ____ XVisualObject ____
483 : virtual void SAL_CALL setVisualAreaSize(
484 : ::sal_Int64 nAspect,
485 : const ::com::sun::star::awt::Size& aSize )
486 : throw (::com::sun::star::lang::IllegalArgumentException,
487 : ::com::sun::star::embed::WrongStateException,
488 : ::com::sun::star::uno::Exception,
489 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
490 : virtual ::com::sun::star::awt::Size SAL_CALL getVisualAreaSize(
491 : ::sal_Int64 nAspect )
492 : throw (::com::sun::star::lang::IllegalArgumentException,
493 : ::com::sun::star::embed::WrongStateException,
494 : ::com::sun::star::uno::Exception,
495 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
496 : virtual ::com::sun::star::embed::VisualRepresentation SAL_CALL getPreferredVisualRepresentation(
497 : ::sal_Int64 nAspect )
498 : throw (::com::sun::star::lang::IllegalArgumentException,
499 : ::com::sun::star::embed::WrongStateException,
500 : ::com::sun::star::uno::Exception,
501 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
502 : virtual ::sal_Int32 SAL_CALL getMapUnit(
503 : ::sal_Int64 nAspect )
504 : throw (::com::sun::star::uno::Exception,
505 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
506 :
507 : // ____ XMultiServiceFactory ____
508 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
509 : createInstance( const OUString& aServiceSpecifier )
510 : throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
511 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
512 : createInstanceWithArguments( const OUString& ServiceSpecifier
513 : , const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& Arguments )
514 : throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
515 : virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL
516 : getAvailableServiceNames() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
517 :
518 : // ____ XStorageBasedDocument ____
519 : virtual void SAL_CALL loadFromStorage(
520 : const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage,
521 : const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rMediaDescriptor )
522 : throw (::com::sun::star::lang::IllegalArgumentException,
523 : ::com::sun::star::frame::DoubleInitializationException,
524 : ::com::sun::star::io::IOException,
525 : ::com::sun::star::uno::Exception,
526 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
527 : virtual void SAL_CALL storeToStorage(
528 : const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage,
529 : const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rMediaDescriptor )
530 : throw (::com::sun::star::lang::IllegalArgumentException,
531 : ::com::sun::star::io::IOException,
532 : ::com::sun::star::uno::Exception,
533 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
534 : virtual void SAL_CALL switchToStorage(
535 : const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage )
536 : throw (::com::sun::star::lang::IllegalArgumentException,
537 : ::com::sun::star::io::IOException,
538 : ::com::sun::star::uno::Exception,
539 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
540 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > SAL_CALL getDocumentStorage()
541 : throw (::com::sun::star::io::IOException,
542 : ::com::sun::star::uno::Exception,
543 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
544 : virtual void SAL_CALL addStorageChangeListener(
545 : const ::com::sun::star::uno::Reference< ::com::sun::star::document::XStorageChangeListener >& xListener )
546 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
547 : virtual void SAL_CALL removeStorageChangeListener(
548 : const ::com::sun::star::uno::Reference< ::com::sun::star::document::XStorageChangeListener >& xListener )
549 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
550 :
551 : // for SvNumberFormatsSupplierObj
552 : // ____ XUnoTunnel ___
553 : virtual ::sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< ::sal_Int8 >& aIdentifier )
554 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
555 :
556 : // ____ XNumberFormatsSupplier ____
557 : virtual ::com::sun::star::uno::Reference<
558 : ::com::sun::star::beans::XPropertySet > SAL_CALL getNumberFormatSettings()
559 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
560 : virtual ::com::sun::star::uno::Reference<
561 : ::com::sun::star::util::XNumberFormats > SAL_CALL getNumberFormats()
562 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
563 :
564 : // ____ XChild ____
565 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getParent()
566 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
567 : virtual void SAL_CALL setParent(
568 : const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& Parent )
569 : throw (::com::sun::star::lang::NoSupportException,
570 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
571 :
572 : // ____ XDataSource ____ allows access to the curently used data and data ranges
573 : virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XLabeledDataSequence > > SAL_CALL getDataSequences()
574 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
575 :
576 : // XDumper
577 : virtual OUString SAL_CALL dump()
578 : throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
579 :
580 : // normal methods
581 : ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier >
582 : getNumberFormatsSupplier();
583 :
584 : bool isTimeBased() const;
585 : void setTimeBased(bool bTimeBased);
586 :
587 : void getNextTimePoint();
588 : void setTimeBasedRange(sal_Int32 nStart, sal_Int32 nEnd);
589 :
590 : sal_Int32 mnStart;
591 : sal_Int32 mnEnd;
592 : bool bSet;
593 : };
594 :
595 : } // namespace chart
596 :
597 : #endif
598 :
599 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|