1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
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 ************************************************************************/
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>
69 struct SwRangeDescriptor
;
72 //////////////////////////////////////////////////////////////////////
74 sal_Bool
FillRangeDescriptor( SwRangeDescriptor
&rDesc
, const String
&rCellRangeName
);
76 //////////////////////////////////////////////////////////////////////
81 static void DoUpdateAllCharts( SwDoc
* pDoc
);
84 //////////////////////////////////////////////////////////////////////
86 class SwChartLockController_Helper
90 DECL_LINK( DoUnlockAllCharts
, Timer
* );
91 Timer aUnlockTimer
; // timer to unlock chart controllers
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
); };
104 SwChartLockController_Helper( SwDoc
*pDocument
);
105 ~SwChartLockController_Helper();
107 void StartOrContinueLocking();
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
,
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
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
;
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
);
172 SwChartDataProvider( const SwDoc
* pDoc
);
173 virtual ~SwChartDataProvider();
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
);
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
);
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
);
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
& );
236 SwChartDataSource( const com::sun::star::uno::Sequence
< com::sun::star::uno::Reference
< com::sun::star::chart2::data::XLabeledDataSequence
> > &rLDS
);
237 virtual ~SwChartDataSource();
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
);
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
,
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
;
288 // disallow use of c-tor and assignment operator
289 SwChartDataSequence( const SwChartDataSequence
&rObj
);
290 SwChartDataSequence
& operator = ( const SwChartDataSequence
& );
293 SwChartDataSequence( SwChartDataProvider
&rProvider
,
295 SwUnoCrsr
*pTableCursor
);
296 virtual ~SwChartDataSequence();
298 static const ::com::sun::star::uno::Sequence
< sal_Int8
> & getUnoTunnelId();
301 virtual sal_Int64 SAL_CALL
getSomething( const ::com::sun::star::uno::Sequence
< sal_Int8
>& aIdentifier
) throw(::com::sun::star::uno::RuntimeException
);
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
);
316 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::util::XCloneable
> SAL_CALL
createClone( ) throw (::com::sun::star::uno::RuntimeException
);
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
);
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
);
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
);
341 virtual void SAL_CALL
disposing( const ::com::sun::star::lang::EventObject
& Source
) throw (::com::sun::star::uno::RuntimeException
);
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
);
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
;
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
);
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
);
404 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::util::XCloneable
> SAL_CALL
createClone( ) throw (::com::sun::star::uno::RuntimeException
);
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
);
412 virtual void SAL_CALL
disposing( const ::com::sun::star::lang::EventObject
& Source
) throw (::com::sun::star::uno::RuntimeException
);
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
);
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 //////////////////////////////////////////////////////////////////////