1*08421ca6SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*08421ca6SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*08421ca6SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*08421ca6SAndrew Rist * distributed with this work for additional information 6*08421ca6SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*08421ca6SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*08421ca6SAndrew Rist * "License"); you may not use this file except in compliance 9*08421ca6SAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*08421ca6SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*08421ca6SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*08421ca6SAndrew Rist * software distributed under the License is distributed on an 15*08421ca6SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*08421ca6SAndrew Rist * KIND, either express or implied. See the License for the 17*08421ca6SAndrew Rist * specific language governing permissions and limitations 18*08421ca6SAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*08421ca6SAndrew Rist *************************************************************/ 21*08421ca6SAndrew Rist 22*08421ca6SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef _INC_COMMONEMBOBJ_HXX_ 25cdf0e10cSrcweir #define _INC_COMMONEMBOBJ_HXX_ 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include <com/sun/star/uno/Sequence.hxx> 28cdf0e10cSrcweir #include <com/sun/star/uno/Reference.hxx> 29cdf0e10cSrcweir #include <com/sun/star/uno/Any.hxx> 30cdf0e10cSrcweir #include <com/sun/star/container/XChild.hpp> 31cdf0e10cSrcweir #include <com/sun/star/document/XStorageBasedDocument.hpp> 32cdf0e10cSrcweir #include <com/sun/star/embed/XEmbeddedObject.hpp> 33cdf0e10cSrcweir #include <com/sun/star/embed/XVisualObject.hpp> 34cdf0e10cSrcweir #include <com/sun/star/embed/XEmbedPersist.hpp> 35cdf0e10cSrcweir #include <com/sun/star/embed/XLinkageSupport.hpp> 36cdf0e10cSrcweir #include <com/sun/star/embed/XClassifiedObject.hpp> 37cdf0e10cSrcweir #include <com/sun/star/embed/XComponentSupplier.hpp> 38cdf0e10cSrcweir #include <com/sun/star/embed/XInplaceObject.hpp> 39cdf0e10cSrcweir #include <com/sun/star/embed/XStateChangeBroadcaster.hpp> 40cdf0e10cSrcweir #include <com/sun/star/awt/XWindow.hpp> 41cdf0e10cSrcweir #include <com/sun/star/awt/Rectangle.hpp> 42cdf0e10cSrcweir #include <com/sun/star/document/XEventBroadcaster.hpp> 43cdf0e10cSrcweir #include <com/sun/star/util/XCloseable.hpp> 44cdf0e10cSrcweir #include <com/sun/star/chart2/XDefaultSizeTransmitter.hpp> 45cdf0e10cSrcweir #include <cppuhelper/weak.hxx> 46cdf0e10cSrcweir 47cdf0e10cSrcweir namespace com { namespace sun { namespace star { 48cdf0e10cSrcweir namespace embed { 49cdf0e10cSrcweir class XStorage; 50cdf0e10cSrcweir } 51cdf0e10cSrcweir namespace frame { 52cdf0e10cSrcweir class XModel; 53cdf0e10cSrcweir class XFrame; 54cdf0e10cSrcweir } 55cdf0e10cSrcweir namespace lang { 56cdf0e10cSrcweir class XMultiServiceFactory; 57cdf0e10cSrcweir } 58cdf0e10cSrcweir namespace util { 59cdf0e10cSrcweir class XCloseListener; 60cdf0e10cSrcweir } 61cdf0e10cSrcweir namespace beans { 62cdf0e10cSrcweir struct PropertyValue; 63cdf0e10cSrcweir struct NamedValue; 64cdf0e10cSrcweir } 65cdf0e10cSrcweir }}} 66cdf0e10cSrcweir 67cdf0e10cSrcweir namespace cppu { 68cdf0e10cSrcweir class OMultiTypeInterfaceContainerHelper; 69cdf0e10cSrcweir } 70cdf0e10cSrcweir 71cdf0e10cSrcweir namespace comphelper { 72cdf0e10cSrcweir class NamedValueCollection; 73cdf0e10cSrcweir } 74cdf0e10cSrcweir 75cdf0e10cSrcweir #define NUM_SUPPORTED_STATES 5 76cdf0e10cSrcweir // #define NUM_SUPPORTED_VERBS 5 77cdf0e10cSrcweir 78cdf0e10cSrcweir #include "docholder.hxx" 79cdf0e10cSrcweir 80cdf0e10cSrcweir class Interceptor; 81cdf0e10cSrcweir 82cdf0e10cSrcweir class OCommonEmbeddedObject : public ::com::sun::star::embed::XEmbeddedObject 83cdf0e10cSrcweir , public ::com::sun::star::embed::XEmbedPersist 84cdf0e10cSrcweir , public ::com::sun::star::embed::XLinkageSupport 85cdf0e10cSrcweir , public ::com::sun::star::embed::XInplaceObject 86cdf0e10cSrcweir , public ::com::sun::star::container::XChild 87cdf0e10cSrcweir , public ::com::sun::star::chart2::XDefaultSizeTransmitter 88cdf0e10cSrcweir , public ::cppu::OWeakObject 89cdf0e10cSrcweir { 90cdf0e10cSrcweir protected: 91cdf0e10cSrcweir ::osl::Mutex m_aMutex; 92cdf0e10cSrcweir 93cdf0e10cSrcweir DocumentHolder* m_pDocHolder; 94cdf0e10cSrcweir 95cdf0e10cSrcweir ::cppu::OMultiTypeInterfaceContainerHelper* m_pInterfaceContainer; 96cdf0e10cSrcweir 97cdf0e10cSrcweir sal_Bool m_bReadOnly; 98cdf0e10cSrcweir 99cdf0e10cSrcweir sal_Bool m_bDisposed; 100cdf0e10cSrcweir sal_Bool m_bClosed; 101cdf0e10cSrcweir 102cdf0e10cSrcweir sal_Int32 m_nObjectState; 103cdf0e10cSrcweir sal_Int32 m_nTargetState; // should be -1 exept during state changing 104cdf0e10cSrcweir sal_Int32 m_nUpdateMode; 105cdf0e10cSrcweir 106cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xFactory; 107cdf0e10cSrcweir 108cdf0e10cSrcweir ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > m_aDocMediaDescriptor; 109cdf0e10cSrcweir 110cdf0e10cSrcweir ::com::sun::star::uno::Sequence< sal_Int8 > m_aClassID; 111cdf0e10cSrcweir ::rtl::OUString m_aClassName; 112cdf0e10cSrcweir 113cdf0e10cSrcweir ::rtl::OUString m_aDocServiceName; 114cdf0e10cSrcweir ::rtl::OUString m_aPresetFilterName; 115cdf0e10cSrcweir 116cdf0e10cSrcweir sal_Int64 m_nMiscStatus; 117cdf0e10cSrcweir 118cdf0e10cSrcweir ::com::sun::star::uno::Sequence< ::com::sun::star::embed::VerbDescriptor > m_aObjectVerbs; 119cdf0e10cSrcweir 120cdf0e10cSrcweir ::com::sun::star::uno::Sequence< sal_Int32 > m_aAcceptedStates; 121cdf0e10cSrcweir ::com::sun::star::uno::Sequence< sal_Int32 > m_pIntermediateStatesSeqs[NUM_SUPPORTED_STATES][NUM_SUPPORTED_STATES]; 122cdf0e10cSrcweir ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< sal_Int32 > > m_aVerbTable; 123cdf0e10cSrcweir 124cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::embed::XEmbeddedClient > m_xClientSite; 125cdf0e10cSrcweir 126cdf0e10cSrcweir ::rtl::OUString m_aContainerName; 127cdf0e10cSrcweir ::rtl::OUString m_aDefaultParentBaseURL; 128cdf0e10cSrcweir ::rtl::OUString m_aModuleName; 129cdf0e10cSrcweir sal_Bool m_bEmbeddedScriptSupport; 130cdf0e10cSrcweir sal_Bool m_bDocumentRecoverySupport; 131cdf0e10cSrcweir 132cdf0e10cSrcweir Interceptor* m_pInterceptor; 133cdf0e10cSrcweir 134cdf0e10cSrcweir // following information will be used between SaveAs and SaveCompleted 135cdf0e10cSrcweir sal_Bool m_bWaitSaveCompleted; 136cdf0e10cSrcweir ::rtl::OUString m_aNewEntryName; 137cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xNewParentStorage; 138cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xNewObjectStorage; 139cdf0e10cSrcweir ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > m_aNewDocMediaDescriptor; 140cdf0e10cSrcweir 141cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > m_xClientWindow; // ??? 142cdf0e10cSrcweir ::com::sun::star::awt::Rectangle m_aOwnRectangle; 143cdf0e10cSrcweir ::com::sun::star::awt::Rectangle m_aClipRectangle; 144cdf0e10cSrcweir 145cdf0e10cSrcweir sal_Bool m_bIsLink; 146cdf0e10cSrcweir 147cdf0e10cSrcweir // embedded object related stuff 148cdf0e10cSrcweir ::rtl::OUString m_aEntryName; 149cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xParentStorage; 150cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xObjectStorage; 151cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xRecoveryStorage; 152cdf0e10cSrcweir 153cdf0e10cSrcweir // link related stuff 154cdf0e10cSrcweir ::rtl::OUString m_aLinkURL; 155cdf0e10cSrcweir ::rtl::OUString m_aLinkFilterName; 156cdf0e10cSrcweir sal_Bool m_bLinkHasPassword; 157cdf0e10cSrcweir ::rtl::OUString m_aLinkPassword; 158cdf0e10cSrcweir 159cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > m_xParent; 160cdf0e10cSrcweir 161cdf0e10cSrcweir sal_Bool m_bHasClonedSize; // the object has cached size 162cdf0e10cSrcweir ::com::sun::star::awt::Size m_aClonedSize; 163cdf0e10cSrcweir sal_Int32 m_nClonedMapUnit; 164cdf0e10cSrcweir ::com::sun::star::awt::Size m_aDefaultSizeForChart_In_100TH_MM;//#i103460# charts do not necessaryly have an own size within ODF files, in this case they need to use the size settings from the surrounding frame, which is made available with this member 165cdf0e10cSrcweir 166cdf0e10cSrcweir private: 167cdf0e10cSrcweir void CommonInit_Impl( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aObjectProps ); 168cdf0e10cSrcweir 169cdf0e10cSrcweir void LinkInit_Impl( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aObjectProps, 170cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aMediaDescr, 171cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aObjectDescr ); 172cdf0e10cSrcweir 173cdf0e10cSrcweir 174cdf0e10cSrcweir void SwitchOwnPersistence( 175cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xNewParentStorage, 176cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xNewObjectStorage, 177cdf0e10cSrcweir const ::rtl::OUString& aNewName ); 178cdf0e10cSrcweir 179cdf0e10cSrcweir void SwitchOwnPersistence( 180cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xNewParentStorage, 181cdf0e10cSrcweir const ::rtl::OUString& aNewName ); 182cdf0e10cSrcweir GetDocumentServiceName() const183cdf0e10cSrcweir ::rtl::OUString GetDocumentServiceName() const { return m_aDocServiceName; } GetPresetFilterName() const184cdf0e10cSrcweir ::rtl::OUString GetPresetFilterName() const { return m_aPresetFilterName; } 185cdf0e10cSrcweir 186cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > 187cdf0e10cSrcweir StoreDocumentToTempStream_Impl( sal_Int32 nStorageFormat, 188cdf0e10cSrcweir const ::rtl::OUString& aBaseURL, 189cdf0e10cSrcweir const ::rtl::OUString& aHierarchName ); 190cdf0e10cSrcweir 191cdf0e10cSrcweir sal_Int32 ConvertVerbToState_Impl( sal_Int32 nVerb ); 192cdf0e10cSrcweir 193cdf0e10cSrcweir void Deactivate(); 194cdf0e10cSrcweir 195cdf0e10cSrcweir void StateChangeNotification_Impl( sal_Bool bBeforeChange, sal_Int32 nOldState, sal_Int32 nNewState,::osl::ResettableMutexGuard& _rGuard ); 196cdf0e10cSrcweir 197cdf0e10cSrcweir void SwitchStateTo_Impl( sal_Int32 nNextState ); 198cdf0e10cSrcweir 199cdf0e10cSrcweir ::com::sun::star::uno::Sequence< sal_Int32 > GetIntermediateStatesSequence_Impl( sal_Int32 nNewState ); 200cdf0e10cSrcweir 201cdf0e10cSrcweir ::rtl::OUString GetFilterName( sal_Int32 nVersion ) const; 202cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > LoadDocumentFromStorage_Impl(); 203cdf0e10cSrcweir 204cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > LoadLink_Impl(); 205cdf0e10cSrcweir 206cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > InitNewDocument_Impl(); 207cdf0e10cSrcweir 208cdf0e10cSrcweir void StoreDocToStorage_Impl( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage, 209cdf0e10cSrcweir sal_Int32 nStorageVersion, 210cdf0e10cSrcweir const ::rtl::OUString& aBaseURL, 211cdf0e10cSrcweir const ::rtl::OUString& aHierarchName, 212cdf0e10cSrcweir sal_Bool bAttachToStorage ); 213cdf0e10cSrcweir 214cdf0e10cSrcweir void SwitchDocToStorage_Impl( 215cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::document::XStorageBasedDocument >& xDoc, 216cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage ); 217cdf0e10cSrcweir 218cdf0e10cSrcweir void FillDefaultLoadArgs_Impl( 219cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& i_rxStorage, 220cdf0e10cSrcweir ::comphelper::NamedValueCollection& o_rLoadArgs 221cdf0e10cSrcweir ) const; 222cdf0e10cSrcweir 223cdf0e10cSrcweir void EmbedAndReparentDoc_Impl( 224cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable >& i_rxDocument 225cdf0e10cSrcweir ) const; 226cdf0e10cSrcweir 227cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > CreateDocFromMediaDescr_Impl( 228cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aMedDescr ); 229cdf0e10cSrcweir 230cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > CreateTempDocFromLink_Impl(); 231cdf0e10cSrcweir 232cdf0e10cSrcweir ::rtl::OUString GetBaseURL_Impl() const; 233cdf0e10cSrcweir ::rtl::OUString GetBaseURLFrom_Impl( 234cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments, 235cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lObjArgs ); 236cdf0e10cSrcweir 237cdf0e10cSrcweir public: 238cdf0e10cSrcweir OCommonEmbeddedObject( 239cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xFactory, 240cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aObjectProps ); 241cdf0e10cSrcweir 242cdf0e10cSrcweir // no persistance for linked objects, so the descriptors are provided in constructor 243cdf0e10cSrcweir OCommonEmbeddedObject( 244cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xFactory, 245cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aObjectProps, 246cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aMediaDescr, 247cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aObjectDescr ); 248cdf0e10cSrcweir 249cdf0e10cSrcweir virtual ~OCommonEmbeddedObject(); 250cdf0e10cSrcweir 251cdf0e10cSrcweir void SaveObject_Impl(); 252cdf0e10cSrcweir 253cdf0e10cSrcweir void requestPositioning( const ::com::sun::star::awt::Rectangle& aRect ); 254cdf0e10cSrcweir 255cdf0e10cSrcweir // not a real listener and should not be 256cdf0e10cSrcweir void PostEvent_Impl( const ::rtl::OUString& aEventName, 257cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xSource = 258cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >() ); 259cdf0e10cSrcweir 260cdf0e10cSrcweir // XInterface 261cdf0e10cSrcweir 262cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& rType ) 263cdf0e10cSrcweir throw( ::com::sun::star::uno::RuntimeException ) ; 264cdf0e10cSrcweir 265cdf0e10cSrcweir virtual void SAL_CALL acquire() 266cdf0e10cSrcweir throw(); 267cdf0e10cSrcweir 268cdf0e10cSrcweir virtual void SAL_CALL release() 269cdf0e10cSrcweir throw(); 270cdf0e10cSrcweir 271cdf0e10cSrcweir // XTypeProvider 272cdf0e10cSrcweir 273cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() 274cdf0e10cSrcweir throw( ::com::sun::star::uno::RuntimeException ) ; 275cdf0e10cSrcweir 276cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() 277cdf0e10cSrcweir throw( ::com::sun::star::uno::RuntimeException ) ; 278cdf0e10cSrcweir 279cdf0e10cSrcweir // XEmbeddedObject 280cdf0e10cSrcweir 281cdf0e10cSrcweir virtual void SAL_CALL changeState( sal_Int32 nNewState ) 282cdf0e10cSrcweir throw ( ::com::sun::star::embed::UnreachableStateException, 283cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 284cdf0e10cSrcweir ::com::sun::star::uno::Exception, 285cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 286cdf0e10cSrcweir 287cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< sal_Int32 > SAL_CALL getReachableStates() 288cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 289cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 290cdf0e10cSrcweir 291cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getCurrentState() 292cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 293cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 294cdf0e10cSrcweir 295cdf0e10cSrcweir virtual void SAL_CALL doVerb( sal_Int32 nVerbID ) 296cdf0e10cSrcweir throw ( ::com::sun::star::lang::IllegalArgumentException, 297cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 298cdf0e10cSrcweir ::com::sun::star::embed::UnreachableStateException, 299cdf0e10cSrcweir ::com::sun::star::uno::Exception, 300cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 301cdf0e10cSrcweir 302cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::embed::VerbDescriptor > SAL_CALL getSupportedVerbs() 303cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 304cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 305cdf0e10cSrcweir 306cdf0e10cSrcweir virtual void SAL_CALL setClientSite( 307cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XEmbeddedClient >& xClient ) 308cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 309cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 310cdf0e10cSrcweir 311cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::embed::XEmbeddedClient > SAL_CALL getClientSite() 312cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 313cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 314cdf0e10cSrcweir 315cdf0e10cSrcweir virtual void SAL_CALL update() 316cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 317cdf0e10cSrcweir ::com::sun::star::uno::Exception, 318cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 319cdf0e10cSrcweir 320cdf0e10cSrcweir virtual void SAL_CALL setUpdateMode( sal_Int32 nMode ) 321cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 322cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 323cdf0e10cSrcweir 324cdf0e10cSrcweir virtual sal_Int64 SAL_CALL getStatus( sal_Int64 nAspect ) 325cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 326cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 327cdf0e10cSrcweir 328cdf0e10cSrcweir virtual void SAL_CALL setContainerName( const ::rtl::OUString& sName ) 329cdf0e10cSrcweir throw ( ::com::sun::star::uno::RuntimeException ); 330cdf0e10cSrcweir 331cdf0e10cSrcweir 332cdf0e10cSrcweir // XVisualObject 333cdf0e10cSrcweir 334cdf0e10cSrcweir virtual void SAL_CALL setVisualAreaSize( sal_Int64 nAspect, const ::com::sun::star::awt::Size& aSize ) 335cdf0e10cSrcweir throw ( ::com::sun::star::lang::IllegalArgumentException, 336cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 337cdf0e10cSrcweir ::com::sun::star::uno::Exception, 338cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 339cdf0e10cSrcweir 340cdf0e10cSrcweir virtual ::com::sun::star::awt::Size SAL_CALL getVisualAreaSize( sal_Int64 nAspect ) 341cdf0e10cSrcweir throw ( ::com::sun::star::lang::IllegalArgumentException, 342cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 343cdf0e10cSrcweir ::com::sun::star::uno::Exception, 344cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 345cdf0e10cSrcweir 346cdf0e10cSrcweir virtual ::com::sun::star::embed::VisualRepresentation SAL_CALL getPreferredVisualRepresentation( ::sal_Int64 nAspect ) 347cdf0e10cSrcweir throw ( ::com::sun::star::lang::IllegalArgumentException, 348cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 349cdf0e10cSrcweir ::com::sun::star::uno::Exception, 350cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 351cdf0e10cSrcweir 352cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getMapUnit( sal_Int64 nAspect ) 353cdf0e10cSrcweir throw ( ::com::sun::star::uno::Exception, 354cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 355cdf0e10cSrcweir 356cdf0e10cSrcweir // XEmbedPersist 357cdf0e10cSrcweir 358cdf0e10cSrcweir virtual void SAL_CALL setPersistentEntry( 359cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage, 360cdf0e10cSrcweir const ::rtl::OUString& sEntName, 361cdf0e10cSrcweir sal_Int32 nEntryConnectionMode, 362cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments, 363cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lObjArgs ) 364cdf0e10cSrcweir throw ( ::com::sun::star::lang::IllegalArgumentException, 365cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 366cdf0e10cSrcweir ::com::sun::star::io::IOException, 367cdf0e10cSrcweir ::com::sun::star::uno::Exception, 368cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 369cdf0e10cSrcweir 370cdf0e10cSrcweir virtual void SAL_CALL storeToEntry( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage, const ::rtl::OUString& sEntName, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lObjArgs ) 371cdf0e10cSrcweir throw ( ::com::sun::star::lang::IllegalArgumentException, 372cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 373cdf0e10cSrcweir ::com::sun::star::io::IOException, 374cdf0e10cSrcweir ::com::sun::star::uno::Exception, 375cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 376cdf0e10cSrcweir 377cdf0e10cSrcweir virtual void SAL_CALL storeAsEntry( 378cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage, 379cdf0e10cSrcweir const ::rtl::OUString& sEntName, 380cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments, 381cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lObjArgs ) 382cdf0e10cSrcweir throw ( ::com::sun::star::lang::IllegalArgumentException, 383cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 384cdf0e10cSrcweir ::com::sun::star::io::IOException, 385cdf0e10cSrcweir ::com::sun::star::uno::Exception, 386cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 387cdf0e10cSrcweir 388cdf0e10cSrcweir virtual void SAL_CALL saveCompleted( sal_Bool bUseNew ) 389cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 390cdf0e10cSrcweir ::com::sun::star::uno::Exception, 391cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 392cdf0e10cSrcweir 393cdf0e10cSrcweir virtual sal_Bool SAL_CALL hasEntry() 394cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 395cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 396cdf0e10cSrcweir 397cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getEntryName() 398cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 399cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 400cdf0e10cSrcweir 401cdf0e10cSrcweir // XLinkageSupport 402cdf0e10cSrcweir 403cdf0e10cSrcweir virtual void SAL_CALL breakLink( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage, 404cdf0e10cSrcweir const ::rtl::OUString& sEntName ) 405cdf0e10cSrcweir throw ( ::com::sun::star::lang::IllegalArgumentException, 406cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 407cdf0e10cSrcweir ::com::sun::star::io::IOException, 408cdf0e10cSrcweir ::com::sun::star::uno::Exception, 409cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 410cdf0e10cSrcweir 411cdf0e10cSrcweir virtual sal_Bool SAL_CALL isLink() 412cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 413cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 414cdf0e10cSrcweir 415cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getLinkURL() 416cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 417cdf0e10cSrcweir ::com::sun::star::uno::Exception, 418cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 419cdf0e10cSrcweir 420cdf0e10cSrcweir 421cdf0e10cSrcweir // XCommonEmbedPersist 422cdf0e10cSrcweir 423cdf0e10cSrcweir virtual void SAL_CALL storeOwn() 424cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 425cdf0e10cSrcweir ::com::sun::star::io::IOException, 426cdf0e10cSrcweir ::com::sun::star::uno::Exception, 427cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 428cdf0e10cSrcweir 429cdf0e10cSrcweir virtual sal_Bool SAL_CALL isReadonly() 430cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 431cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 432cdf0e10cSrcweir 433cdf0e10cSrcweir virtual void SAL_CALL reload( 434cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments, 435cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lObjArgs ) 436cdf0e10cSrcweir throw ( ::com::sun::star::lang::IllegalArgumentException, 437cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 438cdf0e10cSrcweir ::com::sun::star::io::IOException, 439cdf0e10cSrcweir ::com::sun::star::uno::Exception, 440cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 441cdf0e10cSrcweir 442cdf0e10cSrcweir 443cdf0e10cSrcweir // XInplaceObject 444cdf0e10cSrcweir 445cdf0e10cSrcweir virtual void SAL_CALL setObjectRectangles( const ::com::sun::star::awt::Rectangle& aPosRect, 446cdf0e10cSrcweir const ::com::sun::star::awt::Rectangle& aClipRect ) 447cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 448cdf0e10cSrcweir ::com::sun::star::uno::Exception, 449cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 450cdf0e10cSrcweir 451cdf0e10cSrcweir virtual void SAL_CALL enableModeless( sal_Bool bEnable ) 452cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 453cdf0e10cSrcweir ::com::sun::star::uno::Exception, 454cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 455cdf0e10cSrcweir 456cdf0e10cSrcweir virtual void SAL_CALL translateAccelerators( 457cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::awt::KeyEvent >& aKeys ) 458cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 459cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 460cdf0e10cSrcweir 461cdf0e10cSrcweir // XClassifiedObject 462cdf0e10cSrcweir 463cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getClassID() 464cdf0e10cSrcweir throw ( ::com::sun::star::uno::RuntimeException ); 465cdf0e10cSrcweir 466cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getClassName() 467cdf0e10cSrcweir throw ( ::com::sun::star::uno::RuntimeException ); 468cdf0e10cSrcweir 469cdf0e10cSrcweir virtual void SAL_CALL setClassInfo( 470cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< sal_Int8 >& aClassID, const ::rtl::OUString& aClassName ) 471cdf0e10cSrcweir throw ( ::com::sun::star::lang::NoSupportException, 472cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 473cdf0e10cSrcweir 474cdf0e10cSrcweir 475cdf0e10cSrcweir // XComponentSupplier 476cdf0e10cSrcweir 477cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > SAL_CALL getComponent() 478cdf0e10cSrcweir throw ( ::com::sun::star::uno::RuntimeException ); 479cdf0e10cSrcweir 480cdf0e10cSrcweir // XStateChangeBroadcaster 481cdf0e10cSrcweir virtual void SAL_CALL addStateChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStateChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException); 482cdf0e10cSrcweir virtual void SAL_CALL removeStateChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStateChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException); 483cdf0e10cSrcweir 484cdf0e10cSrcweir // XCloseable 485cdf0e10cSrcweir 486cdf0e10cSrcweir virtual void SAL_CALL close( sal_Bool DeliverOwnership ) 487cdf0e10cSrcweir throw ( ::com::sun::star::util::CloseVetoException, 488cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 489cdf0e10cSrcweir 490cdf0e10cSrcweir virtual void SAL_CALL addCloseListener( 491cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseListener >& Listener ) 492cdf0e10cSrcweir throw ( ::com::sun::star::uno::RuntimeException ); 493cdf0e10cSrcweir 494cdf0e10cSrcweir virtual void SAL_CALL removeCloseListener( 495cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseListener >& Listener ) 496cdf0e10cSrcweir throw ( ::com::sun::star::uno::RuntimeException ); 497cdf0e10cSrcweir 498cdf0e10cSrcweir // XEventBroadcaster 499cdf0e10cSrcweir virtual void SAL_CALL addEventListener( 500cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::document::XEventListener >& Listener ) 501cdf0e10cSrcweir throw ( ::com::sun::star::uno::RuntimeException ); 502cdf0e10cSrcweir 503cdf0e10cSrcweir virtual void SAL_CALL removeEventListener( 504cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::document::XEventListener >& Listener ) 505cdf0e10cSrcweir throw ( ::com::sun::star::uno::RuntimeException ); 506cdf0e10cSrcweir 507cdf0e10cSrcweir // XChild 508cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getParent( ) throw (::com::sun::star::uno::RuntimeException); 509cdf0e10cSrcweir virtual void SAL_CALL setParent( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& Parent ) throw (::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException); 510cdf0e10cSrcweir 511cdf0e10cSrcweir // XDefaultSizeTransmitter 512cdf0e10cSrcweir //#i103460# charts do not necessaryly have an own size within ODF files, in this case they need to use the size settings from the surrounding frame, which is made available with this method 513cdf0e10cSrcweir virtual void SAL_CALL setDefaultSize( const ::com::sun::star::awt::Size& rSize_100TH_MM ) throw (::com::sun::star::uno::RuntimeException); 514cdf0e10cSrcweir }; 515cdf0e10cSrcweir 516cdf0e10cSrcweir #endif 517cdf0e10cSrcweir 518