LCOV - code coverage report
Current view: top level - usr/local/src/libreoffice/sd/source/ui/unoidl - unopage.hxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 2 2 100.0 %
Date: 2013-07-09 Functions: 2 2 100.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             : #ifndef _SD_UNOPAGE_HXX
      20             : #define _SD_UNOPAGE_HXX
      21             : 
      22             : #include <com/sun/star/document/XLinkTargetSupplier.hpp>
      23             : #include <com/sun/star/container/XIndexAccess.hpp>
      24             : #include <com/sun/star/container/XNamed.hpp>
      25             : #include <com/sun/star/drawing/XMasterPageTarget.hpp>
      26             : #include <com/sun/star/presentation/XPresentationPage.hpp>
      27             : #include <com/sun/star/animations/XAnimationNodeSupplier.hpp>
      28             : #include <com/sun/star/beans/XMultiPropertySet.hpp>
      29             : #include <com/sun/star/office/XAnnotationAccess.hpp>
      30             : 
      31             : #include <svl/itemprop.hxx>
      32             : 
      33             : #include <svx/unopage.hxx>
      34             : #include <svx/fmdpage.hxx>
      35             : #include <svx/svdpool.hxx>
      36             : 
      37             : #include <comphelper/servicehelper.hxx>
      38             : 
      39             : #include "unosrch.hxx"
      40             : 
      41             : class SdPage;
      42             : class SdrObject;
      43             : class SdXImpressDocument;
      44             : struct SfxItemPropertySimpleEntry;
      45             : 
      46             : /***********************************************************************
      47             : *                                                                      *
      48             : ***********************************************************************/
      49             : class SdGenericDrawPage : public SvxFmDrawPage,
      50             :                           public SdUnoSearchReplaceShape,
      51             :                           public ::com::sun::star::drawing::XShapeCombiner,
      52             :                           public ::com::sun::star::drawing::XShapeBinder,
      53             :                           public ::com::sun::star::container::XNamed,
      54             :                           public ::com::sun::star::beans::XPropertySet,
      55             :                           public ::com::sun::star::beans::XMultiPropertySet,
      56             :                           public ::com::sun::star::animations::XAnimationNodeSupplier,
      57             :                              public ::com::sun::star::office::XAnnotationAccess,
      58             :                           public ::com::sun::star::document::XLinkTargetSupplier
      59             : {
      60             : private:
      61             :     SdXImpressDocument* mpModel;
      62             :     SdrModel* mpSdrModel;
      63             :     sal_Int16 mnTempPageNumber; // for printing handouts
      64             : 
      65             : protected:
      66             :     friend class SdXImpressDocument;
      67             : 
      68             :     const SvxItemPropertySet*   mpPropSet;
      69             : 
      70             :     virtual void setBackground( const ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::lang::IllegalArgumentException);
      71             :     virtual void getBackground( ::com::sun::star::uno::Any& rValue ) throw();
      72             : 
      73             :     OUString getBookmarkURL() const;
      74             :     void setBookmarkURL( OUString& rURL );
      75             : 
      76             :     void SetLftBorder( sal_Int32 nValue );
      77             :     void SetRgtBorder( sal_Int32 nValue );
      78             :     void SetUppBorder( sal_Int32 nValue );
      79             :     void SetLwrBorder( sal_Int32 nValue );
      80             : 
      81             :     void SetWidth( sal_Int32 nWidth );
      82             :     void SetHeight( sal_Int32 nHeight );
      83             : 
      84             :     bool     mbIsImpressDocument;
      85             : 
      86             :     virtual void disposing() throw();
      87             : 
      88             :     ::com::sun::star::uno::Any getNavigationOrder();
      89             :     void setNavigationOrder( const ::com::sun::star::uno::Any& rValue );
      90             : 
      91             :     void throwIfDisposed() const throw (::com::sun::star::uno::RuntimeException );
      92             : 
      93             : public:
      94             :     SdGenericDrawPage( SdXImpressDocument* pModel, SdPage* pInPage, const SvxItemPropertySet* pSet ) throw();
      95             :     virtual ~SdGenericDrawPage() throw();
      96             : 
      97             :     // intern
      98          23 :     sal_Bool isValid() { return (SvxDrawPage::mpPage != NULL) && (mpModel != NULL); }
      99             : 
     100       16786 :     SdPage* GetPage() const { return (SdPage*)SvxDrawPage::mpPage; }
     101             :     SdXImpressDocument* GetModel() const;
     102             : 
     103             :     static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId() throw();
     104             :     virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException);
     105             : 
     106             :     // this is called whenever a SdrObject must be created for a empty api shape wrapper
     107             :     virtual SdrObject *_CreateSdrObject( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw();
     108             : 
     109             :     // SvxFmDrawPage
     110             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >  _CreateShape( SdrObject *pObj ) const throw ();
     111             : 
     112             :     // XInterface
     113             :     virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
     114             :     virtual void SAL_CALL release() throw();
     115             : 
     116             :     // XShapeCombiner
     117             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > SAL_CALL combine( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xShapes ) throw(::com::sun::star::uno::RuntimeException);
     118             :     virtual void SAL_CALL split( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xGroup ) throw(::com::sun::star::uno::RuntimeException);
     119             : 
     120             :     // XShapeBinder
     121             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > SAL_CALL bind( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xShapes ) throw(::com::sun::star::uno::RuntimeException);
     122             :     virtual void SAL_CALL unbind( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
     123             : 
     124             :     // XPropertySet
     125             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() throw(::com::sun::star::uno::RuntimeException);
     126             :     virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
     127             :     virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
     128             :     virtual void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
     129             :     virtual void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
     130             :     virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
     131             :     virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
     132             : 
     133             :     // XMultiPropertySet
     134             :     virtual void SAL_CALL setPropertyValues( const ::com::sun::star::uno::Sequence< OUString >& aPropertyNames, const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aValues ) throw (::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
     135             :     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL getPropertyValues( const ::com::sun::star::uno::Sequence< OUString >& aPropertyNames ) throw (::com::sun::star::uno::RuntimeException);
     136             :     virtual void SAL_CALL addPropertiesChangeListener( const ::com::sun::star::uno::Sequence< OUString >& aPropertyNames, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
     137             :     virtual void SAL_CALL removePropertiesChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
     138             :     virtual void SAL_CALL firePropertiesChangeEvent( const ::com::sun::star::uno::Sequence< OUString >& aPropertyNames, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
     139             : 
     140             :     // XLinkTargetSupplier
     141             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL getLinks(  ) throw(::com::sun::star::uno::RuntimeException);
     142             : 
     143             :     // XServiceInfo
     144             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
     145             : 
     146             :     // XAnimationNodeSupplier
     147             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > SAL_CALL getAnimationNode(  ) throw (::com::sun::star::uno::RuntimeException);
     148             : 
     149             :     // XAnnotationAccess:
     150             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::office::XAnnotation > SAL_CALL createAndInsertAnnotation() throw (::com::sun::star::uno::RuntimeException);
     151             :     virtual void SAL_CALL removeAnnotation(const ::com::sun::star::uno::Reference< ::com::sun::star::office::XAnnotation > & annotation) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::lang::IllegalArgumentException);
     152             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::office::XAnnotationEnumeration > SAL_CALL createAnnotationEnumeration() throw (::com::sun::star::uno::RuntimeException);
     153             : };
     154             : 
     155             : /***********************************************************************
     156             : *                                                                      *
     157             : ***********************************************************************/
     158             : 
     159             : class SdDrawPage : public ::com::sun::star::drawing::XMasterPageTarget,
     160             :                    public ::com::sun::star::presentation::XPresentationPage,
     161             :                    public SdGenericDrawPage
     162             : {
     163             : private:
     164             :     ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > maTypeSequence;
     165             : 
     166             : protected:
     167             :     virtual void setBackground( const ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::lang::IllegalArgumentException);
     168             :     virtual void getBackground( ::com::sun::star::uno::Any& rValue ) throw();
     169             : public:
     170             :     SdDrawPage( SdXImpressDocument* pModel, SdPage* pInPage ) throw();
     171             :     virtual ~SdDrawPage() throw();
     172             : 
     173             :     UNO3_GETIMPLEMENTATION_DECL( SdDrawPage )
     174             : 
     175             :     static OUString getPageApiName( SdPage* pPage );
     176             :     static OUString getPageApiNameFromUiName( const String& rUIName );
     177             :     static String getUiNameFromPageApiName( const OUString& rApiName );
     178             : 
     179             :     // XInterface
     180             :     virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
     181             :     virtual void SAL_CALL acquire() throw();
     182             :     virtual void SAL_CALL release() throw();
     183             : 
     184             :     // XTypeProvider
     185             :     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
     186             :     virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
     187             : 
     188             :     // XServiceInfo
     189             :     virtual OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
     190             :     virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException);
     191             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
     192             : 
     193             :     // XMasterPageTarget
     194             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > SAL_CALL getMasterPage(  ) throw(::com::sun::star::uno::RuntimeException);
     195             :     virtual void SAL_CALL setMasterPage( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& xMasterPage ) throw(::com::sun::star::uno::RuntimeException);
     196             : 
     197             :     // XPresentationPage
     198             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > SAL_CALL getNotesPage(  ) throw(::com::sun::star::uno::RuntimeException);
     199             : 
     200             :     // XNamed
     201             :     virtual OUString SAL_CALL getName(  ) throw(::com::sun::star::uno::RuntimeException);
     202             :     virtual void SAL_CALL setName( const OUString& aName ) throw(::com::sun::star::uno::RuntimeException);
     203             : 
     204             :     // XIndexAccess
     205             :     virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException) ;
     206             :     virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) throw(::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
     207             : 
     208             :     // XElementAccess
     209             :     virtual ::com::sun::star::uno::Type SAL_CALL getElementType() throw(::com::sun::star::uno::RuntimeException);
     210             :     virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
     211             : 
     212             :     // XShapes
     213             :     virtual void SAL_CALL add( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
     214             :     virtual void SAL_CALL remove( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
     215             : };
     216             : 
     217             : /***********************************************************************
     218             : *                                                                      *
     219             : ***********************************************************************/
     220             : 
     221             : class SdMasterPage : public ::com::sun::star::presentation::XPresentationPage,
     222             :                      public SdGenericDrawPage
     223             : {
     224             : private:
     225             :     ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > maTypeSequence;
     226             : protected:
     227             :     virtual void setBackground( const ::com::sun::star::uno::Any& rValue ) throw( ::com::sun::star::lang::IllegalArgumentException  );
     228             :     virtual void getBackground( ::com::sun::star::uno::Any& rValue ) throw();
     229             : 
     230             : public:
     231             :     SdMasterPage( SdXImpressDocument* pModel, SdPage* pInPage ) throw();
     232             :     virtual ~SdMasterPage() throw();
     233             : 
     234             :     UNO3_GETIMPLEMENTATION_DECL(SdMasterPage)
     235             : 
     236             :     // XInterface
     237             :     virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
     238             :     virtual void SAL_CALL acquire() throw();
     239             :     virtual void SAL_CALL release() throw();
     240             : 
     241             :     // XTypeProvider
     242             :     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
     243             :     virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
     244             : 
     245             :     // XServiceInfo
     246             :     virtual OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
     247             :     virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException);
     248             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
     249             : 
     250             :     // XIndexAccess
     251             :     virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException) ;
     252             :     virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) throw(::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
     253             : 
     254             :     // XElementAccess
     255             :     virtual ::com::sun::star::uno::Type SAL_CALL getElementType() throw(::com::sun::star::uno::RuntimeException);
     256             :     virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
     257             : 
     258             :     // XPresentationPage
     259             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > SAL_CALL getNotesPage(  ) throw(::com::sun::star::uno::RuntimeException);
     260             : 
     261             :     // XNamed
     262             :     virtual OUString SAL_CALL getName(  ) throw(::com::sun::star::uno::RuntimeException);
     263             :     virtual void SAL_CALL setName( const OUString& aName ) throw(::com::sun::star::uno::RuntimeException);
     264             : 
     265             :     // XShapes
     266             :     virtual void SAL_CALL add( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
     267             :     virtual void SAL_CALL remove( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
     268             : };
     269             : 
     270             : 
     271             : /***********************************************************************
     272             : *                                                                      *
     273             : ***********************************************************************/
     274             : #include <cppuhelper/implbase2.hxx>
     275             : 
     276             : class SdPageLinkTargets : public ::cppu::WeakImplHelper2< ::com::sun::star::container::XNameAccess,
     277             :                                                   ::com::sun::star::lang::XServiceInfo >
     278             : {
     279             : private:
     280             :     ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > mxPage;
     281             :     SdGenericDrawPage* mpUnoPage;
     282             : 
     283             : public:
     284             :     SdPageLinkTargets( SdGenericDrawPage* pUnoPage ) throw();
     285             :     virtual ~SdPageLinkTargets() throw();
     286             : 
     287             :     // intern
     288             :     SdrObject* FindObject( const String& rName ) const throw();
     289             : 
     290             :     // XServiceInfo
     291             :     virtual OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
     292             :     virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException);
     293             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
     294             : 
     295             :     // XNameAccess
     296             :     virtual ::com::sun::star::uno::Any SAL_CALL getByName( const OUString& aName ) throw(::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
     297             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getElementNames() throw(::com::sun::star::uno::RuntimeException);
     298             :     virtual sal_Bool SAL_CALL hasByName( const OUString& aName ) throw(::com::sun::star::uno::RuntimeException);
     299             : 
     300             :     // XElementAccess
     301             :     virtual ::com::sun::star::uno::Type SAL_CALL getElementType() throw(::com::sun::star::uno::RuntimeException);
     302             :     virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
     303             : };
     304             : 
     305             : #endif // _SD_UNOPAGE_HXX
     306             : 
     307             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10