1*38d50f7bSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*38d50f7bSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*38d50f7bSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*38d50f7bSAndrew Rist * distributed with this work for additional information 6*38d50f7bSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*38d50f7bSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*38d50f7bSAndrew Rist * "License"); you may not use this file except in compliance 9*38d50f7bSAndrew Rist * with the License. You may obtain a copy of the License at 10*38d50f7bSAndrew Rist * 11*38d50f7bSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*38d50f7bSAndrew Rist * 13*38d50f7bSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*38d50f7bSAndrew Rist * software distributed under the License is distributed on an 15*38d50f7bSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*38d50f7bSAndrew Rist * KIND, either express or implied. See the License for the 17*38d50f7bSAndrew Rist * specific language governing permissions and limitations 18*38d50f7bSAndrew Rist * under the License. 19*38d50f7bSAndrew Rist * 20*38d50f7bSAndrew Rist *************************************************************/ 21*38d50f7bSAndrew Rist 22*38d50f7bSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef SC_DAPIUNO_HXX 25cdf0e10cSrcweir #define SC_DAPIUNO_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include "global.hxx" 28cdf0e10cSrcweir #include "dpobject.hxx" 29cdf0e10cSrcweir #include "rangeutl.hxx" // ScArea 30cdf0e10cSrcweir #include "cellsuno.hxx" // for XModifyListenerArr_Impl 31cdf0e10cSrcweir 32cdf0e10cSrcweir #include <svl/lstner.hxx> 33cdf0e10cSrcweir #include <svl/itemprop.hxx> 34cdf0e10cSrcweir 35cdf0e10cSrcweir #include <com/sun/star/lang/XServiceInfo.hpp> 36cdf0e10cSrcweir #include <com/sun/star/lang/XUnoTunnel.hpp> 37cdf0e10cSrcweir #include <com/sun/star/beans/XPropertySet.hpp> 38cdf0e10cSrcweir #include <com/sun/star/container/XEnumerationAccess.hpp> 39cdf0e10cSrcweir #include <com/sun/star/container/XNameContainer.hpp> 40cdf0e10cSrcweir #include <com/sun/star/util/XModifyBroadcaster.hpp> 41cdf0e10cSrcweir 42cdf0e10cSrcweir #include <com/sun/star/sheet/DataPilotFieldAutoShowInfo.hpp> 43cdf0e10cSrcweir #include <com/sun/star/sheet/DataPilotFieldGroupInfo.hpp> 44cdf0e10cSrcweir #include <com/sun/star/sheet/DataPilotFieldLayoutInfo.hpp> 45cdf0e10cSrcweir #include <com/sun/star/sheet/DataPilotFieldOrientation.hpp> 46cdf0e10cSrcweir #include <com/sun/star/sheet/DataPilotFieldReference.hpp> 47cdf0e10cSrcweir #include <com/sun/star/sheet/DataPilotFieldSortInfo.hpp> 48cdf0e10cSrcweir #include <com/sun/star/sheet/GeneralFunction.hpp> 49cdf0e10cSrcweir #include <com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.hpp> 50cdf0e10cSrcweir #include <com/sun/star/sheet/XDataPilotDescriptor.hpp> 51cdf0e10cSrcweir #include <com/sun/star/sheet/XDataPilotField.hpp> 52cdf0e10cSrcweir #include <com/sun/star/sheet/XDataPilotFieldGrouping.hpp> 53cdf0e10cSrcweir #include <com/sun/star/sheet/XDataPilotTable.hpp> 54cdf0e10cSrcweir #include <com/sun/star/sheet/XDataPilotTable2.hpp> 55cdf0e10cSrcweir #include <com/sun/star/sheet/XDataPilotTables.hpp> 56cdf0e10cSrcweir 57cdf0e10cSrcweir #include <cppuhelper/implbase2.hxx> 58cdf0e10cSrcweir #include <cppuhelper/implbase3.hxx> 59cdf0e10cSrcweir #include <cppuhelper/implbase4.hxx> 60cdf0e10cSrcweir #include <cppuhelper/implbase5.hxx> 61cdf0e10cSrcweir 62cdf0e10cSrcweir #include <memory> 63cdf0e10cSrcweir #include <vector> 64cdf0e10cSrcweir 65cdf0e10cSrcweir namespace com { namespace sun { namespace star { namespace sheet { 66cdf0e10cSrcweir struct DataPilotFieldFilter; 67cdf0e10cSrcweir struct DataPilotTablePositionData; 68cdf0e10cSrcweir }}}} 69cdf0e10cSrcweir 70cdf0e10cSrcweir class ScDocShell; 71cdf0e10cSrcweir class ScDPSaveDimension; 72cdf0e10cSrcweir class ScDPSaveGroupDimension; 73cdf0e10cSrcweir class ScDPSaveNumGroupDimension; 74cdf0e10cSrcweir struct ScDPNumGroupInfo; 75cdf0e10cSrcweir 76cdf0e10cSrcweir class ScDataPilotTableObj; 77cdf0e10cSrcweir class ScDataPilotFieldObj; 78cdf0e10cSrcweir class ScDataPilotItemObj; 79cdf0e10cSrcweir 80cdf0e10cSrcweir 81cdf0e10cSrcweir class ScDataPilotConversion 82cdf0e10cSrcweir { 83cdf0e10cSrcweir public: 84cdf0e10cSrcweir static com::sun::star::sheet::GeneralFunction FirstFunc( sal_uInt16 nBits ); 85cdf0e10cSrcweir static sal_uInt16 FunctionBit( com::sun::star::sheet::GeneralFunction eFunc ); 86cdf0e10cSrcweir 87cdf0e10cSrcweir static void FillGroupInfo( 88cdf0e10cSrcweir ::com::sun::star::sheet::DataPilotFieldGroupInfo& rInfo, 89cdf0e10cSrcweir const ScDPNumGroupInfo& rGroupInfo ); 90cdf0e10cSrcweir }; 91cdf0e10cSrcweir 92cdf0e10cSrcweir // ============================================================================ 93cdf0e10cSrcweir 94cdf0e10cSrcweir /** DataPilotTables collection per sheet. */ 95cdf0e10cSrcweir class ScDataPilotTablesObj : public cppu::WeakImplHelper4< 96cdf0e10cSrcweir com::sun::star::sheet::XDataPilotTables, 97cdf0e10cSrcweir com::sun::star::container::XEnumerationAccess, 98cdf0e10cSrcweir com::sun::star::container::XIndexAccess, 99cdf0e10cSrcweir com::sun::star::lang::XServiceInfo>, 100cdf0e10cSrcweir public SfxListener 101cdf0e10cSrcweir { 102cdf0e10cSrcweir private: 103cdf0e10cSrcweir ScDocShell* pDocShell; 104cdf0e10cSrcweir SCTAB nTab; 105cdf0e10cSrcweir 106cdf0e10cSrcweir ScDataPilotTableObj* GetObjectByIndex_Impl( sal_Int32 nIndex ); 107cdf0e10cSrcweir ScDataPilotTableObj* GetObjectByName_Impl(const ::rtl::OUString& aName); 108cdf0e10cSrcweir 109cdf0e10cSrcweir public: 110cdf0e10cSrcweir ScDataPilotTablesObj(ScDocShell* pDocSh, SCTAB nT); 111cdf0e10cSrcweir virtual ~ScDataPilotTablesObj(); 112cdf0e10cSrcweir 113cdf0e10cSrcweir virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); 114cdf0e10cSrcweir 115cdf0e10cSrcweir // XDataPilotTables 116cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XDataPilotDescriptor > SAL_CALL 117cdf0e10cSrcweir createDataPilotDescriptor() throw(::com::sun::star::uno::RuntimeException); 118cdf0e10cSrcweir virtual void SAL_CALL insertNewByName( const ::rtl::OUString& aName, 119cdf0e10cSrcweir const ::com::sun::star::table::CellAddress& aOutputAddress, 120cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 121cdf0e10cSrcweir ::com::sun::star::sheet::XDataPilotDescriptor >& xDescriptor ) 122cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 123cdf0e10cSrcweir virtual void SAL_CALL removeByName( const ::rtl::OUString& aName ) 124cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 125cdf0e10cSrcweir 126cdf0e10cSrcweir // XNameAccess 127cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) 128cdf0e10cSrcweir throw(::com::sun::star::container::NoSuchElementException, 129cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 130cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 131cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() 132cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 133cdf0e10cSrcweir virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) 134cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 135cdf0e10cSrcweir 136cdf0e10cSrcweir // XIndexAccess 137cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); 138cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) 139cdf0e10cSrcweir throw(::com::sun::star::lang::IndexOutOfBoundsException, 140cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 141cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 142cdf0e10cSrcweir 143cdf0e10cSrcweir // XEnumerationAccess 144cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL 145cdf0e10cSrcweir createEnumeration() throw(::com::sun::star::uno::RuntimeException); 146cdf0e10cSrcweir 147cdf0e10cSrcweir // XElementAccess 148cdf0e10cSrcweir virtual ::com::sun::star::uno::Type SAL_CALL getElementType() 149cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 150cdf0e10cSrcweir virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); 151cdf0e10cSrcweir 152cdf0e10cSrcweir // XServiceInfo 153cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getImplementationName() 154cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 155cdf0e10cSrcweir virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) 156cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 157cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() 158cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 159cdf0e10cSrcweir }; 160cdf0e10cSrcweir 161cdf0e10cSrcweir // ============================================================================ 162cdf0e10cSrcweir 163cdf0e10cSrcweir // ScDataPilotDescriptorBase is never instantiated directly 164cdf0e10cSrcweir class ScDataPilotDescriptorBase : public com::sun::star::sheet::XDataPilotDescriptor, 165cdf0e10cSrcweir public com::sun::star::beans::XPropertySet, 166cdf0e10cSrcweir public com::sun::star::sheet::XDataPilotDataLayoutFieldSupplier, 167cdf0e10cSrcweir public com::sun::star::lang::XServiceInfo, 168cdf0e10cSrcweir public com::sun::star::lang::XUnoTunnel, 169cdf0e10cSrcweir public com::sun::star::lang::XTypeProvider, 170cdf0e10cSrcweir public cppu::OWeakObject, 171cdf0e10cSrcweir public SfxListener 172cdf0e10cSrcweir { 173cdf0e10cSrcweir private: 174cdf0e10cSrcweir SfxItemPropertySet maPropSet; 175cdf0e10cSrcweir ScDocShell* pDocShell; 176cdf0e10cSrcweir 177cdf0e10cSrcweir public: 178cdf0e10cSrcweir ScDataPilotDescriptorBase(ScDocShell* pDocSh); 179cdf0e10cSrcweir virtual ~ScDataPilotDescriptorBase(); 180cdf0e10cSrcweir 181cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( 182cdf0e10cSrcweir const ::com::sun::star::uno::Type & rType ) 183cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 184cdf0e10cSrcweir virtual void SAL_CALL acquire() throw(); 185cdf0e10cSrcweir virtual void SAL_CALL release() throw(); 186cdf0e10cSrcweir 187cdf0e10cSrcweir virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); 188cdf0e10cSrcweir GetDocShell() const189cdf0e10cSrcweir ScDocShell* GetDocShell() const { return pDocShell; } 190cdf0e10cSrcweir 191cdf0e10cSrcweir // in den Ableitungen: 192cdf0e10cSrcweir virtual ScDPObject* GetDPObject() const = 0; 193cdf0e10cSrcweir virtual void SetDPObject(ScDPObject* pDPObj) = 0; 194cdf0e10cSrcweir 195cdf0e10cSrcweir // XDataPilotDescriptor 196cdf0e10cSrcweir // getName, setName, getTag, setTag in derived classes 197cdf0e10cSrcweir 198cdf0e10cSrcweir virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getSourceRange() 199cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 200cdf0e10cSrcweir virtual void SAL_CALL setSourceRange( const ::com::sun::star::table::CellRangeAddress& aSourceRange ) 201cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 202cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetFilterDescriptor > SAL_CALL 203cdf0e10cSrcweir getFilterDescriptor() throw(::com::sun::star::uno::RuntimeException); 204cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL 205cdf0e10cSrcweir getDataPilotFields() throw(::com::sun::star::uno::RuntimeException); 206cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL 207cdf0e10cSrcweir getColumnFields() throw(::com::sun::star::uno::RuntimeException); 208cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL 209cdf0e10cSrcweir getRowFields() throw(::com::sun::star::uno::RuntimeException); 210cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL 211cdf0e10cSrcweir getPageFields() throw(::com::sun::star::uno::RuntimeException); 212cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL 213cdf0e10cSrcweir getDataFields() throw(::com::sun::star::uno::RuntimeException); 214cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL 215cdf0e10cSrcweir getHiddenFields() throw(::com::sun::star::uno::RuntimeException); 216cdf0e10cSrcweir 217cdf0e10cSrcweir // XPropertySet 218cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > 219cdf0e10cSrcweir SAL_CALL getPropertySetInfo( ) 220cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 221cdf0e10cSrcweir virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, 222cdf0e10cSrcweir const ::com::sun::star::uno::Any& aValue ) 223cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 224cdf0e10cSrcweir ::com::sun::star::beans::PropertyVetoException, 225cdf0e10cSrcweir ::com::sun::star::lang::IllegalArgumentException, 226cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 227cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 228cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( 229cdf0e10cSrcweir const ::rtl::OUString& PropertyName ) 230cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 231cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 232cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 233cdf0e10cSrcweir virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, 234cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 235cdf0e10cSrcweir ::com::sun::star::beans::XPropertyChangeListener >& xListener ) 236cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 237cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 238cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 239cdf0e10cSrcweir virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, 240cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 241cdf0e10cSrcweir ::com::sun::star::beans::XPropertyChangeListener >& aListener ) 242cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 243cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 244cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 245cdf0e10cSrcweir virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, 246cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 247cdf0e10cSrcweir ::com::sun::star::beans::XVetoableChangeListener >& aListener ) 248cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 249cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 250cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 251cdf0e10cSrcweir virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, 252cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 253cdf0e10cSrcweir ::com::sun::star::beans::XVetoableChangeListener >& aListener ) 254cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 255cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 256cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 257cdf0e10cSrcweir 258cdf0e10cSrcweir // XDataPilotDataLayoutFieldSupplier 259cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XDataPilotField > 260cdf0e10cSrcweir SAL_CALL getDataLayoutField() 261cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 262cdf0e10cSrcweir 263cdf0e10cSrcweir // XUnoTunnel 264cdf0e10cSrcweir virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< 265cdf0e10cSrcweir sal_Int8 >& aIdentifier ) 266cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 267cdf0e10cSrcweir 268cdf0e10cSrcweir static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); 269cdf0e10cSrcweir static ScDataPilotDescriptorBase* getImplementation( const com::sun::star::uno::Reference< 270cdf0e10cSrcweir com::sun::star::sheet::XDataPilotDescriptor> xObj ); 271cdf0e10cSrcweir 272cdf0e10cSrcweir // XTypeProvider (overloaded in ScDataPilotTableObj) 273cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() 274cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 275cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() 276cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 277cdf0e10cSrcweir 278cdf0e10cSrcweir // XServiceInfo is in derived classes 279cdf0e10cSrcweir }; 280cdf0e10cSrcweir 281cdf0e10cSrcweir // ============================================================================ 282cdf0e10cSrcweir 283cdf0e10cSrcweir class ScDataPilotDescriptor : public ScDataPilotDescriptorBase 284cdf0e10cSrcweir { 285cdf0e10cSrcweir private: 286cdf0e10cSrcweir ScDPObject* mpDPObject; 287cdf0e10cSrcweir 288cdf0e10cSrcweir public: 289cdf0e10cSrcweir ScDataPilotDescriptor(ScDocShell* pDocSh); 290cdf0e10cSrcweir virtual ~ScDataPilotDescriptor(); 291cdf0e10cSrcweir 292cdf0e10cSrcweir virtual ScDPObject* GetDPObject() const; 293cdf0e10cSrcweir virtual void SetDPObject(ScDPObject* pDPObj); 294cdf0e10cSrcweir 295cdf0e10cSrcweir // rest of XDataPilotDescriptor (incl. XNamed) 296cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); 297cdf0e10cSrcweir virtual void SAL_CALL setName( const ::rtl::OUString& aName ) 298cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 299cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getTag() throw(::com::sun::star::uno::RuntimeException); 300cdf0e10cSrcweir virtual void SAL_CALL setTag( const ::rtl::OUString& aTag ) 301cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 302cdf0e10cSrcweir 303cdf0e10cSrcweir // XServiceInfo 304cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getImplementationName() 305cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 306cdf0e10cSrcweir virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) 307cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 308cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() 309cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 310cdf0e10cSrcweir }; 311cdf0e10cSrcweir 312cdf0e10cSrcweir // ============================================================================ 313cdf0e10cSrcweir 314cdf0e10cSrcweir class ScDataPilotTableObj : public ScDataPilotDescriptorBase, 315cdf0e10cSrcweir public com::sun::star::sheet::XDataPilotTable2, 316cdf0e10cSrcweir public com::sun::star::util::XModifyBroadcaster 317cdf0e10cSrcweir { 318cdf0e10cSrcweir private: 319cdf0e10cSrcweir SCTAB nTab; 320cdf0e10cSrcweir String aName; 321cdf0e10cSrcweir XModifyListenerArr_Impl aModifyListeners; 322cdf0e10cSrcweir 323cdf0e10cSrcweir void Refreshed_Impl(); 324cdf0e10cSrcweir 325cdf0e10cSrcweir public: 326cdf0e10cSrcweir ScDataPilotTableObj(ScDocShell* pDocSh, SCTAB nT, const String& rN); 327cdf0e10cSrcweir virtual ~ScDataPilotTableObj(); 328cdf0e10cSrcweir 329cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( 330cdf0e10cSrcweir const ::com::sun::star::uno::Type & rType ) 331cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 332cdf0e10cSrcweir virtual void SAL_CALL acquire() throw(); 333cdf0e10cSrcweir virtual void SAL_CALL release() throw(); 334cdf0e10cSrcweir 335cdf0e10cSrcweir virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); 336cdf0e10cSrcweir 337cdf0e10cSrcweir virtual ScDPObject* GetDPObject() const; 338cdf0e10cSrcweir virtual void SetDPObject(ScDPObject* pDPObj); 339cdf0e10cSrcweir 340cdf0e10cSrcweir // rest of XDataPilotDescriptor (incl. XNamed) 341cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); 342cdf0e10cSrcweir virtual void SAL_CALL setName( const ::rtl::OUString& aName ) 343cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 344cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getTag() throw(::com::sun::star::uno::RuntimeException); 345cdf0e10cSrcweir virtual void SAL_CALL setTag( const ::rtl::OUString& aTag ) 346cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 347cdf0e10cSrcweir 348cdf0e10cSrcweir // XDataPilotTable 349cdf0e10cSrcweir virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getOutputRange() 350cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 351cdf0e10cSrcweir virtual void SAL_CALL refresh() throw(::com::sun::star::uno::RuntimeException); 352cdf0e10cSrcweir 353cdf0e10cSrcweir // XDataPilotTable2 354cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > > 355cdf0e10cSrcweir SAL_CALL getDrillDownData(const ::com::sun::star::table::CellAddress& aAddr) 356cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 357cdf0e10cSrcweir 358cdf0e10cSrcweir virtual ::com::sun::star::sheet::DataPilotTablePositionData 359cdf0e10cSrcweir SAL_CALL getPositionData(const ::com::sun::star::table::CellAddress& aAddr) 360cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 361cdf0e10cSrcweir 362cdf0e10cSrcweir virtual void SAL_CALL insertDrillDownSheet(const ::com::sun::star::table::CellAddress& aAddr) 363cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 364cdf0e10cSrcweir 365cdf0e10cSrcweir virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getOutputRangeByType( sal_Int32 nType ) 366cdf0e10cSrcweir throw(::com::sun::star::lang::IllegalArgumentException, 367cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 368cdf0e10cSrcweir 369cdf0e10cSrcweir // XModifyBroadcaster 370cdf0e10cSrcweir virtual void SAL_CALL addModifyListener( const ::com::sun::star::uno::Reference< 371cdf0e10cSrcweir ::com::sun::star::util::XModifyListener >& aListener ) 372cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 373cdf0e10cSrcweir virtual void SAL_CALL removeModifyListener( const ::com::sun::star::uno::Reference< 374cdf0e10cSrcweir ::com::sun::star::util::XModifyListener >& aListener ) 375cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 376cdf0e10cSrcweir 377cdf0e10cSrcweir // XTypeProvider (overloaded) 378cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() 379cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 380cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() 381cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 382cdf0e10cSrcweir 383cdf0e10cSrcweir // XServiceInfo 384cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getImplementationName() 385cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 386cdf0e10cSrcweir virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) 387cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 388cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() 389cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 390cdf0e10cSrcweir }; 391cdf0e10cSrcweir 392cdf0e10cSrcweir // ============================================================================ 393cdf0e10cSrcweir 394cdf0e10cSrcweir struct ScFieldIdentifier 395cdf0e10cSrcweir { 396cdf0e10cSrcweir ::rtl::OUString maFieldName; /// Source field name. 397cdf0e10cSrcweir sal_Int32 mnFieldIdx; /// Field index (if several fields with same name exist). 398cdf0e10cSrcweir bool mbDataLayout; /// True = data layout field collecting all data fields as items. 399cdf0e10cSrcweir ScFieldIdentifierScFieldIdentifier400cdf0e10cSrcweir inline explicit ScFieldIdentifier() : 401cdf0e10cSrcweir mnFieldIdx( 0 ), mbDataLayout( false ) {} 402cdf0e10cSrcweir ScFieldIdentifierScFieldIdentifier403cdf0e10cSrcweir inline explicit ScFieldIdentifier( const ::rtl::OUString& rFieldName, sal_Int32 nFieldIdx, bool bDataLayout ) : 404cdf0e10cSrcweir maFieldName( rFieldName ), mnFieldIdx( nFieldIdx ), mbDataLayout( bDataLayout ) {} 405cdf0e10cSrcweir }; 406cdf0e10cSrcweir 407cdf0e10cSrcweir // ============================================================================ 408cdf0e10cSrcweir 409cdf0e10cSrcweir /** Base class of all implementation objects based on a DataPilot descriptor 410cdf0e10cSrcweir or DataPilot table object. Wraps acquiring and releasing the parent. */ 411cdf0e10cSrcweir class ScDataPilotChildObjBase 412cdf0e10cSrcweir { 413cdf0e10cSrcweir protected: 414cdf0e10cSrcweir explicit ScDataPilotChildObjBase( ScDataPilotDescriptorBase& rParent ); 415cdf0e10cSrcweir explicit ScDataPilotChildObjBase( ScDataPilotDescriptorBase& rParent, const ScFieldIdentifier& rFieldId ); 416cdf0e10cSrcweir virtual ~ScDataPilotChildObjBase(); 417cdf0e10cSrcweir 418cdf0e10cSrcweir /** Returns the wrapped DataPilot object (calls GetDPObject() at parent). */ 419cdf0e10cSrcweir ScDPObject* GetDPObject() const; 420cdf0e10cSrcweir /** Sets the passed DataPilot object (calls SetDPObject() at parent). */ 421cdf0e10cSrcweir void SetDPObject( ScDPObject* pDPObject ); 422cdf0e10cSrcweir 423cdf0e10cSrcweir /** Returns the DataPilot dimension object related to the field described by maFieldId. */ 424cdf0e10cSrcweir ScDPSaveDimension* GetDPDimension( ScDPObject** ppDPObject = 0 ) const; 425cdf0e10cSrcweir 426cdf0e10cSrcweir /** Returns the number of members for the field described by maFieldId. */ 427cdf0e10cSrcweir sal_Int32 GetMemberCount() const; 428cdf0e10cSrcweir /** Returns the collection of members for the field described by maFieldId. */ 429cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > 430cdf0e10cSrcweir GetMembers() const; 431cdf0e10cSrcweir 432cdf0e10cSrcweir protected: 433cdf0e10cSrcweir ScDataPilotDescriptorBase& mrParent; 434cdf0e10cSrcweir ScFieldIdentifier maFieldId; 435cdf0e10cSrcweir 436cdf0e10cSrcweir private: 437cdf0e10cSrcweir ScDataPilotChildObjBase& operator=( const ScDataPilotChildObjBase& ); 438cdf0e10cSrcweir }; 439cdf0e10cSrcweir 440cdf0e10cSrcweir // ============================================================================ 441cdf0e10cSrcweir 442cdf0e10cSrcweir typedef ::cppu::WeakImplHelper4 443cdf0e10cSrcweir < 444cdf0e10cSrcweir ::com::sun::star::container::XEnumerationAccess, 445cdf0e10cSrcweir ::com::sun::star::container::XIndexAccess, 446cdf0e10cSrcweir ::com::sun::star::container::XNameAccess, 447cdf0e10cSrcweir ::com::sun::star::lang::XServiceInfo 448cdf0e10cSrcweir > 449cdf0e10cSrcweir ScDataPilotFieldsObjImpl; 450cdf0e10cSrcweir 451cdf0e10cSrcweir /** Collection of all DataPilot fields, or of all fields from a specific dimension. */ 452cdf0e10cSrcweir class ScDataPilotFieldsObj : public ScDataPilotChildObjBase, public ScDataPilotFieldsObjImpl 453cdf0e10cSrcweir { 454cdf0e10cSrcweir public: 455cdf0e10cSrcweir explicit ScDataPilotFieldsObj( 456cdf0e10cSrcweir ScDataPilotDescriptorBase& rParent ); 457cdf0e10cSrcweir 458cdf0e10cSrcweir explicit ScDataPilotFieldsObj( 459cdf0e10cSrcweir ScDataPilotDescriptorBase& rParent, 460cdf0e10cSrcweir ::com::sun::star::sheet::DataPilotFieldOrientation eOrient ); 461cdf0e10cSrcweir 462cdf0e10cSrcweir virtual ~ScDataPilotFieldsObj(); 463cdf0e10cSrcweir 464cdf0e10cSrcweir // XNameAccess 465cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) 466cdf0e10cSrcweir throw(::com::sun::star::container::NoSuchElementException, 467cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 468cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 469cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() 470cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 471cdf0e10cSrcweir virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) 472cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 473cdf0e10cSrcweir 474cdf0e10cSrcweir // XIndexAccess 475cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); 476cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) 477cdf0e10cSrcweir throw(::com::sun::star::lang::IndexOutOfBoundsException, 478cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 479cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 480cdf0e10cSrcweir 481cdf0e10cSrcweir // XEnumerationAccess 482cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL 483cdf0e10cSrcweir createEnumeration() throw(::com::sun::star::uno::RuntimeException); 484cdf0e10cSrcweir 485cdf0e10cSrcweir // XElementAccess 486cdf0e10cSrcweir virtual ::com::sun::star::uno::Type SAL_CALL getElementType() 487cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 488cdf0e10cSrcweir virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); 489cdf0e10cSrcweir 490cdf0e10cSrcweir // XServiceInfo 491cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getImplementationName() 492cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 493cdf0e10cSrcweir virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) 494cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 495cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() 496cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 497cdf0e10cSrcweir 498cdf0e10cSrcweir private: 499cdf0e10cSrcweir ScDataPilotFieldObj* GetObjectByIndex_Impl( sal_Int32 nIndex ) const; 500cdf0e10cSrcweir ScDataPilotFieldObj* GetObjectByName_Impl( const ::rtl::OUString& rName ) const; 501cdf0e10cSrcweir 502cdf0e10cSrcweir private: 503cdf0e10cSrcweir ::com::sun::star::uno::Any maOrient; /// Field orientation, no value = all fields. 504cdf0e10cSrcweir }; 505cdf0e10cSrcweir 506cdf0e10cSrcweir // ============================================================================ 507cdf0e10cSrcweir 508cdf0e10cSrcweir typedef ::cppu::WeakImplHelper5 509cdf0e10cSrcweir < 510cdf0e10cSrcweir ::com::sun::star::container::XNamed, 511cdf0e10cSrcweir ::com::sun::star::beans::XPropertySet, 512cdf0e10cSrcweir ::com::sun::star::sheet::XDataPilotField, 513cdf0e10cSrcweir ::com::sun::star::sheet::XDataPilotFieldGrouping, 514cdf0e10cSrcweir ::com::sun::star::lang::XServiceInfo 515cdf0e10cSrcweir > 516cdf0e10cSrcweir ScDataPilotFieldObjImpl; 517cdf0e10cSrcweir 518cdf0e10cSrcweir /** Implementation of a single DataPilot field. */ 519cdf0e10cSrcweir class ScDataPilotFieldObj : public ScDataPilotChildObjBase, public ScDataPilotFieldObjImpl 520cdf0e10cSrcweir { 521cdf0e10cSrcweir public: 522cdf0e10cSrcweir ScDataPilotFieldObj( 523cdf0e10cSrcweir ScDataPilotDescriptorBase& rParent, 524cdf0e10cSrcweir const ScFieldIdentifier& rIdent ); 525cdf0e10cSrcweir 526cdf0e10cSrcweir ScDataPilotFieldObj( 527cdf0e10cSrcweir ScDataPilotDescriptorBase& rParent, 528cdf0e10cSrcweir const ScFieldIdentifier& rIdent, 529cdf0e10cSrcweir const ::com::sun::star::uno::Any& rOrient ); 530cdf0e10cSrcweir 531cdf0e10cSrcweir virtual ~ScDataPilotFieldObj(); 532cdf0e10cSrcweir 533cdf0e10cSrcweir // XNamed 534cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); 535cdf0e10cSrcweir virtual void SAL_CALL setName( const ::rtl::OUString& aName ) 536cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 537cdf0e10cSrcweir 538cdf0e10cSrcweir // XPropertySet 539cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > 540cdf0e10cSrcweir SAL_CALL getPropertySetInfo( ) 541cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 542cdf0e10cSrcweir virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, 543cdf0e10cSrcweir const ::com::sun::star::uno::Any& aValue ) 544cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 545cdf0e10cSrcweir ::com::sun::star::beans::PropertyVetoException, 546cdf0e10cSrcweir ::com::sun::star::lang::IllegalArgumentException, 547cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 548cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 549cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( 550cdf0e10cSrcweir const ::rtl::OUString& PropertyName ) 551cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 552cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 553cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 554cdf0e10cSrcweir virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, 555cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 556cdf0e10cSrcweir ::com::sun::star::beans::XPropertyChangeListener >& xListener ) 557cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 558cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 559cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 560cdf0e10cSrcweir virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, 561cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 562cdf0e10cSrcweir ::com::sun::star::beans::XPropertyChangeListener >& aListener ) 563cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 564cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 565cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 566cdf0e10cSrcweir virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, 567cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 568cdf0e10cSrcweir ::com::sun::star::beans::XVetoableChangeListener >& aListener ) 569cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 570cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 571cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 572cdf0e10cSrcweir virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, 573cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 574cdf0e10cSrcweir ::com::sun::star::beans::XVetoableChangeListener >& aListener ) 575cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 576cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 577cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 578cdf0e10cSrcweir 579cdf0e10cSrcweir // XDatePilotField 580cdf0e10cSrcweir virtual com::sun::star::uno::Reference<com::sun::star::container::XIndexAccess> SAL_CALL 581cdf0e10cSrcweir getItems() throw (::com::sun::star::uno::RuntimeException); 582cdf0e10cSrcweir 583cdf0e10cSrcweir // nur noch aus Property-Funktionen gerufen: 584cdf0e10cSrcweir com::sun::star::sheet::DataPilotFieldOrientation getOrientation(void) const; 585cdf0e10cSrcweir void setOrientation(com::sun::star::sheet::DataPilotFieldOrientation Orientation); 586cdf0e10cSrcweir com::sun::star::sheet::GeneralFunction getFunction(void) const; 587cdf0e10cSrcweir void setFunction(com::sun::star::sheet::GeneralFunction Function); 588cdf0e10cSrcweir com::sun::star::uno::Sequence< com::sun::star::sheet::GeneralFunction > getSubtotals() const; 589cdf0e10cSrcweir void setSubtotals(const com::sun::star::uno::Sequence< com::sun::star::sheet::GeneralFunction >& rFunctions); 590cdf0e10cSrcweir rtl::OUString getCurrentPage() const; 591cdf0e10cSrcweir void setCurrentPage(const rtl::OUString& sPage); 592cdf0e10cSrcweir sal_Bool getUseCurrentPage() const; 593cdf0e10cSrcweir void setUseCurrentPage(sal_Bool bUse); 594cdf0e10cSrcweir const com::sun::star::sheet::DataPilotFieldAutoShowInfo* getAutoShowInfo(); 595cdf0e10cSrcweir void setAutoShowInfo(const com::sun::star::sheet::DataPilotFieldAutoShowInfo* pInfo); 596cdf0e10cSrcweir const com::sun::star::sheet::DataPilotFieldLayoutInfo* getLayoutInfo(); 597cdf0e10cSrcweir void setLayoutInfo(const com::sun::star::sheet::DataPilotFieldLayoutInfo* pInfo); 598cdf0e10cSrcweir const com::sun::star::sheet::DataPilotFieldReference* getReference(); 599cdf0e10cSrcweir void setReference(const com::sun::star::sheet::DataPilotFieldReference* pInfo); 600cdf0e10cSrcweir const com::sun::star::sheet::DataPilotFieldSortInfo* getSortInfo(); 601cdf0e10cSrcweir void setSortInfo(const com::sun::star::sheet::DataPilotFieldSortInfo* pInfo); 602cdf0e10cSrcweir sal_Bool getShowEmpty() const; 603cdf0e10cSrcweir void setShowEmpty(sal_Bool bShow); 604cdf0e10cSrcweir 605cdf0e10cSrcweir sal_Bool hasGroupInfo(); 606cdf0e10cSrcweir com::sun::star::sheet::DataPilotFieldGroupInfo getGroupInfo(); 607cdf0e10cSrcweir void setGroupInfo(const com::sun::star::sheet::DataPilotFieldGroupInfo* pInfo); 608cdf0e10cSrcweir 609cdf0e10cSrcweir // XDataPilotFieldGrouping 610cdf0e10cSrcweir sal_Bool HasString(const com::sun::star::uno::Sequence< ::rtl::OUString >& aItems, const ::rtl::OUString& aString); 611cdf0e10cSrcweir virtual com::sun::star::uno::Reference < com::sun::star::sheet::XDataPilotField > SAL_CALL 612cdf0e10cSrcweir createNameGroup(const com::sun::star::uno::Sequence< ::rtl::OUString >& aItems) 613cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException, 614cdf0e10cSrcweir ::com::sun::star::lang::IllegalArgumentException); 615cdf0e10cSrcweir virtual com::sun::star::uno::Reference < com::sun::star::sheet::XDataPilotField > SAL_CALL 616cdf0e10cSrcweir createDateGroup(const com::sun::star::sheet::DataPilotFieldGroupInfo& rInfo) 617cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException, 618cdf0e10cSrcweir ::com::sun::star::lang::IllegalArgumentException); 619cdf0e10cSrcweir 620cdf0e10cSrcweir // XServiceInfo 621cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getImplementationName() 622cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 623cdf0e10cSrcweir virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) 624cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 625cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() 626cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 627cdf0e10cSrcweir 628cdf0e10cSrcweir private: 629cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > 630cdf0e10cSrcweir mxItems; 631cdf0e10cSrcweir SfxItemPropertySet maPropSet; 632cdf0e10cSrcweir ::com::sun::star::uno::Any maOrient; 633cdf0e10cSrcweir }; 634cdf0e10cSrcweir 635cdf0e10cSrcweir // ============================================================================ 636cdf0e10cSrcweir 637cdf0e10cSrcweir typedef ::std::vector< ::rtl::OUString > ScFieldGroupMembers; 638cdf0e10cSrcweir 639cdf0e10cSrcweir struct ScFieldGroup 640cdf0e10cSrcweir { 641cdf0e10cSrcweir ::rtl::OUString maName; 642cdf0e10cSrcweir ScFieldGroupMembers maMembers; 643cdf0e10cSrcweir }; 644cdf0e10cSrcweir 645cdf0e10cSrcweir typedef ::std::vector< ScFieldGroup > ScFieldGroups; 646cdf0e10cSrcweir 647cdf0e10cSrcweir // ============================================================================ 648cdf0e10cSrcweir 649cdf0e10cSrcweir typedef ::cppu::WeakImplHelper4 650cdf0e10cSrcweir < 651cdf0e10cSrcweir ::com::sun::star::container::XNameContainer, 652cdf0e10cSrcweir ::com::sun::star::container::XEnumerationAccess, 653cdf0e10cSrcweir ::com::sun::star::container::XIndexAccess, 654cdf0e10cSrcweir ::com::sun::star::lang::XServiceInfo 655cdf0e10cSrcweir > 656cdf0e10cSrcweir ScDataPilotFieldGroupsObjImpl; 657cdf0e10cSrcweir 658cdf0e10cSrcweir /** Implementation of all grouped items in a DataPilot field. 659cdf0e10cSrcweir 660cdf0e10cSrcweir This is a stand-alone object without any connection to the base DataPilot 661cdf0e10cSrcweir field. Grouping info has to be written back with the GroupInfo property of 662cdf0e10cSrcweir the DataPilot field after modifying this object. 663cdf0e10cSrcweir */ 664cdf0e10cSrcweir class ScDataPilotFieldGroupsObj : public ScDataPilotFieldGroupsObjImpl 665cdf0e10cSrcweir { 666cdf0e10cSrcweir public: 667cdf0e10cSrcweir explicit ScDataPilotFieldGroupsObj( const ScFieldGroups& rGroups ); 668cdf0e10cSrcweir virtual ~ScDataPilotFieldGroupsObj(); 669cdf0e10cSrcweir 670cdf0e10cSrcweir // XNameAccess 671cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) 672cdf0e10cSrcweir throw(::com::sun::star::container::NoSuchElementException, 673cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 674cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 675cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() 676cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 677cdf0e10cSrcweir virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) 678cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 679cdf0e10cSrcweir 680cdf0e10cSrcweir // XNameReplace 681cdf0e10cSrcweir virtual void SAL_CALL replaceByName( const ::rtl::OUString& aName, 682cdf0e10cSrcweir const ::com::sun::star::uno::Any& aElement ) 683cdf0e10cSrcweir throw (::com::sun::star::lang::IllegalArgumentException, 684cdf0e10cSrcweir ::com::sun::star::container::NoSuchElementException, 685cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 686cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 687cdf0e10cSrcweir 688cdf0e10cSrcweir // XNameContainer 689cdf0e10cSrcweir virtual void SAL_CALL insertByName( const ::rtl::OUString& aName, 690cdf0e10cSrcweir const ::com::sun::star::uno::Any& aElement ) 691cdf0e10cSrcweir throw (::com::sun::star::lang::IllegalArgumentException, 692cdf0e10cSrcweir ::com::sun::star::container::ElementExistException, 693cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 694cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 695cdf0e10cSrcweir virtual void SAL_CALL removeByName( const ::rtl::OUString& Name ) 696cdf0e10cSrcweir throw (::com::sun::star::container::NoSuchElementException, 697cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 698cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 699cdf0e10cSrcweir 700cdf0e10cSrcweir // XIndexAccess 701cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); 702cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) 703cdf0e10cSrcweir throw(::com::sun::star::lang::IndexOutOfBoundsException, 704cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 705cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 706cdf0e10cSrcweir 707cdf0e10cSrcweir // XEnumerationAccess 708cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL 709cdf0e10cSrcweir createEnumeration() throw(::com::sun::star::uno::RuntimeException); 710cdf0e10cSrcweir 711cdf0e10cSrcweir // XElementAccess 712cdf0e10cSrcweir virtual ::com::sun::star::uno::Type SAL_CALL getElementType() 713cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 714cdf0e10cSrcweir virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); 715cdf0e10cSrcweir 716cdf0e10cSrcweir // XServiceInfo 717cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getImplementationName() 718cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 719cdf0e10cSrcweir virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) 720cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 721cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() 722cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 723cdf0e10cSrcweir 724cdf0e10cSrcweir // implementation 725cdf0e10cSrcweir ScFieldGroup& getFieldGroup( const ::rtl::OUString& rName ) throw(::com::sun::star::uno::RuntimeException); 726cdf0e10cSrcweir void renameFieldGroup( const ::rtl::OUString& rOldName, const ::rtl::OUString& rNewName ) throw(::com::sun::star::uno::RuntimeException); 727cdf0e10cSrcweir 728cdf0e10cSrcweir private: 729cdf0e10cSrcweir ScFieldGroups::iterator implFindByName( const ::rtl::OUString& rName ); 730cdf0e10cSrcweir 731cdf0e10cSrcweir private: 732cdf0e10cSrcweir ScFieldGroups maGroups; 733cdf0e10cSrcweir }; 734cdf0e10cSrcweir 735cdf0e10cSrcweir // ============================================================================ 736cdf0e10cSrcweir 737cdf0e10cSrcweir typedef ::cppu::WeakImplHelper5 738cdf0e10cSrcweir < 739cdf0e10cSrcweir ::com::sun::star::container::XNameContainer, 740cdf0e10cSrcweir ::com::sun::star::container::XEnumerationAccess, 741cdf0e10cSrcweir ::com::sun::star::container::XIndexAccess, 742cdf0e10cSrcweir ::com::sun::star::container::XNamed, 743cdf0e10cSrcweir ::com::sun::star::lang::XServiceInfo 744cdf0e10cSrcweir > 745cdf0e10cSrcweir ScDataPilotFieldGroupObjImpl; 746cdf0e10cSrcweir 747cdf0e10cSrcweir class ScDataPilotFieldGroupObj : public ScDataPilotFieldGroupObjImpl 748cdf0e10cSrcweir { 749cdf0e10cSrcweir public: 750cdf0e10cSrcweir explicit ScDataPilotFieldGroupObj( ScDataPilotFieldGroupsObj& rParent, const ::rtl::OUString& rGroupName ); 751cdf0e10cSrcweir virtual ~ScDataPilotFieldGroupObj(); 752cdf0e10cSrcweir 753cdf0e10cSrcweir // XNameAccess 754cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) 755cdf0e10cSrcweir throw(::com::sun::star::container::NoSuchElementException, 756cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 757cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 758cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() 759cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 760cdf0e10cSrcweir virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) 761cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 762cdf0e10cSrcweir 763cdf0e10cSrcweir // XNameReplace 764cdf0e10cSrcweir virtual void SAL_CALL replaceByName( const ::rtl::OUString& aName, 765cdf0e10cSrcweir const ::com::sun::star::uno::Any& aElement ) 766cdf0e10cSrcweir throw (::com::sun::star::lang::IllegalArgumentException, 767cdf0e10cSrcweir ::com::sun::star::container::NoSuchElementException, 768cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 769cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 770cdf0e10cSrcweir 771cdf0e10cSrcweir // XNameContainer 772cdf0e10cSrcweir virtual void SAL_CALL insertByName( const ::rtl::OUString& aName, 773cdf0e10cSrcweir const ::com::sun::star::uno::Any& aElement ) 774cdf0e10cSrcweir throw (::com::sun::star::lang::IllegalArgumentException, 775cdf0e10cSrcweir ::com::sun::star::container::ElementExistException, 776cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 777cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 778cdf0e10cSrcweir virtual void SAL_CALL removeByName( const ::rtl::OUString& Name ) 779cdf0e10cSrcweir throw (::com::sun::star::container::NoSuchElementException, 780cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 781cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 782cdf0e10cSrcweir 783cdf0e10cSrcweir // XIndexAccess 784cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); 785cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) 786cdf0e10cSrcweir throw(::com::sun::star::lang::IndexOutOfBoundsException, 787cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 788cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 789cdf0e10cSrcweir 790cdf0e10cSrcweir // XEnumerationAccess 791cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL 792cdf0e10cSrcweir createEnumeration() throw(::com::sun::star::uno::RuntimeException); 793cdf0e10cSrcweir 794cdf0e10cSrcweir // XElementAccess 795cdf0e10cSrcweir virtual ::com::sun::star::uno::Type SAL_CALL getElementType() 796cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 797cdf0e10cSrcweir virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); 798cdf0e10cSrcweir 799cdf0e10cSrcweir // XNamed 800cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); 801cdf0e10cSrcweir virtual void SAL_CALL setName( const ::rtl::OUString& aName ) 802cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 803cdf0e10cSrcweir 804cdf0e10cSrcweir // XServiceInfo 805cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getImplementationName() 806cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 807cdf0e10cSrcweir virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) 808cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 809cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() 810cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 811cdf0e10cSrcweir 812cdf0e10cSrcweir private: 813cdf0e10cSrcweir ScDataPilotFieldGroupsObj& mrParent; 814cdf0e10cSrcweir ::rtl::OUString maGroupName; 815cdf0e10cSrcweir }; 816cdf0e10cSrcweir 817cdf0e10cSrcweir // ============================================================================ 818cdf0e10cSrcweir 819cdf0e10cSrcweir typedef ::cppu::WeakImplHelper2 820cdf0e10cSrcweir < 821cdf0e10cSrcweir ::com::sun::star::container::XNamed, 822cdf0e10cSrcweir ::com::sun::star::lang::XServiceInfo 823cdf0e10cSrcweir > 824cdf0e10cSrcweir ScDataPilotFieldGroupItemObjImpl; 825cdf0e10cSrcweir 826cdf0e10cSrcweir class ScDataPilotFieldGroupItemObj : public ScDataPilotFieldGroupItemObjImpl 827cdf0e10cSrcweir { 828cdf0e10cSrcweir public: 829cdf0e10cSrcweir explicit ScDataPilotFieldGroupItemObj( ScDataPilotFieldGroupObj& rParent, const ::rtl::OUString& rName ); 830cdf0e10cSrcweir virtual ~ScDataPilotFieldGroupItemObj(); 831cdf0e10cSrcweir 832cdf0e10cSrcweir // XNamed 833cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); 834cdf0e10cSrcweir virtual void SAL_CALL setName( const ::rtl::OUString& aName ) 835cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 836cdf0e10cSrcweir 837cdf0e10cSrcweir // XServiceInfo 838cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getImplementationName() 839cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 840cdf0e10cSrcweir virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) 841cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 842cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() 843cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 844cdf0e10cSrcweir 845cdf0e10cSrcweir private: 846cdf0e10cSrcweir ScDataPilotFieldGroupObj& mrParent; 847cdf0e10cSrcweir ::rtl::OUString maName; 848cdf0e10cSrcweir }; 849cdf0e10cSrcweir 850cdf0e10cSrcweir // ============================================================================ 851cdf0e10cSrcweir 852cdf0e10cSrcweir typedef ::cppu::WeakImplHelper4 853cdf0e10cSrcweir < 854cdf0e10cSrcweir ::com::sun::star::container::XEnumerationAccess, 855cdf0e10cSrcweir ::com::sun::star::container::XIndexAccess, 856cdf0e10cSrcweir ::com::sun::star::container::XNameAccess, 857cdf0e10cSrcweir ::com::sun::star::lang::XServiceInfo 858cdf0e10cSrcweir > 859cdf0e10cSrcweir ScDataPilotItemsObjImpl; 860cdf0e10cSrcweir 861cdf0e10cSrcweir class ScDataPilotItemsObj : public ScDataPilotChildObjBase, public ScDataPilotItemsObjImpl 862cdf0e10cSrcweir { 863cdf0e10cSrcweir public: 864cdf0e10cSrcweir explicit ScDataPilotItemsObj( ScDataPilotDescriptorBase& rParent, const ScFieldIdentifier& rFieldId ); 865cdf0e10cSrcweir virtual ~ScDataPilotItemsObj(); 866cdf0e10cSrcweir 867cdf0e10cSrcweir // XNameAccess 868cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) 869cdf0e10cSrcweir throw(::com::sun::star::container::NoSuchElementException, 870cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 871cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 872cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() 873cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 874cdf0e10cSrcweir virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) 875cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 876cdf0e10cSrcweir 877cdf0e10cSrcweir // XIndexAccess 878cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); 879cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) 880cdf0e10cSrcweir throw(::com::sun::star::lang::IndexOutOfBoundsException, 881cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 882cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 883cdf0e10cSrcweir 884cdf0e10cSrcweir // XEnumerationAccess 885cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL 886cdf0e10cSrcweir createEnumeration() throw(::com::sun::star::uno::RuntimeException); 887cdf0e10cSrcweir 888cdf0e10cSrcweir // XElementAccess 889cdf0e10cSrcweir virtual ::com::sun::star::uno::Type SAL_CALL getElementType() 890cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 891cdf0e10cSrcweir virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); 892cdf0e10cSrcweir 893cdf0e10cSrcweir // XServiceInfo 894cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getImplementationName() 895cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 896cdf0e10cSrcweir virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) 897cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 898cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() 899cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 900cdf0e10cSrcweir 901cdf0e10cSrcweir private: 902cdf0e10cSrcweir ScDataPilotItemObj* GetObjectByIndex_Impl( sal_Int32 nIndex ) const; 903cdf0e10cSrcweir }; 904cdf0e10cSrcweir 905cdf0e10cSrcweir // ============================================================================ 906cdf0e10cSrcweir 907cdf0e10cSrcweir typedef ::cppu::WeakImplHelper3 908cdf0e10cSrcweir < 909cdf0e10cSrcweir ::com::sun::star::container::XNamed, 910cdf0e10cSrcweir ::com::sun::star::beans::XPropertySet, 911cdf0e10cSrcweir ::com::sun::star::lang::XServiceInfo 912cdf0e10cSrcweir > 913cdf0e10cSrcweir ScDataPilotItemObjImpl; 914cdf0e10cSrcweir 915cdf0e10cSrcweir class ScDataPilotItemObj : public ScDataPilotChildObjBase, public ScDataPilotItemObjImpl 916cdf0e10cSrcweir { 917cdf0e10cSrcweir public: 918cdf0e10cSrcweir explicit ScDataPilotItemObj( 919cdf0e10cSrcweir ScDataPilotDescriptorBase& rParent, 920cdf0e10cSrcweir const ScFieldIdentifier& rFieldId, 921cdf0e10cSrcweir sal_Int32 nIndex ); 922cdf0e10cSrcweir 923cdf0e10cSrcweir virtual ~ScDataPilotItemObj(); 924cdf0e10cSrcweir 925cdf0e10cSrcweir // XNamed 926cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); 927cdf0e10cSrcweir virtual void SAL_CALL setName( const ::rtl::OUString& aName ) 928cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 929cdf0e10cSrcweir 930cdf0e10cSrcweir // XPropertySet 931cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > 932cdf0e10cSrcweir SAL_CALL getPropertySetInfo( ) 933cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 934cdf0e10cSrcweir virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, 935cdf0e10cSrcweir const ::com::sun::star::uno::Any& aValue ) 936cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 937cdf0e10cSrcweir ::com::sun::star::beans::PropertyVetoException, 938cdf0e10cSrcweir ::com::sun::star::lang::IllegalArgumentException, 939cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 940cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 941cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( 942cdf0e10cSrcweir const ::rtl::OUString& PropertyName ) 943cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 944cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 945cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 946cdf0e10cSrcweir virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, 947cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 948cdf0e10cSrcweir ::com::sun::star::beans::XPropertyChangeListener >& xListener ) 949cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 950cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 951cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 952cdf0e10cSrcweir virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, 953cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 954cdf0e10cSrcweir ::com::sun::star::beans::XPropertyChangeListener >& aListener ) 955cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 956cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 957cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 958cdf0e10cSrcweir virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, 959cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 960cdf0e10cSrcweir ::com::sun::star::beans::XVetoableChangeListener >& aListener ) 961cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 962cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 963cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 964cdf0e10cSrcweir virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, 965cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 966cdf0e10cSrcweir ::com::sun::star::beans::XVetoableChangeListener >& aListener ) 967cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 968cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 969cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 970cdf0e10cSrcweir 971cdf0e10cSrcweir // XServiceInfo 972cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getImplementationName() 973cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 974cdf0e10cSrcweir virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) 975cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 976cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() 977cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 978cdf0e10cSrcweir 979cdf0e10cSrcweir private: 980cdf0e10cSrcweir SfxItemPropertySet maPropSet; 981cdf0e10cSrcweir sal_Int32 mnIndex; 982cdf0e10cSrcweir }; 983cdf0e10cSrcweir 984cdf0e10cSrcweir // ============================================================================ 985cdf0e10cSrcweir 986cdf0e10cSrcweir #endif 987cdf0e10cSrcweir 988