update dev300-m58
[ooovba.git] / sw / inc / unocoll.hxx
blobc6e8a7839be5b9147dd76c14980e2eb1ab7b7cec
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_DUMMY_4 76
168 #define SW_SERVICE_FIELDTYPE_DUMMY_5 77
169 #define SW_SERVICE_FIELDTYPE_DUMMY_6 78
170 #define SW_SERVICE_FIELDTYPE_DUMMY_7 79
171 #define SW_SERVICE_FIELDTYPE_DUMMY_8 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_VBAOBJECTPROVIDER 109
201 #define SW_SERVICE_VBACODENAMEPROVIDER 110
202 #define SW_SERVICE_VBAPROJECTNAMEPROVIDER 111
204 #define SW_SERVICE_LAST SW_SERVICE_VBAPROJECTNAMEPROVIDER
206 #define SW_SERVICE_INVALID USHRT_MAX
209 // case-corrected versions of service-names (see #i67811)
211 #define CSS_TEXT_TEXTFIELD_DATE_TIME "com.sun.star.text.textfield.DateTime"
212 #define CSS_TEXT_TEXTFIELD_USER "com.sun.star.text.textfield.User"
213 #define CSS_TEXT_TEXTFIELD_SET_EXPRESSION "com.sun.star.text.textfield.SetExpression"
214 #define CSS_TEXT_TEXTFIELD_GET_EXPRESSION "com.sun.star.text.textfield.GetExpression"
215 #define CSS_TEXT_TEXTFIELD_FILE_NAME "com.sun.star.text.textfield.FileName"
216 #define CSS_TEXT_TEXTFIELD_PAGE_NUMBER "com.sun.star.text.textfield.PageNumber"
217 #define CSS_TEXT_TEXTFIELD_AUTHOR "com.sun.star.text.textfield.Author"
218 #define CSS_TEXT_TEXTFIELD_CHAPTER "com.sun.star.text.textfield.Chapter"
219 #define CSS_TEXT_TEXTFIELD_GET_REFERENCE "com.sun.star.text.textfield.GetReference"
220 #define CSS_TEXT_TEXTFIELD_CONDITIONAL_TEXT "com.sun.star.text.textfield.ConditionalText"
221 #define CSS_TEXT_TEXTFIELD_ANNOTATION "com.sun.star.text.textfield.Annotation"
222 #define CSS_TEXT_TEXTFIELD_INPUT "com.sun.star.text.textfield.Input"
223 #define CSS_TEXT_TEXTFIELD_MACRO "com.sun.star.text.textfield.Macro"
224 #define CSS_TEXT_TEXTFIELD_DDE "com.sun.star.text.textfield.DDE"
225 #define CSS_TEXT_TEXTFIELD_HIDDEN_PARAGRAPH "com.sun.star.text.textfield.HiddenParagraph"
226 #define CSS_TEXT_TEXTFIELD_TEMPLATE_NAME "com.sun.star.text.textfield.TemplateName"
227 #define CSS_TEXT_TEXTFIELD_EXTENDED_USER "com.sun.star.text.textfield.ExtendedUser"
228 #define CSS_TEXT_TEXTFIELD_REFERENCE_PAGE_SET "com.sun.star.text.textfield.ReferencePageSet"
229 #define CSS_TEXT_TEXTFIELD_REFERENCE_PAGE_GET "com.sun.star.text.textfield.ReferencePageGet"
230 #define CSS_TEXT_TEXTFIELD_JUMP_EDIT "com.sun.star.text.textfield.JumpEdit"
231 #define CSS_TEXT_TEXTFIELD_SCRIPT "com.sun.star.text.textfield.Script"
232 #define CSS_TEXT_TEXTFIELD_DATABASE_NEXT_SET "com.sun.star.text.textfield.DatabaseNextSet"
233 #define CSS_TEXT_TEXTFIELD_DATABASE_NUMBER_OF_SET "com.sun.star.text.textfield.DatabaseNumberOfSet"
234 #define CSS_TEXT_TEXTFIELD_DATABASE_SET_NUMBER "com.sun.star.text.textfield.DatabaseSetNumber"
235 #define CSS_TEXT_TEXTFIELD_DATABASE "com.sun.star.text.textfield.Database"
236 #define CSS_TEXT_TEXTFIELD_DATABASE_NAME "com.sun.star.text.textfield.DatabaseName"
237 #define CSS_TEXT_TEXTFIELD_TABLE_FORMULA "com.sun.star.text.textfield.TableFormula"
238 #define CSS_TEXT_TEXTFIELD_PAGE_COUNT "com.sun.star.text.textfield.PageCount"
239 #define CSS_TEXT_TEXTFIELD_PARAGRAPH_COUNT "com.sun.star.text.textfield.ParagraphCount"
240 #define CSS_TEXT_TEXTFIELD_WORD_COUNT "com.sun.star.text.textfield.WordCount"
241 #define CSS_TEXT_TEXTFIELD_CHARACTER_COUNT "com.sun.star.text.textfield.CharacterCount"
242 #define CSS_TEXT_TEXTFIELD_TABLE_COUNT "com.sun.star.text.textfield.TableCount"
243 #define CSS_TEXT_TEXTFIELD_GRAPHIC_OBJECT_COUNT "com.sun.star.text.textfield.GraphicObjectCount"
244 #define CSS_TEXT_TEXTFIELD_EMBEDDED_OBJECT_COUNT "com.sun.star.text.textfield.EmbeddedObjectCount"
245 #define CSS_TEXT_TEXTFIELD_DOCINFO_CHANGE_AUTHOR "com.sun.star.text.textfield.docinfo.ChangeAuthor"
246 #define CSS_TEXT_TEXTFIELD_DOCINFO_CHANGE_DATE_TIME "com.sun.star.text.textfield.docinfo.ChangeDateTime"
247 #define CSS_TEXT_TEXTFIELD_DOCINFO_EDIT_TIME "com.sun.star.text.textfield.docinfo.EditTime"
248 #define CSS_TEXT_TEXTFIELD_DOCINFO_DESCRIPTION "com.sun.star.text.textfield.docinfo.Description"
249 #define CSS_TEXT_TEXTFIELD_DOCINFO_CREATE_AUTHOR "com.sun.star.text.textfield.docinfo.CreateAuthor"
250 #define CSS_TEXT_TEXTFIELD_DOCINFO_CREATE_DATE_TIME "com.sun.star.text.textfield.docinfo.CreateDateTime"
251 #define CSS_TEXT_TEXTFIELD_DOCINFO_PRINT_AUTHOR "com.sun.star.text.textfield.docinfo.PrintAuthor"
252 #define CSS_TEXT_TEXTFIELD_DOCINFO_PRINT_DATE_TIME "com.sun.star.text.textfield.docinfo.PrintDateTime"
253 #define CSS_TEXT_TEXTFIELD_DOCINFO_KEY_WORDS "com.sun.star.text.textfield.docinfo.KeyWords"
254 #define CSS_TEXT_TEXTFIELD_DOCINFO_SUBJECT "com.sun.star.text.textfield.docinfo.Subject"
255 #define CSS_TEXT_TEXTFIELD_DOCINFO_TITLE "com.sun.star.text.textfield.docinfo.Title"
256 #define CSS_TEXT_TEXTFIELD_DOCINFO_REVISION "com.sun.star.text.textfield.docinfo.Revision"
257 #define CSS_TEXT_TEXTFIELD_DOCINFO_CUSTOM "com.sun.star.text.textfield.docinfo.Custom"
258 #define CSS_TEXT_TEXTFIELD_BIBLIOGRAPHY "com.sun.star.text.textfield.Bibliography"
259 #define CSS_TEXT_TEXTFIELD_COMBINED_CHARACTERS "com.sun.star.text.textfield.CombinedCharacters"
260 #define CSS_TEXT_TEXTFIELD_DROP_DOWN "com.sun.star.text.textfield.DropDown"
261 #define CSS_TEXT_TEXTFIELD_INPUT_USER "com.sun.star.text.textfield.InputUser"
262 #define CSS_TEXT_TEXTFIELD_HIDDEN_TEXT "com.sun.star.text.textfield.HiddenText"
263 #define CSS_TEXT_FIELDMASTER_USER "com.sun.star.text.fieldmaster.User"
264 #define CSS_TEXT_FIELDMASTER_DDE "com.sun.star.text.fieldmaster.DDE"
265 #define CSS_TEXT_FIELDMASTER_SET_EXPRESSION "com.sun.star.text.fieldmaster.SetExpression"
266 #define CSS_TEXT_FIELDMASTER_DATABASE "com.sun.star.text.fieldmaster.Database"
267 #define CSS_TEXT_FIELDMASTER_BIBLIOGRAPHY "com.sun.star.text.fieldmaster.Bibliography"
270 class SwXServiceProvider
272 public:
273 static rtl::OUString GetProviderName(sal_uInt16 nObjectType);
274 static sal_uInt16 GetProviderType(const rtl::OUString& rServiceName);
275 static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > MakeInstance(sal_uInt16 nObjectType, SwDoc* pDoc);
276 static ::com::sun::star::uno::Sequence<rtl::OUString> GetAllServiceNames();
279 /*-----------------11.12.97 09:38-------------------
281 --------------------------------------------------*/
282 typedef
283 cppu::WeakImplHelper3
285 ::com::sun::star::container::XNameAccess,
286 ::com::sun::star::container::XIndexAccess,
287 ::com::sun::star::lang::XServiceInfo
289 SwCollectionBaseClass;
290 class SW_DLLPUBLIC SwXTextTables : public SwCollectionBaseClass,
291 public SwUnoCollection
293 protected:
294 virtual ~SwXTextTables();
295 public:
296 SwXTextTables(SwDoc* pDoc);
299 //XIndexAccess
300 virtual sal_Int32 SAL_CALL getCount( ) throw(::com::sun::star::uno::RuntimeException);
301 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 );
303 //XNameAccess
304 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 );
305 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getElementNames(void) throw( ::com::sun::star::uno::RuntimeException );
306 virtual sal_Bool SAL_CALL hasByName(const rtl::OUString& Name) throw( ::com::sun::star::uno::RuntimeException );
308 //XElementAccess
309 virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw(::com::sun::star::uno::RuntimeException);
310 virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException);
312 //XServiceInfo
313 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
314 virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
315 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
317 static ::com::sun::star::text::XTextTable* GetObject( SwFrmFmt& rFmt );
320 typedef
321 cppu::WeakImplHelper4
323 ::com::sun::star::container::XEnumerationAccess,
324 ::com::sun::star::container::XNameAccess,
325 ::com::sun::star::container::XIndexAccess,
326 ::com::sun::star::lang::XServiceInfo
327 > SwXFramesBaseClass;
329 class SwXFrames : public SwXFramesBaseClass,
330 public SwUnoCollection
332 const FlyCntType eType;
333 protected:
334 virtual ~SwXFrames();
335 public:
336 SwXFrames(SwDoc* pDoc, FlyCntType eSet);
338 //XEnumerationAccess
339 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL createEnumeration(void) throw( ::com::sun::star::uno::RuntimeException );
341 //XIndexAccess
342 virtual sal_Int32 SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException );
343 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 );
345 //XNameAccess
346 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 );
347 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getElementNames(void) throw( ::com::sun::star::uno::RuntimeException );
348 virtual sal_Bool SAL_CALL hasByName(const rtl::OUString& Name) throw( ::com::sun::star::uno::RuntimeException );
350 //XElementAccess
351 virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw(::com::sun::star::uno::RuntimeException);
352 virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException);
354 //XServiceInfo
355 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
356 virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
357 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
359 FlyCntType GetType()const{return eType;}
360 static SwXFrame* GetObject( SwFrmFmt& rFmt, FlyCntType eType );
364 /*-----------------20.02.98 10:51-------------------
366 --------------------------------------------------*/
367 class SwXTextFrames : public SwXFrames
369 protected:
370 virtual ~SwXTextFrames();
371 public:
372 SwXTextFrames(SwDoc* pDoc);
375 // SMART_UNO_DECLARATION( SwXTextFrames, UsrObject );
377 //XServiceInfo
378 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
379 virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
380 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
384 /*-----------------20.02.98 10:55-------------------
386 --------------------------------------------------*/
387 class SwXTextGraphicObjects : public SwXFrames
389 protected:
390 virtual ~SwXTextGraphicObjects();
391 public:
392 SwXTextGraphicObjects(SwDoc* pDoc);
395 // SMART_UNO_DECLARATION( SwXTextGraphicObjects, UsrObject );
397 //XServiceInfo
398 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
399 virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
400 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
404 /*-----------------20.02.98 10:57-------------------
406 --------------------------------------------------*/
407 class SwXTextEmbeddedObjects : public SwXFrames
409 protected:
410 virtual ~SwXTextEmbeddedObjects();
411 public:
412 SwXTextEmbeddedObjects(SwDoc* pDoc);
415 // SMART_UNO_DECLARATION( SwXTextEmbeddedObjects, UsrObject );
417 //XServiceInfo
418 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
419 virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
420 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
424 /*-----------------12.02.98 07:58-------------------
426 --------------------------------------------------*/
427 class SwXTextSections : public SwCollectionBaseClass,
428 public SwUnoCollection
430 protected:
431 virtual ~SwXTextSections();
432 public:
433 SwXTextSections(SwDoc* pDoc);
436 //XIndexAccess
437 virtual sal_Int32 SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException );
438 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 );
440 //XNameAccess
441 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 );
442 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getElementNames(void) throw( ::com::sun::star::uno::RuntimeException );
443 virtual sal_Bool SAL_CALL hasByName(const rtl::OUString& Name) throw( ::com::sun::star::uno::RuntimeException );
445 //XElementAccess
446 virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw(::com::sun::star::uno::RuntimeException);
447 virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException);
449 //XServiceInfo
450 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
451 virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
452 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
454 static ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextSection> GetObject( SwSectionFmt& rFmt );
456 /*-----------------12.02.98 07:51-------------------
458 --------------------------------------------------*/
459 class SwXBookmarks : public SwCollectionBaseClass,
460 public SwUnoCollection
462 protected:
463 virtual ~SwXBookmarks();
464 public:
465 SwXBookmarks(SwDoc* pDoc);
468 //XIndexAccess
469 virtual sal_Int32 SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException );
470 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 );
472 //XNameAccess
473 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 );
474 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getElementNames(void) throw( ::com::sun::star::uno::RuntimeException );
475 virtual sal_Bool SAL_CALL hasByName(const rtl::OUString& Name) throw( ::com::sun::star::uno::RuntimeException );
477 //XElementAccess
478 virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw(::com::sun::star::uno::RuntimeException);
479 virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException);
481 //XServiceInfo
482 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
483 virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
484 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
486 static SwXBookmark* GetObject( ::sw::mark::IMark& rBkm, SwDoc* pDoc);
489 class SwXNumberingRulesCollection : public cppu::WeakImplHelper1
491 ::com::sun::star::container::XIndexAccess
493 public SwUnoCollection
495 protected:
496 virtual ~SwXNumberingRulesCollection();
498 public:
499 SwXNumberingRulesCollection( SwDoc* pDoc );
501 //XIndexAccess
502 virtual sal_Int32 SAL_CALL SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException );
503 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 );
505 //XElementAccess
506 virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw(::com::sun::star::uno::RuntimeException);
507 virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException);
510 /*-----------------12.02.98 08:01-------------------
512 --------------------------------------------------*/
514 typedef
515 cppu::WeakImplHelper2
517 ::com::sun::star::container::XIndexAccess,
518 ::com::sun::star::lang::XServiceInfo
520 SwSimpleIndexAccessBaseClass;
522 class SwXFootnotes : public SwSimpleIndexAccessBaseClass,
523 public SwUnoCollection
525 const bool m_bEndnote;
527 protected:
528 virtual ~SwXFootnotes();
529 public:
530 SwXFootnotes(sal_Bool bEnd, SwDoc* pDoc);
532 //XIndexAccess
533 virtual sal_Int32 SAL_CALL SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException );
534 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 );
536 //XElementAccess
537 virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw(::com::sun::star::uno::RuntimeException);
538 virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException);
540 //XServiceInfo
541 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
542 virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
543 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
545 static ::com::sun::star::uno::Reference< ::com::sun::star::text::XFootnote> GetObject( SwDoc& rDoc, const SwFmtFtn& rFmt );
548 /* -----------------27.08.98 13:10-------------------
550 * --------------------------------------------------*/
551 class SwXReferenceMarks : public SwCollectionBaseClass,
552 public SwUnoCollection
554 protected:
555 virtual ~SwXReferenceMarks();
556 public:
557 SwXReferenceMarks(SwDoc* pDoc);
560 //XIndexAccess
561 virtual sal_Int32 SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException );
562 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 );
564 //XNameAccess
565 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 );
566 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getElementNames(void) throw( ::com::sun::star::uno::RuntimeException );
567 virtual sal_Bool SAL_CALL hasByName(const rtl::OUString& Name) throw( ::com::sun::star::uno::RuntimeException );
569 //XElementAccess
570 virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw(::com::sun::star::uno::RuntimeException);
571 virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException);
573 //XServiceInfo
574 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
575 virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
576 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
578 static SwXReferenceMark* GetObject( SwDoc* pDoc, const SwFmtRefMark* pMark );
581 #endif