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: datauno.hxx,v $
10 * $Revision: 1.8.32.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 ************************************************************************/
31 #ifndef SC_DATAUNO_HXX
32 #define SC_DATAUNO_HXX
35 #include <svtools/itemprop.hxx>
36 #include <svtools/lstner.hxx>
37 #include <com/sun/star/sheet/TableFilterField.hpp>
38 #include <com/sun/star/sheet/GeneralFunction.hpp>
39 #include <com/sun/star/sheet/XCellRangeReferrer.hpp>
40 #include <com/sun/star/sheet/XSheetFilterDescriptor.hpp>
41 #include <com/sun/star/sheet/XConsolidationDescriptor.hpp>
42 #include <com/sun/star/sheet/XDatabaseRanges.hpp>
43 #include <com/sun/star/sheet/XDatabaseRange.hpp>
44 #include <com/sun/star/sheet/XSubTotalDescriptor.hpp>
45 #include <com/sun/star/sheet/XSubTotalField.hpp>
46 #include <com/sun/star/lang/XServiceInfo.hpp>
47 #include <com/sun/star/container/XEnumerationAccess.hpp>
48 #include <com/sun/star/container/XIndexAccess.hpp>
49 #include <com/sun/star/beans/XPropertySet.hpp>
50 #include <com/sun/star/lang/XUnoTunnel.hpp>
51 #include <com/sun/star/container/XNamed.hpp>
52 #include <com/sun/star/util/XRefreshable.hpp>
53 #include <cppuhelper/implbase2.hxx>
54 #include <cppuhelper/implbase3.hxx>
55 #include <cppuhelper/implbase4.hxx>
56 #include <cppuhelper/implbase5.hxx>
57 #include <cppuhelper/implbase6.hxx>
62 class ScSubTotalFieldObj
;
63 class ScDatabaseRangeObj
;
64 class ScDataPilotDescriptorBase
;
68 typedef ::com::sun::star::uno::Reference
<
69 ::com::sun::star::util::XRefreshListener
>* XDBRefreshListenerPtr
;
70 SV_DECL_PTRARR_DEL( XDBRefreshListenerArr_Impl
, XDBRefreshListenerPtr
, 4, 4 )
72 class ScDataUnoConversion
75 static ScSubTotalFunc
GeneralToSubTotal( com::sun::star::sheet::GeneralFunction eSummary
);
76 static com::sun::star::sheet::GeneralFunction
SubTotalToGeneral( ScSubTotalFunc eSubTotal
);
80 // ImportDescriptor gibt's nicht mehr als Uno-Objekt, nur noch Property-Sequence
82 class ScImportDescriptor
85 static void FillImportParam(
86 ScImportParam
& rParam
,
87 const com::sun::star::uno::Sequence
<com::sun::star::beans::PropertyValue
>& rSeq
);
88 static void FillProperties(
89 com::sun::star::uno::Sequence
<com::sun::star::beans::PropertyValue
>& rSeq
,
90 const ScImportParam
& rParam
);
91 static long GetPropertyCount();
94 // SortDescriptor gibt's nicht mehr als Uno-Objekt, nur noch Property-Sequence
96 class ScSortDescriptor
99 static void FillSortParam(
101 const com::sun::star::uno::Sequence
<com::sun::star::beans::PropertyValue
>& rSeq
);
102 static void FillProperties(
103 com::sun::star::uno::Sequence
<com::sun::star::beans::PropertyValue
>& rSeq
,
104 const ScSortParam
& rParam
);
105 static long GetPropertyCount();
109 // ScSubTotalDescriptorBase - Basisklasse fuer SubTotalDescriptor alleine und im DB-Bereich
111 // to uno, both look the same
113 class ScSubTotalDescriptorBase
: public cppu::WeakImplHelper6
<
114 com::sun::star::sheet::XSubTotalDescriptor
,
115 com::sun::star::container::XEnumerationAccess
,
116 com::sun::star::container::XIndexAccess
,
117 com::sun::star::beans::XPropertySet
,
118 com::sun::star::lang::XUnoTunnel
,
119 com::sun::star::lang::XServiceInfo
>
122 SfxItemPropertySet aPropSet
;
124 ScSubTotalFieldObj
* GetObjectByIndex_Impl(USHORT nIndex
);
127 ScSubTotalDescriptorBase();
128 virtual ~ScSubTotalDescriptorBase();
130 // in derived classes:
131 // (Fields are within the range)
132 virtual void GetData( ScSubTotalParam
& rParam
) const = 0;
133 virtual void PutData( const ScSubTotalParam
& rParam
) = 0;
135 // XSubTotalDescriptor
136 virtual void SAL_CALL
addNew( const ::com::sun::star::uno::Sequence
<
137 ::com::sun::star::sheet::SubTotalColumn
>& aSubTotalColumns
,
138 sal_Int32 nGroupColumn
)
139 throw(::com::sun::star::uno::RuntimeException
);
140 virtual void SAL_CALL
clear() throw(::com::sun::star::uno::RuntimeException
);
143 virtual sal_Int32 SAL_CALL
getCount() throw(::com::sun::star::uno::RuntimeException
);
144 virtual ::com::sun::star::uno::Any SAL_CALL
getByIndex( sal_Int32 Index
)
145 throw(::com::sun::star::lang::IndexOutOfBoundsException
,
146 ::com::sun::star::lang::WrappedTargetException
,
147 ::com::sun::star::uno::RuntimeException
);
149 // XEnumerationAccess
150 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XEnumeration
> SAL_CALL
151 createEnumeration() throw(::com::sun::star::uno::RuntimeException
);
154 virtual ::com::sun::star::uno::Type SAL_CALL
getElementType()
155 throw(::com::sun::star::uno::RuntimeException
);
156 virtual sal_Bool SAL_CALL
hasElements() throw(::com::sun::star::uno::RuntimeException
);
159 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySetInfo
>
160 SAL_CALL
getPropertySetInfo()
161 throw(::com::sun::star::uno::RuntimeException
);
162 virtual void SAL_CALL
setPropertyValue( const ::rtl::OUString
& aPropertyName
,
163 const ::com::sun::star::uno::Any
& aValue
)
164 throw(::com::sun::star::beans::UnknownPropertyException
,
165 ::com::sun::star::beans::PropertyVetoException
,
166 ::com::sun::star::lang::IllegalArgumentException
,
167 ::com::sun::star::lang::WrappedTargetException
,
168 ::com::sun::star::uno::RuntimeException
);
169 virtual ::com::sun::star::uno::Any SAL_CALL
getPropertyValue(
170 const ::rtl::OUString
& PropertyName
)
171 throw(::com::sun::star::beans::UnknownPropertyException
,
172 ::com::sun::star::lang::WrappedTargetException
,
173 ::com::sun::star::uno::RuntimeException
);
174 virtual void SAL_CALL
addPropertyChangeListener( const ::rtl::OUString
& aPropertyName
,
175 const ::com::sun::star::uno::Reference
<
176 ::com::sun::star::beans::XPropertyChangeListener
>& xListener
)
177 throw(::com::sun::star::beans::UnknownPropertyException
,
178 ::com::sun::star::lang::WrappedTargetException
,
179 ::com::sun::star::uno::RuntimeException
);
180 virtual void SAL_CALL
removePropertyChangeListener( const ::rtl::OUString
& aPropertyName
,
181 const ::com::sun::star::uno::Reference
<
182 ::com::sun::star::beans::XPropertyChangeListener
>& aListener
)
183 throw(::com::sun::star::beans::UnknownPropertyException
,
184 ::com::sun::star::lang::WrappedTargetException
,
185 ::com::sun::star::uno::RuntimeException
);
186 virtual void SAL_CALL
addVetoableChangeListener( const ::rtl::OUString
& PropertyName
,
187 const ::com::sun::star::uno::Reference
<
188 ::com::sun::star::beans::XVetoableChangeListener
>& aListener
)
189 throw(::com::sun::star::beans::UnknownPropertyException
,
190 ::com::sun::star::lang::WrappedTargetException
,
191 ::com::sun::star::uno::RuntimeException
);
192 virtual void SAL_CALL
removeVetoableChangeListener( const ::rtl::OUString
& PropertyName
,
193 const ::com::sun::star::uno::Reference
<
194 ::com::sun::star::beans::XVetoableChangeListener
>& aListener
)
195 throw(::com::sun::star::beans::UnknownPropertyException
,
196 ::com::sun::star::lang::WrappedTargetException
,
197 ::com::sun::star::uno::RuntimeException
);
200 virtual sal_Int64 SAL_CALL
getSomething( const ::com::sun::star::uno::Sequence
<
201 sal_Int8
>& aIdentifier
)
202 throw(::com::sun::star::uno::RuntimeException
);
204 static const com::sun::star::uno::Sequence
<sal_Int8
>& getUnoTunnelId();
205 static ScSubTotalDescriptorBase
* getImplementation( const com::sun::star::uno::Reference
<
206 com::sun::star::sheet::XSubTotalDescriptor
> xObj
);
209 virtual ::rtl::OUString SAL_CALL
getImplementationName()
210 throw(::com::sun::star::uno::RuntimeException
);
211 virtual sal_Bool SAL_CALL
supportsService( const ::rtl::OUString
& ServiceName
)
212 throw(::com::sun::star::uno::RuntimeException
);
213 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getSupportedServiceNames()
214 throw(::com::sun::star::uno::RuntimeException
);
218 // ScSubTotalDescriptor - dummer Container zur Benutzung mit XImportTarget
220 class ScSubTotalDescriptor
: public ScSubTotalDescriptorBase
223 ScSubTotalParam aStoredParam
;
226 ScSubTotalDescriptor();
227 virtual ~ScSubTotalDescriptor();
229 // von ScSubTotalDescriptorBase:
230 virtual void GetData( ScSubTotalParam
& rParam
) const;
231 virtual void PutData( const ScSubTotalParam
& rParam
);
233 // Zugriff von aussen:
234 void SetParam( const ScSubTotalParam
& rNew
);
235 // const ScSubTotalParam& GetParam() const { return aStoredParam; }
239 // ScRangeSubTotalDescriptor - SubTotalDescriptor eines Datenbank-Bereichs
241 class ScRangeSubTotalDescriptor
: public ScSubTotalDescriptorBase
244 ScDatabaseRangeObj
* pParent
;
247 ScRangeSubTotalDescriptor(ScDatabaseRangeObj
* pPar
);
248 virtual ~ScRangeSubTotalDescriptor();
250 // von ScSubTotalDescriptorBase:
251 virtual void GetData( ScSubTotalParam
& rParam
) const;
252 virtual void PutData( const ScSubTotalParam
& rParam
);
256 class ScSubTotalFieldObj
: public cppu::WeakImplHelper2
<
257 com::sun::star::sheet::XSubTotalField
,
258 com::sun::star::lang::XServiceInfo
>
261 com::sun::star::uno::Reference
<com::sun::star::sheet::XSubTotalDescriptor
> xRef
;
262 ScSubTotalDescriptorBase
& rParent
;
266 ScSubTotalFieldObj( ScSubTotalDescriptorBase
* pDesc
, USHORT nP
);
267 virtual ~ScSubTotalFieldObj();
270 virtual sal_Int32 SAL_CALL
getGroupColumn() throw(::com::sun::star::uno::RuntimeException
);
271 virtual void SAL_CALL
setGroupColumn( sal_Int32 nGroupColumn
)
272 throw(::com::sun::star::uno::RuntimeException
);
273 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::sheet::SubTotalColumn
> SAL_CALL
274 getSubTotalColumns() throw(::com::sun::star::uno::RuntimeException
);
275 virtual void SAL_CALL
setSubTotalColumns( const ::com::sun::star::uno::Sequence
<
276 ::com::sun::star::sheet::SubTotalColumn
>& aSubTotalColumns
)
277 throw(::com::sun::star::uno::RuntimeException
);
280 virtual ::rtl::OUString SAL_CALL
getImplementationName()
281 throw(::com::sun::star::uno::RuntimeException
);
282 virtual sal_Bool SAL_CALL
supportsService( const ::rtl::OUString
& ServiceName
)
283 throw(::com::sun::star::uno::RuntimeException
);
284 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getSupportedServiceNames()
285 throw(::com::sun::star::uno::RuntimeException
);
289 class ScConsolidationDescriptor
: public cppu::WeakImplHelper2
<
290 com::sun::star::sheet::XConsolidationDescriptor
,
291 com::sun::star::lang::XServiceInfo
>
294 ScConsolidateParam aParam
;
297 ScConsolidationDescriptor();
298 virtual ~ScConsolidationDescriptor();
300 void SetParam( const ScConsolidateParam
& rNew
);
301 const ScConsolidateParam
& GetParam() const { return aParam
; }
303 // XConsolidationDescriptor
304 virtual ::com::sun::star::sheet::GeneralFunction SAL_CALL
getFunction()
305 throw(::com::sun::star::uno::RuntimeException
);
306 virtual void SAL_CALL
setFunction( ::com::sun::star::sheet::GeneralFunction nFunction
)
307 throw(::com::sun::star::uno::RuntimeException
);
308 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::table::CellRangeAddress
> SAL_CALL
309 getSources( ) throw(::com::sun::star::uno::RuntimeException
);
310 virtual void SAL_CALL
setSources( const ::com::sun::star::uno::Sequence
<
311 ::com::sun::star::table::CellRangeAddress
>& aSources
)
312 throw(::com::sun::star::uno::RuntimeException
);
313 virtual ::com::sun::star::table::CellAddress SAL_CALL
getStartOutputPosition()
314 throw(::com::sun::star::uno::RuntimeException
);
315 virtual void SAL_CALL
setStartOutputPosition(
316 const ::com::sun::star::table::CellAddress
& aStartOutputPosition
)
317 throw(::com::sun::star::uno::RuntimeException
);
318 virtual sal_Bool SAL_CALL
getUseColumnHeaders() throw(::com::sun::star::uno::RuntimeException
);
319 virtual void SAL_CALL
setUseColumnHeaders( sal_Bool bUseColumnHeaders
)
320 throw(::com::sun::star::uno::RuntimeException
);
321 virtual sal_Bool SAL_CALL
getUseRowHeaders() throw(::com::sun::star::uno::RuntimeException
);
322 virtual void SAL_CALL
setUseRowHeaders( sal_Bool bUseRowHeaders
)
323 throw(::com::sun::star::uno::RuntimeException
);
324 virtual sal_Bool SAL_CALL
getInsertLinks() throw(::com::sun::star::uno::RuntimeException
);
325 virtual void SAL_CALL
setInsertLinks( sal_Bool bInsertLinks
)
326 throw(::com::sun::star::uno::RuntimeException
);
329 virtual ::rtl::OUString SAL_CALL
getImplementationName()
330 throw(::com::sun::star::uno::RuntimeException
);
331 virtual sal_Bool SAL_CALL
supportsService( const ::rtl::OUString
& ServiceName
)
332 throw(::com::sun::star::uno::RuntimeException
);
333 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getSupportedServiceNames()
334 throw(::com::sun::star::uno::RuntimeException
);
338 // ScFilterDescriptorBase - Basisklasse fuer FilterDescriptor
339 // alleine, im DB-Bereich und im DataPilot
341 // to uno, all three look the same
343 class ScFilterDescriptorBase
: public cppu::WeakImplHelper3
<
344 com::sun::star::sheet::XSheetFilterDescriptor
,
345 com::sun::star::beans::XPropertySet
,
346 com::sun::star::lang::XServiceInfo
>,
350 SfxItemPropertySet aPropSet
;
354 ScFilterDescriptorBase(ScDocShell
* pDocShell
);
355 virtual ~ScFilterDescriptorBase();
357 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
359 // in den Ableitungen:
360 // (nField[] hier innerhalb des Bereichs)
361 virtual void GetData( ScQueryParam
& rParam
) const = 0;
362 virtual void PutData( const ScQueryParam
& rParam
) = 0;
364 // XSheetFilterDescriptor
365 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::sheet::TableFilterField
> SAL_CALL
366 getFilterFields() throw(::com::sun::star::uno::RuntimeException
);
367 virtual void SAL_CALL
setFilterFields( const ::com::sun::star::uno::Sequence
<
368 ::com::sun::star::sheet::TableFilterField
>& aFilterFields
)
369 throw(::com::sun::star::uno::RuntimeException
);
372 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySetInfo
>
373 SAL_CALL
getPropertySetInfo()
374 throw(::com::sun::star::uno::RuntimeException
);
375 virtual void SAL_CALL
setPropertyValue( const ::rtl::OUString
& aPropertyName
,
376 const ::com::sun::star::uno::Any
& aValue
)
377 throw(::com::sun::star::beans::UnknownPropertyException
,
378 ::com::sun::star::beans::PropertyVetoException
,
379 ::com::sun::star::lang::IllegalArgumentException
,
380 ::com::sun::star::lang::WrappedTargetException
,
381 ::com::sun::star::uno::RuntimeException
);
382 virtual ::com::sun::star::uno::Any SAL_CALL
getPropertyValue(
383 const ::rtl::OUString
& PropertyName
)
384 throw(::com::sun::star::beans::UnknownPropertyException
,
385 ::com::sun::star::lang::WrappedTargetException
,
386 ::com::sun::star::uno::RuntimeException
);
387 virtual void SAL_CALL
addPropertyChangeListener( const ::rtl::OUString
& aPropertyName
,
388 const ::com::sun::star::uno::Reference
<
389 ::com::sun::star::beans::XPropertyChangeListener
>& xListener
)
390 throw(::com::sun::star::beans::UnknownPropertyException
,
391 ::com::sun::star::lang::WrappedTargetException
,
392 ::com::sun::star::uno::RuntimeException
);
393 virtual void SAL_CALL
removePropertyChangeListener( const ::rtl::OUString
& aPropertyName
,
394 const ::com::sun::star::uno::Reference
<
395 ::com::sun::star::beans::XPropertyChangeListener
>& aListener
)
396 throw(::com::sun::star::beans::UnknownPropertyException
,
397 ::com::sun::star::lang::WrappedTargetException
,
398 ::com::sun::star::uno::RuntimeException
);
399 virtual void SAL_CALL
addVetoableChangeListener( const ::rtl::OUString
& PropertyName
,
400 const ::com::sun::star::uno::Reference
<
401 ::com::sun::star::beans::XVetoableChangeListener
>& aListener
)
402 throw(::com::sun::star::beans::UnknownPropertyException
,
403 ::com::sun::star::lang::WrappedTargetException
,
404 ::com::sun::star::uno::RuntimeException
);
405 virtual void SAL_CALL
removeVetoableChangeListener( const ::rtl::OUString
& PropertyName
,
406 const ::com::sun::star::uno::Reference
<
407 ::com::sun::star::beans::XVetoableChangeListener
>& aListener
)
408 throw(::com::sun::star::beans::UnknownPropertyException
,
409 ::com::sun::star::lang::WrappedTargetException
,
410 ::com::sun::star::uno::RuntimeException
);
413 virtual ::rtl::OUString SAL_CALL
getImplementationName()
414 throw(::com::sun::star::uno::RuntimeException
);
415 virtual sal_Bool SAL_CALL
supportsService( const ::rtl::OUString
& ServiceName
)
416 throw(::com::sun::star::uno::RuntimeException
);
417 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getSupportedServiceNames()
418 throw(::com::sun::star::uno::RuntimeException
);
422 // ScFilterDescriptor - dummer Container zur Benutzung mit XFilterable
424 class ScFilterDescriptor
: public ScFilterDescriptorBase
427 ScQueryParam aStoredParam
; // nField[] hier innerhalb des Bereichs
430 ScFilterDescriptor(ScDocShell
* pDocSh
);
431 virtual ~ScFilterDescriptor();
433 // von ScFilterDescriptorBase:
434 virtual void GetData( ScQueryParam
& rParam
) const;
435 virtual void PutData( const ScQueryParam
& rParam
);
437 // Zugriff von aussen:
438 void SetParam( const ScQueryParam
& rNew
);
439 const ScQueryParam
& GetParam() const { return aStoredParam
; }
443 // ScRangeFilterDescriptor - FilterDescriptor eines Datenbank-Bereichs
445 class ScRangeFilterDescriptor
: public ScFilterDescriptorBase
448 ScDatabaseRangeObj
* pParent
;
451 ScRangeFilterDescriptor(ScDocShell
* pDocSh
, ScDatabaseRangeObj
* pPar
);
452 virtual ~ScRangeFilterDescriptor();
454 // von ScFilterDescriptorBase:
455 virtual void GetData( ScQueryParam
& rParam
) const;
456 virtual void PutData( const ScQueryParam
& rParam
);
460 // ScDataPilotFilterDescriptor - FilterDescriptor eines DataPilotDescriptors
462 class ScDataPilotFilterDescriptor
: public ScFilterDescriptorBase
465 ScDataPilotDescriptorBase
* pParent
;
468 ScDataPilotFilterDescriptor(ScDocShell
* pDocSh
, ScDataPilotDescriptorBase
* pPar
);
469 virtual ~ScDataPilotFilterDescriptor();
471 // von ScFilterDescriptorBase:
472 virtual void GetData( ScQueryParam
& rParam
) const;
473 virtual void PutData( const ScQueryParam
& rParam
);
477 class ScDatabaseRangeObj
: public cppu::WeakImplHelper6
<
478 com::sun::star::sheet::XDatabaseRange
,
479 com::sun::star::util::XRefreshable
,
480 com::sun::star::container::XNamed
,
481 com::sun::star::sheet::XCellRangeReferrer
,
482 com::sun::star::beans::XPropertySet
,
483 com::sun::star::lang::XServiceInfo
>,
487 ScDocShell
* pDocShell
;
489 SfxItemPropertySet aPropSet
;
490 XDBRefreshListenerArr_Impl aRefreshListeners
;
493 ScDBData
* GetDBData_Impl() const;
494 void Refreshed_Impl();
497 ScDatabaseRangeObj(ScDocShell
* pDocSh
, const String
& rNm
);
498 virtual ~ScDatabaseRangeObj();
500 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
502 // nField[] hier innerhalb des Bereichs:
503 void GetQueryParam(ScQueryParam
& rQueryParam
) const;
504 void SetQueryParam(const ScQueryParam
& rQueryParam
);
505 void GetSubTotalParam(ScSubTotalParam
& rSubTotalParam
) const;
506 void SetSubTotalParam(const ScSubTotalParam
& rSubTotalParam
);
509 virtual ::rtl::OUString SAL_CALL
getName() throw(::com::sun::star::uno::RuntimeException
);
510 virtual void SAL_CALL
setName( const ::rtl::OUString
& aName
)
511 throw(::com::sun::star::uno::RuntimeException
);
514 virtual ::com::sun::star::table::CellRangeAddress SAL_CALL
getDataArea()
515 throw(::com::sun::star::uno::RuntimeException
);
516 virtual void SAL_CALL
setDataArea( const ::com::sun::star::table::CellRangeAddress
& aDataArea
)
517 throw(::com::sun::star::uno::RuntimeException
);
518 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
> SAL_CALL
519 getSortDescriptor() throw(::com::sun::star::uno::RuntimeException
);
520 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSheetFilterDescriptor
> SAL_CALL
521 getFilterDescriptor() throw(::com::sun::star::uno::RuntimeException
);
522 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSubTotalDescriptor
> SAL_CALL
523 getSubTotalDescriptor() throw(::com::sun::star::uno::RuntimeException
);
524 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
> SAL_CALL
525 getImportDescriptor() throw(::com::sun::star::uno::RuntimeException
);
526 // implemented for the XRefreshable Interface
527 // virtual void SAL_CALL refresh() throw(::com::sun::star::uno::RuntimeException);
530 virtual void SAL_CALL
refresh() throw(::com::sun::star::uno::RuntimeException
);
531 virtual void SAL_CALL
addRefreshListener( const ::com::sun::star::uno::Reference
<
532 ::com::sun::star::util::XRefreshListener
>& l
)
533 throw(::com::sun::star::uno::RuntimeException
);
534 virtual void SAL_CALL
removeRefreshListener( const ::com::sun::star::uno::Reference
<
535 ::com::sun::star::util::XRefreshListener
>& l
)
536 throw(::com::sun::star::uno::RuntimeException
);
538 // XCellRangeReferrer
539 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::table::XCellRange
> SAL_CALL
540 getReferredCells() throw(::com::sun::star::uno::RuntimeException
);
543 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySetInfo
>
544 SAL_CALL
getPropertySetInfo()
545 throw(::com::sun::star::uno::RuntimeException
);
546 virtual void SAL_CALL
setPropertyValue( const ::rtl::OUString
& aPropertyName
,
547 const ::com::sun::star::uno::Any
& aValue
)
548 throw(::com::sun::star::beans::UnknownPropertyException
,
549 ::com::sun::star::beans::PropertyVetoException
,
550 ::com::sun::star::lang::IllegalArgumentException
,
551 ::com::sun::star::lang::WrappedTargetException
,
552 ::com::sun::star::uno::RuntimeException
);
553 virtual ::com::sun::star::uno::Any SAL_CALL
getPropertyValue(
554 const ::rtl::OUString
& PropertyName
)
555 throw(::com::sun::star::beans::UnknownPropertyException
,
556 ::com::sun::star::lang::WrappedTargetException
,
557 ::com::sun::star::uno::RuntimeException
);
558 virtual void SAL_CALL
addPropertyChangeListener( const ::rtl::OUString
& aPropertyName
,
559 const ::com::sun::star::uno::Reference
<
560 ::com::sun::star::beans::XPropertyChangeListener
>& xListener
)
561 throw(::com::sun::star::beans::UnknownPropertyException
,
562 ::com::sun::star::lang::WrappedTargetException
,
563 ::com::sun::star::uno::RuntimeException
);
564 virtual void SAL_CALL
removePropertyChangeListener( const ::rtl::OUString
& aPropertyName
,
565 const ::com::sun::star::uno::Reference
<
566 ::com::sun::star::beans::XPropertyChangeListener
>& aListener
)
567 throw(::com::sun::star::beans::UnknownPropertyException
,
568 ::com::sun::star::lang::WrappedTargetException
,
569 ::com::sun::star::uno::RuntimeException
);
570 virtual void SAL_CALL
addVetoableChangeListener( const ::rtl::OUString
& PropertyName
,
571 const ::com::sun::star::uno::Reference
<
572 ::com::sun::star::beans::XVetoableChangeListener
>& aListener
)
573 throw(::com::sun::star::beans::UnknownPropertyException
,
574 ::com::sun::star::lang::WrappedTargetException
,
575 ::com::sun::star::uno::RuntimeException
);
576 virtual void SAL_CALL
removeVetoableChangeListener( const ::rtl::OUString
& PropertyName
,
577 const ::com::sun::star::uno::Reference
<
578 ::com::sun::star::beans::XVetoableChangeListener
>& aListener
)
579 throw(::com::sun::star::beans::UnknownPropertyException
,
580 ::com::sun::star::lang::WrappedTargetException
,
581 ::com::sun::star::uno::RuntimeException
);
584 virtual ::rtl::OUString SAL_CALL
getImplementationName()
585 throw(::com::sun::star::uno::RuntimeException
);
586 virtual sal_Bool SAL_CALL
supportsService( const ::rtl::OUString
& ServiceName
)
587 throw(::com::sun::star::uno::RuntimeException
);
588 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getSupportedServiceNames()
589 throw(::com::sun::star::uno::RuntimeException
);
593 class ScDatabaseRangesObj
: public cppu::WeakImplHelper4
<
594 com::sun::star::sheet::XDatabaseRanges
,
595 com::sun::star::container::XEnumerationAccess
,
596 com::sun::star::container::XIndexAccess
,
597 com::sun::star::lang::XServiceInfo
>,
601 ScDocShell
* pDocShell
;
603 ScDatabaseRangeObj
* GetObjectByIndex_Impl(USHORT nIndex
);
604 ScDatabaseRangeObj
* GetObjectByName_Impl(const ::rtl::OUString
& aName
);
607 ScDatabaseRangesObj(ScDocShell
* pDocSh
);
608 virtual ~ScDatabaseRangesObj();
610 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
613 virtual void SAL_CALL
addNewByName( const ::rtl::OUString
& aName
,
614 const ::com::sun::star::table::CellRangeAddress
& aRange
)
615 throw(::com::sun::star::uno::RuntimeException
);
616 virtual void SAL_CALL
removeByName( const ::rtl::OUString
& aName
)
617 throw(::com::sun::star::uno::RuntimeException
);
619 // XEnumerationAccess
620 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XEnumeration
> SAL_CALL
621 createEnumeration() throw(::com::sun::star::uno::RuntimeException
);
624 virtual sal_Int32 SAL_CALL
getCount() throw(::com::sun::star::uno::RuntimeException
);
625 virtual ::com::sun::star::uno::Any SAL_CALL
getByIndex( sal_Int32 Index
)
626 throw(::com::sun::star::lang::IndexOutOfBoundsException
,
627 ::com::sun::star::lang::WrappedTargetException
,
628 ::com::sun::star::uno::RuntimeException
);
631 virtual ::com::sun::star::uno::Type SAL_CALL
getElementType()
632 throw(::com::sun::star::uno::RuntimeException
);
633 virtual sal_Bool SAL_CALL
hasElements() throw(::com::sun::star::uno::RuntimeException
);
636 virtual ::com::sun::star::uno::Any SAL_CALL
getByName( const ::rtl::OUString
& aName
)
637 throw(::com::sun::star::container::NoSuchElementException
,
638 ::com::sun::star::lang::WrappedTargetException
,
639 ::com::sun::star::uno::RuntimeException
);
640 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getElementNames()
641 throw(::com::sun::star::uno::RuntimeException
);
642 virtual sal_Bool SAL_CALL
hasByName( const ::rtl::OUString
& aName
)
643 throw(::com::sun::star::uno::RuntimeException
);
646 virtual ::rtl::OUString SAL_CALL
getImplementationName()
647 throw(::com::sun::star::uno::RuntimeException
);
648 virtual sal_Bool SAL_CALL
supportsService( const ::rtl::OUString
& ServiceName
)
649 throw(::com::sun::star::uno::RuntimeException
);
650 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getSupportedServiceNames()
651 throw(::com::sun::star::uno::RuntimeException
);