LCOV - code coverage report
Current view: top level - sw/inc - unocoll.hxx (source / functions) Hit Total Coverage
Test: commit 0e63ca4fde4e446f346e35849c756a30ca294aab Lines: 5 5 100.0 %
Date: 2014-04-11 Functions: 4 5 80.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 INCLUDED_SW_INC_UNOCOLL_HXX
      20             : #define INCLUDED_SW_INC_UNOCOLL_HXX
      21             : #include <tools/solar.h>
      22             : #include <flyenum.hxx>
      23             : #include <vcl/timer.hxx>
      24             : #include <com/sun/star/lang/XServiceInfo.hpp>
      25             : #include <com/sun/star/container/XEnumerationAccess.hpp>
      26             : #include <com/sun/star/container/XNameAccess.hpp>
      27             : #include <com/sun/star/container/XIndexAccess.hpp>
      28             : #include <cppuhelper/implbase1.hxx>
      29             : #include <cppuhelper/implbase2.hxx>
      30             : #include <cppuhelper/implbase3.hxx>
      31             : #include <cppuhelper/implbase4.hxx>
      32             : #include <IMark.hxx>
      33             : #include <unobaseclass.hxx>
      34             : #include "swdllapi.h"
      35             : 
      36             : class SwDoc;
      37             : class SwFrmFmt;
      38             : namespace com{namespace sun {namespace star {namespace text
      39             : {
      40             :     class XTextTable;
      41             :     class XTextSection;
      42             :     class XFootnote;
      43             : }}}}
      44             : class SwXFrame;
      45             : class SwFrmFmt;
      46             : class SwFmtFtn;
      47             : class XBookmark;
      48             : class SwXReferenceMark;
      49             : class SwSectionFmt;
      50             : class SwFmtRefMark;
      51             : class SwXReferenceMark;
      52             : class SwXBookmark;
      53             : 
      54             : class SwUnoCollection
      55             : {
      56             :     SwDoc*      pDoc;
      57             :     sal_Bool    bObjectValid;
      58             : 
      59             :     public:
      60        5118 :         SwUnoCollection(SwDoc* p) :
      61             :             pDoc(p),
      62        5118 :             bObjectValid(sal_True){}
      63             : 
      64        5111 :     virtual ~SwUnoCollection() {}
      65             : 
      66             :     virtual void                Invalidate();
      67       47874 :     sal_Bool                        IsValid() const {return bObjectValid;}
      68             : 
      69       17373 :     SwDoc*          GetDoc() const {return pDoc;}
      70             : };
      71             : 
      72             : #define SW_SERVICE_TYPE_TEXTTABLE                       0
      73             : #define SW_SERVICE_TYPE_TEXTFRAME                       1
      74             : #define SW_SERVICE_TYPE_GRAPHIC                         2
      75             : #define SW_SERVICE_TYPE_OLE                             3
      76             : #define SW_SERVICE_TYPE_BOOKMARK                        4
      77             : #define SW_SERVICE_TYPE_FOOTNOTE                        5
      78             : #define SW_SERVICE_TYPE_ENDNOTE                         6
      79             : #define SW_SERVICE_TYPE_INDEXMARK                       7
      80             : #define SW_SERVICE_TYPE_INDEX                           8
      81             : #define SW_SERVICE_REFERENCE_MARK                       9
      82             : #define SW_SERVICE_STYLE_CHARACTER_STYLE                10
      83             : #define SW_SERVICE_STYLE_PARAGRAPH_STYLE                11
      84             : #define SW_SERVICE_STYLE_FRAME_STYLE                    12
      85             : #define SW_SERVICE_STYLE_PAGE_STYLE                     13
      86             : #define SW_SERVICE_STYLE_NUMBERING_STYLE                14
      87             : #define SW_SERVICE_CONTENT_INDEX_MARK                   15
      88             : #define SW_SERVICE_CONTENT_INDEX                        16
      89             : #define SW_SERVICE_USER_INDEX_MARK                      17
      90             : #define SW_SERVICE_USER_INDEX                           18
      91             : #define SW_SERVICE_TEXT_SECTION                         19
      92             : #define SW_SERVICE_FIELDTYPE_DATETIME                   20
      93             : #define SW_SERVICE_FIELDTYPE_USER                       21
      94             : #define SW_SERVICE_FIELDTYPE_SET_EXP                    22
      95             : #define SW_SERVICE_FIELDTYPE_GET_EXP                    23
      96             : #define SW_SERVICE_FIELDTYPE_FILE_NAME                  24
      97             : #define SW_SERVICE_FIELDTYPE_PAGE_NUM                   25
      98             : #define SW_SERVICE_FIELDTYPE_AUTHOR                     26
      99             : #define SW_SERVICE_FIELDTYPE_CHAPTER                    27
     100             : #define SW_SERVICE_FIELDTYPE_DUMMY_0                    28
     101             : #define SW_SERVICE_FIELDTYPE_GET_REFERENCE              29
     102             : #define SW_SERVICE_FIELDTYPE_CONDITIONED_TEXT           30
     103             : #define SW_SERVICE_FIELDTYPE_ANNOTATION                 31
     104             : #define SW_SERVICE_FIELDTYPE_INPUT                      32
     105             : #define SW_SERVICE_FIELDTYPE_MACRO                      33
     106             : #define SW_SERVICE_FIELDTYPE_DDE                        34
     107             : #define SW_SERVICE_FIELDTYPE_HIDDEN_PARA                35
     108             : #define SW_SERVICE_FIELDTYPE_DOC_INFO                   36
     109             : #define SW_SERVICE_FIELDTYPE_TEMPLATE_NAME              37
     110             : #define SW_SERVICE_FIELDTYPE_USER_EXT                   38
     111             : #define SW_SERVICE_FIELDTYPE_REF_PAGE_SET               39
     112             : #define SW_SERVICE_FIELDTYPE_REF_PAGE_GET               40
     113             : #define SW_SERVICE_FIELDTYPE_JUMP_EDIT                  41
     114             : #define SW_SERVICE_FIELDTYPE_SCRIPT                     42
     115             : #define SW_SERVICE_FIELDTYPE_DATABASE_NEXT_SET          43
     116             : #define SW_SERVICE_FIELDTYPE_DATABASE_NUM_SET           44
     117             : #define SW_SERVICE_FIELDTYPE_DATABASE_SET_NUM           45
     118             : #define SW_SERVICE_FIELDTYPE_DATABASE                   46
     119             : #define SW_SERVICE_FIELDTYPE_DATABASE_NAME              47
     120             : #define SW_SERVICE_FIELDTYPE_TABLE_FORMULA              48
     121             : #define SW_SERVICE_FIELDTYPE_PAGE_COUNT                 49
     122             : #define SW_SERVICE_FIELDTYPE_PARAGRAPH_COUNT            50
     123             : #define SW_SERVICE_FIELDTYPE_WORD_COUNT                 51
     124             : #define SW_SERVICE_FIELDTYPE_CHARACTER_COUNT            52
     125             : #define SW_SERVICE_FIELDTYPE_TABLE_COUNT                53
     126             : #define SW_SERVICE_FIELDTYPE_GRAPHIC_OBJECT_COUNT       54
     127             : #define SW_SERVICE_FIELDTYPE_EMBEDDED_OBJECT_COUNT      55
     128             : #define SW_SERVICE_FIELDTYPE_DOCINFO_CHANGE_AUTHOR      56
     129             : #define SW_SERVICE_FIELDTYPE_DOCINFO_CHANGE_DATE_TIME   57
     130             : #define SW_SERVICE_FIELDTYPE_DOCINFO_EDIT_TIME          58
     131             : #define SW_SERVICE_FIELDTYPE_DOCINFO_DESCRIPTION        59
     132             : #define SW_SERVICE_FIELDTYPE_DOCINFO_CREATE_AUTHOR      60
     133             : #define SW_SERVICE_FIELDTYPE_DOCINFO_CREATE_DATE_TIME   61
     134             : #define SW_SERVICE_FIELDTYPE_DUMMY_O                    62
     135             : #define SW_SERVICE_FIELDTYPE_DUMMY_1                    63
     136             : #define SW_SERVICE_FIELDTYPE_DUMMY_2                    64
     137             : #define SW_SERVICE_FIELDTYPE_DUMMY_3                    65
     138             : #define SW_SERVICE_FIELDTYPE_DOCINFO_CUSTOM             66
     139             : #define SW_SERVICE_FIELDTYPE_DOCINFO_PRINT_AUTHOR       67
     140             : #define SW_SERVICE_FIELDTYPE_DOCINFO_PRINT_DATE_TIME    68
     141             : #define SW_SERVICE_FIELDTYPE_DOCINFO_KEY_WORDS          69
     142             : #define SW_SERVICE_FIELDTYPE_DOCINFO_SUBJECT            70
     143             : #define SW_SERVICE_FIELDTYPE_DOCINFO_TITLE              71
     144             : #define SW_SERVICE_FIELDTYPE_DOCINFO_REVISION           72
     145             : #define SW_SERVICE_FIELDTYPE_BIBLIOGRAPHY               73
     146             : #define SW_SERVICE_FIELDTYPE_COMBINED_CHARACTERS        74
     147             : #define SW_SERVICE_FIELDTYPE_DROPDOWN                   75
     148             : #define SW_SERVICE_FIELDTYPE_METAFIELD                  76
     149             : #define SW_SERVICE_FIELDTYPE_DUMMY_4                    77
     150             : #define SW_SERVICE_FIELDTYPE_DUMMY_5                    78
     151             : #define SW_SERVICE_FIELDTYPE_DUMMY_6                    79
     152             : #define SW_SERVICE_FIELDTYPE_DUMMY_7                    80
     153             : #define SW_SERVICE_FIELDMASTER_USER                     81
     154             : #define SW_SERVICE_FIELDMASTER_DDE                      82
     155             : #define SW_SERVICE_FIELDMASTER_SET_EXP                  83
     156             : #define SW_SERVICE_FIELDMASTER_DATABASE                 84
     157             : #define SW_SERVICE_FIELDMASTER_BIBLIOGRAPHY             85
     158             : #define SW_SERVICE_FIELDMASTER_DUMMY2                   86
     159             : #define SW_SERVICE_FIELDMASTER_DUMMY3                   87
     160             : #define SW_SERVICE_FIELDMASTER_DUMMY4                   88
     161             : #define SW_SERVICE_FIELDMASTER_DUMMY5                   89
     162             : #define SW_SERVICE_INDEX_ILLUSTRATIONS                  90
     163             : #define SW_SERVICE_INDEX_OBJECTS                        91
     164             : #define SW_SERVICE_INDEX_TABLES                         92
     165             : #define SW_SERVICE_INDEX_BIBLIOGRAPHY                   93
     166             : #define SW_SERVICE_PARAGRAPH                            94
     167             : #define SW_SERVICE_FIELDTYPE_INPUT_USER                 95
     168             : #define SW_SERVICE_FIELDTYPE_HIDDEN_TEXT                96
     169             : #define SW_SERVICE_STYLE_CONDITIONAL_PARAGRAPH_STYLE    97
     170             : #define SW_SERVICE_NUMBERING_RULES                      98
     171             : #define SW_SERVICE_TEXT_COLUMNS                         99
     172             : #define SW_SERVICE_INDEX_HEADER_SECTION                 100
     173             : #define SW_SERVICE_DEFAULTS                             101
     174             : #define SW_SERVICE_IMAP_RECTANGLE                       102
     175             : #define SW_SERVICE_IMAP_CIRCLE                          103
     176             : #define SW_SERVICE_IMAP_POLYGON                         104
     177             : #define SW_SERVICE_TYPE_TEXT_GRAPHIC                    105
     178             : #define SW_SERVICE_CHART2_DATA_PROVIDER                 106
     179             : #define SW_SERVICE_TYPE_FIELDMARK                       107
     180             : #define SW_SERVICE_TYPE_FORMFIELDMARK                   108
     181             : #define SW_SERVICE_TYPE_META                            109
     182             : #define SW_SERVICE_VBAOBJECTPROVIDER                    110
     183             : #define SW_SERVICE_VBACODENAMEPROVIDER                  111
     184             : #define SW_SERVICE_VBAPROJECTNAMEPROVIDER               112
     185             : #define SW_SERVICE_VBAGLOBALS                           113
     186             : 
     187             : #define SW_SERVICE_LAST                 SW_SERVICE_VBAGLOBALS
     188             : 
     189             : #define SW_SERVICE_INVALID          USHRT_MAX
     190             : 
     191             : // case-corrected versions of service-names (see #i67811)
     192             : 
     193             : #define CSS_TEXT_TEXTFIELD_DATE_TIME                    "com.sun.star.text.textfield.DateTime"
     194             : #define CSS_TEXT_TEXTFIELD_USER                         "com.sun.star.text.textfield.User"
     195             : #define CSS_TEXT_TEXTFIELD_SET_EXPRESSION               "com.sun.star.text.textfield.SetExpression"
     196             : #define CSS_TEXT_TEXTFIELD_GET_EXPRESSION               "com.sun.star.text.textfield.GetExpression"
     197             : #define CSS_TEXT_TEXTFIELD_FILE_NAME                    "com.sun.star.text.textfield.FileName"
     198             : #define CSS_TEXT_TEXTFIELD_PAGE_NUMBER                  "com.sun.star.text.textfield.PageNumber"
     199             : #define CSS_TEXT_TEXTFIELD_AUTHOR                       "com.sun.star.text.textfield.Author"
     200             : #define CSS_TEXT_TEXTFIELD_CHAPTER                      "com.sun.star.text.textfield.Chapter"
     201             : #define CSS_TEXT_TEXTFIELD_GET_REFERENCE                "com.sun.star.text.textfield.GetReference"
     202             : #define CSS_TEXT_TEXTFIELD_CONDITIONAL_TEXT             "com.sun.star.text.textfield.ConditionalText"
     203             : #define CSS_TEXT_TEXTFIELD_ANNOTATION                   "com.sun.star.text.textfield.Annotation"
     204             : #define CSS_TEXT_TEXTFIELD_INPUT                        "com.sun.star.text.textfield.Input"
     205             : #define CSS_TEXT_TEXTFIELD_MACRO                        "com.sun.star.text.textfield.Macro"
     206             : #define CSS_TEXT_TEXTFIELD_DDE                          "com.sun.star.text.textfield.DDE"
     207             : #define CSS_TEXT_TEXTFIELD_HIDDEN_PARAGRAPH             "com.sun.star.text.textfield.HiddenParagraph"
     208             : #define CSS_TEXT_TEXTFIELD_TEMPLATE_NAME                "com.sun.star.text.textfield.TemplateName"
     209             : #define CSS_TEXT_TEXTFIELD_EXTENDED_USER                "com.sun.star.text.textfield.ExtendedUser"
     210             : #define CSS_TEXT_TEXTFIELD_REFERENCE_PAGE_SET           "com.sun.star.text.textfield.ReferencePageSet"
     211             : #define CSS_TEXT_TEXTFIELD_REFERENCE_PAGE_GET           "com.sun.star.text.textfield.ReferencePageGet"
     212             : #define CSS_TEXT_TEXTFIELD_JUMP_EDIT                    "com.sun.star.text.textfield.JumpEdit"
     213             : #define CSS_TEXT_TEXTFIELD_SCRIPT                       "com.sun.star.text.textfield.Script"
     214             : #define CSS_TEXT_TEXTFIELD_DATABASE_NEXT_SET            "com.sun.star.text.textfield.DatabaseNextSet"
     215             : #define CSS_TEXT_TEXTFIELD_DATABASE_NUMBER_OF_SET       "com.sun.star.text.textfield.DatabaseNumberOfSet"
     216             : #define CSS_TEXT_TEXTFIELD_DATABASE_SET_NUMBER          "com.sun.star.text.textfield.DatabaseSetNumber"
     217             : #define CSS_TEXT_TEXTFIELD_DATABASE                     "com.sun.star.text.textfield.Database"
     218             : #define CSS_TEXT_TEXTFIELD_DATABASE_NAME                "com.sun.star.text.textfield.DatabaseName"
     219             : #define CSS_TEXT_TEXTFIELD_TABLE_FORMULA                "com.sun.star.text.textfield.TableFormula"
     220             : #define CSS_TEXT_TEXTFIELD_PAGE_COUNT                   "com.sun.star.text.textfield.PageCount"
     221             : #define CSS_TEXT_TEXTFIELD_PARAGRAPH_COUNT              "com.sun.star.text.textfield.ParagraphCount"
     222             : #define CSS_TEXT_TEXTFIELD_WORD_COUNT                   "com.sun.star.text.textfield.WordCount"
     223             : #define CSS_TEXT_TEXTFIELD_CHARACTER_COUNT              "com.sun.star.text.textfield.CharacterCount"
     224             : #define CSS_TEXT_TEXTFIELD_TABLE_COUNT                  "com.sun.star.text.textfield.TableCount"
     225             : #define CSS_TEXT_TEXTFIELD_GRAPHIC_OBJECT_COUNT         "com.sun.star.text.textfield.GraphicObjectCount"
     226             : #define CSS_TEXT_TEXTFIELD_EMBEDDED_OBJECT_COUNT        "com.sun.star.text.textfield.EmbeddedObjectCount"
     227             : #define CSS_TEXT_TEXTFIELD_DOCINFO_CHANGE_AUTHOR        "com.sun.star.text.textfield.docinfo.ChangeAuthor"
     228             : #define CSS_TEXT_TEXTFIELD_DOCINFO_CHANGE_DATE_TIME     "com.sun.star.text.textfield.docinfo.ChangeDateTime"
     229             : #define CSS_TEXT_TEXTFIELD_DOCINFO_EDIT_TIME            "com.sun.star.text.textfield.docinfo.EditTime"
     230             : #define CSS_TEXT_TEXTFIELD_DOCINFO_DESCRIPTION          "com.sun.star.text.textfield.docinfo.Description"
     231             : #define CSS_TEXT_TEXTFIELD_DOCINFO_CREATE_AUTHOR        "com.sun.star.text.textfield.docinfo.CreateAuthor"
     232             : #define CSS_TEXT_TEXTFIELD_DOCINFO_CREATE_DATE_TIME     "com.sun.star.text.textfield.docinfo.CreateDateTime"
     233             : #define CSS_TEXT_TEXTFIELD_DOCINFO_PRINT_AUTHOR         "com.sun.star.text.textfield.docinfo.PrintAuthor"
     234             : #define CSS_TEXT_TEXTFIELD_DOCINFO_PRINT_DATE_TIME      "com.sun.star.text.textfield.docinfo.PrintDateTime"
     235             : #define CSS_TEXT_TEXTFIELD_DOCINFO_KEY_WORDS            "com.sun.star.text.textfield.docinfo.KeyWords"
     236             : #define CSS_TEXT_TEXTFIELD_DOCINFO_SUBJECT              "com.sun.star.text.textfield.docinfo.Subject"
     237             : #define CSS_TEXT_TEXTFIELD_DOCINFO_TITLE                "com.sun.star.text.textfield.docinfo.Title"
     238             : #define CSS_TEXT_TEXTFIELD_DOCINFO_REVISION             "com.sun.star.text.textfield.docinfo.Revision"
     239             : #define CSS_TEXT_TEXTFIELD_DOCINFO_CUSTOM               "com.sun.star.text.textfield.docinfo.Custom"
     240             : #define CSS_TEXT_TEXTFIELD_BIBLIOGRAPHY                 "com.sun.star.text.textfield.Bibliography"
     241             : #define CSS_TEXT_TEXTFIELD_COMBINED_CHARACTERS          "com.sun.star.text.textfield.CombinedCharacters"
     242             : #define CSS_TEXT_TEXTFIELD_DROP_DOWN                    "com.sun.star.text.textfield.DropDown"
     243             : #define CSS_TEXT_TEXTFIELD_INPUT_USER                   "com.sun.star.text.textfield.InputUser"
     244             : #define CSS_TEXT_TEXTFIELD_HIDDEN_TEXT                  "com.sun.star.text.textfield.HiddenText"
     245             : #define CSS_TEXT_FIELDMASTER_USER                       "com.sun.star.text.fieldmaster.User"
     246             : #define CSS_TEXT_FIELDMASTER_DDE                        "com.sun.star.text.fieldmaster.DDE"
     247             : #define CSS_TEXT_FIELDMASTER_SET_EXPRESSION             "com.sun.star.text.fieldmaster.SetExpression"
     248             : #define CSS_TEXT_FIELDMASTER_DATABASE                   "com.sun.star.text.fieldmaster.Database"
     249             : #define CSS_TEXT_FIELDMASTER_BIBLIOGRAPHY               "com.sun.star.text.fieldmaster.Bibliography"
     250             : 
     251             : class SwXServiceProvider
     252             : {
     253             : public:
     254             :     static OUString        GetProviderName(sal_uInt16 nObjectType);
     255             :     static sal_uInt16           GetProviderType(const OUString& rServiceName);
     256             :     static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >        MakeInstance(sal_uInt16 nObjectType, SwDoc* pDoc);
     257             :     static ::com::sun::star::uno::Sequence<OUString>   GetAllServiceNames();
     258             : 
     259             : };
     260             : 
     261             : typedef
     262             : cppu::WeakImplHelper3
     263             : <
     264             :     ::com::sun::star::container::XNameAccess,
     265             :     ::com::sun::star::container::XIndexAccess,
     266             :     ::com::sun::star::lang::XServiceInfo
     267             : >
     268             : SwCollectionBaseClass;
     269             : class SW_DLLPUBLIC SwXTextTables : public SwCollectionBaseClass,
     270             :     public SwUnoCollection
     271             : {
     272             : protected:
     273             :     virtual ~SwXTextTables();
     274             : public:
     275             :     SwXTextTables(SwDoc* pDoc);
     276             : 
     277             :     //XIndexAccess
     278             :     virtual sal_Int32 SAL_CALL getCount(  ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     279             :     virtual ::com::sun::star::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) throw( ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     280             : 
     281             :     //XNameAccess
     282             :     virtual ::com::sun::star::uno::Any SAL_CALL getByName(const OUString& Name)  throw( ::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     283             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getElementNames(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     284             :     virtual sal_Bool SAL_CALL hasByName(const OUString& Name) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     285             : 
     286             :     //XElementAccess
     287             :     virtual ::com::sun::star::uno::Type SAL_CALL getElementType(  ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     288             :     virtual sal_Bool SAL_CALL hasElements(  ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     289             : 
     290             :     //XServiceInfo
     291             :     virtual OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     292             :     virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     293             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     294             : 
     295             :     static ::com::sun::star::text::XTextTable*          GetObject( SwFrmFmt& rFmt );
     296             : };
     297             : 
     298             : typedef
     299             : cppu::WeakImplHelper4
     300             : <
     301             :     ::com::sun::star::container::XEnumerationAccess,
     302             :     ::com::sun::star::container::XNameAccess,
     303             :     ::com::sun::star::container::XIndexAccess,
     304             :     ::com::sun::star::lang::XServiceInfo
     305             : > SwXFramesBaseClass;
     306             : 
     307             : class SW_DLLPUBLIC SwXFrames : public SwXFramesBaseClass,
     308             :     public SwUnoCollection
     309             : {
     310             :     const FlyCntType    eType;
     311             : protected:
     312             :     virtual ~SwXFrames();
     313             : public:
     314             :     SwXFrames(SwDoc* pDoc, FlyCntType eSet);
     315             : 
     316             :     //XEnumerationAccess
     317             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL createEnumeration(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     318             : 
     319             :     //XIndexAccess
     320             :     virtual sal_Int32 SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     321             :     virtual ::com::sun::star::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) throw( ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     322             : 
     323             :     //XNameAccess
     324             :     virtual ::com::sun::star::uno::Any SAL_CALL getByName(const OUString& Name) throw( ::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     325             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getElementNames(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     326             :     virtual sal_Bool SAL_CALL hasByName(const OUString& Name) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     327             : 
     328             :     //XElementAccess
     329             :     virtual ::com::sun::star::uno::Type SAL_CALL getElementType(  ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     330             :     virtual sal_Bool SAL_CALL hasElements(  ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     331             : 
     332             :     //XServiceInfo
     333             :     virtual OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     334             :     virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     335             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     336             : 
     337             :     FlyCntType          GetType()const{return eType;}
     338             :     static SwXFrame*    GetObject( SwFrmFmt& rFmt, FlyCntType eType );
     339             : 
     340             : };
     341             : 
     342             : class SwXTextFrames : public SwXFrames
     343             : {
     344             : protected:
     345             :     virtual ~SwXTextFrames();
     346             : public:
     347             :     SwXTextFrames(SwDoc* pDoc);
     348             : 
     349             :     //XServiceInfo
     350             :     virtual OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     351             :     virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     352             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     353             : 
     354             : };
     355             : 
     356             : class SwXTextGraphicObjects : public SwXFrames
     357             : {
     358             : protected:
     359             :     virtual ~SwXTextGraphicObjects();
     360             : public:
     361             :         SwXTextGraphicObjects(SwDoc* pDoc);
     362             : 
     363             :     //XServiceInfo
     364             :     virtual OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     365             :     virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     366             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     367             : 
     368             : };
     369             : 
     370             : class SwXTextEmbeddedObjects :  public SwXFrames
     371             : {
     372             : protected:
     373             :     virtual ~SwXTextEmbeddedObjects();
     374             : public:
     375             :     SwXTextEmbeddedObjects(SwDoc* pDoc);
     376             : 
     377             :     //XServiceInfo
     378             :     virtual OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     379             :     virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     380             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     381             : 
     382             : };
     383             : 
     384             : class SwXTextSections : public SwCollectionBaseClass,
     385             :                         public SwUnoCollection
     386             : {
     387             : protected:
     388             :     virtual ~SwXTextSections();
     389             : public:
     390             :     SwXTextSections(SwDoc* pDoc);
     391             : 
     392             :     //XIndexAccess
     393             :     virtual sal_Int32 SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     394             :     virtual ::com::sun::star::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) throw( ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     395             : 
     396             :     //XNameAccess
     397             :     virtual ::com::sun::star::uno::Any SAL_CALL getByName(const OUString& Name) throw( ::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     398             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getElementNames(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     399             :     virtual sal_Bool SAL_CALL hasByName(const OUString& Name) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     400             : 
     401             :     //XElementAccess
     402             :     virtual ::com::sun::star::uno::Type SAL_CALL getElementType(  ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     403             :     virtual sal_Bool SAL_CALL hasElements(  ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     404             : 
     405             :     //XServiceInfo
     406             :     virtual OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     407             :     virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     408             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     409             : 
     410             :     static ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextSection> GetObject( SwSectionFmt& rFmt );
     411             : };
     412             : 
     413             : class SwXBookmarks : public SwCollectionBaseClass,
     414             :     public SwUnoCollection
     415             : {
     416             :     protected:
     417             :         virtual ~SwXBookmarks();
     418             :     public:
     419             :         SwXBookmarks(SwDoc* pDoc);
     420             : 
     421             :         //XIndexAccess
     422             :         virtual sal_Int32 SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     423             :         virtual ::com::sun::star::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) throw( ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     424             : 
     425             :         //XNameAccess
     426             :         virtual ::com::sun::star::uno::Any SAL_CALL getByName(const OUString& Name) throw( ::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     427             :         virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getElementNames(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     428             :         virtual sal_Bool SAL_CALL hasByName(const OUString& Name) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     429             : 
     430             :         //XElementAccess
     431             :         virtual ::com::sun::star::uno::Type SAL_CALL getElementType(  ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     432             :         virtual sal_Bool SAL_CALL hasElements(  ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     433             : 
     434             :         //XServiceInfo
     435             :         virtual OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     436             :         virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     437             :         virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     438             : 
     439             : };
     440             : 
     441             : class SwXNumberingRulesCollection : public cppu::WeakImplHelper1
     442             : <
     443             :     ::com::sun::star::container::XIndexAccess
     444             : >,
     445             :     public SwUnoCollection
     446             : {
     447             : protected:
     448             :     virtual ~SwXNumberingRulesCollection();
     449             : 
     450             : public:
     451             :     SwXNumberingRulesCollection( SwDoc* pDoc );
     452             : 
     453             :     //XIndexAccess
     454             :     virtual sal_Int32 SAL_CALL SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     455             :     virtual ::com::sun::star::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) throw( ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     456             : 
     457             :     //XElementAccess
     458             :     virtual ::com::sun::star::uno::Type SAL_CALL getElementType(  ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     459             :     virtual sal_Bool SAL_CALL hasElements(  ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     460             : };
     461             : 
     462             : typedef
     463             : cppu::WeakImplHelper2
     464             : <
     465             :     ::com::sun::star::container::XIndexAccess,
     466             :     ::com::sun::star::lang::XServiceInfo
     467             : >
     468             : SwSimpleIndexAccessBaseClass;
     469             : 
     470             : class SwXFootnotes : public SwSimpleIndexAccessBaseClass,
     471             :                      public SwUnoCollection
     472             : {
     473             :     const bool m_bEndnote;
     474             : 
     475             : protected:
     476             :     virtual ~SwXFootnotes();
     477             : public:
     478             :     SwXFootnotes(sal_Bool bEnd, SwDoc* pDoc);
     479             : 
     480             :     //XIndexAccess
     481             :     virtual sal_Int32 SAL_CALL SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     482             :     virtual ::com::sun::star::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) throw( ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     483             : 
     484             :     //XElementAccess
     485             :     virtual ::com::sun::star::uno::Type SAL_CALL getElementType(  ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     486             :     virtual sal_Bool SAL_CALL hasElements(  ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     487             : 
     488             :     //XServiceInfo
     489             :     virtual OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     490             :     virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     491             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     492             : 
     493             :     static ::com::sun::star::uno::Reference< ::com::sun::star::text::XFootnote> GetObject( SwDoc& rDoc, const SwFmtFtn& rFmt );
     494             : };
     495             : 
     496             : class SwXReferenceMarks : public SwCollectionBaseClass,
     497             :     public SwUnoCollection
     498             : {
     499             : protected:
     500             :     virtual ~SwXReferenceMarks();
     501             : public:
     502             :     SwXReferenceMarks(SwDoc* pDoc);
     503             : 
     504             :     //XIndexAccess
     505             :     virtual sal_Int32 SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     506             :     virtual ::com::sun::star::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) throw( ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     507             : 
     508             :     //XNameAccess
     509             :     virtual ::com::sun::star::uno::Any SAL_CALL getByName(const OUString& Name) throw( ::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     510             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getElementNames(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     511             :     virtual sal_Bool SAL_CALL hasByName(const OUString& Name) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     512             : 
     513             :     //XElementAccess
     514             :     virtual ::com::sun::star::uno::Type SAL_CALL getElementType(  ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     515             :     virtual sal_Bool SAL_CALL hasElements(  ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     516             : 
     517             :     //XServiceInfo
     518             :     virtual OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     519             :     virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     520             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     521             : 
     522             :     static SwXReferenceMark* GetObject( SwDoc* pDoc, const SwFmtRefMark* pMark );
     523             : };
     524             : 
     525             : #endif
     526             : 
     527             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10