merge the formfield patch from ooo-build
[ooovba.git] / sw / inc / unocoll.hxx
blobcb7fb9622c26efb5cb32ad79949fa43627388dd3
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: unocoll.hxx,v $
10 * $Revision: 1.26 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef _UNOCOLL_HXX
31 #define _UNOCOLL_HXX
32 #include <tools/solar.h>
33 #include <flyenum.hxx>
34 #include <vcl/timer.hxx>
35 #include <com/sun/star/lang/XServiceInfo.hpp>
36 #include <com/sun/star/container/XEnumerationAccess.hpp>
37 #include <com/sun/star/container/XNameAccess.hpp>
38 #include <com/sun/star/container/XIndexAccess.hpp>
39 #include <tools/string.hxx>
40 #include <cppuhelper/implbase1.hxx> // helper for implementations
41 #include <cppuhelper/implbase2.hxx> // helper for implementations
42 #include <cppuhelper/implbase3.hxx> // helper for implementations
43 #include <cppuhelper/implbase4.hxx> // helper for implementations
44 #include <IMark.hxx>
45 #include <unobaseclass.hxx>
46 #include "swdllapi.h"
47 /***************************************************
48 ***************************************************
50 ***************************************************/
51 class SwDoc;
52 class SwFrmFmt;
53 namespace com{namespace sun {namespace star {namespace text
55 class XTextTable;
56 class XTextSection;
57 class XFootnote;
58 }}}}
59 class SwXFrame;
60 class SwFrmFmt;
61 class SwFmtFtn;
62 class XBookmark;
63 class SwXReferenceMark;
64 class SwSectionFmt;
65 class SwFmtRefMark;
66 class SwXReferenceMark;
67 class SwXBookmark;
68 /*-----------------11.03.98 11:19-------------------
70 --------------------------------------------------*/
71 class SwUnoCollection
73 SwDoc* pDoc;
74 sal_Bool bObjectValid;
76 public:
77 SwUnoCollection(SwDoc* p) :
78 pDoc(p),
79 bObjectValid(sal_True){}
81 virtual void Invalidate();
82 sal_Bool IsValid() const {return bObjectValid;}
85 SwDoc* GetDoc() const {return pDoc;}
88 /******************************************************************************
90 ******************************************************************************/
91 #define SW_SERVICE_TYPE_TEXTTABLE 0
92 #define SW_SERVICE_TYPE_TEXTFRAME 1
93 #define SW_SERVICE_TYPE_GRAPHIC 2
94 #define SW_SERVICE_TYPE_OLE 3
95 #define SW_SERVICE_TYPE_BOOKMARK 4
96 #define SW_SERVICE_TYPE_FOOTNOTE 5
97 #define SW_SERVICE_TYPE_ENDNOTE 6
98 #define SW_SERVICE_TYPE_INDEXMARK 7
99 #define SW_SERVICE_TYPE_INDEX 8
100 #define SW_SERVICE_REFERENCE_MARK 9
101 #define SW_SERVICE_STYLE_CHARACTER_STYLE 10
102 #define SW_SERVICE_STYLE_PARAGRAPH_STYLE 11
103 #define SW_SERVICE_STYLE_FRAME_STYLE 12
104 #define SW_SERVICE_STYLE_PAGE_STYLE 13
105 #define SW_SERVICE_STYLE_NUMBERING_STYLE 14
106 #define SW_SERVICE_CONTENT_INDEX_MARK 15
107 #define SW_SERVICE_CONTENT_INDEX 16
108 #define SW_SERVICE_USER_INDEX_MARK 17
109 #define SW_SERVICE_USER_INDEX 18
110 #define SW_SERVICE_TEXT_SECTION 19
111 #define SW_SERVICE_FIELDTYPE_DATETIME 20
112 #define SW_SERVICE_FIELDTYPE_USER 21
113 #define SW_SERVICE_FIELDTYPE_SET_EXP 22
114 #define SW_SERVICE_FIELDTYPE_GET_EXP 23
115 #define SW_SERVICE_FIELDTYPE_FILE_NAME 24
116 #define SW_SERVICE_FIELDTYPE_PAGE_NUM 25
117 #define SW_SERVICE_FIELDTYPE_AUTHOR 26
118 #define SW_SERVICE_FIELDTYPE_CHAPTER 27
119 #define SW_SERVICE_FIELDTYPE_DUMMY_0 28
120 #define SW_SERVICE_FIELDTYPE_GET_REFERENCE 29
121 #define SW_SERVICE_FIELDTYPE_CONDITIONED_TEXT 30
122 #define SW_SERVICE_FIELDTYPE_ANNOTATION 31
123 #define SW_SERVICE_FIELDTYPE_INPUT 32
124 #define SW_SERVICE_FIELDTYPE_MACRO 33
125 #define SW_SERVICE_FIELDTYPE_DDE 34
126 #define SW_SERVICE_FIELDTYPE_HIDDEN_PARA 35
127 #define SW_SERVICE_FIELDTYPE_DOC_INFO 36
128 #define SW_SERVICE_FIELDTYPE_TEMPLATE_NAME 37
129 #define SW_SERVICE_FIELDTYPE_USER_EXT 38
130 #define SW_SERVICE_FIELDTYPE_REF_PAGE_SET 39
131 #define SW_SERVICE_FIELDTYPE_REF_PAGE_GET 40
132 #define SW_SERVICE_FIELDTYPE_JUMP_EDIT 41
133 #define SW_SERVICE_FIELDTYPE_SCRIPT 42
134 #define SW_SERVICE_FIELDTYPE_DATABASE_NEXT_SET 43
135 #define SW_SERVICE_FIELDTYPE_DATABASE_NUM_SET 44
136 #define SW_SERVICE_FIELDTYPE_DATABASE_SET_NUM 45
137 #define SW_SERVICE_FIELDTYPE_DATABASE 46
138 #define SW_SERVICE_FIELDTYPE_DATABASE_NAME 47
139 #define SW_SERVICE_FIELDTYPE_TABLE_FORMULA 48
140 #define SW_SERVICE_FIELDTYPE_PAGE_COUNT 49
141 #define SW_SERVICE_FIELDTYPE_PARAGRAPH_COUNT 50
142 #define SW_SERVICE_FIELDTYPE_WORD_COUNT 51
143 #define SW_SERVICE_FIELDTYPE_CHARACTER_COUNT 52
144 #define SW_SERVICE_FIELDTYPE_TABLE_COUNT 53
145 #define SW_SERVICE_FIELDTYPE_GRAPHIC_OBJECT_COUNT 54
146 #define SW_SERVICE_FIELDTYPE_EMBEDDED_OBJECT_COUNT 55
147 #define SW_SERVICE_FIELDTYPE_DOCINFO_CHANGE_AUTHOR 56
148 #define SW_SERVICE_FIELDTYPE_DOCINFO_CHANGE_DATE_TIME 57
149 #define SW_SERVICE_FIELDTYPE_DOCINFO_EDIT_TIME 58
150 #define SW_SERVICE_FIELDTYPE_DOCINFO_DESCRIPTION 59
151 #define SW_SERVICE_FIELDTYPE_DOCINFO_CREATE_AUTHOR 60
152 #define SW_SERVICE_FIELDTYPE_DOCINFO_CREATE_DATE_TIME 61
153 #define SW_SERVICE_FIELDTYPE_DUMMY_O 62
154 #define SW_SERVICE_FIELDTYPE_DUMMY_1 63
155 #define SW_SERVICE_FIELDTYPE_DUMMY_2 64
156 #define SW_SERVICE_FIELDTYPE_DUMMY_3 65
157 #define SW_SERVICE_FIELDTYPE_DOCINFO_CUSTOM 66
158 #define SW_SERVICE_FIELDTYPE_DOCINFO_PRINT_AUTHOR 67
159 #define SW_SERVICE_FIELDTYPE_DOCINFO_PRINT_DATE_TIME 68
160 #define SW_SERVICE_FIELDTYPE_DOCINFO_KEY_WORDS 69
161 #define SW_SERVICE_FIELDTYPE_DOCINFO_SUBJECT 70
162 #define SW_SERVICE_FIELDTYPE_DOCINFO_TITLE 71
163 #define SW_SERVICE_FIELDTYPE_DOCINFO_REVISION 72
164 #define SW_SERVICE_FIELDTYPE_BIBLIOGRAPHY 73
165 #define SW_SERVICE_FIELDTYPE_COMBINED_CHARACTERS 74
166 #define SW_SERVICE_FIELDTYPE_DROPDOWN 75
167 #define SW_SERVICE_FIELDTYPE_METAFIELD 76
168 #define SW_SERVICE_FIELDTYPE_DUMMY_4 77
169 #define SW_SERVICE_FIELDTYPE_DUMMY_5 78
170 #define SW_SERVICE_FIELDTYPE_DUMMY_6 79
171 #define SW_SERVICE_FIELDTYPE_DUMMY_7 80
172 #define SW_SERVICE_FIELDMASTER_USER 81
173 #define SW_SERVICE_FIELDMASTER_DDE 82
174 #define SW_SERVICE_FIELDMASTER_SET_EXP 83
175 #define SW_SERVICE_FIELDMASTER_DATABASE 84
176 #define SW_SERVICE_FIELDMASTER_BIBLIOGRAPHY 85
177 #define SW_SERVICE_FIELDMASTER_DUMMY2 86
178 #define SW_SERVICE_FIELDMASTER_DUMMY3 87
179 #define SW_SERVICE_FIELDMASTER_DUMMY4 88
180 #define SW_SERVICE_FIELDMASTER_DUMMY5 89
181 #define SW_SERVICE_INDEX_ILLUSTRATIONS 90
182 #define SW_SERVICE_INDEX_OBJECTS 91
183 #define SW_SERVICE_INDEX_TABLES 92
184 #define SW_SERVICE_INDEX_BIBLIOGRAPHY 93
185 #define SW_SERVICE_PARAGRAPH 94
186 #define SW_SERVICE_FIELDTYPE_INPUT_USER 95
187 #define SW_SERVICE_FIELDTYPE_HIDDEN_TEXT 96
188 #define SW_SERVICE_STYLE_CONDITIONAL_PARAGRAPH_STYLE 97
189 #define SW_SERVICE_NUMBERING_RULES 98
190 #define SW_SERVICE_TEXT_COLUMNS 99
191 #define SW_SERVICE_INDEX_HEADER_SECTION 100
192 #define SW_SERVICE_DEFAULTS 101
193 #define SW_SERVICE_IMAP_RECTANGLE 102
194 #define SW_SERVICE_IMAP_CIRCLE 103
195 #define SW_SERVICE_IMAP_POLYGON 104
196 #define SW_SERVICE_TYPE_TEXT_GRAPHIC 105
197 #define SW_SERVICE_CHART2_DATA_PROVIDER 106
198 #define SW_SERVICE_TYPE_FIELDMARK 107
199 #define SW_SERVICE_TYPE_FORMFIELDMARK 108
200 #define SW_SERVICE_TYPE_META 109
201 #define SW_SERVICE_VBAOBJECTPROVIDER 110
202 #define SW_SERVICE_VBACODENAMEPROVIDER 111
203 #define SW_SERVICE_VBAPROJECTNAMEPROVIDER 112
205 #define SW_SERVICE_LAST SW_SERVICE_VBAPROJECTNAMEPROVIDER
207 #define SW_SERVICE_INVALID USHRT_MAX
210 // case-corrected versions of service-names (see #i67811)
212 #define CSS_TEXT_TEXTFIELD_DATE_TIME "com.sun.star.text.textfield.DateTime"
213 #define CSS_TEXT_TEXTFIELD_USER "com.sun.star.text.textfield.User"
214 #define CSS_TEXT_TEXTFIELD_SET_EXPRESSION "com.sun.star.text.textfield.SetExpression"
215 #define CSS_TEXT_TEXTFIELD_GET_EXPRESSION "com.sun.star.text.textfield.GetExpression"
216 #define CSS_TEXT_TEXTFIELD_FILE_NAME "com.sun.star.text.textfield.FileName"
217 #define CSS_TEXT_TEXTFIELD_PAGE_NUMBER "com.sun.star.text.textfield.PageNumber"
218 #define CSS_TEXT_TEXTFIELD_AUTHOR "com.sun.star.text.textfield.Author"
219 #define CSS_TEXT_TEXTFIELD_CHAPTER "com.sun.star.text.textfield.Chapter"
220 #define CSS_TEXT_TEXTFIELD_GET_REFERENCE "com.sun.star.text.textfield.GetReference"
221 #define CSS_TEXT_TEXTFIELD_CONDITIONAL_TEXT "com.sun.star.text.textfield.ConditionalText"
222 #define CSS_TEXT_TEXTFIELD_ANNOTATION "com.sun.star.text.textfield.Annotation"
223 #define CSS_TEXT_TEXTFIELD_INPUT "com.sun.star.text.textfield.Input"
224 #define CSS_TEXT_TEXTFIELD_MACRO "com.sun.star.text.textfield.Macro"
225 #define CSS_TEXT_TEXTFIELD_DDE "com.sun.star.text.textfield.DDE"
226 #define CSS_TEXT_TEXTFIELD_HIDDEN_PARAGRAPH "com.sun.star.text.textfield.HiddenParagraph"
227 #define CSS_TEXT_TEXTFIELD_TEMPLATE_NAME "com.sun.star.text.textfield.TemplateName"
228 #define CSS_TEXT_TEXTFIELD_EXTENDED_USER "com.sun.star.text.textfield.ExtendedUser"
229 #define CSS_TEXT_TEXTFIELD_REFERENCE_PAGE_SET "com.sun.star.text.textfield.ReferencePageSet"
230 #define CSS_TEXT_TEXTFIELD_REFERENCE_PAGE_GET "com.sun.star.text.textfield.ReferencePageGet"
231 #define CSS_TEXT_TEXTFIELD_JUMP_EDIT "com.sun.star.text.textfield.JumpEdit"
232 #define CSS_TEXT_TEXTFIELD_SCRIPT "com.sun.star.text.textfield.Script"
233 #define CSS_TEXT_TEXTFIELD_DATABASE_NEXT_SET "com.sun.star.text.textfield.DatabaseNextSet"
234 #define CSS_TEXT_TEXTFIELD_DATABASE_NUMBER_OF_SET "com.sun.star.text.textfield.DatabaseNumberOfSet"
235 #define CSS_TEXT_TEXTFIELD_DATABASE_SET_NUMBER "com.sun.star.text.textfield.DatabaseSetNumber"
236 #define CSS_TEXT_TEXTFIELD_DATABASE "com.sun.star.text.textfield.Database"
237 #define CSS_TEXT_TEXTFIELD_DATABASE_NAME "com.sun.star.text.textfield.DatabaseName"
238 #define CSS_TEXT_TEXTFIELD_TABLE_FORMULA "com.sun.star.text.textfield.TableFormula"
239 #define CSS_TEXT_TEXTFIELD_PAGE_COUNT "com.sun.star.text.textfield.PageCount"
240 #define CSS_TEXT_TEXTFIELD_PARAGRAPH_COUNT "com.sun.star.text.textfield.ParagraphCount"
241 #define CSS_TEXT_TEXTFIELD_WORD_COUNT "com.sun.star.text.textfield.WordCount"
242 #define CSS_TEXT_TEXTFIELD_CHARACTER_COUNT "com.sun.star.text.textfield.CharacterCount"
243 #define CSS_TEXT_TEXTFIELD_TABLE_COUNT "com.sun.star.text.textfield.TableCount"
244 #define CSS_TEXT_TEXTFIELD_GRAPHIC_OBJECT_COUNT "com.sun.star.text.textfield.GraphicObjectCount"
245 #define CSS_TEXT_TEXTFIELD_EMBEDDED_OBJECT_COUNT "com.sun.star.text.textfield.EmbeddedObjectCount"
246 #define CSS_TEXT_TEXTFIELD_DOCINFO_CHANGE_AUTHOR "com.sun.star.text.textfield.docinfo.ChangeAuthor"
247 #define CSS_TEXT_TEXTFIELD_DOCINFO_CHANGE_DATE_TIME "com.sun.star.text.textfield.docinfo.ChangeDateTime"
248 #define CSS_TEXT_TEXTFIELD_DOCINFO_EDIT_TIME "com.sun.star.text.textfield.docinfo.EditTime"
249 #define CSS_TEXT_TEXTFIELD_DOCINFO_DESCRIPTION "com.sun.star.text.textfield.docinfo.Description"
250 #define CSS_TEXT_TEXTFIELD_DOCINFO_CREATE_AUTHOR "com.sun.star.text.textfield.docinfo.CreateAuthor"
251 #define CSS_TEXT_TEXTFIELD_DOCINFO_CREATE_DATE_TIME "com.sun.star.text.textfield.docinfo.CreateDateTime"
252 #define CSS_TEXT_TEXTFIELD_DOCINFO_PRINT_AUTHOR "com.sun.star.text.textfield.docinfo.PrintAuthor"
253 #define CSS_TEXT_TEXTFIELD_DOCINFO_PRINT_DATE_TIME "com.sun.star.text.textfield.docinfo.PrintDateTime"
254 #define CSS_TEXT_TEXTFIELD_DOCINFO_KEY_WORDS "com.sun.star.text.textfield.docinfo.KeyWords"
255 #define CSS_TEXT_TEXTFIELD_DOCINFO_SUBJECT "com.sun.star.text.textfield.docinfo.Subject"
256 #define CSS_TEXT_TEXTFIELD_DOCINFO_TITLE "com.sun.star.text.textfield.docinfo.Title"
257 #define CSS_TEXT_TEXTFIELD_DOCINFO_REVISION "com.sun.star.text.textfield.docinfo.Revision"
258 #define CSS_TEXT_TEXTFIELD_DOCINFO_CUSTOM "com.sun.star.text.textfield.docinfo.Custom"
259 #define CSS_TEXT_TEXTFIELD_BIBLIOGRAPHY "com.sun.star.text.textfield.Bibliography"
260 #define CSS_TEXT_TEXTFIELD_COMBINED_CHARACTERS "com.sun.star.text.textfield.CombinedCharacters"
261 #define CSS_TEXT_TEXTFIELD_DROP_DOWN "com.sun.star.text.textfield.DropDown"
262 #define CSS_TEXT_TEXTFIELD_INPUT_USER "com.sun.star.text.textfield.InputUser"
263 #define CSS_TEXT_TEXTFIELD_HIDDEN_TEXT "com.sun.star.text.textfield.HiddenText"
264 #define CSS_TEXT_FIELDMASTER_USER "com.sun.star.text.fieldmaster.User"
265 #define CSS_TEXT_FIELDMASTER_DDE "com.sun.star.text.fieldmaster.DDE"
266 #define CSS_TEXT_FIELDMASTER_SET_EXPRESSION "com.sun.star.text.fieldmaster.SetExpression"
267 #define CSS_TEXT_FIELDMASTER_DATABASE "com.sun.star.text.fieldmaster.Database"
268 #define CSS_TEXT_FIELDMASTER_BIBLIOGRAPHY "com.sun.star.text.fieldmaster.Bibliography"
271 class SwXServiceProvider
273 public:
274 static rtl::OUString GetProviderName(sal_uInt16 nObjectType);
275 static sal_uInt16 GetProviderType(const rtl::OUString& rServiceName);
276 static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > MakeInstance(sal_uInt16 nObjectType, SwDoc* pDoc);
277 static ::com::sun::star::uno::Sequence<rtl::OUString> GetAllServiceNames();
280 /*-----------------11.12.97 09:38-------------------
282 --------------------------------------------------*/
283 typedef
284 cppu::WeakImplHelper3
286 ::com::sun::star::container::XNameAccess,
287 ::com::sun::star::container::XIndexAccess,
288 ::com::sun::star::lang::XServiceInfo
290 SwCollectionBaseClass;
291 class SW_DLLPUBLIC SwXTextTables : public SwCollectionBaseClass,
292 public SwUnoCollection
294 protected:
295 virtual ~SwXTextTables();
296 public:
297 SwXTextTables(SwDoc* pDoc);
300 //XIndexAccess
301 virtual sal_Int32 SAL_CALL getCount( ) throw(::com::sun::star::uno::RuntimeException);
302 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 );
304 //XNameAccess
305 virtual ::com::sun::star::uno::Any SAL_CALL getByName(const rtl::OUString& Name) throw( ::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
306 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getElementNames(void) throw( ::com::sun::star::uno::RuntimeException );
307 virtual sal_Bool SAL_CALL hasByName(const rtl::OUString& Name) throw( ::com::sun::star::uno::RuntimeException );
309 //XElementAccess
310 virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw(::com::sun::star::uno::RuntimeException);
311 virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException);
313 //XServiceInfo
314 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
315 virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
316 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
318 static ::com::sun::star::text::XTextTable* GetObject( SwFrmFmt& rFmt );
321 typedef
322 cppu::WeakImplHelper4
324 ::com::sun::star::container::XEnumerationAccess,
325 ::com::sun::star::container::XNameAccess,
326 ::com::sun::star::container::XIndexAccess,
327 ::com::sun::star::lang::XServiceInfo
328 > SwXFramesBaseClass;
330 class SwXFrames : public SwXFramesBaseClass,
331 public SwUnoCollection
333 const FlyCntType eType;
334 protected:
335 virtual ~SwXFrames();
336 public:
337 SwXFrames(SwDoc* pDoc, FlyCntType eSet);
339 //XEnumerationAccess
340 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL createEnumeration(void) throw( ::com::sun::star::uno::RuntimeException );
342 //XIndexAccess
343 virtual sal_Int32 SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException );
344 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 );
346 //XNameAccess
347 virtual ::com::sun::star::uno::Any SAL_CALL getByName(const rtl::OUString& Name) throw( ::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
348 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getElementNames(void) throw( ::com::sun::star::uno::RuntimeException );
349 virtual sal_Bool SAL_CALL hasByName(const rtl::OUString& Name) throw( ::com::sun::star::uno::RuntimeException );
351 //XElementAccess
352 virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw(::com::sun::star::uno::RuntimeException);
353 virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException);
355 //XServiceInfo
356 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
357 virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
358 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
360 FlyCntType GetType()const{return eType;}
361 static SwXFrame* GetObject( SwFrmFmt& rFmt, FlyCntType eType );
365 /*-----------------20.02.98 10:51-------------------
367 --------------------------------------------------*/
368 class SwXTextFrames : public SwXFrames
370 protected:
371 virtual ~SwXTextFrames();
372 public:
373 SwXTextFrames(SwDoc* pDoc);
376 // SMART_UNO_DECLARATION( SwXTextFrames, UsrObject );
378 //XServiceInfo
379 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
380 virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
381 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
385 /*-----------------20.02.98 10:55-------------------
387 --------------------------------------------------*/
388 class SwXTextGraphicObjects : public SwXFrames
390 protected:
391 virtual ~SwXTextGraphicObjects();
392 public:
393 SwXTextGraphicObjects(SwDoc* pDoc);
396 // SMART_UNO_DECLARATION( SwXTextGraphicObjects, UsrObject );
398 //XServiceInfo
399 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
400 virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
401 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
405 /*-----------------20.02.98 10:57-------------------
407 --------------------------------------------------*/
408 class SwXTextEmbeddedObjects : public SwXFrames
410 protected:
411 virtual ~SwXTextEmbeddedObjects();
412 public:
413 SwXTextEmbeddedObjects(SwDoc* pDoc);
416 // SMART_UNO_DECLARATION( SwXTextEmbeddedObjects, UsrObject );
418 //XServiceInfo
419 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
420 virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
421 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
425 /*-----------------12.02.98 07:58-------------------
427 --------------------------------------------------*/
428 class SwXTextSections : public SwCollectionBaseClass,
429 public SwUnoCollection
431 protected:
432 virtual ~SwXTextSections();
433 public:
434 SwXTextSections(SwDoc* pDoc);
437 //XIndexAccess
438 virtual sal_Int32 SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException );
439 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 );
441 //XNameAccess
442 virtual ::com::sun::star::uno::Any SAL_CALL getByName(const rtl::OUString& Name) throw( ::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
443 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getElementNames(void) throw( ::com::sun::star::uno::RuntimeException );
444 virtual sal_Bool SAL_CALL hasByName(const rtl::OUString& Name) throw( ::com::sun::star::uno::RuntimeException );
446 //XElementAccess
447 virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw(::com::sun::star::uno::RuntimeException);
448 virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException);
450 //XServiceInfo
451 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
452 virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
453 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
455 static ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextSection> GetObject( SwSectionFmt& rFmt );
457 /*-----------------12.02.98 07:51-------------------
459 --------------------------------------------------*/
460 class SwXBookmarks : public SwCollectionBaseClass,
461 public SwUnoCollection
463 protected:
464 virtual ~SwXBookmarks();
465 public:
466 SwXBookmarks(SwDoc* pDoc);
469 //XIndexAccess
470 virtual sal_Int32 SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException );
471 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 );
473 //XNameAccess
474 virtual ::com::sun::star::uno::Any SAL_CALL getByName(const rtl::OUString& Name) throw( ::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
475 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getElementNames(void) throw( ::com::sun::star::uno::RuntimeException );
476 virtual sal_Bool SAL_CALL hasByName(const rtl::OUString& Name) throw( ::com::sun::star::uno::RuntimeException );
478 //XElementAccess
479 virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw(::com::sun::star::uno::RuntimeException);
480 virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException);
482 //XServiceInfo
483 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
484 virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
485 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
487 static SwXBookmark* GetObject( ::sw::mark::IMark& rBkm, SwDoc* pDoc);
490 class SwXNumberingRulesCollection : public cppu::WeakImplHelper1
492 ::com::sun::star::container::XIndexAccess
494 public SwUnoCollection
496 protected:
497 virtual ~SwXNumberingRulesCollection();
499 public:
500 SwXNumberingRulesCollection( SwDoc* pDoc );
502 //XIndexAccess
503 virtual sal_Int32 SAL_CALL SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException );
504 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 );
506 //XElementAccess
507 virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw(::com::sun::star::uno::RuntimeException);
508 virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException);
511 /*-----------------12.02.98 08:01-------------------
513 --------------------------------------------------*/
515 typedef
516 cppu::WeakImplHelper2
518 ::com::sun::star::container::XIndexAccess,
519 ::com::sun::star::lang::XServiceInfo
521 SwSimpleIndexAccessBaseClass;
523 class SwXFootnotes : public SwSimpleIndexAccessBaseClass,
524 public SwUnoCollection
526 const bool m_bEndnote;
528 protected:
529 virtual ~SwXFootnotes();
530 public:
531 SwXFootnotes(sal_Bool bEnd, SwDoc* pDoc);
533 //XIndexAccess
534 virtual sal_Int32 SAL_CALL SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException );
535 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 );
537 //XElementAccess
538 virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw(::com::sun::star::uno::RuntimeException);
539 virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException);
541 //XServiceInfo
542 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
543 virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
544 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
546 static ::com::sun::star::uno::Reference< ::com::sun::star::text::XFootnote> GetObject( SwDoc& rDoc, const SwFmtFtn& rFmt );
549 /* -----------------27.08.98 13:10-------------------
551 * --------------------------------------------------*/
552 class SwXReferenceMarks : public SwCollectionBaseClass,
553 public SwUnoCollection
555 protected:
556 virtual ~SwXReferenceMarks();
557 public:
558 SwXReferenceMarks(SwDoc* pDoc);
561 //XIndexAccess
562 virtual sal_Int32 SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException );
563 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 );
565 //XNameAccess
566 virtual ::com::sun::star::uno::Any SAL_CALL getByName(const rtl::OUString& Name) throw( ::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
567 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getElementNames(void) throw( ::com::sun::star::uno::RuntimeException );
568 virtual sal_Bool SAL_CALL hasByName(const rtl::OUString& Name) throw( ::com::sun::star::uno::RuntimeException );
570 //XElementAccess
571 virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw(::com::sun::star::uno::RuntimeException);
572 virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException);
574 //XServiceInfo
575 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
576 virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
577 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
579 static SwXReferenceMark* GetObject( SwDoc* pDoc, const SwFmtRefMark* pMark );
582 #endif