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