LCOV - code coverage report
Current view: top level - usr/local/src/libreoffice/sc/inc - docuno.hxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 0 1 0.0 %
Date: 2013-07-09 Functions: 0 1 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #ifndef SC_DOCUNO_HXX
      21             : #define SC_DOCUNO_HXX
      22             : 
      23             : #include "address.hxx"
      24             : #include <sfx2/sfxbasemodel.hxx>
      25             : #include <svl/lstner.hxx>
      26             : #include <svx/fmdmod.hxx>
      27             : #include <com/sun/star/view/XRenderable.hpp>
      28             : #include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
      29             : #include <com/sun/star/document/XActionLockable.hpp>
      30             : #include <com/sun/star/document/XLinkTargetSupplier.hpp>
      31             : #include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
      32             : #include <com/sun/star/drawing/XDrawPages.hpp>
      33             : #include <com/sun/star/sheet/XGoalSeek.hpp>
      34             : #include <com/sun/star/sheet/XCalculatable.hpp>
      35             : #include <com/sun/star/sheet/XScenarios.hpp>
      36             : #include <com/sun/star/sheet/XConsolidatable.hpp>
      37             : #include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
      38             : #include <com/sun/star/sheet/XSpreadsheets2.hpp>
      39             : #include <com/sun/star/sheet/XDocumentAuditing.hpp>
      40             : #include <com/sun/star/lang/XServiceInfo.hpp>
      41             : #include <com/sun/star/util/XProtectable.hpp>
      42             : #include <com/sun/star/container/XEnumerationAccess.hpp>
      43             : #include <com/sun/star/table/XTableColumns.hpp>
      44             : #include <com/sun/star/table/XTableRows.hpp>
      45             : #include <com/sun/star/sheet/XSheetAnnotations.hpp>
      46             : #include <com/sun/star/beans/XPropertySet.hpp>
      47             : #include <com/sun/star/sheet/XCellRangesAccess.hpp>
      48             : #include <com/sun/star/util/XChangesNotifier.hpp>
      49             : #include <cppuhelper/implbase2.hxx>
      50             : #include <cppuhelper/implbase3.hxx>
      51             : #include <cppuhelper/implbase4.hxx>
      52             : #include <cppuhelper/implbase5.hxx>
      53             : #include <cppuhelper/interfacecontainer.h>
      54             : #include <svl/itemprop.hxx>
      55             : #include "drwlayer.hxx"
      56             : 
      57             : class ScDocShell;
      58             : class ScAnnotationObj;
      59             : class ScMarkData;
      60             : class ScPrintFuncCache;
      61             : class ScPrintSelectionStatus;
      62             : class ScTableColumnObj;
      63             : class ScTableRowObj;
      64             : class ScTableSheetObj;
      65             : class ScRangeList;
      66             : class ScPrintUIOptions;
      67             : class ScSheetSaveData;
      68             : 
      69             : class SC_DLLPUBLIC ScModelObj : public SfxBaseModel,
      70             :                     public com::sun::star::sheet::XSpreadsheetDocument,
      71             :                     public com::sun::star::document::XActionLockable,
      72             :                     public com::sun::star::sheet::XCalculatable,
      73             :                     public com::sun::star::util::XProtectable,
      74             :                     public com::sun::star::drawing::XDrawPagesSupplier,
      75             :                     public com::sun::star::sheet::XGoalSeek,
      76             :                     public com::sun::star::sheet::XConsolidatable,
      77             :                     public com::sun::star::sheet::XDocumentAuditing,
      78             :                     public com::sun::star::style::XStyleFamiliesSupplier,
      79             :                     public com::sun::star::view::XRenderable,
      80             :                     public com::sun::star::document::XLinkTargetSupplier,
      81             :                     public com::sun::star::beans::XPropertySet,
      82             :                     public SvxFmMSFactory,  ///< derived from XMultiServiceFactory
      83             :                     public com::sun::star::lang::XServiceInfo,
      84             :                     public ::com::sun::star::util::XChangesNotifier
      85             : {
      86             : private:
      87             :     SfxItemPropertySet      aPropSet;
      88             :     ScDocShell*             pDocShell;
      89             :     ScPrintFuncCache*       pPrintFuncCache;
      90             :     ScPrintUIOptions*       pPrinterOptions;
      91             :     com::sun::star::uno::Reference<com::sun::star::uno::XAggregation> xNumberAgg;
      92             :     com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawGradTab;
      93             :     com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawHatchTab;
      94             :     com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawBitmapTab;
      95             :     com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawTrGradTab;
      96             :     com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawMarkerTab;
      97             :     com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawDashTab;
      98             :     com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xChartDataProv;
      99             :     com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xObjProvider;
     100             : 
     101             :     ::cppu::OInterfaceContainerHelper maChangesListeners;
     102             : 
     103             :     bool                    FillRenderMarkData( const com::sun::star::uno::Any& aSelection,
     104             :                                                 const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& rOptions,
     105             :                                                 ScMarkData& rMark, ScPrintSelectionStatus& rStatus, String& rPagesStr ) const;
     106             :     com::sun::star::uno::Reference<com::sun::star::uno::XAggregation> GetFormatter();
     107             :     void                    HandleCalculateEvents();
     108             : 
     109             :     OUString           maBuildId;
     110             : protected:
     111           0 :     const SfxItemPropertySet&   GetPropertySet() const { return aPropSet; }
     112             : 
     113             : public:
     114             :                             ScModelObj(ScDocShell* pDocSh);
     115             :     virtual                 ~ScModelObj();
     116             : 
     117             :     /// create ScModelObj and set at pDocSh (SetBaseModel)
     118             :     static void             CreateAndSet(ScDocShell* pDocSh);
     119             : 
     120             :     ScDocument*             GetDocument() const;
     121             :     SfxObjectShell*         GetEmbeddedObject() const;
     122             : 
     123             :     void UpdateAllRowHeights();
     124             : 
     125             :     void                    BeforeXMLLoading();
     126             :     void                    AfterXMLLoading(sal_Bool bRet);
     127             :     ScSheetSaveData*        GetSheetSaveData();
     128             : 
     129             :     void                    RepaintRange( const ScRange& rRange );
     130             :     void                    RepaintRange( const ScRangeList& rRange );
     131             : 
     132             :     bool                    HasChangesListeners() const;
     133             : 
     134             :     void                    NotifyChanges( const OUString& rOperation, const ScRangeList& rRanges,
     135             :                                            const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rProperties =
     136             :                                                ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >() );
     137             : 
     138             :     virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(
     139             :                                 const ::com::sun::star::uno::Type & rType )
     140             :                                     throw(::com::sun::star::uno::RuntimeException);
     141             :     virtual void SAL_CALL   acquire() throw();
     142             :     virtual void SAL_CALL   release() throw();
     143             : 
     144             :     virtual void            Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
     145             : 
     146             :                             /// XSpreadsheetDocument
     147             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheets > SAL_CALL
     148             :                             getSheets() throw(::com::sun::star::uno::RuntimeException);
     149             : 
     150             :                             /// XStyleFamiliesSupplier
     151             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL
     152             :                             getStyleFamilies() throw(::com::sun::star::uno::RuntimeException);
     153             : 
     154             :                             /// XRenderable
     155             :     virtual sal_Int32 SAL_CALL getRendererCount( const ::com::sun::star::uno::Any& aSelection,
     156             :                                     const ::com::sun::star::uno::Sequence<
     157             :                                         ::com::sun::star::beans::PropertyValue >& xOptions )
     158             :                                 throw (::com::sun::star::lang::IllegalArgumentException,
     159             :                                         ::com::sun::star::uno::RuntimeException);
     160             :     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL
     161             :                             getRenderer( sal_Int32 nRenderer, const ::com::sun::star::uno::Any& aSelection,
     162             :                                     const ::com::sun::star::uno::Sequence<
     163             :                                         ::com::sun::star::beans::PropertyValue >& xOptions )
     164             :                                 throw (::com::sun::star::lang::IllegalArgumentException,
     165             :                                         ::com::sun::star::uno::RuntimeException);
     166             :     virtual void SAL_CALL   render( sal_Int32 nRenderer, const ::com::sun::star::uno::Any& aSelection,
     167             :                                     const ::com::sun::star::uno::Sequence<
     168             :                                         ::com::sun::star::beans::PropertyValue >& xOptions )
     169             :                                 throw (::com::sun::star::lang::IllegalArgumentException,
     170             :                                         ::com::sun::star::uno::RuntimeException);
     171             : 
     172             :                             /// XLinkTargetSupplier
     173             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL
     174             :                             getLinks() throw(::com::sun::star::uno::RuntimeException);
     175             : 
     176             :                             /// XActionLockable
     177             :     virtual sal_Bool SAL_CALL isActionLocked() throw(::com::sun::star::uno::RuntimeException);
     178             :     virtual void SAL_CALL   addActionLock() throw(::com::sun::star::uno::RuntimeException);
     179             :     virtual void SAL_CALL   removeActionLock() throw(::com::sun::star::uno::RuntimeException);
     180             :     virtual void SAL_CALL   setActionLocks( sal_Int16 nLock )
     181             :                                 throw(::com::sun::star::uno::RuntimeException);
     182             :     virtual sal_Int16 SAL_CALL resetActionLocks() throw(::com::sun::star::uno::RuntimeException);
     183             : 
     184             :         virtual void SAL_CALL   lockControllers() throw (::com::sun::star::uno::RuntimeException);
     185             :         virtual void SAL_CALL   unlockControllers() throw (::com::sun::star::uno::RuntimeException);
     186             : 
     187             :                             /// XCalculatable
     188             :     virtual void SAL_CALL   calculate() throw(::com::sun::star::uno::RuntimeException);
     189             :     virtual void SAL_CALL   calculateAll() throw(::com::sun::star::uno::RuntimeException);
     190             :     virtual sal_Bool SAL_CALL isAutomaticCalculationEnabled()
     191             :                                 throw(::com::sun::star::uno::RuntimeException);
     192             :     virtual void SAL_CALL   enableAutomaticCalculation( sal_Bool bEnabled )
     193             :                                 throw(::com::sun::star::uno::RuntimeException);
     194             : 
     195             :                             /// XProtectable
     196             :     virtual void SAL_CALL   protect( const OUString& aPassword )
     197             :                                 throw(::com::sun::star::uno::RuntimeException);
     198             :     virtual void SAL_CALL   unprotect( const OUString& aPassword )
     199             :                                 throw(::com::sun::star::lang::IllegalArgumentException,
     200             :                                     ::com::sun::star::uno::RuntimeException);
     201             :     virtual sal_Bool SAL_CALL isProtected() throw(::com::sun::star::uno::RuntimeException);
     202             : 
     203             :                             /// XDrawPagesSupplier
     204             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPages > SAL_CALL
     205             :                             getDrawPages() throw(::com::sun::star::uno::RuntimeException);
     206             : 
     207             :                             /// XGoalSeek
     208             :     virtual ::com::sun::star::sheet::GoalResult SAL_CALL seekGoal(
     209             :                                 const ::com::sun::star::table::CellAddress& aFormulaPosition,
     210             :                                 const ::com::sun::star::table::CellAddress& aVariablePosition,
     211             :                                 const OUString& aGoalValue )
     212             :                                     throw(::com::sun::star::uno::RuntimeException);
     213             : 
     214             :                             /// XConsolidatable
     215             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XConsolidationDescriptor >
     216             :                             SAL_CALL createConsolidationDescriptor( sal_Bool bEmpty )
     217             :                                 throw(::com::sun::star::uno::RuntimeException);
     218             :     virtual void SAL_CALL consolidate( const ::com::sun::star::uno::Reference<
     219             :                                 ::com::sun::star::sheet::XConsolidationDescriptor >& xDescriptor )
     220             :                                     throw(::com::sun::star::uno::RuntimeException);
     221             : 
     222             :                             /// XDocumentAuditing
     223             :     virtual void SAL_CALL   refreshArrows() throw(::com::sun::star::uno::RuntimeException);
     224             : 
     225             :                             /// XViewDataSupplier
     226             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL getViewData(  )
     227             :                                 throw (::com::sun::star::uno::RuntimeException);
     228             : 
     229             :                             /// XPropertySet
     230             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
     231             :                             SAL_CALL getPropertySetInfo()
     232             :                                 throw(::com::sun::star::uno::RuntimeException);
     233             :     virtual void SAL_CALL   setPropertyValue( const OUString& aPropertyName,
     234             :                                     const ::com::sun::star::uno::Any& aValue )
     235             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     236             :                                     ::com::sun::star::beans::PropertyVetoException,
     237             :                                     ::com::sun::star::lang::IllegalArgumentException,
     238             :                                     ::com::sun::star::lang::WrappedTargetException,
     239             :                                     ::com::sun::star::uno::RuntimeException);
     240             :     virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
     241             :                                     const OUString& PropertyName )
     242             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     243             :                                     ::com::sun::star::lang::WrappedTargetException,
     244             :                                     ::com::sun::star::uno::RuntimeException);
     245             :     virtual void SAL_CALL   addPropertyChangeListener( const OUString& aPropertyName,
     246             :                                     const ::com::sun::star::uno::Reference<
     247             :                                         ::com::sun::star::beans::XPropertyChangeListener >& xListener )
     248             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     249             :                                     ::com::sun::star::lang::WrappedTargetException,
     250             :                                     ::com::sun::star::uno::RuntimeException);
     251             :     virtual void SAL_CALL   removePropertyChangeListener( const OUString& aPropertyName,
     252             :                                     const ::com::sun::star::uno::Reference<
     253             :                                         ::com::sun::star::beans::XPropertyChangeListener >& aListener )
     254             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     255             :                                     ::com::sun::star::lang::WrappedTargetException,
     256             :                                     ::com::sun::star::uno::RuntimeException);
     257             :     virtual void SAL_CALL   addVetoableChangeListener( const OUString& PropertyName,
     258             :                                     const ::com::sun::star::uno::Reference<
     259             :                                         ::com::sun::star::beans::XVetoableChangeListener >& aListener )
     260             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     261             :                                     ::com::sun::star::lang::WrappedTargetException,
     262             :                                     ::com::sun::star::uno::RuntimeException);
     263             :     virtual void SAL_CALL   removeVetoableChangeListener( const OUString& PropertyName,
     264             :                                     const ::com::sun::star::uno::Reference<
     265             :                                         ::com::sun::star::beans::XVetoableChangeListener >& aListener )
     266             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     267             :                                     ::com::sun::star::lang::WrappedTargetException,
     268             :                                     ::com::sun::star::uno::RuntimeException);
     269             : 
     270             :                             /// XMultiServiceFactory
     271             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
     272             :                             createInstance( const OUString& aServiceSpecifier )
     273             :                                 throw(::com::sun::star::uno::Exception,
     274             :                                         ::com::sun::star::uno::RuntimeException);
     275             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
     276             :                             createInstanceWithArguments( const OUString& ServiceSpecifier,
     277             :                                 const ::com::sun::star::uno::Sequence<
     278             :                                     ::com::sun::star::uno::Any >& Arguments )
     279             :                                 throw(::com::sun::star::uno::Exception,
     280             :                                     ::com::sun::star::uno::RuntimeException);
     281             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames()
     282             :                                 throw(::com::sun::star::uno::RuntimeException);
     283             : 
     284             :                             /// XServiceInfo
     285             :     virtual OUString SAL_CALL getImplementationName()
     286             :                                 throw(::com::sun::star::uno::RuntimeException);
     287             :     virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
     288             :                                 throw(::com::sun::star::uno::RuntimeException);
     289             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
     290             :                                 throw(::com::sun::star::uno::RuntimeException);
     291             : 
     292             :                             /// XUnoTunnel
     293             :     virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence<
     294             :                                     sal_Int8 >& aIdentifier )
     295             :                                 throw(::com::sun::star::uno::RuntimeException);
     296             : 
     297             :     static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId();
     298             :     static ScModelObj* getImplementation( const com::sun::star::uno::Reference<
     299             :                                     com::sun::star::uno::XInterface> xObj );
     300             : 
     301             :                             /// XTypeProvider
     302             :     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes()
     303             :                                 throw(::com::sun::star::uno::RuntimeException);
     304             :     virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
     305             :                                 throw(::com::sun::star::uno::RuntimeException);
     306             : 
     307             :                             /// XChangesNotifier
     308             :     virtual void SAL_CALL addChangesListener( const ::com::sun::star::uno::Reference<
     309             :                                     ::com::sun::star::util::XChangesListener >& aListener )
     310             :                                 throw (::com::sun::star::uno::RuntimeException);
     311             :     virtual void SAL_CALL removeChangesListener( const ::com::sun::star::uno::Reference<
     312             :                                     ::com::sun::star::util::XChangesListener >& aListener )
     313             :                                 throw (::com::sun::star::uno::RuntimeException);
     314             : };
     315             : 
     316             : 
     317             : class ScDrawPagesObj : public cppu::WeakImplHelper2<
     318             :                                 com::sun::star::drawing::XDrawPages,
     319             :                                 com::sun::star::lang::XServiceInfo>,
     320             :                         public SfxListener
     321             : {
     322             : private:
     323             :     ScDocShell*             pDocShell;
     324             : 
     325             : ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >
     326             :                             GetObjectByIndex_Impl(sal_Int32 nIndex) const;
     327             : 
     328             : public:
     329             :                             ScDrawPagesObj(ScDocShell* pDocSh);
     330             :     virtual                 ~ScDrawPagesObj();
     331             : 
     332             :     virtual void            Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
     333             : 
     334             :                             /// XDrawPages
     335             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > SAL_CALL
     336             :                             insertNewByIndex( sal_Int32 nIndex )
     337             :                                 throw(::com::sun::star::uno::RuntimeException);
     338             :     virtual void SAL_CALL   remove( const ::com::sun::star::uno::Reference<
     339             :                                 ::com::sun::star::drawing::XDrawPage >& xPage )
     340             :                                     throw(::com::sun::star::uno::RuntimeException);
     341             : 
     342             :                             /// XIndexAccess
     343             :     virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
     344             :     virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
     345             :                                 throw(::com::sun::star::lang::IndexOutOfBoundsException,
     346             :                                     ::com::sun::star::lang::WrappedTargetException,
     347             :                                     ::com::sun::star::uno::RuntimeException);
     348             : 
     349             :                             /// XElementAccess
     350             :     virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
     351             :                                 throw(::com::sun::star::uno::RuntimeException);
     352             :     virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
     353             : 
     354             :                             /// XServiceInfo
     355             :     virtual OUString SAL_CALL getImplementationName()
     356             :                                 throw(::com::sun::star::uno::RuntimeException);
     357             :     virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
     358             :                                 throw(::com::sun::star::uno::RuntimeException);
     359             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
     360             :                                 throw(::com::sun::star::uno::RuntimeException);
     361             : };
     362             : 
     363             : 
     364             : class ScTableSheetsObj : public cppu::WeakImplHelper5<
     365             :                                 com::sun::star::sheet::XSpreadsheets2,
     366             :                                 com::sun::star::sheet::XCellRangesAccess,
     367             :                                 com::sun::star::container::XEnumerationAccess,
     368             :                                 com::sun::star::container::XIndexAccess,
     369             :                                 com::sun::star::lang::XServiceInfo>,
     370             :                          public SfxListener
     371             : {
     372             : private:
     373             :     ScDocShell*             pDocShell;
     374             : 
     375             :     ScTableSheetObj*        GetObjectByIndex_Impl(sal_Int32 nIndex) const;
     376             :     ScTableSheetObj*        GetObjectByName_Impl(const OUString& aName) const;
     377             : 
     378             : public:
     379             :                             ScTableSheetsObj(ScDocShell* pDocSh);
     380             :     virtual                 ~ScTableSheetsObj();
     381             : 
     382             :     virtual void            Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
     383             : 
     384             :                             /// XSpreadsheets
     385             :     virtual void SAL_CALL   insertNewByName( const OUString& aName, sal_Int16 nPosition )
     386             :                                 throw(::com::sun::star::uno::RuntimeException);
     387             :     virtual void SAL_CALL   moveByName( const OUString& aName, sal_Int16 nDestination )
     388             :                                 throw(::com::sun::star::uno::RuntimeException);
     389             :     virtual void SAL_CALL   copyByName( const OUString& aName,
     390             :                                 const OUString& aCopy, sal_Int16 nDestination )
     391             :                                     throw(::com::sun::star::uno::RuntimeException);
     392             : 
     393             :                             /// XSpreadsheets2
     394             :     virtual sal_Int32 SAL_CALL importSheet(
     395             :         const ::com::sun::star::uno::Reference <
     396             :             ::com::sun::star::sheet::XSpreadsheetDocument > & xDocSrc,
     397             :         const OUString& srcName,
     398             :         const sal_Int32 nDestPosition)
     399             :         throw(::com::sun::star::lang::IllegalArgumentException,
     400             :               ::com::sun::star::lang::IndexOutOfBoundsException,
     401             :               ::com::sun::star::uno::RuntimeException);
     402             : 
     403             :                             /// XCellRangesAccess
     404             : 
     405             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCell >
     406             :         SAL_CALL getCellByPosition( sal_Int32 nColumn, sal_Int32 nRow, sal_Int32 nSheet )
     407             :         throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
     408             : 
     409             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange >
     410             :         SAL_CALL getCellRangeByPosition( sal_Int32 nLeft, sal_Int32 nTop, sal_Int32 nRight, sal_Int32 nBottom, sal_Int32 nSheet )
     411             :         throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
     412             : 
     413             :     virtual ::com::sun::star::uno::Sequence < ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > >
     414             :         SAL_CALL getCellRangesByName( const OUString& aRange )
     415             :         throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
     416             : 
     417             :                             /// XNameContainer
     418             :     virtual void SAL_CALL   insertByName( const OUString& aName,
     419             :                                 const ::com::sun::star::uno::Any& aElement )
     420             :                                     throw(::com::sun::star::lang::IllegalArgumentException,
     421             :                                         ::com::sun::star::container::ElementExistException,
     422             :                                         ::com::sun::star::lang::WrappedTargetException,
     423             :                                         ::com::sun::star::uno::RuntimeException);
     424             :     virtual void SAL_CALL   removeByName( const OUString& Name )
     425             :                                 throw(::com::sun::star::container::NoSuchElementException,
     426             :                                     ::com::sun::star::lang::WrappedTargetException,
     427             :                                     ::com::sun::star::uno::RuntimeException);
     428             : 
     429             :                             /// XNameReplace
     430             :     virtual void SAL_CALL   replaceByName( const OUString& aName,
     431             :                                 const ::com::sun::star::uno::Any& aElement )
     432             :                                     throw(::com::sun::star::lang::IllegalArgumentException,
     433             :                                         ::com::sun::star::container::NoSuchElementException,
     434             :                                         ::com::sun::star::lang::WrappedTargetException,
     435             :                                         ::com::sun::star::uno::RuntimeException);
     436             : 
     437             :                             /// XEnumerationAccess
     438             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
     439             :                             createEnumeration() throw(::com::sun::star::uno::RuntimeException);
     440             : 
     441             :                             /// XElementAccess
     442             :     virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
     443             :                                 throw(::com::sun::star::uno::RuntimeException);
     444             :     virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
     445             : 
     446             :                             /// XIndexAccess
     447             :     virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
     448             :     virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
     449             :                                 throw(::com::sun::star::lang::IndexOutOfBoundsException,
     450             :                                     ::com::sun::star::lang::WrappedTargetException,
     451             :                                     ::com::sun::star::uno::RuntimeException);
     452             : 
     453             :                             /// XNameAccess
     454             :     virtual ::com::sun::star::uno::Any SAL_CALL getByName( const OUString& aName )
     455             :                                 throw(::com::sun::star::container::NoSuchElementException,
     456             :                                     ::com::sun::star::lang::WrappedTargetException,
     457             :                                     ::com::sun::star::uno::RuntimeException);
     458             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getElementNames()
     459             :                                 throw(::com::sun::star::uno::RuntimeException);
     460             :     virtual sal_Bool SAL_CALL hasByName( const OUString& aName )
     461             :                                 throw(::com::sun::star::uno::RuntimeException);
     462             : 
     463             :                             /// XServiceInfo
     464             :     virtual OUString SAL_CALL getImplementationName()
     465             :                                 throw(::com::sun::star::uno::RuntimeException);
     466             :     virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
     467             :                                 throw(::com::sun::star::uno::RuntimeException);
     468             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
     469             :                                 throw(::com::sun::star::uno::RuntimeException);
     470             : };
     471             : 
     472             : 
     473             : class ScTableColumnsObj : public cppu::WeakImplHelper5<
     474             :                                 com::sun::star::table::XTableColumns,
     475             :                                 com::sun::star::container::XEnumerationAccess,
     476             :                                 com::sun::star::container::XNameAccess,
     477             :                                 com::sun::star::beans::XPropertySet,
     478             :                                 com::sun::star::lang::XServiceInfo>,
     479             :                           public SfxListener
     480             : {
     481             : private:
     482             :     ScDocShell*             pDocShell;
     483             :     SCTAB                   nTab;
     484             :     SCCOL                   nStartCol;
     485             :     SCCOL                   nEndCol;
     486             : 
     487             :     ScTableColumnObj*       GetObjectByIndex_Impl(sal_Int32 nIndex) const;
     488             :     ScTableColumnObj*       GetObjectByName_Impl(const OUString& aName) const;
     489             : 
     490             : public:
     491             :                             ScTableColumnsObj(ScDocShell* pDocSh, SCTAB nT,
     492             :                                                 SCCOL nSC, SCCOL nEC);
     493             :     virtual                 ~ScTableColumnsObj();
     494             : 
     495             :     virtual void            Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
     496             : 
     497             :                             /// XTableColumns
     498             :     virtual void SAL_CALL   insertByIndex( sal_Int32 nIndex, sal_Int32 nCount )
     499             :                                 throw(::com::sun::star::uno::RuntimeException);
     500             :     virtual void SAL_CALL   removeByIndex( sal_Int32 nIndex, sal_Int32 nCount )
     501             :                                 throw(::com::sun::star::uno::RuntimeException);
     502             : 
     503             :                             /// XNameAccess
     504             :     virtual ::com::sun::star::uno::Any SAL_CALL getByName( const OUString& aName )
     505             :                                 throw(::com::sun::star::container::NoSuchElementException,
     506             :                                     ::com::sun::star::lang::WrappedTargetException,
     507             :                                     ::com::sun::star::uno::RuntimeException);
     508             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getElementNames()
     509             :                                 throw(::com::sun::star::uno::RuntimeException);
     510             :     virtual sal_Bool SAL_CALL hasByName( const OUString& aName )
     511             :                                 throw(::com::sun::star::uno::RuntimeException);
     512             : 
     513             :                             /// XIndexAccess
     514             :     virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
     515             :     virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
     516             :                                 throw(::com::sun::star::lang::IndexOutOfBoundsException,
     517             :                                     ::com::sun::star::lang::WrappedTargetException,
     518             :                                     ::com::sun::star::uno::RuntimeException);
     519             : 
     520             :                             /// XEnumerationAccess
     521             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
     522             :                             createEnumeration() throw(::com::sun::star::uno::RuntimeException);
     523             : 
     524             :                             /// XElementAccess
     525             :     virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
     526             :                                 throw(::com::sun::star::uno::RuntimeException);
     527             :     virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
     528             : 
     529             :                             /// XPropertySet
     530             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
     531             :                             SAL_CALL getPropertySetInfo()
     532             :                                 throw(::com::sun::star::uno::RuntimeException);
     533             :     virtual void SAL_CALL   setPropertyValue( const OUString& aPropertyName,
     534             :                                     const ::com::sun::star::uno::Any& aValue )
     535             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     536             :                                     ::com::sun::star::beans::PropertyVetoException,
     537             :                                     ::com::sun::star::lang::IllegalArgumentException,
     538             :                                     ::com::sun::star::lang::WrappedTargetException,
     539             :                                     ::com::sun::star::uno::RuntimeException);
     540             :     virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
     541             :                                     const OUString& PropertyName )
     542             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     543             :                                     ::com::sun::star::lang::WrappedTargetException,
     544             :                                     ::com::sun::star::uno::RuntimeException);
     545             :     virtual void SAL_CALL   addPropertyChangeListener( const OUString& aPropertyName,
     546             :                                     const ::com::sun::star::uno::Reference<
     547             :                                         ::com::sun::star::beans::XPropertyChangeListener >& xListener )
     548             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     549             :                                     ::com::sun::star::lang::WrappedTargetException,
     550             :                                     ::com::sun::star::uno::RuntimeException);
     551             :     virtual void SAL_CALL   removePropertyChangeListener( const OUString& aPropertyName,
     552             :                                     const ::com::sun::star::uno::Reference<
     553             :                                         ::com::sun::star::beans::XPropertyChangeListener >& aListener )
     554             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     555             :                                     ::com::sun::star::lang::WrappedTargetException,
     556             :                                     ::com::sun::star::uno::RuntimeException);
     557             :     virtual void SAL_CALL   addVetoableChangeListener( const OUString& PropertyName,
     558             :                                     const ::com::sun::star::uno::Reference<
     559             :                                         ::com::sun::star::beans::XVetoableChangeListener >& aListener )
     560             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     561             :                                     ::com::sun::star::lang::WrappedTargetException,
     562             :                                     ::com::sun::star::uno::RuntimeException);
     563             :     virtual void SAL_CALL   removeVetoableChangeListener( const OUString& PropertyName,
     564             :                                     const ::com::sun::star::uno::Reference<
     565             :                                         ::com::sun::star::beans::XVetoableChangeListener >& aListener )
     566             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     567             :                                     ::com::sun::star::lang::WrappedTargetException,
     568             :                                     ::com::sun::star::uno::RuntimeException);
     569             : 
     570             :                             /// XServiceInfo
     571             :     virtual OUString SAL_CALL getImplementationName()
     572             :                                 throw(::com::sun::star::uno::RuntimeException);
     573             :     virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
     574             :                                 throw(::com::sun::star::uno::RuntimeException);
     575             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
     576             :                                 throw(::com::sun::star::uno::RuntimeException);
     577             : };
     578             : 
     579             : 
     580             : class ScTableRowsObj : public cppu::WeakImplHelper4<
     581             :                                 com::sun::star::table::XTableRows,
     582             :                                 com::sun::star::container::XEnumerationAccess,
     583             :                                 com::sun::star::beans::XPropertySet,
     584             :                                 com::sun::star::lang::XServiceInfo>,
     585             :                           public SfxListener
     586             : {
     587             : private:
     588             :     ScDocShell*             pDocShell;
     589             :     SCTAB                   nTab;
     590             :     SCROW                   nStartRow;
     591             :     SCROW                   nEndRow;
     592             : 
     593             :     ScTableRowObj*          GetObjectByIndex_Impl(sal_Int32 nIndex) const;
     594             : 
     595             : public:
     596             :                             ScTableRowsObj(ScDocShell* pDocSh, SCTAB nT,
     597             :                                                 SCROW nSR, SCROW nER);
     598             :     virtual                 ~ScTableRowsObj();
     599             : 
     600             :     virtual void            Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
     601             : 
     602             :                             /// XTableRows
     603             :     virtual void SAL_CALL   insertByIndex( sal_Int32 nIndex, sal_Int32 nCount )
     604             :                                 throw(::com::sun::star::uno::RuntimeException);
     605             :     virtual void SAL_CALL   removeByIndex( sal_Int32 nIndex, sal_Int32 nCount )
     606             :                                 throw(::com::sun::star::uno::RuntimeException);
     607             : 
     608             :                             /// XIndexAccess
     609             :     virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
     610             :     virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
     611             :                                 throw(::com::sun::star::lang::IndexOutOfBoundsException,
     612             :                                     ::com::sun::star::lang::WrappedTargetException,
     613             :                                     ::com::sun::star::uno::RuntimeException);
     614             : 
     615             :                             /// XEnumerationAccess
     616             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
     617             :                             createEnumeration() throw(::com::sun::star::uno::RuntimeException);
     618             : 
     619             :                             /// XElementAccess
     620             :     virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
     621             :                                 throw(::com::sun::star::uno::RuntimeException);
     622             :     virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
     623             : 
     624             :                             /// XPropertySet
     625             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
     626             :                             SAL_CALL getPropertySetInfo()
     627             :                                 throw(::com::sun::star::uno::RuntimeException);
     628             :     virtual void SAL_CALL   setPropertyValue( const OUString& aPropertyName,
     629             :                                     const ::com::sun::star::uno::Any& aValue )
     630             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     631             :                                     ::com::sun::star::beans::PropertyVetoException,
     632             :                                     ::com::sun::star::lang::IllegalArgumentException,
     633             :                                     ::com::sun::star::lang::WrappedTargetException,
     634             :                                     ::com::sun::star::uno::RuntimeException);
     635             :     virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
     636             :                                     const OUString& PropertyName )
     637             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     638             :                                     ::com::sun::star::lang::WrappedTargetException,
     639             :                                     ::com::sun::star::uno::RuntimeException);
     640             :     virtual void SAL_CALL   addPropertyChangeListener( const OUString& aPropertyName,
     641             :                                     const ::com::sun::star::uno::Reference<
     642             :                                         ::com::sun::star::beans::XPropertyChangeListener >& xListener )
     643             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     644             :                                     ::com::sun::star::lang::WrappedTargetException,
     645             :                                     ::com::sun::star::uno::RuntimeException);
     646             :     virtual void SAL_CALL   removePropertyChangeListener( const OUString& aPropertyName,
     647             :                                     const ::com::sun::star::uno::Reference<
     648             :                                         ::com::sun::star::beans::XPropertyChangeListener >& aListener )
     649             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     650             :                                     ::com::sun::star::lang::WrappedTargetException,
     651             :                                     ::com::sun::star::uno::RuntimeException);
     652             :     virtual void SAL_CALL   addVetoableChangeListener( const OUString& PropertyName,
     653             :                                     const ::com::sun::star::uno::Reference<
     654             :                                         ::com::sun::star::beans::XVetoableChangeListener >& aListener )
     655             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     656             :                                     ::com::sun::star::lang::WrappedTargetException,
     657             :                                     ::com::sun::star::uno::RuntimeException);
     658             :     virtual void SAL_CALL   removeVetoableChangeListener( const OUString& PropertyName,
     659             :                                     const ::com::sun::star::uno::Reference<
     660             :                                         ::com::sun::star::beans::XVetoableChangeListener >& aListener )
     661             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     662             :                                     ::com::sun::star::lang::WrappedTargetException,
     663             :                                     ::com::sun::star::uno::RuntimeException);
     664             : 
     665             :                             /// XServiceInfo
     666             :     virtual OUString SAL_CALL getImplementationName()
     667             :                                 throw(::com::sun::star::uno::RuntimeException);
     668             :     virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
     669             :                                 throw(::com::sun::star::uno::RuntimeException);
     670             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
     671             :                                 throw(::com::sun::star::uno::RuntimeException);
     672             : };
     673             : 
     674             : 
     675             : class ScSpreadsheetSettingsObj : public cppu::WeakImplHelper2<
     676             :                                     com::sun::star::beans::XPropertySet,
     677             :                                     com::sun::star::lang::XServiceInfo>,
     678             :                                  public SfxListener
     679             : {
     680             : private:
     681             :     ScDocShell*             pDocShell;
     682             : 
     683             : public:
     684             :     virtual                 ~ScSpreadsheetSettingsObj();
     685             : 
     686             :     virtual void            Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
     687             : 
     688             :                             /// XPropertySet
     689             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
     690             :                             SAL_CALL getPropertySetInfo()
     691             :                                 throw(::com::sun::star::uno::RuntimeException);
     692             :     virtual void SAL_CALL   setPropertyValue( const OUString& aPropertyName,
     693             :                                     const ::com::sun::star::uno::Any& aValue )
     694             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     695             :                                     ::com::sun::star::beans::PropertyVetoException,
     696             :                                     ::com::sun::star::lang::IllegalArgumentException,
     697             :                                     ::com::sun::star::lang::WrappedTargetException,
     698             :                                     ::com::sun::star::uno::RuntimeException);
     699             :     virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
     700             :                                     const OUString& PropertyName )
     701             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     702             :                                     ::com::sun::star::lang::WrappedTargetException,
     703             :                                     ::com::sun::star::uno::RuntimeException);
     704             :     virtual void SAL_CALL   addPropertyChangeListener( const OUString& aPropertyName,
     705             :                                     const ::com::sun::star::uno::Reference<
     706             :                                         ::com::sun::star::beans::XPropertyChangeListener >& xListener )
     707             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     708             :                                     ::com::sun::star::lang::WrappedTargetException,
     709             :                                     ::com::sun::star::uno::RuntimeException);
     710             :     virtual void SAL_CALL   removePropertyChangeListener( const OUString& aPropertyName,
     711             :                                     const ::com::sun::star::uno::Reference<
     712             :                                         ::com::sun::star::beans::XPropertyChangeListener >& aListener )
     713             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     714             :                                     ::com::sun::star::lang::WrappedTargetException,
     715             :                                     ::com::sun::star::uno::RuntimeException);
     716             :     virtual void SAL_CALL   addVetoableChangeListener( const OUString& PropertyName,
     717             :                                     const ::com::sun::star::uno::Reference<
     718             :                                         ::com::sun::star::beans::XVetoableChangeListener >& aListener )
     719             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     720             :                                     ::com::sun::star::lang::WrappedTargetException,
     721             :                                     ::com::sun::star::uno::RuntimeException);
     722             :     virtual void SAL_CALL   removeVetoableChangeListener( const OUString& PropertyName,
     723             :                                     const ::com::sun::star::uno::Reference<
     724             :                                         ::com::sun::star::beans::XVetoableChangeListener >& aListener )
     725             :                                 throw(::com::sun::star::beans::UnknownPropertyException,
     726             :                                     ::com::sun::star::lang::WrappedTargetException,
     727             :                                     ::com::sun::star::uno::RuntimeException);
     728             : 
     729             :                             /// XServiceInfo
     730             :     virtual OUString SAL_CALL getImplementationName()
     731             :                                 throw(::com::sun::star::uno::RuntimeException);
     732             :     virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
     733             :                                 throw(::com::sun::star::uno::RuntimeException);
     734             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
     735             :                                 throw(::com::sun::star::uno::RuntimeException);
     736             : };
     737             : 
     738             : 
     739             : class ScAnnotationsObj : public cppu::WeakImplHelper3<
     740             :                                 com::sun::star::sheet::XSheetAnnotations,
     741             :                                 com::sun::star::container::XEnumerationAccess,
     742             :                                 com::sun::star::lang::XServiceInfo>,
     743             :                           public SfxListener
     744             : {
     745             : private:
     746             :     ScDocShell*             pDocShell;
     747             :     SCTAB                   nTab;           ///< Collection belongs to the sheet
     748             : 
     749             :     bool                    GetAddressByIndex_Impl( sal_Int32 nIndex, ScAddress& rPos ) const;
     750             :     ScAnnotationObj*        GetObjectByIndex_Impl( sal_Int32 nIndex ) const;
     751             : 
     752             : public:
     753             :                             ScAnnotationsObj(ScDocShell* pDocSh, SCTAB nT);
     754             :     virtual                 ~ScAnnotationsObj();
     755             : 
     756             :     virtual void            Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
     757             : 
     758             :                             /// XSheetAnnotations
     759             :     virtual void SAL_CALL   insertNew( const ::com::sun::star::table::CellAddress& aPosition,
     760             :                                 const OUString& aText )
     761             :                                     throw(::com::sun::star::uno::RuntimeException);
     762             :     virtual void SAL_CALL   removeByIndex( sal_Int32 nIndex )
     763             :                                 throw(::com::sun::star::uno::RuntimeException);
     764             : 
     765             :                             /// XIndexAccess
     766             :     virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
     767             :     virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
     768             :                                 throw(::com::sun::star::lang::IndexOutOfBoundsException,
     769             :                                     ::com::sun::star::lang::WrappedTargetException,
     770             :                                     ::com::sun::star::uno::RuntimeException);
     771             : 
     772             :                             /// XEnumerationAccess
     773             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
     774             :                             createEnumeration() throw(::com::sun::star::uno::RuntimeException);
     775             : 
     776             :                             /// XElementAccess
     777             :     virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
     778             :                                 throw(::com::sun::star::uno::RuntimeException);
     779             :     virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
     780             : 
     781             :                             /// XServiceInfo
     782             :     virtual OUString SAL_CALL getImplementationName()
     783             :                                 throw(::com::sun::star::uno::RuntimeException);
     784             :     virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
     785             :                                 throw(::com::sun::star::uno::RuntimeException);
     786             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
     787             :                                 throw(::com::sun::star::uno::RuntimeException);
     788             : };
     789             : 
     790             : 
     791             : class ScScenariosObj : public cppu::WeakImplHelper4<
     792             :                                 com::sun::star::sheet::XScenarios,
     793             :                                 com::sun::star::container::XEnumerationAccess,
     794             :                                 com::sun::star::container::XIndexAccess,
     795             :                                 com::sun::star::lang::XServiceInfo>,
     796             :                           public SfxListener
     797             : {
     798             : private:
     799             :     ScDocShell*             pDocShell;
     800             :     SCTAB                   nTab;
     801             : 
     802             :     sal_Bool                    GetScenarioIndex_Impl( const OUString& rName, SCTAB& rIndex );
     803             :     ScTableSheetObj*        GetObjectByIndex_Impl(sal_Int32 nIndex);
     804             :     ScTableSheetObj*        GetObjectByName_Impl(const OUString& aName);
     805             : 
     806             : public:
     807             :                             ScScenariosObj(ScDocShell* pDocSh, SCTAB nT);
     808             :     virtual                 ~ScScenariosObj();
     809             : 
     810             :     virtual void            Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
     811             : 
     812             :                             /// XScenarios
     813             :     virtual void SAL_CALL   addNewByName( const OUString& aName,
     814             :                                 const ::com::sun::star::uno::Sequence<
     815             :                                     ::com::sun::star::table::CellRangeAddress >& aRanges,
     816             :                                 const OUString& aComment )
     817             :                                     throw(::com::sun::star::uno::RuntimeException);
     818             :     virtual void SAL_CALL   removeByName( const OUString& aName )
     819             :                                 throw(::com::sun::star::uno::RuntimeException);
     820             : 
     821             :                             /// XNameAccess
     822             :     virtual ::com::sun::star::uno::Any SAL_CALL getByName( const OUString& aName )
     823             :                                 throw(::com::sun::star::container::NoSuchElementException,
     824             :                                     ::com::sun::star::lang::WrappedTargetException,
     825             :                                     ::com::sun::star::uno::RuntimeException);
     826             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getElementNames()
     827             :                                 throw(::com::sun::star::uno::RuntimeException);
     828             :     virtual sal_Bool SAL_CALL hasByName( const OUString& aName )
     829             :                                 throw(::com::sun::star::uno::RuntimeException);
     830             : 
     831             :                             /// XIndexAccess
     832             :     virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
     833             :     virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
     834             :                                 throw(::com::sun::star::lang::IndexOutOfBoundsException,
     835             :                                     ::com::sun::star::lang::WrappedTargetException,
     836             :                                     ::com::sun::star::uno::RuntimeException);
     837             : 
     838             :                             /// XEnumerationAccess
     839             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
     840             :                             createEnumeration() throw(::com::sun::star::uno::RuntimeException);
     841             : 
     842             :                             /// XElementAccess
     843             :     virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
     844             :                                 throw(::com::sun::star::uno::RuntimeException);
     845             :     virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
     846             : 
     847             :                             /// XServiceInfo
     848             :     virtual OUString SAL_CALL getImplementationName()
     849             :                                 throw(::com::sun::star::uno::RuntimeException);
     850             :     virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
     851             :                                 throw(::com::sun::star::uno::RuntimeException);
     852             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
     853             :                                 throw(::com::sun::star::uno::RuntimeException);
     854             : };
     855             : 
     856             : 
     857             : 
     858             : 
     859             : #endif
     860             : 
     861             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10