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