merge the formfield patch from ooo-build
[ooovba.git] / embeddedobj / source / inc / commonembobj.hxx
blob9139409c09fa1d97c837ecce496cacfc792e2e07
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: commonembobj.hxx,v $
10 * $Revision: 1.22 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef _INC_COMMONEMBOBJ_HXX_
32 #define _INC_COMMONEMBOBJ_HXX_
34 #include <com/sun/star/uno/Sequence.hxx>
35 #include <com/sun/star/uno/Reference.hxx>
36 #include <com/sun/star/uno/Any.hxx>
37 #include <com/sun/star/container/XChild.hpp>
38 #include <com/sun/star/embed/XEmbeddedObject.hpp>
39 #include <com/sun/star/embed/XVisualObject.hpp>
40 #include <com/sun/star/embed/XEmbedPersist.hpp>
41 #include <com/sun/star/embed/XLinkageSupport.hpp>
42 #include <com/sun/star/embed/XClassifiedObject.hpp>
43 #include <com/sun/star/embed/XComponentSupplier.hpp>
44 #include <com/sun/star/embed/XInplaceObject.hpp>
45 #include <com/sun/star/embed/XStateChangeBroadcaster.hpp>
46 #include <com/sun/star/awt/XWindow.hpp>
47 #include <com/sun/star/awt/Rectangle.hpp>
48 #include <com/sun/star/document/XEventBroadcaster.hpp>
49 #include <com/sun/star/util/XCloseable.hpp>
50 #include <com/sun/star/chart2/XDefaultSizeTransmitter.hpp>
51 #include <cppuhelper/weak.hxx>
53 namespace com { namespace sun { namespace star {
54 namespace embed {
55 class XStorage;
57 namespace frame {
58 class XModel;
59 class XFrame;
61 namespace lang {
62 class XMultiServiceFactory;
64 namespace util {
65 class XCloseListener;
67 namespace beans {
68 struct PropertyValue;
69 struct NamedValue;
71 }}}
73 namespace cppu {
74 class OMultiTypeInterfaceContainerHelper;
77 #define NUM_SUPPORTED_STATES 5
78 // #define NUM_SUPPORTED_VERBS 5
80 #include "docholder.hxx"
82 class Interceptor;
84 class OCommonEmbeddedObject : public ::com::sun::star::embed::XEmbeddedObject
85 , public ::com::sun::star::embed::XEmbedPersist
86 , public ::com::sun::star::embed::XLinkageSupport
87 , public ::com::sun::star::embed::XInplaceObject
88 , public ::com::sun::star::container::XChild
89 , public ::com::sun::star::chart2::XDefaultSizeTransmitter
90 , public ::cppu::OWeakObject
92 protected:
93 ::osl::Mutex m_aMutex;
95 DocumentHolder* m_pDocHolder;
97 ::cppu::OMultiTypeInterfaceContainerHelper* m_pInterfaceContainer;
99 sal_Bool m_bReadOnly;
101 sal_Bool m_bDisposed;
102 sal_Bool m_bClosed;
104 sal_Int32 m_nObjectState;
105 sal_Int32 m_nTargetState; // should be -1 exept during state changing
106 sal_Int32 m_nUpdateMode;
108 ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xFactory;
110 ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > m_aDocMediaDescriptor;
112 ::com::sun::star::uno::Sequence< sal_Int8 > m_aClassID;
113 ::rtl::OUString m_aClassName;
115 ::rtl::OUString m_aDocServiceName;
116 ::rtl::OUString m_aPresetFilterName;
118 sal_Int64 m_nMiscStatus;
120 ::com::sun::star::uno::Sequence< ::com::sun::star::embed::VerbDescriptor > m_aObjectVerbs;
122 ::com::sun::star::uno::Sequence< sal_Int32 > m_aAcceptedStates;
123 ::com::sun::star::uno::Sequence< sal_Int32 > m_pIntermediateStatesSeqs[NUM_SUPPORTED_STATES][NUM_SUPPORTED_STATES];
124 ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< sal_Int32 > > m_aVerbTable;
126 ::com::sun::star::uno::Reference< ::com::sun::star::embed::XEmbeddedClient > m_xClientSite;
128 ::rtl::OUString m_aContainerName;
129 ::rtl::OUString m_aDefaultParentBaseURL;
130 ::rtl::OUString m_aModuleName;
131 sal_Bool m_bEmbeddedScriptSupport;
133 Interceptor* m_pInterceptor;
135 // following information will be used between SaveAs and SaveCompleted
136 sal_Bool m_bWaitSaveCompleted;
137 ::rtl::OUString m_aNewEntryName;
138 ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xNewParentStorage;
139 ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xNewObjectStorage;
140 ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > m_aNewDocMediaDescriptor;
142 ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > m_xClientWindow; // ???
143 ::com::sun::star::awt::Rectangle m_aOwnRectangle;
144 ::com::sun::star::awt::Rectangle m_aClipRectangle;
146 sal_Bool m_bIsLink;
148 // embedded object related stuff
149 ::rtl::OUString m_aEntryName;
150 ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xParentStorage;
151 ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xObjectStorage;
153 // link related stuff
154 ::rtl::OUString m_aLinkURL;
155 ::rtl::OUString m_aLinkFilterName;
156 sal_Bool m_bLinkHasPassword;
157 ::rtl::OUString m_aLinkPassword;
159 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > m_xParent;
161 sal_Bool m_bHasClonedSize; // the object has cached size
162 ::com::sun::star::awt::Size m_aClonedSize;
163 sal_Int32 m_nClonedMapUnit;
164 ::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
166 private:
167 void CommonInit_Impl( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aObjectProps );
169 void LinkInit_Impl( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aObjectProps,
170 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aMediaDescr,
171 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aObjectDescr );
174 void SwitchOwnPersistence(
175 const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xNewParentStorage,
176 const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xNewObjectStorage,
177 const ::rtl::OUString& aNewName );
179 void SwitchOwnPersistence(
180 const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xNewParentStorage,
181 const ::rtl::OUString& aNewName );
183 ::rtl::OUString GetDocumentServiceName() { return m_aDocServiceName; }
184 ::rtl::OUString GetPresetFilterName() { return m_aPresetFilterName; }
186 ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >
187 StoreDocumentToTempStream_Impl( sal_Int32 nStorageFormat,
188 const ::rtl::OUString& aBaseURL,
189 const ::rtl::OUString& aHierarchName );
191 sal_Int32 ConvertVerbToState_Impl( sal_Int32 nVerb );
193 void Deactivate();
195 void StateChangeNotification_Impl( sal_Bool bBeforeChange, sal_Int32 nOldState, sal_Int32 nNewState,::osl::ResettableMutexGuard& _rGuard );
197 void SwitchStateTo_Impl( sal_Int32 nNextState );
199 ::com::sun::star::uno::Sequence< sal_Int32 > GetIntermediateStatesSequence_Impl( sal_Int32 nNewState );
201 ::rtl::OUString GetFilterName( sal_Int32 nVersion );
202 ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > LoadDocumentFromStorage_Impl(
203 const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage );
205 ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > LoadLink_Impl();
207 ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > InitNewDocument_Impl();
209 void StoreDocToStorage_Impl( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage,
210 sal_Int32 nStorageVersion,
211 const ::rtl::OUString& aBaseURL,
212 const ::rtl::OUString& aHierarchName,
213 sal_Bool bAttachToStorage );
215 ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > CreateDocFromMediaDescr_Impl(
216 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aMedDescr );
218 ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > CreateTempDocFromLink_Impl();
220 ::rtl::OUString GetBaseURL_Impl();
221 ::rtl::OUString GetBaseURLFrom_Impl(
222 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments,
223 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lObjArgs );
225 public:
226 OCommonEmbeddedObject(
227 const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xFactory,
228 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aObjectProps );
230 // no persistance for linked objects, so the descriptors are provided in constructor
231 OCommonEmbeddedObject(
232 const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xFactory,
233 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aObjectProps,
234 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aMediaDescr,
235 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aObjectDescr );
237 virtual ~OCommonEmbeddedObject();
239 void SaveObject_Impl();
241 void requestPositioning( const ::com::sun::star::awt::Rectangle& aRect );
243 // not a real listener and should not be
244 void PostEvent_Impl( const ::rtl::OUString& aEventName,
245 const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xSource =
246 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >() );
248 // XInterface
250 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& rType )
251 throw( ::com::sun::star::uno::RuntimeException ) ;
253 virtual void SAL_CALL acquire()
254 throw();
256 virtual void SAL_CALL release()
257 throw();
259 // XTypeProvider
261 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes()
262 throw( ::com::sun::star::uno::RuntimeException ) ;
264 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
265 throw( ::com::sun::star::uno::RuntimeException ) ;
267 // XEmbeddedObject
269 virtual void SAL_CALL changeState( sal_Int32 nNewState )
270 throw ( ::com::sun::star::embed::UnreachableStateException,
271 ::com::sun::star::embed::WrongStateException,
272 ::com::sun::star::uno::Exception,
273 ::com::sun::star::uno::RuntimeException );
275 virtual ::com::sun::star::uno::Sequence< sal_Int32 > SAL_CALL getReachableStates()
276 throw ( ::com::sun::star::embed::WrongStateException,
277 ::com::sun::star::uno::RuntimeException );
279 virtual sal_Int32 SAL_CALL getCurrentState()
280 throw ( ::com::sun::star::embed::WrongStateException,
281 ::com::sun::star::uno::RuntimeException );
283 virtual void SAL_CALL doVerb( sal_Int32 nVerbID )
284 throw ( ::com::sun::star::lang::IllegalArgumentException,
285 ::com::sun::star::embed::WrongStateException,
286 ::com::sun::star::embed::UnreachableStateException,
287 ::com::sun::star::uno::Exception,
288 ::com::sun::star::uno::RuntimeException );
290 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::embed::VerbDescriptor > SAL_CALL getSupportedVerbs()
291 throw ( ::com::sun::star::embed::WrongStateException,
292 ::com::sun::star::uno::RuntimeException );
294 virtual void SAL_CALL setClientSite(
295 const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XEmbeddedClient >& xClient )
296 throw ( ::com::sun::star::embed::WrongStateException,
297 ::com::sun::star::uno::RuntimeException );
299 virtual ::com::sun::star::uno::Reference< ::com::sun::star::embed::XEmbeddedClient > SAL_CALL getClientSite()
300 throw ( ::com::sun::star::embed::WrongStateException,
301 ::com::sun::star::uno::RuntimeException );
303 virtual void SAL_CALL update()
304 throw ( ::com::sun::star::embed::WrongStateException,
305 ::com::sun::star::uno::Exception,
306 ::com::sun::star::uno::RuntimeException );
308 virtual void SAL_CALL setUpdateMode( sal_Int32 nMode )
309 throw ( ::com::sun::star::embed::WrongStateException,
310 ::com::sun::star::uno::RuntimeException );
312 virtual sal_Int64 SAL_CALL getStatus( sal_Int64 nAspect )
313 throw ( ::com::sun::star::embed::WrongStateException,
314 ::com::sun::star::uno::RuntimeException );
316 virtual void SAL_CALL setContainerName( const ::rtl::OUString& sName )
317 throw ( ::com::sun::star::uno::RuntimeException );
320 // XVisualObject
322 virtual void SAL_CALL setVisualAreaSize( sal_Int64 nAspect, const ::com::sun::star::awt::Size& aSize )
323 throw ( ::com::sun::star::lang::IllegalArgumentException,
324 ::com::sun::star::embed::WrongStateException,
325 ::com::sun::star::uno::Exception,
326 ::com::sun::star::uno::RuntimeException );
328 virtual ::com::sun::star::awt::Size SAL_CALL getVisualAreaSize( sal_Int64 nAspect )
329 throw ( ::com::sun::star::lang::IllegalArgumentException,
330 ::com::sun::star::embed::WrongStateException,
331 ::com::sun::star::uno::Exception,
332 ::com::sun::star::uno::RuntimeException );
334 virtual ::com::sun::star::embed::VisualRepresentation SAL_CALL getPreferredVisualRepresentation( ::sal_Int64 nAspect )
335 throw ( ::com::sun::star::lang::IllegalArgumentException,
336 ::com::sun::star::embed::WrongStateException,
337 ::com::sun::star::uno::Exception,
338 ::com::sun::star::uno::RuntimeException );
340 virtual sal_Int32 SAL_CALL getMapUnit( sal_Int64 nAspect )
341 throw ( ::com::sun::star::uno::Exception,
342 ::com::sun::star::uno::RuntimeException);
344 // XEmbedPersist
346 virtual void SAL_CALL setPersistentEntry(
347 const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage,
348 const ::rtl::OUString& sEntName,
349 sal_Int32 nEntryConnectionMode,
350 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments,
351 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lObjArgs )
352 throw ( ::com::sun::star::lang::IllegalArgumentException,
353 ::com::sun::star::embed::WrongStateException,
354 ::com::sun::star::io::IOException,
355 ::com::sun::star::uno::Exception,
356 ::com::sun::star::uno::RuntimeException );
358 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 )
359 throw ( ::com::sun::star::lang::IllegalArgumentException,
360 ::com::sun::star::embed::WrongStateException,
361 ::com::sun::star::io::IOException,
362 ::com::sun::star::uno::Exception,
363 ::com::sun::star::uno::RuntimeException );
365 virtual void SAL_CALL storeAsEntry(
366 const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage,
367 const ::rtl::OUString& sEntName,
368 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments,
369 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lObjArgs )
370 throw ( ::com::sun::star::lang::IllegalArgumentException,
371 ::com::sun::star::embed::WrongStateException,
372 ::com::sun::star::io::IOException,
373 ::com::sun::star::uno::Exception,
374 ::com::sun::star::uno::RuntimeException );
376 virtual void SAL_CALL saveCompleted( sal_Bool bUseNew )
377 throw ( ::com::sun::star::embed::WrongStateException,
378 ::com::sun::star::uno::Exception,
379 ::com::sun::star::uno::RuntimeException );
381 virtual sal_Bool SAL_CALL hasEntry()
382 throw ( ::com::sun::star::embed::WrongStateException,
383 ::com::sun::star::uno::RuntimeException );
385 virtual ::rtl::OUString SAL_CALL getEntryName()
386 throw ( ::com::sun::star::embed::WrongStateException,
387 ::com::sun::star::uno::RuntimeException );
389 // XLinkageSupport
391 virtual void SAL_CALL breakLink( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage,
392 const ::rtl::OUString& sEntName )
393 throw ( ::com::sun::star::lang::IllegalArgumentException,
394 ::com::sun::star::embed::WrongStateException,
395 ::com::sun::star::io::IOException,
396 ::com::sun::star::uno::Exception,
397 ::com::sun::star::uno::RuntimeException );
399 virtual sal_Bool SAL_CALL isLink()
400 throw ( ::com::sun::star::embed::WrongStateException,
401 ::com::sun::star::uno::RuntimeException);
403 virtual ::rtl::OUString SAL_CALL getLinkURL()
404 throw ( ::com::sun::star::embed::WrongStateException,
405 ::com::sun::star::uno::Exception,
406 ::com::sun::star::uno::RuntimeException);
409 // XCommonEmbedPersist
411 virtual void SAL_CALL storeOwn()
412 throw ( ::com::sun::star::embed::WrongStateException,
413 ::com::sun::star::io::IOException,
414 ::com::sun::star::uno::Exception,
415 ::com::sun::star::uno::RuntimeException );
417 virtual sal_Bool SAL_CALL isReadonly()
418 throw ( ::com::sun::star::embed::WrongStateException,
419 ::com::sun::star::uno::RuntimeException );
421 virtual void SAL_CALL reload(
422 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments,
423 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lObjArgs )
424 throw ( ::com::sun::star::lang::IllegalArgumentException,
425 ::com::sun::star::embed::WrongStateException,
426 ::com::sun::star::io::IOException,
427 ::com::sun::star::uno::Exception,
428 ::com::sun::star::uno::RuntimeException );
431 // XInplaceObject
433 virtual void SAL_CALL setObjectRectangles( const ::com::sun::star::awt::Rectangle& aPosRect,
434 const ::com::sun::star::awt::Rectangle& aClipRect )
435 throw ( ::com::sun::star::embed::WrongStateException,
436 ::com::sun::star::uno::Exception,
437 ::com::sun::star::uno::RuntimeException );
439 virtual void SAL_CALL enableModeless( sal_Bool bEnable )
440 throw ( ::com::sun::star::embed::WrongStateException,
441 ::com::sun::star::uno::Exception,
442 ::com::sun::star::uno::RuntimeException );
444 virtual void SAL_CALL translateAccelerators(
445 const ::com::sun::star::uno::Sequence< ::com::sun::star::awt::KeyEvent >& aKeys )
446 throw ( ::com::sun::star::embed::WrongStateException,
447 ::com::sun::star::uno::RuntimeException );
449 // XClassifiedObject
451 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getClassID()
452 throw ( ::com::sun::star::uno::RuntimeException );
454 virtual ::rtl::OUString SAL_CALL getClassName()
455 throw ( ::com::sun::star::uno::RuntimeException );
457 virtual void SAL_CALL setClassInfo(
458 const ::com::sun::star::uno::Sequence< sal_Int8 >& aClassID, const ::rtl::OUString& aClassName )
459 throw ( ::com::sun::star::lang::NoSupportException,
460 ::com::sun::star::uno::RuntimeException );
463 // XComponentSupplier
465 virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > SAL_CALL getComponent()
466 throw ( ::com::sun::star::uno::RuntimeException );
468 // XStateChangeBroadcaster
469 virtual void SAL_CALL addStateChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStateChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
470 virtual void SAL_CALL removeStateChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStateChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
472 // XCloseable
474 virtual void SAL_CALL close( sal_Bool DeliverOwnership )
475 throw ( ::com::sun::star::util::CloseVetoException,
476 ::com::sun::star::uno::RuntimeException );
478 virtual void SAL_CALL addCloseListener(
479 const ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseListener >& Listener )
480 throw ( ::com::sun::star::uno::RuntimeException );
482 virtual void SAL_CALL removeCloseListener(
483 const ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseListener >& Listener )
484 throw ( ::com::sun::star::uno::RuntimeException );
486 // XEventBroadcaster
487 virtual void SAL_CALL addEventListener(
488 const ::com::sun::star::uno::Reference< ::com::sun::star::document::XEventListener >& Listener )
489 throw ( ::com::sun::star::uno::RuntimeException );
491 virtual void SAL_CALL removeEventListener(
492 const ::com::sun::star::uno::Reference< ::com::sun::star::document::XEventListener >& Listener )
493 throw ( ::com::sun::star::uno::RuntimeException );
495 // XChild
496 virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getParent( ) throw (::com::sun::star::uno::RuntimeException);
497 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);
499 // XDefaultSizeTransmitter
500 //#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
501 virtual void SAL_CALL setDefaultSize( const ::com::sun::star::awt::Size& rSize_100TH_MM ) throw (::com::sun::star::uno::RuntimeException);
504 #endif