Update ooo320-m1
[ooovba.git] / sw / inc / unochart.hxx
blob870b107bb6a7f73b6bb15188433cff7ff76a506c
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: unochart.hxx,v $
10 * $Revision: 1.6.256.1 $
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 ************************************************************************/
30 #ifndef _UNOCHART_HXX
31 #define _UNOCHART_HXX
33 #include <map>
34 #include <set>
35 #include <com/sun/star/chart2/data/XDataProvider.hpp>
36 #include <com/sun/star/chart2/data/XDataSource.hpp>
37 #include <com/sun/star/chart2/data/XDataSequence.hpp>
38 #include <com/sun/star/chart2/data/XTextualDataSequence.hpp>
39 #include <com/sun/star/chart2/data/XNumericalDataSequence.hpp>
40 #include <com/sun/star/chart2/data/XLabeledDataSequence.hpp>
41 #include <com/sun/star/chart2/data/XRangeXMLConversion.hpp>
42 #include <com/sun/star/chart2/data/DataSequenceRole.hpp>
43 #include <com/sun/star/lang/XServiceInfo.hpp>
44 #include <com/sun/star/beans/XPropertySet.hpp>
45 #include <com/sun/star/util/XCloneable.hpp>
46 #include <com/sun/star/lang/XComponent.hpp>
47 #include <com/sun/star/lang/XEventListener.hpp>
48 #include <com/sun/star/util/XModifiable.hpp>
49 #include <com/sun/star/util/XModifyBroadcaster.hpp>
50 #include <com/sun/star/util/XModifyListener.hpp>
52 #include <com/sun/star/chart/ChartDataRowSource.hpp>
53 #include <cppuhelper/interfacecontainer.h> //OMultiTypeInterfaceContainerHelper
54 #include <cppuhelper/implbase2.hxx> // helper for implementations
55 #include <cppuhelper/implbase4.hxx> // helper for implementations
56 #include <cppuhelper/implbase6.hxx> // helper for implementations
57 #include <cppuhelper/implbase10.hxx> // helper for implementations
58 #include <cppuhelper/weakref.hxx>
61 #include <calbck.hxx>
62 #include <unoobj.hxx>
65 class SwDoc;
66 class SwTable;
67 class SwTableBox;
68 class SwUnoCrsr;
69 struct SwRangeDescriptor;
70 class SwSelBoxes;
72 //////////////////////////////////////////////////////////////////////
74 sal_Bool FillRangeDescriptor( SwRangeDescriptor &rDesc, const String &rCellRangeName );
76 //////////////////////////////////////////////////////////////////////
78 class SwChartHelper
80 public:
81 static void DoUpdateAllCharts( SwDoc* pDoc );
84 //////////////////////////////////////////////////////////////////////
86 class SwChartLockController_Helper
88 SwDoc *pDoc;
90 DECL_LINK( DoUnlockAllCharts, Timer * );
91 Timer aUnlockTimer; // timer to unlock chart controllers
92 bool bIsLocked;
95 // disallow use of d-tor, copy c-tor and assignment operator
96 SwChartLockController_Helper( const SwChartLockController_Helper & );
97 SwChartLockController_Helper & operator = ( const SwChartLockController_Helper & );
99 void LockUnlockAllCharts( sal_Bool bLock );
100 void LockAllCharts() { LockUnlockAllCharts( sal_True ); };
101 void UnlockAllCharts() { LockUnlockAllCharts( sal_False ); };
103 public:
104 SwChartLockController_Helper( SwDoc *pDocument );
105 ~SwChartLockController_Helper();
107 void StartOrContinueLocking();
108 void Disconnect();
111 //////////////////////////////////////////////////////////////////////
113 typedef cppu::WeakImplHelper4
115 ::com::sun::star::chart2::data::XDataProvider,
116 ::com::sun::star::chart2::data::XRangeXMLConversion,
117 ::com::sun::star::lang::XComponent,
118 ::com::sun::star::lang::XServiceInfo
120 SwChartDataProviderBaseClass;
122 class SwChartDataProvider :
123 public SwChartDataProviderBaseClass,
124 public SwClient
127 // used to keep weak-references to all data-sequences of a single table
128 // see set definition below...
129 struct lt_DataSequenceRef
131 bool operator()( ::com::sun::star::uno::WeakReference< ::com::sun::star::chart2::data::XDataSequence > xWRef1, ::com::sun::star::uno::WeakReference< ::com::sun::star::chart2::data::XDataSequence > xWRef2 ) const
133 ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSequence > xRef1( xWRef1 );
134 ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSequence > xRef2( xWRef2 );
135 return xRef1.get() < xRef2.get();
138 typedef std::set< ::com::sun::star::uno::WeakReference < ::com::sun::star::chart2::data::XDataSequence >, lt_DataSequenceRef > Set_DataSequenceRef_t;
140 // map of data-sequence sets for each table
141 struct lt_SwTable_Ptr
143 bool operator()( const SwTable *p1, const SwTable *p2 ) const
145 return p1 < p2;
148 typedef std::map< const SwTable *, Set_DataSequenceRef_t, lt_SwTable_Ptr > Map_Set_DataSequenceRef_t;
151 // map of all data-sequences provided directly or indirectly (e.g. via
152 // data-source) by this object. Since there is only one object of this type
153 // for each document it should hold references to all used data-sequences for
154 // all tables of the document.
155 mutable Map_Set_DataSequenceRef_t aDataSequences;
157 ::cppu::OInterfaceContainerHelper aEvtListeners;
158 const SwDoc * pDoc;
159 sal_Bool bDisposed;
162 // disallow use of c-tor and assignment operator
163 SwChartDataProvider( const SwChartDataProvider & );
164 SwChartDataProvider & operator = ( const SwChartDataProvider & );
166 ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSource > SAL_CALL Impl_createDataSource( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArguments, sal_Bool bTestOnly = sal_False ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
167 ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSequence > SAL_CALL Impl_createDataSequenceByRangeRepresentation( const ::rtl::OUString& aRangeRepresentation, sal_Bool bTestOnly = sal_False ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
169 rtl::OUString GetBrokenCellRangeForExport( const rtl::OUString &rCellRangeRepresentation );
171 public:
172 SwChartDataProvider( const SwDoc* pDoc );
173 virtual ~SwChartDataProvider();
175 // XDataProvider
176 virtual ::sal_Bool SAL_CALL createDataSourcePossible( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArguments ) throw (::com::sun::star::uno::RuntimeException);
177 virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSource > SAL_CALL createDataSource( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArguments ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
178 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL detectArguments( const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSource >& xDataSource ) throw (::com::sun::star::uno::RuntimeException);
179 virtual ::sal_Bool SAL_CALL createDataSequenceByRangeRepresentationPossible( const ::rtl::OUString& aRangeRepresentation ) throw (::com::sun::star::uno::RuntimeException);
180 virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSequence > SAL_CALL createDataSequenceByRangeRepresentation( const ::rtl::OUString& aRangeRepresentation ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
181 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XRangeSelection > SAL_CALL getRangeSelection( ) throw (::com::sun::star::uno::RuntimeException);
183 // XRangeXMLConversion
184 virtual ::rtl::OUString SAL_CALL convertRangeToXML( const ::rtl::OUString& aRangeRepresentation ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
185 virtual ::rtl::OUString SAL_CALL convertRangeFromXML( const ::rtl::OUString& aXMLRange ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
187 // XComponent
188 virtual void SAL_CALL dispose( ) throw (::com::sun::star::uno::RuntimeException);
189 virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
190 virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
192 // XServiceInfo
193 virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException);
194 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
195 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException);
197 //SwClient
198 virtual void Modify( SfxPoolItem *pOld, SfxPoolItem *pNew);
201 SwFrmFmt* GetFrmFmt() const { return (SwFrmFmt*)GetRegisteredIn(); }
203 void AddDataSequence( const SwTable &rTable, ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSequence > &rxDataSequence );
204 void RemoveDataSequence( const SwTable &rTable, ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSequence > &rxDataSequence );
206 // will send modifdied events for all data-sequences of the table
207 void InvalidateTable( const SwTable *pTable );
208 sal_Bool DeleteBox( const SwTable *pTable, const SwTableBox &rBox );
209 void DisposeAllDataSequences( const SwTable *pTable );
211 // functionality needed to get notified about new added rows/cols
212 void AddRowCols( const SwTable &rTable, const SwSelBoxes& rBoxes, USHORT nLines, BOOL bBehind );
215 //////////////////////////////////////////////////////////////////////
217 typedef cppu::WeakImplHelper2
219 ::com::sun::star::chart2::data::XDataSource,
220 ::com::sun::star::lang::XServiceInfo
222 SwChartDataSourceBaseClass;
224 class SwChartDataSource :
225 public SwChartDataSourceBaseClass
227 com::sun::star::uno::Sequence<
228 com::sun::star::uno::Reference<
229 com::sun::star::chart2::data::XLabeledDataSequence > > aLDS;
231 // disallow use of c-tor and assignment operator
232 SwChartDataSource( const SwChartDataSource & );
233 SwChartDataSource & operator = ( const SwChartDataSource & );
235 public:
236 SwChartDataSource( const com::sun::star::uno::Sequence< com::sun::star::uno::Reference< com::sun::star::chart2::data::XLabeledDataSequence > > &rLDS );
237 virtual ~SwChartDataSource();
239 // XDataSource
240 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XLabeledDataSequence > > SAL_CALL getDataSequences( ) throw (::com::sun::star::uno::RuntimeException);
242 // XServiceInfo
243 virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException);
244 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
245 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException);
248 //////////////////////////////////////////////////////////////////////
250 typedef cppu::WeakImplHelper10
252 ::com::sun::star::chart2::data::XDataSequence,
253 ::com::sun::star::chart2::data::XTextualDataSequence,
254 ::com::sun::star::chart2::data::XNumericalDataSequence,
255 ::com::sun::star::util::XCloneable,
256 ::com::sun::star::beans::XPropertySet,
257 ::com::sun::star::lang::XServiceInfo,
258 ::com::sun::star::lang::XUnoTunnel,
259 ::com::sun::star::util::XModifiable,
260 ::com::sun::star::lang::XEventListener,
261 ::com::sun::star::lang::XComponent
263 SwChartDataSequenceBaseClass;
265 class SwChartDataSequence :
266 public SwChartDataSequenceBaseClass,
267 public SwClient
269 ::cppu::OInterfaceContainerHelper aEvtListeners;
270 ::cppu::OInterfaceContainerHelper aModifyListeners;
271 ::com::sun::star::chart2::data::DataSequenceRole aRole;
273 String aRowLabelText;
274 String aColLabelText;
276 // holds a reference to the data-provider to guarantee it's lifetime last as
277 // long as the pointer may be used.
278 ::com::sun::star::uno::Reference< com::sun::star::chart2::data::XDataProvider > xDataProvider;
279 SwChartDataProvider * pDataProvider;
281 SwUnoCrsr* pTblCrsr; // cursor spanned over cells to use
282 SwDepend aCursorDepend; //the cursor is removed after the doc has been removed
284 const SfxItemPropertySet* _pPropSet;
286 sal_Bool bDisposed;
288 // disallow use of c-tor and assignment operator
289 SwChartDataSequence( const SwChartDataSequence &rObj );
290 SwChartDataSequence & operator = ( const SwChartDataSequence & );
292 public:
293 SwChartDataSequence( SwChartDataProvider &rProvider,
294 SwFrmFmt &rTblFmt,
295 SwUnoCrsr *pTableCursor );
296 virtual ~SwChartDataSequence();
298 static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId();
300 //XUnoTunnel
301 virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException);
303 // XDataSequence
304 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL getData( ) throw (::com::sun::star::uno::RuntimeException);
305 virtual ::rtl::OUString SAL_CALL getSourceRangeRepresentation( ) throw (::com::sun::star::uno::RuntimeException);
306 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL generateLabel( ::com::sun::star::chart2::data::LabelOrigin eLabelOrigin ) throw (::com::sun::star::uno::RuntimeException);
307 virtual ::sal_Int32 SAL_CALL getNumberFormatKeyByIndex( ::sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
309 // XTextualDataSequence
310 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getTextualData( ) throw (::com::sun::star::uno::RuntimeException);
312 // XNumericalDataSequence
313 virtual ::com::sun::star::uno::Sequence< double > SAL_CALL getNumericalData( ) throw (::com::sun::star::uno::RuntimeException);
315 // XCloneable
316 virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone( ) throw (::com::sun::star::uno::RuntimeException);
318 // XPropertySet
319 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw (::com::sun::star::uno::RuntimeException);
320 virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
321 virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
322 virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
323 virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
324 virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
325 virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
327 // XServiceInfo
328 virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException);
329 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
330 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException);
332 // XModifiable
333 virtual ::sal_Bool SAL_CALL isModified( ) throw (::com::sun::star::uno::RuntimeException);
334 virtual void SAL_CALL setModified( ::sal_Bool bModified ) throw (::com::sun::star::beans::PropertyVetoException, ::com::sun::star::uno::RuntimeException);
336 // XModifyBroadcaster
337 virtual void SAL_CALL addModifyListener( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
338 virtual void SAL_CALL removeModifyListener( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
340 // XEventListener
341 virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw (::com::sun::star::uno::RuntimeException);
343 // XComponent
344 virtual void SAL_CALL dispose( ) throw (::com::sun::star::uno::RuntimeException);
345 virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
346 virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
349 //SwClient
350 virtual void Modify( SfxPoolItem *pOld, SfxPoolItem *pNew);
353 SwFrmFmt* GetFrmFmt() const { return (SwFrmFmt*)GetRegisteredIn(); }
354 sal_Bool DeleteBox( const SwTableBox &rBox );
356 void FillRangeDesc( SwRangeDescriptor &rRangeDesc ) const;
357 bool ExtendTo( bool bExtendCol, sal_Int32 nFirstNew, sal_Int32 nCount );
360 //////////////////////////////////////////////////////////////////////
362 typedef cppu::WeakImplHelper6
364 ::com::sun::star::chart2::data::XLabeledDataSequence,
365 ::com::sun::star::util::XCloneable,
366 ::com::sun::star::lang::XServiceInfo,
367 ::com::sun::star::util::XModifyListener,
368 ::com::sun::star::util::XModifyBroadcaster,
369 ::com::sun::star::lang::XComponent
371 SwChartLabeledDataSequenceBaseClass;
373 class SwChartLabeledDataSequence :
374 public SwChartLabeledDataSequenceBaseClass
376 ::cppu::OInterfaceContainerHelper aEvtListeners;
377 ::cppu::OInterfaceContainerHelper aModifyListeners;
379 ::com::sun::star::uno::Reference<
380 ::com::sun::star::chart2::data::XDataSequence > xData;
381 ::com::sun::star::uno::Reference<
382 ::com::sun::star::chart2::data::XDataSequence > xLabels;
384 sal_Bool bDisposed;
386 // disallow use of c-tor and assignment operator
387 SwChartLabeledDataSequence( const SwChartLabeledDataSequence & );
388 SwChartLabeledDataSequence & operator = ( const SwChartLabeledDataSequence & );
390 void SetDataSequence( ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSequence >& rxDest, const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSequence >& rxSource );
393 public:
394 SwChartLabeledDataSequence();
395 virtual ~SwChartLabeledDataSequence();
397 // XLabeledDataSequence
398 virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSequence > SAL_CALL getValues( ) throw (::com::sun::star::uno::RuntimeException);
399 virtual void SAL_CALL setValues( const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSequence >& xSequence ) throw (::com::sun::star::uno::RuntimeException);
400 virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSequence > SAL_CALL getLabel( ) throw (::com::sun::star::uno::RuntimeException);
401 virtual void SAL_CALL setLabel( const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSequence >& xSequence ) throw (::com::sun::star::uno::RuntimeException);
403 // XCloneable
404 virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone( ) throw (::com::sun::star::uno::RuntimeException);
406 // XServiceInfo
407 virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException);
408 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
409 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException);
411 // XEventListener
412 virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw (::com::sun::star::uno::RuntimeException);
414 // XModifyListener
415 virtual void SAL_CALL modified( const ::com::sun::star::lang::EventObject& aEvent ) throw (::com::sun::star::uno::RuntimeException);
417 // XModifyBroadcaster
418 virtual void SAL_CALL addModifyListener( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
419 virtual void SAL_CALL removeModifyListener( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
421 // XComponent
422 virtual void SAL_CALL dispose( ) throw (::com::sun::star::uno::RuntimeException);
423 virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
424 virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
427 //////////////////////////////////////////////////////////////////////
429 #endif