Update ooo320-m1
[ooovba.git] / binfilter / inc / bf_sc / datauno.hxx
blob11cad1d88135da1f0d16ae166504ec869c77255e
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: datauno.hxx,v $
10 * $Revision: 1.8 $
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
34 #ifndef SC_SCGLOB_HXX
35 #include "global.hxx"
36 #endif
38 #ifndef _SFX_ITEMPROP_HXX
39 #include <bf_svtools/itemprop.hxx>
40 #endif
42 #ifndef _SFXLSTNER_HXX //autogen
43 #include <bf_svtools/lstner.hxx>
44 #endif
46 #ifndef _COM_SUN_STAR_SHEET_XCELLRANGEREFERRER_HPP_
47 #include <com/sun/star/sheet/XCellRangeReferrer.hpp>
48 #endif
49 #ifndef _COM_SUN_STAR_SHEET_XCONSOLIDATIONDESCRIPTOR_HPP_
50 #include <com/sun/star/sheet/XConsolidationDescriptor.hpp>
51 #endif
52 #ifndef _COM_SUN_STAR_SHEET_XDATABASERANGES_HPP_
53 #include <com/sun/star/sheet/XDatabaseRanges.hpp>
54 #endif
55 #ifndef _COM_SUN_STAR_SHEET_XDATABASERANGE_HPP_
56 #include <com/sun/star/sheet/XDatabaseRange.hpp>
57 #endif
58 #ifndef _COM_SUN_STAR_SHEET_XSUBTOTALFIELD_HPP_
59 #include <com/sun/star/sheet/XSubTotalField.hpp>
60 #endif
61 #ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_
62 #include <com/sun/star/lang/XServiceInfo.hpp>
63 #endif
64 #ifndef _COM_SUN_STAR_CONTAINER_XENUMERATIONACCESS_HPP_
65 #include <com/sun/star/container/XEnumerationAccess.hpp>
66 #endif
67 #ifndef _COM_SUN_STAR_CONTAINER_XINDEXACCESS_HPP_
68 #include <com/sun/star/container/XIndexAccess.hpp>
69 #endif
70 #ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_
71 #include <com/sun/star/beans/XPropertySet.hpp>
72 #endif
73 #ifndef _COM_SUN_STAR_LANG_XUNOTUNNEL_HPP_
74 #include <com/sun/star/lang/XUnoTunnel.hpp>
75 #endif
76 #ifndef _COM_SUN_STAR_CONTAINER_XNAMED_HPP_
77 #include <com/sun/star/container/XNamed.hpp>
78 #endif
80 #ifndef _CPPUHELPER_IMPLBASE2_HXX_
81 #include <cppuhelper/implbase2.hxx>
82 #endif
83 #ifndef _CPPUHELPER_IMPLBASE3_HXX_
84 #include <cppuhelper/implbase3.hxx>
85 #endif
86 #ifndef _CPPUHELPER_IMPLBASE4_HXX_
87 #include <cppuhelper/implbase4.hxx>
88 #endif
89 #ifndef _CPPUHELPER_IMPLBASE5_HXX_
90 #include <cppuhelper/implbase5.hxx>
91 #endif
92 #ifndef _CPPUHELPER_IMPLBASE6_HXX_
93 #include <cppuhelper/implbase6.hxx>
94 #endif
95 namespace binfilter {
97 class ScDBData;
98 class ScDocShell;
100 class ScSubTotalFieldObj;
101 class ScDatabaseRangeObj;
102 class ScDataPilotDescriptorBase;
104 struct ScSortParam;
107 class ScDataUnoConversion
109 public:
110 static ScSubTotalFunc GeneralToSubTotal( ::com::sun::star::sheet::GeneralFunction eSummary );
111 static ::com::sun::star::sheet::GeneralFunction SubTotalToGeneral( ScSubTotalFunc eSubTotal );
115 // ImportDescriptor gibt's nicht mehr als Uno-Objekt, nur noch Property-Sequence
117 class ScImportDescriptor
119 public:
120 static void FillImportParam(
121 ScImportParam& rParam,
122 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue>& rSeq );
123 static void FillProperties(
124 ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue>& rSeq,
125 const ScImportParam& rParam );
126 static long GetPropertyCount();
129 // SortDescriptor gibt's nicht mehr als Uno-Objekt, nur noch Property-Sequence
131 class ScSortDescriptor
133 public:
134 static void FillSortParam(
135 ScSortParam& rParam,
136 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue>& rSeq );
137 static void FillProperties(
138 ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue>& rSeq,
139 const ScSortParam& rParam );
140 static long GetPropertyCount();
144 // ScSubTotalDescriptorBase - Basisklasse fuer SubTotalDescriptor alleine und im DB-Bereich
146 // to uno, both look the same
148 class ScSubTotalDescriptorBase : public cppu::WeakImplHelper6<
149 ::com::sun::star::sheet::XSubTotalDescriptor,
150 ::com::sun::star::container::XEnumerationAccess,
151 ::com::sun::star::container::XIndexAccess,
152 ::com::sun::star::beans::XPropertySet,
153 ::com::sun::star::lang::XUnoTunnel,
154 ::com::sun::star::lang::XServiceInfo >
156 private:
157 SfxItemPropertySet aPropSet;
159 ScSubTotalFieldObj* GetObjectByIndex_Impl(USHORT nIndex);
161 public:
162 ScSubTotalDescriptorBase();
163 virtual ~ScSubTotalDescriptorBase();
165 // in derived classes:
166 // (Fields are within the range)
167 virtual void GetData( ScSubTotalParam& rParam ) const = 0;
168 virtual void PutData( const ScSubTotalParam& rParam ) = 0;
170 // XSubTotalDescriptor
171 virtual void SAL_CALL addNew( const ::com::sun::star::uno::Sequence<
172 ::com::sun::star::sheet::SubTotalColumn >& aSubTotalColumns,
173 sal_Int32 nGroupColumn )
174 throw(::com::sun::star::uno::RuntimeException);
175 virtual void SAL_CALL clear() throw(::com::sun::star::uno::RuntimeException);
177 // XIndexAccess
178 virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
179 virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
180 throw(::com::sun::star::lang::IndexOutOfBoundsException,
181 ::com::sun::star::lang::WrappedTargetException,
182 ::com::sun::star::uno::RuntimeException);
184 // XEnumerationAccess
185 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
186 createEnumeration() throw(::com::sun::star::uno::RuntimeException);
188 // XElementAccess
189 virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
190 throw(::com::sun::star::uno::RuntimeException);
191 virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
193 // XPropertySet
194 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
195 SAL_CALL getPropertySetInfo()
196 throw(::com::sun::star::uno::RuntimeException);
197 virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName,
198 const ::com::sun::star::uno::Any& aValue )
199 throw(::com::sun::star::beans::UnknownPropertyException,
200 ::com::sun::star::beans::PropertyVetoException,
201 ::com::sun::star::lang::IllegalArgumentException,
202 ::com::sun::star::lang::WrappedTargetException,
203 ::com::sun::star::uno::RuntimeException);
204 virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
205 const ::rtl::OUString& PropertyName )
206 throw(::com::sun::star::beans::UnknownPropertyException,
207 ::com::sun::star::lang::WrappedTargetException,
208 ::com::sun::star::uno::RuntimeException);
209 virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName,
210 const ::com::sun::star::uno::Reference<
211 ::com::sun::star::beans::XPropertyChangeListener >& xListener )
212 throw(::com::sun::star::beans::UnknownPropertyException,
213 ::com::sun::star::lang::WrappedTargetException,
214 ::com::sun::star::uno::RuntimeException);
215 virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName,
216 const ::com::sun::star::uno::Reference<
217 ::com::sun::star::beans::XPropertyChangeListener >& aListener )
218 throw(::com::sun::star::beans::UnknownPropertyException,
219 ::com::sun::star::lang::WrappedTargetException,
220 ::com::sun::star::uno::RuntimeException);
221 virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName,
222 const ::com::sun::star::uno::Reference<
223 ::com::sun::star::beans::XVetoableChangeListener >& aListener )
224 throw(::com::sun::star::beans::UnknownPropertyException,
225 ::com::sun::star::lang::WrappedTargetException,
226 ::com::sun::star::uno::RuntimeException);
227 virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName,
228 const ::com::sun::star::uno::Reference<
229 ::com::sun::star::beans::XVetoableChangeListener >& aListener )
230 throw(::com::sun::star::beans::UnknownPropertyException,
231 ::com::sun::star::lang::WrappedTargetException,
232 ::com::sun::star::uno::RuntimeException);
234 // XUnoTunnel
235 virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence<
236 sal_Int8 >& aIdentifier )
237 throw(::com::sun::star::uno::RuntimeException);
239 static const ::com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId();
240 static ScSubTotalDescriptorBase* getImplementation( const ::com::sun::star::uno::Reference<
241 ::com::sun::star::sheet::XSubTotalDescriptor> xObj );
243 // XServiceInfo
244 virtual ::rtl::OUString SAL_CALL getImplementationName()
245 throw(::com::sun::star::uno::RuntimeException);
246 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
247 throw(::com::sun::star::uno::RuntimeException);
248 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
249 throw(::com::sun::star::uno::RuntimeException);
253 // ScSubTotalDescriptor - dummer Container zur Benutzung mit XImportTarget
255 class ScSubTotalDescriptor : public ScSubTotalDescriptorBase
257 private:
258 ScSubTotalParam aStoredParam;
260 public:
261 ScSubTotalDescriptor();
262 virtual ~ScSubTotalDescriptor();
264 // von ScSubTotalDescriptorBase:
265 virtual void GetData( ScSubTotalParam& rParam ) const;
266 virtual void PutData( const ScSubTotalParam& rParam );
268 // Zugriff von aussen:
269 void SetParam( const ScSubTotalParam& rNew );
270 // const ScSubTotalParam& GetParam() const { return aStoredParam; }
274 // ScRangeSubTotalDescriptor - SubTotalDescriptor eines Datenbank-Bereichs
276 class ScRangeSubTotalDescriptor : public ScSubTotalDescriptorBase
278 private:
279 ScDatabaseRangeObj* pParent;
281 public:
282 ScRangeSubTotalDescriptor(ScDatabaseRangeObj* pPar);
283 virtual ~ScRangeSubTotalDescriptor();
285 // von ScSubTotalDescriptorBase:
286 virtual void GetData( ScSubTotalParam& rParam ) const;
287 virtual void PutData( const ScSubTotalParam& rParam );
291 class ScSubTotalFieldObj : public cppu::WeakImplHelper2<
292 ::com::sun::star::sheet::XSubTotalField,
293 ::com::sun::star::lang::XServiceInfo >
295 private:
296 ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSubTotalDescriptor> xRef;
297 ScSubTotalDescriptorBase& rParent;
298 USHORT nPos;
300 public:
301 ScSubTotalFieldObj( ScSubTotalDescriptorBase* pDesc, USHORT nP );
302 virtual ~ScSubTotalFieldObj();
304 // XSubTotalField
305 virtual sal_Int32 SAL_CALL getGroupColumn() throw(::com::sun::star::uno::RuntimeException);
306 virtual void SAL_CALL setGroupColumn( sal_Int32 nGroupColumn )
307 throw(::com::sun::star::uno::RuntimeException);
308 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::SubTotalColumn > SAL_CALL
309 getSubTotalColumns() throw(::com::sun::star::uno::RuntimeException);
310 virtual void SAL_CALL setSubTotalColumns( const ::com::sun::star::uno::Sequence<
311 ::com::sun::star::sheet::SubTotalColumn >& aSubTotalColumns )
312 throw(::com::sun::star::uno::RuntimeException);
314 // XServiceInfo
315 virtual ::rtl::OUString SAL_CALL getImplementationName()
316 throw(::com::sun::star::uno::RuntimeException);
317 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
318 throw(::com::sun::star::uno::RuntimeException);
319 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
320 throw(::com::sun::star::uno::RuntimeException);
324 class ScConsolidationDescriptor : public cppu::WeakImplHelper2<
325 ::com::sun::star::sheet::XConsolidationDescriptor,
326 ::com::sun::star::lang::XServiceInfo >
328 private:
329 ScConsolidateParam aParam;
331 public:
332 ScConsolidationDescriptor();
333 virtual ~ScConsolidationDescriptor();
335 void SetParam( const ScConsolidateParam& rNew );
336 const ScConsolidateParam& GetParam() const { return aParam; }
338 // XConsolidationDescriptor
339 virtual ::com::sun::star::sheet::GeneralFunction SAL_CALL getFunction()
340 throw(::com::sun::star::uno::RuntimeException);
341 virtual void SAL_CALL setFunction( ::com::sun::star::sheet::GeneralFunction nFunction )
342 throw(::com::sun::star::uno::RuntimeException);
343 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::table::CellRangeAddress > SAL_CALL
344 getSources( ) throw(::com::sun::star::uno::RuntimeException);
345 virtual void SAL_CALL setSources( const ::com::sun::star::uno::Sequence<
346 ::com::sun::star::table::CellRangeAddress >& aSources )
347 throw(::com::sun::star::uno::RuntimeException);
348 virtual ::com::sun::star::table::CellAddress SAL_CALL getStartOutputPosition()
349 throw(::com::sun::star::uno::RuntimeException);
350 virtual void SAL_CALL setStartOutputPosition(
351 const ::com::sun::star::table::CellAddress& aStartOutputPosition )
352 throw(::com::sun::star::uno::RuntimeException);
353 virtual sal_Bool SAL_CALL getUseColumnHeaders() throw(::com::sun::star::uno::RuntimeException);
354 virtual void SAL_CALL setUseColumnHeaders( sal_Bool bUseColumnHeaders )
355 throw(::com::sun::star::uno::RuntimeException);
356 virtual sal_Bool SAL_CALL getUseRowHeaders() throw(::com::sun::star::uno::RuntimeException);
357 virtual void SAL_CALL setUseRowHeaders( sal_Bool bUseRowHeaders )
358 throw(::com::sun::star::uno::RuntimeException);
359 virtual sal_Bool SAL_CALL getInsertLinks() throw(::com::sun::star::uno::RuntimeException);
360 virtual void SAL_CALL setInsertLinks( sal_Bool bInsertLinks )
361 throw(::com::sun::star::uno::RuntimeException);
363 // XServiceInfo
364 virtual ::rtl::OUString SAL_CALL getImplementationName()
365 throw(::com::sun::star::uno::RuntimeException);
366 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
367 throw(::com::sun::star::uno::RuntimeException);
368 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
369 throw(::com::sun::star::uno::RuntimeException);
373 // ScFilterDescriptorBase - Basisklasse fuer FilterDescriptor
374 // alleine, im DB-Bereich und im DataPilot
376 // to uno, all three look the same
378 class ScFilterDescriptorBase : public cppu::WeakImplHelper3<
379 ::com::sun::star::sheet::XSheetFilterDescriptor,
380 ::com::sun::star::beans::XPropertySet,
381 ::com::sun::star::lang::XServiceInfo >,
382 public SfxListener
384 private:
385 SfxItemPropertySet aPropSet;
386 ScDocShell* pDocSh;
388 public:
389 ScFilterDescriptorBase(ScDocShell* pDocShell);
390 virtual ~ScFilterDescriptorBase();
392 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
394 // in den Ableitungen:
395 // (nField[] hier innerhalb des Bereichs)
396 virtual void GetData( ScQueryParam& rParam ) const = 0;
397 virtual void PutData( const ScQueryParam& rParam ) = 0;
399 // XSheetFilterDescriptor
400 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::TableFilterField > SAL_CALL
401 getFilterFields() throw(::com::sun::star::uno::RuntimeException);
402 virtual void SAL_CALL setFilterFields( const ::com::sun::star::uno::Sequence<
403 ::com::sun::star::sheet::TableFilterField >& aFilterFields )
404 throw(::com::sun::star::uno::RuntimeException);
406 // XPropertySet
407 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
408 SAL_CALL getPropertySetInfo()
409 throw(::com::sun::star::uno::RuntimeException);
410 virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName,
411 const ::com::sun::star::uno::Any& aValue )
412 throw(::com::sun::star::beans::UnknownPropertyException,
413 ::com::sun::star::beans::PropertyVetoException,
414 ::com::sun::star::lang::IllegalArgumentException,
415 ::com::sun::star::lang::WrappedTargetException,
416 ::com::sun::star::uno::RuntimeException);
417 virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
418 const ::rtl::OUString& PropertyName )
419 throw(::com::sun::star::beans::UnknownPropertyException,
420 ::com::sun::star::lang::WrappedTargetException,
421 ::com::sun::star::uno::RuntimeException);
422 virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName,
423 const ::com::sun::star::uno::Reference<
424 ::com::sun::star::beans::XPropertyChangeListener >& xListener )
425 throw(::com::sun::star::beans::UnknownPropertyException,
426 ::com::sun::star::lang::WrappedTargetException,
427 ::com::sun::star::uno::RuntimeException);
428 virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName,
429 const ::com::sun::star::uno::Reference<
430 ::com::sun::star::beans::XPropertyChangeListener >& aListener )
431 throw(::com::sun::star::beans::UnknownPropertyException,
432 ::com::sun::star::lang::WrappedTargetException,
433 ::com::sun::star::uno::RuntimeException);
434 virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName,
435 const ::com::sun::star::uno::Reference<
436 ::com::sun::star::beans::XVetoableChangeListener >& aListener )
437 throw(::com::sun::star::beans::UnknownPropertyException,
438 ::com::sun::star::lang::WrappedTargetException,
439 ::com::sun::star::uno::RuntimeException);
440 virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName,
441 const ::com::sun::star::uno::Reference<
442 ::com::sun::star::beans::XVetoableChangeListener >& aListener )
443 throw(::com::sun::star::beans::UnknownPropertyException,
444 ::com::sun::star::lang::WrappedTargetException,
445 ::com::sun::star::uno::RuntimeException);
447 // XServiceInfo
448 virtual ::rtl::OUString SAL_CALL getImplementationName()
449 throw(::com::sun::star::uno::RuntimeException);
450 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
451 throw(::com::sun::star::uno::RuntimeException);
452 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
453 throw(::com::sun::star::uno::RuntimeException);
457 // ScFilterDescriptor - dummer Container zur Benutzung mit XFilterable
459 class ScFilterDescriptor : public ScFilterDescriptorBase
461 private:
462 ScQueryParam aStoredParam; // nField[] hier innerhalb des Bereichs
464 public:
465 ScFilterDescriptor(ScDocShell* pDocSh);
466 virtual ~ScFilterDescriptor();
468 // von ScFilterDescriptorBase:
469 virtual void GetData( ScQueryParam& rParam ) const;
470 virtual void PutData( const ScQueryParam& rParam );
472 // Zugriff von aussen:
473 void SetParam( const ScQueryParam& rNew );
474 const ScQueryParam& GetParam() const { return aStoredParam; }
478 // ScRangeFilterDescriptor - FilterDescriptor eines Datenbank-Bereichs
480 class ScRangeFilterDescriptor : public ScFilterDescriptorBase
482 private:
483 ScDatabaseRangeObj* pParent;
485 public:
486 ScRangeFilterDescriptor(ScDocShell* pDocSh, ScDatabaseRangeObj* pPar);
487 virtual ~ScRangeFilterDescriptor();
489 // von ScFilterDescriptorBase:
490 virtual void GetData( ScQueryParam& rParam ) const;
491 virtual void PutData( const ScQueryParam& rParam );
495 // ScDataPilotFilterDescriptor - FilterDescriptor eines DataPilotDescriptors
497 class ScDataPilotFilterDescriptor : public ScFilterDescriptorBase
499 private:
500 ScDataPilotDescriptorBase* pParent;
502 public:
503 ScDataPilotFilterDescriptor(ScDocShell* pDocSh, ScDataPilotDescriptorBase* pPar);
504 virtual ~ScDataPilotFilterDescriptor();
506 // von ScFilterDescriptorBase:
507 virtual void GetData( ScQueryParam& rParam ) const;
508 virtual void PutData( const ScQueryParam& rParam );
512 class ScDatabaseRangeObj : public cppu::WeakImplHelper5<
513 ::com::sun::star::sheet::XDatabaseRange,
514 ::com::sun::star::container::XNamed,
515 ::com::sun::star::sheet::XCellRangeReferrer,
516 ::com::sun::star::beans::XPropertySet,
517 ::com::sun::star::lang::XServiceInfo >,
518 public SfxListener
520 private:
521 ScDocShell* pDocShell;
522 String aName;
523 SfxItemPropertySet aPropSet;
525 private:
526 ScDBData* GetDBData_Impl() const;
528 public:
529 ScDatabaseRangeObj(ScDocShell* pDocSh, const String& rNm);
530 virtual ~ScDatabaseRangeObj();
532 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
534 // nField[] hier innerhalb des Bereichs:
535 void GetQueryParam(ScQueryParam& rQueryParam) const;
536 void SetQueryParam(const ScQueryParam& rQueryParam);
537 void GetSubTotalParam(ScSubTotalParam& rSubTotalParam) const;
538 void SetSubTotalParam(const ScSubTotalParam& rSubTotalParam);
540 // XNamed
541 virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException);
542 virtual void SAL_CALL setName( const ::rtl::OUString& aName )
543 throw(::com::sun::star::uno::RuntimeException);
545 // XDatabaseRange
546 virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getDataArea()
547 throw(::com::sun::star::uno::RuntimeException);
548 virtual void SAL_CALL setDataArea( const ::com::sun::star::table::CellRangeAddress& aDataArea )
549 throw(::com::sun::star::uno::RuntimeException);
550 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL
551 getSortDescriptor() throw(::com::sun::star::uno::RuntimeException);
552 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetFilterDescriptor > SAL_CALL
553 getFilterDescriptor() throw(::com::sun::star::uno::RuntimeException);
554 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSubTotalDescriptor > SAL_CALL
555 getSubTotalDescriptor() throw(::com::sun::star::uno::RuntimeException);
556 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL
557 getImportDescriptor() throw(::com::sun::star::uno::RuntimeException);
558 virtual void SAL_CALL refresh() throw(::com::sun::star::uno::RuntimeException);
560 // XCellRangeReferrer
561 virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL
562 getReferredCells() throw(::com::sun::star::uno::RuntimeException);
564 // XPropertySet
565 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
566 SAL_CALL getPropertySetInfo()
567 throw(::com::sun::star::uno::RuntimeException);
568 virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName,
569 const ::com::sun::star::uno::Any& aValue )
570 throw(::com::sun::star::beans::UnknownPropertyException,
571 ::com::sun::star::beans::PropertyVetoException,
572 ::com::sun::star::lang::IllegalArgumentException,
573 ::com::sun::star::lang::WrappedTargetException,
574 ::com::sun::star::uno::RuntimeException);
575 virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
576 const ::rtl::OUString& PropertyName )
577 throw(::com::sun::star::beans::UnknownPropertyException,
578 ::com::sun::star::lang::WrappedTargetException,
579 ::com::sun::star::uno::RuntimeException);
580 virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName,
581 const ::com::sun::star::uno::Reference<
582 ::com::sun::star::beans::XPropertyChangeListener >& xListener )
583 throw(::com::sun::star::beans::UnknownPropertyException,
584 ::com::sun::star::lang::WrappedTargetException,
585 ::com::sun::star::uno::RuntimeException);
586 virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName,
587 const ::com::sun::star::uno::Reference<
588 ::com::sun::star::beans::XPropertyChangeListener >& aListener )
589 throw(::com::sun::star::beans::UnknownPropertyException,
590 ::com::sun::star::lang::WrappedTargetException,
591 ::com::sun::star::uno::RuntimeException);
592 virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName,
593 const ::com::sun::star::uno::Reference<
594 ::com::sun::star::beans::XVetoableChangeListener >& aListener )
595 throw(::com::sun::star::beans::UnknownPropertyException,
596 ::com::sun::star::lang::WrappedTargetException,
597 ::com::sun::star::uno::RuntimeException);
598 virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName,
599 const ::com::sun::star::uno::Reference<
600 ::com::sun::star::beans::XVetoableChangeListener >& aListener )
601 throw(::com::sun::star::beans::UnknownPropertyException,
602 ::com::sun::star::lang::WrappedTargetException,
603 ::com::sun::star::uno::RuntimeException);
605 // XServiceInfo
606 virtual ::rtl::OUString SAL_CALL getImplementationName()
607 throw(::com::sun::star::uno::RuntimeException);
608 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
609 throw(::com::sun::star::uno::RuntimeException);
610 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
611 throw(::com::sun::star::uno::RuntimeException);
615 class ScDatabaseRangesObj : public cppu::WeakImplHelper4<
616 ::com::sun::star::sheet::XDatabaseRanges,
617 ::com::sun::star::container::XEnumerationAccess,
618 ::com::sun::star::container::XIndexAccess,
619 ::com::sun::star::lang::XServiceInfo >,
620 public SfxListener
622 private:
623 ScDocShell* pDocShell;
625 ScDatabaseRangeObj* GetObjectByIndex_Impl(USHORT nIndex);
626 ScDatabaseRangeObj* GetObjectByName_Impl(const ::rtl::OUString& aName);
628 public:
629 ScDatabaseRangesObj(ScDocShell* pDocSh);
630 virtual ~ScDatabaseRangesObj();
632 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
634 // XDatabaseRanges
635 virtual void SAL_CALL addNewByName( const ::rtl::OUString& aName,
636 const ::com::sun::star::table::CellRangeAddress& aRange )
637 throw(::com::sun::star::uno::RuntimeException);
638 virtual void SAL_CALL removeByName( const ::rtl::OUString& aName )
639 throw(::com::sun::star::uno::RuntimeException);
641 // XEnumerationAccess
642 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
643 createEnumeration() throw(::com::sun::star::uno::RuntimeException);
645 // XIndexAccess
646 virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
647 virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
648 throw(::com::sun::star::lang::IndexOutOfBoundsException,
649 ::com::sun::star::lang::WrappedTargetException,
650 ::com::sun::star::uno::RuntimeException);
652 // XElementAccess
653 virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
654 throw(::com::sun::star::uno::RuntimeException);
655 virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
657 // XNameAccess
658 virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName )
659 throw(::com::sun::star::container::NoSuchElementException,
660 ::com::sun::star::lang::WrappedTargetException,
661 ::com::sun::star::uno::RuntimeException);
662 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames()
663 throw(::com::sun::star::uno::RuntimeException);
664 virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName )
665 throw(::com::sun::star::uno::RuntimeException);
667 // XServiceInfo
668 virtual ::rtl::OUString SAL_CALL getImplementationName()
669 throw(::com::sun::star::uno::RuntimeException);
670 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
671 throw(::com::sun::star::uno::RuntimeException);
672 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
673 throw(::com::sun::star::uno::RuntimeException);
678 } //namespace binfilter
679 #endif