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