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: dapiuno.hxx,v $
10 * $Revision: 1.10.30.2 $
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_DAPIUNO_HXX
32 #define SC_DAPIUNO_HXX
35 #include "dpobject.hxx"
36 #include "rangeutl.hxx" // ScArea
37 #include <svtools/lstner.hxx>
38 #include <svtools/itemprop.hxx>
40 #include <com/sun/star/lang/XServiceInfo.hpp>
41 #include <com/sun/star/lang/XUnoTunnel.hpp>
42 #include <com/sun/star/beans/XPropertySet.hpp>
43 #include <com/sun/star/container/XEnumerationAccess.hpp>
44 #include <com/sun/star/container/XNameContainer.hpp>
46 #include <com/sun/star/sheet/DataPilotFieldAutoShowInfo.hpp>
47 #include <com/sun/star/sheet/DataPilotFieldGroupInfo.hpp>
48 #include <com/sun/star/sheet/DataPilotFieldLayoutInfo.hpp>
49 #include <com/sun/star/sheet/DataPilotFieldOrientation.hpp>
50 #include <com/sun/star/sheet/DataPilotFieldReference.hpp>
51 #include <com/sun/star/sheet/DataPilotFieldSortInfo.hpp>
52 #include <com/sun/star/sheet/GeneralFunction.hpp>
53 #include <com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.hpp>
54 #include <com/sun/star/sheet/XDataPilotDescriptor.hpp>
55 #include <com/sun/star/sheet/XDataPilotField.hpp>
56 #include <com/sun/star/sheet/XDataPilotFieldGrouping.hpp>
57 #include <com/sun/star/sheet/XDataPilotTable.hpp>
58 #include <com/sun/star/sheet/XDataPilotTable2.hpp>
59 #include <com/sun/star/sheet/XDataPilotTables.hpp>
61 #include <cppuhelper/implbase2.hxx>
62 #include <cppuhelper/implbase3.hxx>
63 #include <cppuhelper/implbase4.hxx>
64 #include <cppuhelper/implbase5.hxx>
69 namespace com
{ namespace sun
{ namespace star
{ namespace sheet
{
70 struct DataPilotFieldFilter
;
71 struct DataPilotTablePositionData
;
75 class ScDPSaveDimension
;
76 class ScDPSaveGroupDimension
;
77 class ScDPSaveNumGroupDimension
;
78 struct ScDPNumGroupInfo
;
80 class ScDataPilotTableObj
;
81 class ScDataPilotFieldObj
;
82 class ScDataPilotItemObj
;
85 class ScDataPilotConversion
88 static com::sun::star::sheet::GeneralFunction
FirstFunc( USHORT nBits
);
89 static USHORT
FunctionBit( com::sun::star::sheet::GeneralFunction eFunc
);
91 static void FillGroupInfo(
92 ::com::sun::star::sheet::DataPilotFieldGroupInfo
& rInfo
,
93 const ScDPNumGroupInfo
& rGroupInfo
);
96 // ============================================================================
98 /** DataPilotTables collection per sheet. */
99 class ScDataPilotTablesObj
: public cppu::WeakImplHelper4
<
100 com::sun::star::sheet::XDataPilotTables
,
101 com::sun::star::container::XEnumerationAccess
,
102 com::sun::star::container::XIndexAccess
,
103 com::sun::star::lang::XServiceInfo
>,
107 ScDocShell
* pDocShell
;
110 ScDataPilotTableObj
* GetObjectByIndex_Impl( sal_Int32 nIndex
);
111 ScDataPilotTableObj
* GetObjectByName_Impl(const ::rtl::OUString
& aName
);
114 ScDataPilotTablesObj(ScDocShell
* pDocSh
, SCTAB nT
);
115 virtual ~ScDataPilotTablesObj();
117 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
120 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XDataPilotDescriptor
> SAL_CALL
121 createDataPilotDescriptor() throw(::com::sun::star::uno::RuntimeException
);
122 virtual void SAL_CALL
insertNewByName( const ::rtl::OUString
& aName
,
123 const ::com::sun::star::table::CellAddress
& aOutputAddress
,
124 const ::com::sun::star::uno::Reference
<
125 ::com::sun::star::sheet::XDataPilotDescriptor
>& xDescriptor
)
126 throw(::com::sun::star::uno::RuntimeException
);
127 virtual void SAL_CALL
removeByName( const ::rtl::OUString
& aName
)
128 throw(::com::sun::star::uno::RuntimeException
);
131 virtual ::com::sun::star::uno::Any SAL_CALL
getByName( const ::rtl::OUString
& aName
)
132 throw(::com::sun::star::container::NoSuchElementException
,
133 ::com::sun::star::lang::WrappedTargetException
,
134 ::com::sun::star::uno::RuntimeException
);
135 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getElementNames()
136 throw(::com::sun::star::uno::RuntimeException
);
137 virtual sal_Bool SAL_CALL
hasByName( const ::rtl::OUString
& aName
)
138 throw(::com::sun::star::uno::RuntimeException
);
141 virtual sal_Int32 SAL_CALL
getCount() throw(::com::sun::star::uno::RuntimeException
);
142 virtual ::com::sun::star::uno::Any SAL_CALL
getByIndex( sal_Int32 Index
)
143 throw(::com::sun::star::lang::IndexOutOfBoundsException
,
144 ::com::sun::star::lang::WrappedTargetException
,
145 ::com::sun::star::uno::RuntimeException
);
147 // XEnumerationAccess
148 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XEnumeration
> SAL_CALL
149 createEnumeration() throw(::com::sun::star::uno::RuntimeException
);
152 virtual ::com::sun::star::uno::Type SAL_CALL
getElementType()
153 throw(::com::sun::star::uno::RuntimeException
);
154 virtual sal_Bool SAL_CALL
hasElements() throw(::com::sun::star::uno::RuntimeException
);
157 virtual ::rtl::OUString SAL_CALL
getImplementationName()
158 throw(::com::sun::star::uno::RuntimeException
);
159 virtual sal_Bool SAL_CALL
supportsService( const ::rtl::OUString
& ServiceName
)
160 throw(::com::sun::star::uno::RuntimeException
);
161 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getSupportedServiceNames()
162 throw(::com::sun::star::uno::RuntimeException
);
165 // ============================================================================
167 // ScDataPilotDescriptorBase is never instantiated directly
168 class ScDataPilotDescriptorBase
: public com::sun::star::sheet::XDataPilotDescriptor
,
169 public com::sun::star::beans::XPropertySet
,
170 public com::sun::star::sheet::XDataPilotDataLayoutFieldSupplier
,
171 public com::sun::star::lang::XServiceInfo
,
172 public com::sun::star::lang::XUnoTunnel
,
173 public com::sun::star::lang::XTypeProvider
,
174 public cppu::OWeakObject
,
178 SfxItemPropertySet maPropSet
;
179 ScDocShell
* pDocShell
;
182 ScDataPilotDescriptorBase(ScDocShell
* pDocSh
);
183 virtual ~ScDataPilotDescriptorBase();
185 virtual ::com::sun::star::uno::Any SAL_CALL
queryInterface(
186 const ::com::sun::star::uno::Type
& rType
)
187 throw(::com::sun::star::uno::RuntimeException
);
188 virtual void SAL_CALL
acquire() throw();
189 virtual void SAL_CALL
release() throw();
191 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
193 ScDocShell
* GetDocShell() const { return pDocShell
; }
195 // in den Ableitungen:
196 virtual ScDPObject
* GetDPObject() const = 0;
197 virtual void SetDPObject(ScDPObject
* pDPObj
) = 0;
199 // XDataPilotDescriptor
200 // getName, setName, getTag, setTag in derived classes
202 virtual ::com::sun::star::table::CellRangeAddress SAL_CALL
getSourceRange()
203 throw(::com::sun::star::uno::RuntimeException
);
204 virtual void SAL_CALL
setSourceRange( const ::com::sun::star::table::CellRangeAddress
& aSourceRange
)
205 throw(::com::sun::star::uno::RuntimeException
);
206 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSheetFilterDescriptor
> SAL_CALL
207 getFilterDescriptor() throw(::com::sun::star::uno::RuntimeException
);
208 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XIndexAccess
> SAL_CALL
209 getDataPilotFields() throw(::com::sun::star::uno::RuntimeException
);
210 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XIndexAccess
> SAL_CALL
211 getColumnFields() throw(::com::sun::star::uno::RuntimeException
);
212 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XIndexAccess
> SAL_CALL
213 getRowFields() throw(::com::sun::star::uno::RuntimeException
);
214 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XIndexAccess
> SAL_CALL
215 getPageFields() throw(::com::sun::star::uno::RuntimeException
);
216 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XIndexAccess
> SAL_CALL
217 getDataFields() throw(::com::sun::star::uno::RuntimeException
);
218 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XIndexAccess
> SAL_CALL
219 getHiddenFields() throw(::com::sun::star::uno::RuntimeException
);
222 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySetInfo
>
223 SAL_CALL
getPropertySetInfo( )
224 throw(::com::sun::star::uno::RuntimeException
);
225 virtual void SAL_CALL
setPropertyValue( const ::rtl::OUString
& aPropertyName
,
226 const ::com::sun::star::uno::Any
& aValue
)
227 throw(::com::sun::star::beans::UnknownPropertyException
,
228 ::com::sun::star::beans::PropertyVetoException
,
229 ::com::sun::star::lang::IllegalArgumentException
,
230 ::com::sun::star::lang::WrappedTargetException
,
231 ::com::sun::star::uno::RuntimeException
);
232 virtual ::com::sun::star::uno::Any SAL_CALL
getPropertyValue(
233 const ::rtl::OUString
& PropertyName
)
234 throw(::com::sun::star::beans::UnknownPropertyException
,
235 ::com::sun::star::lang::WrappedTargetException
,
236 ::com::sun::star::uno::RuntimeException
);
237 virtual void SAL_CALL
addPropertyChangeListener( const ::rtl::OUString
& aPropertyName
,
238 const ::com::sun::star::uno::Reference
<
239 ::com::sun::star::beans::XPropertyChangeListener
>& xListener
)
240 throw(::com::sun::star::beans::UnknownPropertyException
,
241 ::com::sun::star::lang::WrappedTargetException
,
242 ::com::sun::star::uno::RuntimeException
);
243 virtual void SAL_CALL
removePropertyChangeListener( const ::rtl::OUString
& aPropertyName
,
244 const ::com::sun::star::uno::Reference
<
245 ::com::sun::star::beans::XPropertyChangeListener
>& aListener
)
246 throw(::com::sun::star::beans::UnknownPropertyException
,
247 ::com::sun::star::lang::WrappedTargetException
,
248 ::com::sun::star::uno::RuntimeException
);
249 virtual void SAL_CALL
addVetoableChangeListener( const ::rtl::OUString
& PropertyName
,
250 const ::com::sun::star::uno::Reference
<
251 ::com::sun::star::beans::XVetoableChangeListener
>& aListener
)
252 throw(::com::sun::star::beans::UnknownPropertyException
,
253 ::com::sun::star::lang::WrappedTargetException
,
254 ::com::sun::star::uno::RuntimeException
);
255 virtual void SAL_CALL
removeVetoableChangeListener( const ::rtl::OUString
& PropertyName
,
256 const ::com::sun::star::uno::Reference
<
257 ::com::sun::star::beans::XVetoableChangeListener
>& aListener
)
258 throw(::com::sun::star::beans::UnknownPropertyException
,
259 ::com::sun::star::lang::WrappedTargetException
,
260 ::com::sun::star::uno::RuntimeException
);
262 // XDataPilotDataLayoutFieldSupplier
263 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XDataPilotField
>
264 SAL_CALL
getDataLayoutField()
265 throw(::com::sun::star::uno::RuntimeException
);
268 virtual sal_Int64 SAL_CALL
getSomething( const ::com::sun::star::uno::Sequence
<
269 sal_Int8
>& aIdentifier
)
270 throw(::com::sun::star::uno::RuntimeException
);
272 static const com::sun::star::uno::Sequence
<sal_Int8
>& getUnoTunnelId();
273 static ScDataPilotDescriptorBase
* getImplementation( const com::sun::star::uno::Reference
<
274 com::sun::star::sheet::XDataPilotDescriptor
> xObj
);
276 // XTypeProvider (overloaded in ScDataPilotTableObj)
277 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Type
> SAL_CALL
getTypes()
278 throw(::com::sun::star::uno::RuntimeException
);
279 virtual ::com::sun::star::uno::Sequence
< sal_Int8
> SAL_CALL
getImplementationId()
280 throw(::com::sun::star::uno::RuntimeException
);
282 // XServiceInfo is in derived classes
285 // ============================================================================
287 class ScDataPilotDescriptor
: public ScDataPilotDescriptorBase
290 ScDPObject
* mpDPObject
;
293 ScDataPilotDescriptor(ScDocShell
* pDocSh
);
294 virtual ~ScDataPilotDescriptor();
296 virtual ScDPObject
* GetDPObject() const;
297 virtual void SetDPObject(ScDPObject
* pDPObj
);
299 // rest of XDataPilotDescriptor (incl. XNamed)
300 virtual ::rtl::OUString SAL_CALL
getName() throw(::com::sun::star::uno::RuntimeException
);
301 virtual void SAL_CALL
setName( const ::rtl::OUString
& aName
)
302 throw(::com::sun::star::uno::RuntimeException
);
303 virtual ::rtl::OUString SAL_CALL
getTag() throw(::com::sun::star::uno::RuntimeException
);
304 virtual void SAL_CALL
setTag( const ::rtl::OUString
& aTag
)
305 throw(::com::sun::star::uno::RuntimeException
);
308 virtual ::rtl::OUString SAL_CALL
getImplementationName()
309 throw(::com::sun::star::uno::RuntimeException
);
310 virtual sal_Bool SAL_CALL
supportsService( const ::rtl::OUString
& ServiceName
)
311 throw(::com::sun::star::uno::RuntimeException
);
312 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getSupportedServiceNames()
313 throw(::com::sun::star::uno::RuntimeException
);
316 // ============================================================================
318 class ScDataPilotTableObj
: public ScDataPilotDescriptorBase
,
319 public com::sun::star::sheet::XDataPilotTable2
326 ScDataPilotTableObj(ScDocShell
* pDocSh
, SCTAB nT
, const String
& rN
);
327 virtual ~ScDataPilotTableObj();
329 virtual ::com::sun::star::uno::Any SAL_CALL
queryInterface(
330 const ::com::sun::star::uno::Type
& rType
)
331 throw(::com::sun::star::uno::RuntimeException
);
332 virtual void SAL_CALL
acquire() throw();
333 virtual void SAL_CALL
release() throw();
335 virtual ScDPObject
* GetDPObject() const;
336 virtual void SetDPObject(ScDPObject
* pDPObj
);
338 // rest of XDataPilotDescriptor (incl. XNamed)
339 virtual ::rtl::OUString SAL_CALL
getName() throw(::com::sun::star::uno::RuntimeException
);
340 virtual void SAL_CALL
setName( const ::rtl::OUString
& aName
)
341 throw(::com::sun::star::uno::RuntimeException
);
342 virtual ::rtl::OUString SAL_CALL
getTag() throw(::com::sun::star::uno::RuntimeException
);
343 virtual void SAL_CALL
setTag( const ::rtl::OUString
& aTag
)
344 throw(::com::sun::star::uno::RuntimeException
);
347 virtual ::com::sun::star::table::CellRangeAddress SAL_CALL
getOutputRange()
348 throw(::com::sun::star::uno::RuntimeException
);
349 virtual void SAL_CALL
refresh() throw(::com::sun::star::uno::RuntimeException
);
352 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Any
> >
353 SAL_CALL
getDrillDownData(const ::com::sun::star::table::CellAddress
& aAddr
)
354 throw(::com::sun::star::uno::RuntimeException
);
356 virtual ::com::sun::star::sheet::DataPilotTablePositionData
357 SAL_CALL
getPositionData(const ::com::sun::star::table::CellAddress
& aAddr
)
358 throw(::com::sun::star::uno::RuntimeException
);
360 virtual void SAL_CALL
insertDrillDownSheet(const ::com::sun::star::table::CellAddress
& aAddr
)
361 throw(::com::sun::star::uno::RuntimeException
);
363 virtual ::com::sun::star::table::CellRangeAddress SAL_CALL
getOutputRangeByType( sal_Int32 nType
)
364 throw(::com::sun::star::lang::IllegalArgumentException
,
365 ::com::sun::star::uno::RuntimeException
);
367 // XTypeProvider (overloaded)
368 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Type
> SAL_CALL
getTypes()
369 throw(::com::sun::star::uno::RuntimeException
);
370 virtual ::com::sun::star::uno::Sequence
< sal_Int8
> SAL_CALL
getImplementationId()
371 throw(::com::sun::star::uno::RuntimeException
);
374 virtual ::rtl::OUString SAL_CALL
getImplementationName()
375 throw(::com::sun::star::uno::RuntimeException
);
376 virtual sal_Bool SAL_CALL
supportsService( const ::rtl::OUString
& ServiceName
)
377 throw(::com::sun::star::uno::RuntimeException
);
378 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getSupportedServiceNames()
379 throw(::com::sun::star::uno::RuntimeException
);
382 // ============================================================================
384 struct ScFieldIdentifier
386 ::rtl::OUString maFieldName
; /// Source field name.
387 sal_Int32 mnFieldIdx
; /// Field index (if several fields with same name exist).
388 bool mbDataLayout
; /// True = data layout field collecting all data fields as items.
390 inline explicit ScFieldIdentifier() :
391 mnFieldIdx( 0 ), mbDataLayout( false ) {}
393 inline explicit ScFieldIdentifier( const ::rtl::OUString
& rFieldName
, sal_Int32 nFieldIdx
, bool bDataLayout
) :
394 maFieldName( rFieldName
), mnFieldIdx( nFieldIdx
), mbDataLayout( bDataLayout
) {}
397 // ============================================================================
399 /** Base class of all implementation objects based on a DataPilot descriptor
400 or DataPilot table object. Wraps acquiring and releasing the parent. */
401 class ScDataPilotChildObjBase
404 explicit ScDataPilotChildObjBase( ScDataPilotDescriptorBase
& rParent
);
405 explicit ScDataPilotChildObjBase( ScDataPilotDescriptorBase
& rParent
, const ScFieldIdentifier
& rFieldId
);
406 virtual ~ScDataPilotChildObjBase();
408 /** Returns the wrapped DataPilot object (calls GetDPObject() at parent). */
409 ScDPObject
* GetDPObject() const;
410 /** Sets the passed DataPilot object (calls SetDPObject() at parent). */
411 void SetDPObject( ScDPObject
* pDPObject
);
413 /** Returns the DataPilot dimension object related to the field described by maFieldId. */
414 ScDPSaveDimension
* GetDPDimension( ScDPObject
** ppDPObject
= 0 ) const;
416 /** Returns the number of members for the field described by maFieldId. */
417 sal_Int32
GetMemberCount() const;
418 /** Returns the collection of members for the field described by maFieldId. */
419 ::com::sun::star::uno::Reference
< ::com::sun::star::container::XNameAccess
>
423 ScDataPilotDescriptorBase
& mrParent
;
424 ScFieldIdentifier maFieldId
;
427 ScDataPilotChildObjBase
& operator=( const ScDataPilotChildObjBase
& );
430 // ============================================================================
432 typedef ::cppu::WeakImplHelper4
434 ::com::sun::star::container::XEnumerationAccess
,
435 ::com::sun::star::container::XIndexAccess
,
436 ::com::sun::star::container::XNameAccess
,
437 ::com::sun::star::lang::XServiceInfo
439 ScDataPilotFieldsObjImpl
;
441 /** Collection of all DataPilot fields, or of all fields from a specific dimension. */
442 class ScDataPilotFieldsObj
: public ScDataPilotChildObjBase
, public ScDataPilotFieldsObjImpl
445 explicit ScDataPilotFieldsObj(
446 ScDataPilotDescriptorBase
& rParent
);
448 explicit ScDataPilotFieldsObj(
449 ScDataPilotDescriptorBase
& rParent
,
450 ::com::sun::star::sheet::DataPilotFieldOrientation eOrient
);
452 virtual ~ScDataPilotFieldsObj();
455 virtual ::com::sun::star::uno::Any SAL_CALL
getByName( const ::rtl::OUString
& aName
)
456 throw(::com::sun::star::container::NoSuchElementException
,
457 ::com::sun::star::lang::WrappedTargetException
,
458 ::com::sun::star::uno::RuntimeException
);
459 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getElementNames()
460 throw(::com::sun::star::uno::RuntimeException
);
461 virtual sal_Bool SAL_CALL
hasByName( const ::rtl::OUString
& aName
)
462 throw(::com::sun::star::uno::RuntimeException
);
465 virtual sal_Int32 SAL_CALL
getCount() throw(::com::sun::star::uno::RuntimeException
);
466 virtual ::com::sun::star::uno::Any SAL_CALL
getByIndex( sal_Int32 Index
)
467 throw(::com::sun::star::lang::IndexOutOfBoundsException
,
468 ::com::sun::star::lang::WrappedTargetException
,
469 ::com::sun::star::uno::RuntimeException
);
471 // XEnumerationAccess
472 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XEnumeration
> SAL_CALL
473 createEnumeration() throw(::com::sun::star::uno::RuntimeException
);
476 virtual ::com::sun::star::uno::Type SAL_CALL
getElementType()
477 throw(::com::sun::star::uno::RuntimeException
);
478 virtual sal_Bool SAL_CALL
hasElements() throw(::com::sun::star::uno::RuntimeException
);
481 virtual ::rtl::OUString SAL_CALL
getImplementationName()
482 throw(::com::sun::star::uno::RuntimeException
);
483 virtual sal_Bool SAL_CALL
supportsService( const ::rtl::OUString
& ServiceName
)
484 throw(::com::sun::star::uno::RuntimeException
);
485 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getSupportedServiceNames()
486 throw(::com::sun::star::uno::RuntimeException
);
489 ScDataPilotFieldObj
* GetObjectByIndex_Impl( sal_Int32 nIndex
) const;
490 ScDataPilotFieldObj
* GetObjectByName_Impl( const ::rtl::OUString
& rName
) const;
493 ::com::sun::star::uno::Any maOrient
; /// Field orientation, no value = all fields.
496 // ============================================================================
498 typedef ::cppu::WeakImplHelper5
500 ::com::sun::star::container::XNamed
,
501 ::com::sun::star::beans::XPropertySet
,
502 ::com::sun::star::sheet::XDataPilotField
,
503 ::com::sun::star::sheet::XDataPilotFieldGrouping
,
504 ::com::sun::star::lang::XServiceInfo
506 ScDataPilotFieldObjImpl
;
508 /** Implementation of a single DataPilot field. */
509 class ScDataPilotFieldObj
: public ScDataPilotChildObjBase
, public ScDataPilotFieldObjImpl
513 ScDataPilotDescriptorBase
& rParent
,
514 const ScFieldIdentifier
& rIdent
);
517 ScDataPilotDescriptorBase
& rParent
,
518 const ScFieldIdentifier
& rIdent
,
519 const ::com::sun::star::uno::Any
& rOrient
);
521 virtual ~ScDataPilotFieldObj();
524 virtual ::rtl::OUString SAL_CALL
getName() throw(::com::sun::star::uno::RuntimeException
);
525 virtual void SAL_CALL
setName( const ::rtl::OUString
& aName
)
526 throw(::com::sun::star::uno::RuntimeException
);
529 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySetInfo
>
530 SAL_CALL
getPropertySetInfo( )
531 throw(::com::sun::star::uno::RuntimeException
);
532 virtual void SAL_CALL
setPropertyValue( const ::rtl::OUString
& aPropertyName
,
533 const ::com::sun::star::uno::Any
& aValue
)
534 throw(::com::sun::star::beans::UnknownPropertyException
,
535 ::com::sun::star::beans::PropertyVetoException
,
536 ::com::sun::star::lang::IllegalArgumentException
,
537 ::com::sun::star::lang::WrappedTargetException
,
538 ::com::sun::star::uno::RuntimeException
);
539 virtual ::com::sun::star::uno::Any SAL_CALL
getPropertyValue(
540 const ::rtl::OUString
& PropertyName
)
541 throw(::com::sun::star::beans::UnknownPropertyException
,
542 ::com::sun::star::lang::WrappedTargetException
,
543 ::com::sun::star::uno::RuntimeException
);
544 virtual void SAL_CALL
addPropertyChangeListener( const ::rtl::OUString
& aPropertyName
,
545 const ::com::sun::star::uno::Reference
<
546 ::com::sun::star::beans::XPropertyChangeListener
>& xListener
)
547 throw(::com::sun::star::beans::UnknownPropertyException
,
548 ::com::sun::star::lang::WrappedTargetException
,
549 ::com::sun::star::uno::RuntimeException
);
550 virtual void SAL_CALL
removePropertyChangeListener( const ::rtl::OUString
& aPropertyName
,
551 const ::com::sun::star::uno::Reference
<
552 ::com::sun::star::beans::XPropertyChangeListener
>& aListener
)
553 throw(::com::sun::star::beans::UnknownPropertyException
,
554 ::com::sun::star::lang::WrappedTargetException
,
555 ::com::sun::star::uno::RuntimeException
);
556 virtual void SAL_CALL
addVetoableChangeListener( const ::rtl::OUString
& PropertyName
,
557 const ::com::sun::star::uno::Reference
<
558 ::com::sun::star::beans::XVetoableChangeListener
>& aListener
)
559 throw(::com::sun::star::beans::UnknownPropertyException
,
560 ::com::sun::star::lang::WrappedTargetException
,
561 ::com::sun::star::uno::RuntimeException
);
562 virtual void SAL_CALL
removeVetoableChangeListener( const ::rtl::OUString
& PropertyName
,
563 const ::com::sun::star::uno::Reference
<
564 ::com::sun::star::beans::XVetoableChangeListener
>& aListener
)
565 throw(::com::sun::star::beans::UnknownPropertyException
,
566 ::com::sun::star::lang::WrappedTargetException
,
567 ::com::sun::star::uno::RuntimeException
);
570 virtual com::sun::star::uno::Reference
<com::sun::star::container::XIndexAccess
> SAL_CALL
571 getItems() throw (::com::sun::star::uno::RuntimeException
);
573 // nur noch aus Property-Funktionen gerufen:
574 com::sun::star::sheet::DataPilotFieldOrientation
getOrientation(void) const;
575 void setOrientation(com::sun::star::sheet::DataPilotFieldOrientation Orientation
);
576 com::sun::star::sheet::GeneralFunction
getFunction(void) const;
577 void setFunction(com::sun::star::sheet::GeneralFunction Function
);
578 com::sun::star::uno::Sequence
< com::sun::star::sheet::GeneralFunction
> getSubtotals() const;
579 void setSubtotals(const com::sun::star::uno::Sequence
< com::sun::star::sheet::GeneralFunction
>& rFunctions
);
580 rtl::OUString
getCurrentPage() const;
581 void setCurrentPage(const rtl::OUString
& sPage
);
582 sal_Bool
getUseCurrentPage() const;
583 void setUseCurrentPage(sal_Bool bUse
);
584 const com::sun::star::sheet::DataPilotFieldAutoShowInfo
* getAutoShowInfo();
585 void setAutoShowInfo(const com::sun::star::sheet::DataPilotFieldAutoShowInfo
* pInfo
);
586 const com::sun::star::sheet::DataPilotFieldLayoutInfo
* getLayoutInfo();
587 void setLayoutInfo(const com::sun::star::sheet::DataPilotFieldLayoutInfo
* pInfo
);
588 const com::sun::star::sheet::DataPilotFieldReference
* getReference();
589 void setReference(const com::sun::star::sheet::DataPilotFieldReference
* pInfo
);
590 const com::sun::star::sheet::DataPilotFieldSortInfo
* getSortInfo();
591 void setSortInfo(const com::sun::star::sheet::DataPilotFieldSortInfo
* pInfo
);
592 sal_Bool
getShowEmpty() const;
593 void setShowEmpty(sal_Bool bShow
);
595 sal_Bool
hasGroupInfo();
596 com::sun::star::sheet::DataPilotFieldGroupInfo
getGroupInfo();
597 void setGroupInfo(const com::sun::star::sheet::DataPilotFieldGroupInfo
* pInfo
);
599 // XDataPilotFieldGrouping
600 sal_Bool
HasString(const com::sun::star::uno::Sequence
< ::rtl::OUString
>& aItems
, const ::rtl::OUString
& aString
);
601 virtual com::sun::star::uno::Reference
< com::sun::star::sheet::XDataPilotField
> SAL_CALL
602 createNameGroup(const com::sun::star::uno::Sequence
< ::rtl::OUString
>& aItems
)
603 throw (::com::sun::star::uno::RuntimeException
,
604 ::com::sun::star::lang::IllegalArgumentException
);
605 virtual com::sun::star::uno::Reference
< com::sun::star::sheet::XDataPilotField
> SAL_CALL
606 createDateGroup(const com::sun::star::sheet::DataPilotFieldGroupInfo
& rInfo
)
607 throw (::com::sun::star::uno::RuntimeException
,
608 ::com::sun::star::lang::IllegalArgumentException
);
611 virtual ::rtl::OUString SAL_CALL
getImplementationName()
612 throw(::com::sun::star::uno::RuntimeException
);
613 virtual sal_Bool SAL_CALL
supportsService( const ::rtl::OUString
& ServiceName
)
614 throw(::com::sun::star::uno::RuntimeException
);
615 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getSupportedServiceNames()
616 throw(::com::sun::star::uno::RuntimeException
);
619 ::com::sun::star::uno::Reference
< ::com::sun::star::container::XIndexAccess
>
621 SfxItemPropertySet maPropSet
;
622 ::com::sun::star::uno::Any maOrient
;
625 // ============================================================================
627 typedef ::std::vector
< ::rtl::OUString
> ScFieldGroupMembers
;
631 ::rtl::OUString maName
;
632 ScFieldGroupMembers maMembers
;
635 typedef ::std::vector
< ScFieldGroup
> ScFieldGroups
;
637 // ============================================================================
639 typedef ::cppu::WeakImplHelper4
641 ::com::sun::star::container::XNameContainer
,
642 ::com::sun::star::container::XEnumerationAccess
,
643 ::com::sun::star::container::XIndexAccess
,
644 ::com::sun::star::lang::XServiceInfo
646 ScDataPilotFieldGroupsObjImpl
;
648 /** Implementation of all grouped items in a DataPilot field.
650 This is a stand-alone object without any connection to the base DataPilot
651 field. Grouping info has to be written back with the GroupInfo property of
652 the DataPilot field after modifying this object.
654 class ScDataPilotFieldGroupsObj
: public ScDataPilotFieldGroupsObjImpl
657 explicit ScDataPilotFieldGroupsObj( const ScFieldGroups
& rGroups
);
658 virtual ~ScDataPilotFieldGroupsObj();
661 virtual ::com::sun::star::uno::Any SAL_CALL
getByName( const ::rtl::OUString
& aName
)
662 throw(::com::sun::star::container::NoSuchElementException
,
663 ::com::sun::star::lang::WrappedTargetException
,
664 ::com::sun::star::uno::RuntimeException
);
665 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getElementNames()
666 throw(::com::sun::star::uno::RuntimeException
);
667 virtual sal_Bool SAL_CALL
hasByName( const ::rtl::OUString
& aName
)
668 throw(::com::sun::star::uno::RuntimeException
);
671 virtual void SAL_CALL
replaceByName( const ::rtl::OUString
& aName
,
672 const ::com::sun::star::uno::Any
& aElement
)
673 throw (::com::sun::star::lang::IllegalArgumentException
,
674 ::com::sun::star::container::NoSuchElementException
,
675 ::com::sun::star::lang::WrappedTargetException
,
676 ::com::sun::star::uno::RuntimeException
);
679 virtual void SAL_CALL
insertByName( const ::rtl::OUString
& aName
,
680 const ::com::sun::star::uno::Any
& aElement
)
681 throw (::com::sun::star::lang::IllegalArgumentException
,
682 ::com::sun::star::container::ElementExistException
,
683 ::com::sun::star::lang::WrappedTargetException
,
684 ::com::sun::star::uno::RuntimeException
);
685 virtual void SAL_CALL
removeByName( const ::rtl::OUString
& Name
)
686 throw (::com::sun::star::container::NoSuchElementException
,
687 ::com::sun::star::lang::WrappedTargetException
,
688 ::com::sun::star::uno::RuntimeException
);
691 virtual sal_Int32 SAL_CALL
getCount() throw(::com::sun::star::uno::RuntimeException
);
692 virtual ::com::sun::star::uno::Any SAL_CALL
getByIndex( sal_Int32 Index
)
693 throw(::com::sun::star::lang::IndexOutOfBoundsException
,
694 ::com::sun::star::lang::WrappedTargetException
,
695 ::com::sun::star::uno::RuntimeException
);
697 // XEnumerationAccess
698 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XEnumeration
> SAL_CALL
699 createEnumeration() throw(::com::sun::star::uno::RuntimeException
);
702 virtual ::com::sun::star::uno::Type SAL_CALL
getElementType()
703 throw(::com::sun::star::uno::RuntimeException
);
704 virtual sal_Bool SAL_CALL
hasElements() throw(::com::sun::star::uno::RuntimeException
);
707 virtual ::rtl::OUString SAL_CALL
getImplementationName()
708 throw(::com::sun::star::uno::RuntimeException
);
709 virtual sal_Bool SAL_CALL
supportsService( const ::rtl::OUString
& ServiceName
)
710 throw(::com::sun::star::uno::RuntimeException
);
711 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getSupportedServiceNames()
712 throw(::com::sun::star::uno::RuntimeException
);
715 ScFieldGroup
& getFieldGroup( const ::rtl::OUString
& rName
) throw(::com::sun::star::uno::RuntimeException
);
716 void renameFieldGroup( const ::rtl::OUString
& rOldName
, const ::rtl::OUString
& rNewName
) throw(::com::sun::star::uno::RuntimeException
);
719 ScFieldGroups::iterator
implFindByName( const ::rtl::OUString
& rName
);
722 ScFieldGroups maGroups
;
725 // ============================================================================
727 typedef ::cppu::WeakImplHelper5
729 ::com::sun::star::container::XNameContainer
,
730 ::com::sun::star::container::XEnumerationAccess
,
731 ::com::sun::star::container::XIndexAccess
,
732 ::com::sun::star::container::XNamed
,
733 ::com::sun::star::lang::XServiceInfo
735 ScDataPilotFieldGroupObjImpl
;
737 class ScDataPilotFieldGroupObj
: public ScDataPilotFieldGroupObjImpl
740 explicit ScDataPilotFieldGroupObj( ScDataPilotFieldGroupsObj
& rParent
, const ::rtl::OUString
& rGroupName
);
741 virtual ~ScDataPilotFieldGroupObj();
744 virtual ::com::sun::star::uno::Any SAL_CALL
getByName( const ::rtl::OUString
& aName
)
745 throw(::com::sun::star::container::NoSuchElementException
,
746 ::com::sun::star::lang::WrappedTargetException
,
747 ::com::sun::star::uno::RuntimeException
);
748 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getElementNames()
749 throw(::com::sun::star::uno::RuntimeException
);
750 virtual sal_Bool SAL_CALL
hasByName( const ::rtl::OUString
& aName
)
751 throw(::com::sun::star::uno::RuntimeException
);
754 virtual void SAL_CALL
replaceByName( const ::rtl::OUString
& aName
,
755 const ::com::sun::star::uno::Any
& aElement
)
756 throw (::com::sun::star::lang::IllegalArgumentException
,
757 ::com::sun::star::container::NoSuchElementException
,
758 ::com::sun::star::lang::WrappedTargetException
,
759 ::com::sun::star::uno::RuntimeException
);
762 virtual void SAL_CALL
insertByName( const ::rtl::OUString
& aName
,
763 const ::com::sun::star::uno::Any
& aElement
)
764 throw (::com::sun::star::lang::IllegalArgumentException
,
765 ::com::sun::star::container::ElementExistException
,
766 ::com::sun::star::lang::WrappedTargetException
,
767 ::com::sun::star::uno::RuntimeException
);
768 virtual void SAL_CALL
removeByName( const ::rtl::OUString
& Name
)
769 throw (::com::sun::star::container::NoSuchElementException
,
770 ::com::sun::star::lang::WrappedTargetException
,
771 ::com::sun::star::uno::RuntimeException
);
774 virtual sal_Int32 SAL_CALL
getCount() throw(::com::sun::star::uno::RuntimeException
);
775 virtual ::com::sun::star::uno::Any SAL_CALL
getByIndex( sal_Int32 Index
)
776 throw(::com::sun::star::lang::IndexOutOfBoundsException
,
777 ::com::sun::star::lang::WrappedTargetException
,
778 ::com::sun::star::uno::RuntimeException
);
780 // XEnumerationAccess
781 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XEnumeration
> SAL_CALL
782 createEnumeration() throw(::com::sun::star::uno::RuntimeException
);
785 virtual ::com::sun::star::uno::Type SAL_CALL
getElementType()
786 throw(::com::sun::star::uno::RuntimeException
);
787 virtual sal_Bool SAL_CALL
hasElements() throw(::com::sun::star::uno::RuntimeException
);
790 virtual ::rtl::OUString SAL_CALL
getName() throw(::com::sun::star::uno::RuntimeException
);
791 virtual void SAL_CALL
setName( const ::rtl::OUString
& aName
)
792 throw(::com::sun::star::uno::RuntimeException
);
795 virtual ::rtl::OUString SAL_CALL
getImplementationName()
796 throw(::com::sun::star::uno::RuntimeException
);
797 virtual sal_Bool SAL_CALL
supportsService( const ::rtl::OUString
& ServiceName
)
798 throw(::com::sun::star::uno::RuntimeException
);
799 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getSupportedServiceNames()
800 throw(::com::sun::star::uno::RuntimeException
);
803 ScDataPilotFieldGroupsObj
& mrParent
;
804 ::rtl::OUString maGroupName
;
807 // ============================================================================
809 typedef ::cppu::WeakImplHelper2
811 ::com::sun::star::container::XNamed
,
812 ::com::sun::star::lang::XServiceInfo
814 ScDataPilotFieldGroupItemObjImpl
;
816 class ScDataPilotFieldGroupItemObj
: public ScDataPilotFieldGroupItemObjImpl
819 explicit ScDataPilotFieldGroupItemObj( ScDataPilotFieldGroupObj
& rParent
, const ::rtl::OUString
& rName
);
820 virtual ~ScDataPilotFieldGroupItemObj();
823 virtual ::rtl::OUString SAL_CALL
getName() throw(::com::sun::star::uno::RuntimeException
);
824 virtual void SAL_CALL
setName( const ::rtl::OUString
& aName
)
825 throw(::com::sun::star::uno::RuntimeException
);
828 virtual ::rtl::OUString SAL_CALL
getImplementationName()
829 throw(::com::sun::star::uno::RuntimeException
);
830 virtual sal_Bool SAL_CALL
supportsService( const ::rtl::OUString
& ServiceName
)
831 throw(::com::sun::star::uno::RuntimeException
);
832 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getSupportedServiceNames()
833 throw(::com::sun::star::uno::RuntimeException
);
836 ScDataPilotFieldGroupObj
& mrParent
;
837 ::rtl::OUString maName
;
840 // ============================================================================
842 typedef ::cppu::WeakImplHelper4
844 ::com::sun::star::container::XEnumerationAccess
,
845 ::com::sun::star::container::XIndexAccess
,
846 ::com::sun::star::container::XNameAccess
,
847 ::com::sun::star::lang::XServiceInfo
849 ScDataPilotItemsObjImpl
;
851 class ScDataPilotItemsObj
: public ScDataPilotChildObjBase
, public ScDataPilotItemsObjImpl
854 explicit ScDataPilotItemsObj( ScDataPilotDescriptorBase
& rParent
, const ScFieldIdentifier
& rFieldId
);
855 virtual ~ScDataPilotItemsObj();
858 virtual ::com::sun::star::uno::Any SAL_CALL
getByName( const ::rtl::OUString
& aName
)
859 throw(::com::sun::star::container::NoSuchElementException
,
860 ::com::sun::star::lang::WrappedTargetException
,
861 ::com::sun::star::uno::RuntimeException
);
862 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getElementNames()
863 throw(::com::sun::star::uno::RuntimeException
);
864 virtual sal_Bool SAL_CALL
hasByName( const ::rtl::OUString
& aName
)
865 throw(::com::sun::star::uno::RuntimeException
);
868 virtual sal_Int32 SAL_CALL
getCount() throw(::com::sun::star::uno::RuntimeException
);
869 virtual ::com::sun::star::uno::Any SAL_CALL
getByIndex( sal_Int32 Index
)
870 throw(::com::sun::star::lang::IndexOutOfBoundsException
,
871 ::com::sun::star::lang::WrappedTargetException
,
872 ::com::sun::star::uno::RuntimeException
);
874 // XEnumerationAccess
875 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XEnumeration
> SAL_CALL
876 createEnumeration() throw(::com::sun::star::uno::RuntimeException
);
879 virtual ::com::sun::star::uno::Type SAL_CALL
getElementType()
880 throw(::com::sun::star::uno::RuntimeException
);
881 virtual sal_Bool SAL_CALL
hasElements() throw(::com::sun::star::uno::RuntimeException
);
884 virtual ::rtl::OUString SAL_CALL
getImplementationName()
885 throw(::com::sun::star::uno::RuntimeException
);
886 virtual sal_Bool SAL_CALL
supportsService( const ::rtl::OUString
& ServiceName
)
887 throw(::com::sun::star::uno::RuntimeException
);
888 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getSupportedServiceNames()
889 throw(::com::sun::star::uno::RuntimeException
);
892 ScDataPilotItemObj
* GetObjectByIndex_Impl( sal_Int32 nIndex
) const;
895 // ============================================================================
897 typedef ::cppu::WeakImplHelper3
899 ::com::sun::star::container::XNamed
,
900 ::com::sun::star::beans::XPropertySet
,
901 ::com::sun::star::lang::XServiceInfo
903 ScDataPilotItemObjImpl
;
905 class ScDataPilotItemObj
: public ScDataPilotChildObjBase
, public ScDataPilotItemObjImpl
908 explicit ScDataPilotItemObj(
909 ScDataPilotDescriptorBase
& rParent
,
910 const ScFieldIdentifier
& rFieldId
,
913 virtual ~ScDataPilotItemObj();
916 virtual ::rtl::OUString SAL_CALL
getName() throw(::com::sun::star::uno::RuntimeException
);
917 virtual void SAL_CALL
setName( const ::rtl::OUString
& aName
)
918 throw(::com::sun::star::uno::RuntimeException
);
921 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySetInfo
>
922 SAL_CALL
getPropertySetInfo( )
923 throw(::com::sun::star::uno::RuntimeException
);
924 virtual void SAL_CALL
setPropertyValue( const ::rtl::OUString
& aPropertyName
,
925 const ::com::sun::star::uno::Any
& aValue
)
926 throw(::com::sun::star::beans::UnknownPropertyException
,
927 ::com::sun::star::beans::PropertyVetoException
,
928 ::com::sun::star::lang::IllegalArgumentException
,
929 ::com::sun::star::lang::WrappedTargetException
,
930 ::com::sun::star::uno::RuntimeException
);
931 virtual ::com::sun::star::uno::Any SAL_CALL
getPropertyValue(
932 const ::rtl::OUString
& PropertyName
)
933 throw(::com::sun::star::beans::UnknownPropertyException
,
934 ::com::sun::star::lang::WrappedTargetException
,
935 ::com::sun::star::uno::RuntimeException
);
936 virtual void SAL_CALL
addPropertyChangeListener( const ::rtl::OUString
& aPropertyName
,
937 const ::com::sun::star::uno::Reference
<
938 ::com::sun::star::beans::XPropertyChangeListener
>& xListener
)
939 throw(::com::sun::star::beans::UnknownPropertyException
,
940 ::com::sun::star::lang::WrappedTargetException
,
941 ::com::sun::star::uno::RuntimeException
);
942 virtual void SAL_CALL
removePropertyChangeListener( const ::rtl::OUString
& aPropertyName
,
943 const ::com::sun::star::uno::Reference
<
944 ::com::sun::star::beans::XPropertyChangeListener
>& aListener
)
945 throw(::com::sun::star::beans::UnknownPropertyException
,
946 ::com::sun::star::lang::WrappedTargetException
,
947 ::com::sun::star::uno::RuntimeException
);
948 virtual void SAL_CALL
addVetoableChangeListener( const ::rtl::OUString
& PropertyName
,
949 const ::com::sun::star::uno::Reference
<
950 ::com::sun::star::beans::XVetoableChangeListener
>& aListener
)
951 throw(::com::sun::star::beans::UnknownPropertyException
,
952 ::com::sun::star::lang::WrappedTargetException
,
953 ::com::sun::star::uno::RuntimeException
);
954 virtual void SAL_CALL
removeVetoableChangeListener( const ::rtl::OUString
& PropertyName
,
955 const ::com::sun::star::uno::Reference
<
956 ::com::sun::star::beans::XVetoableChangeListener
>& aListener
)
957 throw(::com::sun::star::beans::UnknownPropertyException
,
958 ::com::sun::star::lang::WrappedTargetException
,
959 ::com::sun::star::uno::RuntimeException
);
962 virtual ::rtl::OUString SAL_CALL
getImplementationName()
963 throw(::com::sun::star::uno::RuntimeException
);
964 virtual sal_Bool SAL_CALL
supportsService( const ::rtl::OUString
& ServiceName
)
965 throw(::com::sun::star::uno::RuntimeException
);
966 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getSupportedServiceNames()
967 throw(::com::sun::star::uno::RuntimeException
);
970 SfxItemPropertySet maPropSet
;
974 // ============================================================================