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