Files
libreoffice/sw/inc/node.hxx

749 lines
25 KiB
C++
Raw Normal View History

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
re-base on ALv2 code. Includes: Patches contributed by Oliver-Rainer Wittmann sw34bf06: #i117783# - Writer's implementation of XPagePrintable - apply print settings to new printing routines http://svn.apache.org/viewvc?view=revision&revision=1172115 sw34bf06: #o12311627# use <rtl_random> methods to create unique ids for list styles and list ids http://svn.apache.org/viewvc?view=revision&revision=1172112 sw34bf06 #i114725#,#i115828# - method <SwDoc::ClearDoc()> - clear list structures completely http://svn.apache.org/viewvc?view=revision&revision=1172122 i#118572 - remove ui string and help content regarding usage of Java Mail in Writer's Mail Merge as Java Mail is not used. http://svn.apache.org/viewvc?view=revision&revision=1197035 Patches contributed by Mathias Bauer cws mba34issues01: #i117718#: provide filter name in case storage of medium does not allow to detect one http://svn.apache.org/viewvc?view=revision&revision=1172350 cws mba34issues01: #i117721#: directly provide parameters retrieved from SfxMedium http://svn.apache.org/viewvc?view=revision&revision=1172353 gnumake4 work variously http://svn.apache.org/viewvc?view=revision&revision=1394707 http://svn.apache.org/viewvc?view=revision&revision=1394326 http://svn.apache.org/viewvc?view=revision&revision=1396797 http://svn.apache.org/viewvc?view=revision&revision=1397315 cws mba34issues01: #i117723#: convert assertion into trace http://svn.apache.org/viewvc?view=revision&revision=1172355 cws mba34issues01: #i117699#: keep layout alive until swdoc dies http://svn.apache.org/viewvc?view=revision&revision=1172362 cws mba34issues01: #i117943#: missing color attributes in RTF clipboard http://svn.apache.org/viewvc?view=revision&revision=1172363 Patch contributed by Henning Brinkmann imported patch i#103878 http://svn.apache.org/viewvc?view=revision&revision=1172109 Patches contributed by Michael Stahl sw34bf06: #i117955#: WW8 export: disable storing of section breaks in endnotes http://svn.apache.org/viewvc?view=revision&revision=1172119 Patch contributed by imacat Fixed the Asian language work count. http://svn.apache.org/viewvc?view=revision&revision=1241345 Patch contributed by Pedro Giffuni i#20878 - Add comment with BZ issue for reference. http://svn.apache.org/viewvc?view=revision&revision=1244517 Patch contributed by Andre Fischer Do not add targets for junit tests when junit is disabled. http://svn.apache.org/viewvc?view=revision&revision=1241508 add writerperfect dependency.
2011-03-31 10:05:04 +02:00
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
2000-09-18 16:15:01 +00:00
#ifndef INCLUDED_SW_INC_NODE_HXX
#define INCLUDED_SW_INC_NODE_HXX
#include <sal/types.h>
2000-09-18 16:15:01 +00:00
#include <tools/mempool.hxx>
#include "swdllapi.h"
2000-09-18 16:15:01 +00:00
#include <ndarr.hxx>
#include <ndtyp.hxx>
#include <index.hxx>
#include <fmtcol.hxx>
#include <memory>
#include <vector>
// forward declarations
2000-09-18 16:15:01 +00:00
class SwCntntFrm;
class SwCntntNode;
class SwDoc;
class SwEndNode;
class SwFrm;
class SwFrmFmt;
class SwGrfNode;
class SwNoTxtNode;
class SwNodeIndex;
class SwOLENode;
class SwRect;
class SwSection;
class SwSectionFmt;
class SwTOXBase;
2000-09-18 16:15:01 +00:00
class SwSectionNode;
class SwStartNode;
class SwTabFrm;
class SwRootFrm;
2000-09-18 16:15:01 +00:00
class SwTable;
class SwTableNode;
class SwTableBox;
class SwTxtNode;
class SwPageDesc;
class SwViewShell;
2000-09-18 16:15:01 +00:00
struct SwPosition;
class IStyleAccess;
INTEGRATION: CWS writercorehandoff (1.12.140); FILE MERGED 2006/07/31 06:20:58 fme 1.12.140.18: #i50348# Resync 2006/07/27 14:34:16 fme 1.12.140.17: RESYNC: (1.14-1.15); FILE MERGED 2006/05/09 10:06:39 fme 1.12.140.16: #i50348# make SwDoc accessible via interfaces 2006/05/08 10:40:27 fme 1.12.140.15: #i50348# Make SwDoc accessible via interfaces 2006/01/20 09:16:34 fme 1.12.140.14: #i50348# General cleanup - removed unused header files, functions, members, declarations 2006/01/19 08:42:53 fme 1.12.140.13: #i50348# General cleanup - removed unused header files, functions, members, declarations 2005/12/20 15:02:15 tra 1.12.140.12: RESYNC: (1.13-1.14); FILE MERGED 2005/11/18 14:52:01 fme 1.12.140.11: #i50348# Make SwDoc accessible via interfaces 2005/11/11 07:54:40 fme 1.12.140.10: #i50348# make SwDoc accessible via interfaces 2005/11/10 21:32:45 tra 1.12.140.9: #i50348# 2005/09/13 11:41:16 tra 1.12.140.8: RESYNC: (1.12-1.13); FILE MERGED 2005/07/19 06:05:20 fme 1.12.140.7: #i50348# make SwDoc accessible via interfaces 2005/07/13 13:23:43 fme 1.12.140.6: #i50348# Make SwDoc accessible via interfaces 2005/07/05 08:12:33 tra 1.12.140.5: #i50348#make SwDoc interface based 2005/06/24 11:42:36 fme 1.12.140.4: #i50348# Make SwDoc accessible via interfaces 2005/06/22 13:08:11 tra 1.12.140.3: #i50348#toward a interface based SwDoc 2005/06/22 06:37:40 tra 1.12.140.2: #i50348# make SwDoc accessible via interfaces 2005/06/07 14:10:09 fme 1.12.140.1: #i50348# General cleanup - removed unused header files, functions, members, declarations etc.
2006-08-14 14:28:28 +00:00
class IDocumentSettingAccess;
class IDocumentDeviceAccess;
CWS-TOOLING: integrate CWS swrefactormarks2 2009-04-09 12:51:41 +0200 b_michaelsen r270689 : #i94949# cleaned up assertions after rebasing 2009-04-08 17:37:08 +0200 b_michaelsen r270658 : fixing sw/source/ui/utlui/makefile.mk 2009-04-07 17:56:54 +0200 b_michaelsen r270606 : added bookctrl.cxx to EXCEPTIONFILES, because this is needed for stl on unxsols4 2009-04-07 17:05:20 +0200 b_michaelsen r270603 : added crbm.cxx to EXCEPTIONFILES, because this is needed for stl on unxsols4 2009-04-02 23:44:38 +0200 b_michaelsen r270436 : CWS-TOOLING: rebase CWS swrefactormarks2 to trunk@270033 (milestone: DEV300:m45) 2009-02-27 16:25:31 +0100 b_michaelsen r268606 : #i94949# fixed Windows buildbreaker 2009-02-25 18:01:13 +0100 b_michaelsen r268464 : #i94949# Bookmarktest document filter roundtrips 2009-02-24 18:23:55 +0100 b_michaelsen r268404 : #i94949# Bookmark unittests 2009-02-23 19:47:44 +0100 b_michaelsen r268370 : #i94949# added unittest for bookmarks 2009-02-23 12:22:07 +0100 b_michaelsen r268348 : #i94949# fixing CheckCrossReferences testcase 2009-02-20 18:12:50 +0100 b_michaelsen r268335 : #i94949# fixing SwXTextRange 2009-02-18 18:32:57 +0100 b_michaelsen r268252 : #i94949# deregistering DdeBookmarks on delete 2009-02-18 18:29:08 +0100 b_michaelsen r268251 : fixing dbgoutsw.cxx for debug builds 2009-02-16 18:42:43 +0100 b_michaelsen r267834 : CWS-TOOLING: rebase CWS swrefactormarks2 to trunk@267171 (milestone: DEV300:m41) 2009-02-12 15:32:02 +0100 b_michaelsen r267667 : #i94949 fixed crossrefbookmark naming 2009-02-11 18:30:08 +0100 b_michaelsen r267624 : #94949# fixing bookmark navigation 2009-02-11 13:55:26 +0100 b_michaelsen r267599 : #i94949# fixed bookmark naming 2009-02-10 17:53:05 +0100 b_michaelsen r267571 : #i94949# renamed HasOtherMarkPos to IsExpanded 2009-02-10 17:23:01 +0100 b_michaelsen r267564 : #i94949# renamed ::sw::bookmark namespace to more fitting ::sw::mark 2009-02-10 16:16:32 +0100 b_michaelsen r267553 : #i94949# creating only CrossRefBookmark per Txtnode 2009-02-10 12:14:05 +0100 b_michaelsen r267547 : #i94949# fixed bookmark count in navigator 2009-02-09 19:12:18 +0100 b_michaelsen r267532 : #i94949# lcl_CopyBookmarks(..) - handle marks on boundaries correctly 2009-02-09 17:32:45 +0100 b_michaelsen r267524 : #i94949# setting the refobject of the DdeBookmark in Sin SwServerObject::SetDdeBookmark(..) 2009-02-09 17:22:15 +0100 b_michaelsen r267523 : #i94949# trying to harden SwServerObject 2009-02-09 16:47:32 +0100 b_michaelsen r267521 : #i94949# lcl_CopyBookmarks(..): try to get the source mark name, if possible 2009-02-09 16:05:42 +0100 b_michaelsen r267519 : #i94949# clearing the OtherMarkPos if PaM has no mark in repositionMark(..), swapping inverted bookmarks without hissing an assertion 2009-02-09 15:55:38 +0100 b_michaelsen r267518 : #i94949# checking for out-of-bounds in SwView::ExecuteStatusLine(..) 2009-02-09 15:23:47 +0100 b_michaelsen r267517 : #i94949# using an UNO_BOOKMARK in ui/dbui/dbinsdlg.cxx 2009-02-09 14:14:47 +0100 b_michaelsen r267514 : #i94949# IDocumentMarkAccess::GetType(..) asserts on unknown type 2009-02-09 14:04:25 +0100 b_michaelsen r267513 : #i94949# using rtl strings instead of tools-strings in CrossRefBookmarks 2009-02-09 13:55:01 +0100 b_michaelsen r267510 : #i94949# using empty string for UnoMark construction 2009-02-09 13:46:46 +0100 b_michaelsen r267509 : #i94949# removed superfluous #includes, removed superfluous member DdeBookmark::bGenerateName, initialized DdeBookmark::m_aRefObj removed superfluous local _FindItem::ClearObj 2009-02-06 14:38:37 +0100 b_michaelsen r267462 : #i94949# fixing FN_STAT_BOOKMARK dispatches 2009-02-05 18:05:07 +0100 b_michaelsen r267436 : #i94949# removing superfluous #includes 2009-02-04 15:51:31 +0100 b_michaelsen r267391 : fixing resync merge error 2009-02-02 19:39:55 +0100 b_michaelsen r267294 : #i94949# bookmark performance 2009-01-30 19:30:51 +0100 b_michaelsen r267229 : #i94949# throwing IllegalArgumentException, if appropriate 2009-01-30 19:29:56 +0100 b_michaelsen r267228 : #i94949# refactored lcl_FillBookmarkArray, comments, constness 2009-01-30 19:23:49 +0100 b_michaelsen r267227 : #i94949# refactored lcl_FillBookmarkArray, comments, constness 2009-01-30 19:16:06 +0100 b_michaelsen r267226 : #i94949# refactored lcl_FillBookmarkArray 2009-01-30 17:59:27 +0100 b_michaelsen r267222 : #i94949# removed superficial #include 2009-01-30 17:50:02 +0100 b_michaelsen r267220 : #i94949# SwXTextRange remembers its UNO bookmark 2009-01-29 20:19:58 +0100 b_michaelsen r267168 : #i94949# implemented IDocumentMarkAccess::findBookmark 2009-01-29 17:22:17 +0100 b_michaelsen r267162 : #i94949# implemented renameMark in Markmanager 2009-01-29 14:17:10 +0100 b_michaelsen r267134 : #i94949# cleanup in SwXBookmark, whitespace 2009-01-29 13:21:54 +0100 b_michaelsen r267125 : #i94949# cleanup in SwXBookmark, whitespace 2009-01-29 13:06:10 +0100 b_michaelsen r267120 : #i94949# cleanup in SwXBookmark, whitespace 2009-01-29 13:00:09 +0100 b_michaelsen r267118 : #i94949# cleanup in SwXBookmark, whitespace 2009-01-29 10:35:10 +0100 b_michaelsen r267101 : #i94949# renamed SetCrsrToBkmk to SetCrsrToMark, moving to start/end of doc if no more bookmarks can be found 2009-01-28 17:05:36 +0100 b_michaelsen r267070 : #i94949# fixed order in aProvNamesId in unocoll.cxx 2009-01-28 15:46:13 +0100 b_michaelsen r267063 : #i94949# documentation 2009-01-28 15:36:59 +0100 b_michaelsen r267062 : #i94949# removing superficial #include 2009-01-28 15:30:36 +0100 b_michaelsen r267061 : #i94949# basic code conventions 2009-01-28 11:14:30 +0100 b_michaelsen r267039 : #i94949# comparing to the actual name of the new mark 2009-01-26 15:22:25 +0100 b_michaelsen r266927 : #i94949# performance fixes 2009-01-14 21:16:56 +0100 b_michaelsen r266332 : #i94949# fixing linux x86-64 compiler warnings 2009-01-14 19:52:06 +0100 b_michaelsen r266331 : #i94949# fixing some compiler warnings 2008-12-15 13:04:49 +0100 b_michaelsen r265474 : #i94949# fixed microsoft compiler warnings 2008-12-12 18:26:02 +0100 b_michaelsen r265434 : #i94949# fixed pro platform buildbreakers 2008-12-11 17:51:24 +0100 b_michaelsen r265342 : CWS-TOOLING: rebase CWS swrefactormarks2 to trunk@264807 (milestone: DEV300:m37) 2008-12-09 18:30:59 +0100 b_michaelsen r265134 : #i94949# fixed IDocumentMarkAccess::GetType for new mark inheritance tree 2008-12-09 16:56:26 +0100 b_michaelsen r265118 : #i94949# fixed deleteMark optimization 2008-12-09 14:55:58 +0100 b_michaelsen r265092 : #i94949# DdeLink and DdeBookmark 2008-12-05 18:28:05 +0100 b_michaelsen r264914 : #i94949# fixed InitDoc in bookmarks 2008-12-02 02:23:51 +0100 b_michaelsen r264649 : #i94949# removed obsolete naming proposal code in SwXTextRange, fixed navigator reminders to forget the oldest reminder when the pool is empty 2008-12-02 02:05:19 +0100 b_michaelsen r264648 : #i94949# using bisect search for delete 2008-12-02 01:58:16 +0100 b_michaelsen r264647 : #i94949# using bisect search for delete 2008-12-02 01:37:33 +0100 b_michaelsen r264646 : #i94949# using bisect search for delete 2008-12-02 01:03:29 +0100 b_michaelsen r264645 : #i94949# fixed deleteMark crash 2008-12-01 20:55:00 +0100 b_michaelsen r264638 : #i94949# removed crossrefs from ui enumerations 2008-12-01 15:48:12 +0100 b_michaelsen r264613 : #i94949# removed superfluous local functions 2008-12-01 15:01:19 +0100 b_michaelsen r264608 : #i94949# optimized insertion of new marks 2008-12-01 14:33:21 +0100 b_michaelsen r264603 : #i94949# simplified code finding Fieldmark for a position 2008-12-01 14:05:55 +0100 b_michaelsen r264598 : #i94949# fixed reverse travelling through marks, removed obsolete getUniqueMarkName() 2008-11-27 18:48:15 +0100 b_michaelsen r264515 : #i94949# fixed _SaveCntntIdx and friends 2008-11-27 15:59:49 +0100 b_michaelsen r264500 : #i94949# fix Mark position only in ctor 2008-11-27 15:52:28 +0100 b_michaelsen r264497 : #i94949# fixed Bug in SwXBookmark, was using pDoc too early 2008-11-26 14:54:22 +0100 b_michaelsen r264396 : #i94949# fixed documentation, simplified navigator reminder code 2008-11-24 20:45:51 +0100 b_michaelsen r264266 : #i94949# removed last obsolete getUniqueMarkName calls 2008-11-24 20:21:35 +0100 b_michaelsen r264265 : #i94949# fixed typo in IDocumentMarkAccess, removed obsolete getUniqueMarkName calls 2008-11-24 18:34:32 +0100 b_michaelsen r264264 : #i94949# repositioning of Marks, removed possibility to delete marks by name in the core, refactoring of navigator reminder generation 2008-11-21 14:08:49 +0100 b_michaelsen r264137 : #i94949# simplified makeMark 2008-11-21 12:07:09 +0100 b_michaelsen r264120 : #i94949# moved ShortName and KeyCode from IMark to IBookmark 2008-11-19 12:50:49 +0100 b_michaelsen r263981 : #i94949# starting refactoring of bookmark naming 2008-11-19 11:31:08 +0100 b_michaelsen r263972 : #i94949# getting rid of obsolete dynamic casts 2008-11-18 19:06:09 +0100 b_michaelsen r263795 : #i94949# getting rid of index based mark access, IDocumentMarkAccess already provides iterators 2008-11-18 17:50:18 +0100 b_michaelsen r263792 : #i94949# getting rid of index based mark access, IDocumentMarkAccess already provides iterators 2008-11-18 16:48:20 +0100 b_michaelsen r263783 : #i94949# removed methods from crsrsh which are already available directly via IDocumentMarkAccess 2008-11-18 11:31:35 +0100 b_michaelsen r263753 : #i94949# cleaning up mark code in crsrsh 2008-11-17 10:15:25 +0100 b_michaelsen r263705 : #i94949# removed possible integer overflow 2008-11-14 18:48:45 +0100 b_michaelsen r263695 : #i94949# management of mark names in MarkManager 2008-11-14 18:23:40 +0100 b_michaelsen r263693 : #i94949# using polymorphism to do mark-specific setup in SwDoc 2008-11-14 16:27:09 +0100 b_michaelsen r263684 : #i94949# got rid of makeCrossRefBookmark 2008-11-14 13:03:32 +0100 b_michaelsen r263674 : #i94949# refactored Correction methods 2008-11-13 12:27:55 +0100 b_michaelsen r263631 : #i94949# got rid of old-style tools assertions in new code 2008-11-12 16:58:16 +0100 b_michaelsen r263608 : #i94949# added assertion for unique names 2008-11-12 16:55:18 +0100 b_michaelsen r263607 : #i94949# maked XFormField deprecated 2008-11-12 13:04:29 +0100 b_michaelsen r263587 : #i94949# replaced IDocumentMarkAccess::GetType with simple dynamic_cast where possible 2008-11-11 18:45:53 +0100 b_michaelsen r263572 : #i94949# cleaned up SwHstryBookmark 2008-11-11 13:48:18 +0100 b_michaelsen r263557 : #i94949# removed dynamic_casts to SwModify by inheriting IMark from it 2008-11-11 11:26:28 +0100 b_michaelsen r263548 : #i94949# fixed SwXBookmark 2008-11-10 17:01:19 +0100 b_michaelsen r263529 : #i94949# fixed DdeBookmarks in clipboard 2008-11-10 16:44:52 +0100 b_michaelsen r263527 : #i94949# formatting 2008-11-10 16:29:16 +0100 b_michaelsen r263526 : #i94949# fixing unoobj.cxx 2008-11-10 16:23:50 +0100 b_michaelsen r263525 : #i94949# cleaning up crossrefbookmark.cxx/.hxx 2008-11-10 16:02:08 +0100 b_michaelsen r263524 : #i94949# Pdf Export should only generate 'real' bookmarks 2008-11-10 15:33:58 +0100 b_michaelsen r263521 : #i94949# removed const_casts 2008-11-10 15:12:06 +0100 b_michaelsen r263520 : #i94949# moved _DelBookmarks into MarksManager 2008-11-07 18:48:38 +0100 b_michaelsen r263480 : #i94949# using iterator interface 2008-11-07 18:41:46 +0100 b_michaelsen r263478 : #i94949# using iterator interface 2008-11-07 18:07:41 +0100 b_michaelsen r263477 : #i94949# using iterator interface 2008-11-07 17:54:41 +0100 b_michaelsen r263476 : #i94949# using iterator interface 2008-11-07 17:44:41 +0100 b_michaelsen r263475 : #i94949# moved correction methods into MarkManager 2008-11-06 18:47:28 +0100 b_michaelsen r263404 : #i94949# getting rid of superfluous const_casts 2008-11-06 17:58:01 +0100 b_michaelsen r263403 : #i94949# no more setting of mark positions outside of the core 2008-11-06 17:08:37 +0100 b_michaelsen r263401 : #i94949# removed setters from IMark 2008-11-06 13:55:25 +0100 b_michaelsen r263383 : #i94949 SwDoc does not implement IDocumentMarkAccess anymore 2008-11-04 18:17:03 +0100 b_michaelsen r263333 : #i94949# began removing IDocumentMarkAccess from SwDoc 2008-11-04 16:48:34 +0100 b_michaelsen r263330 : removing dead code (SwBitArray) found by mst 2008-11-04 16:29:32 +0100 b_michaelsen r263329 : removing dead code (SwBitArray) found by mst 2008-11-04 14:57:48 +0100 b_michaelsen r263326 : removing dead code (SwBitArray) found by mst 2008-11-04 14:50:18 +0100 b_michaelsen r263325 : #i94949# stricter typing in IDocumentMarkAccess 2008-10-24 15:16:27 +0200 b_michaelsen r262647 : #i94949# renamed ::sw::bookmark::SimpleMark to NavigatorReminder to fit the IDocumentMarkAccess enum 2008-10-24 15:10:10 +0200 b_michaelsen r262646 : #i94949# only 'real' bookmark implement IBookmark, Marks also get removed from m_vFieldmarks on delete/clear 2008-10-24 13:06:23 +0200 b_michaelsen r262636 : #i94949# Fieldmark tabnavigation 2008-10-23 12:16:36 +0200 b_michaelsen r262619 : #i94949# Fieldmark classes and filters 2008-10-22 13:17:18 +0200 b_michaelsen r262597 : #i94949# writer import fixes 2008-10-21 11:30:38 +0200 b_michaelsen r262565 : #i94949# renamed methods containing Bookmark in the generic IMark interface 2008-10-20 14:09:02 +0200 b_michaelsen r262318 : #i94949# fixed SwDoc::CorrRel 2008-10-16 22:45:13 +0200 b_michaelsen r262273 : #i94949 simplified Before/After methods 2008-10-16 21:40:57 +0200 b_michaelsen r262271 : #i94949 renamed SimpleMark to NavigatorReminder 2008-10-16 21:15:23 +0200 b_michaelsen r262270 : #i94949 using shared_ptr only in MarkManager 2008-10-16 17:46:37 +0200 b_michaelsen r262269 : #i94949# getFieldmarkBefore and getFieldmarkAfter 2008-10-16 17:12:13 +0200 b_michaelsen r262265 : #i94949# cleanup in crbm.cxx 2008-10-16 12:49:01 +0200 b_michaelsen r262257 : #i94949# fixed usage of invalid iterator, fixed invalid cast 2008-10-15 15:34:20 +0200 b_michaelsen r262239 : #i94949# added moved files 2008-10-15 15:26:45 +0200 b_michaelsen r262237 : #i94949# initial reimplementation of Bookmarks
2009-04-21 15:40:02 +00:00
class IDocumentMarkAccess;
INTEGRATION: CWS writercorehandoff (1.12.140); FILE MERGED 2006/07/31 06:20:58 fme 1.12.140.18: #i50348# Resync 2006/07/27 14:34:16 fme 1.12.140.17: RESYNC: (1.14-1.15); FILE MERGED 2006/05/09 10:06:39 fme 1.12.140.16: #i50348# make SwDoc accessible via interfaces 2006/05/08 10:40:27 fme 1.12.140.15: #i50348# Make SwDoc accessible via interfaces 2006/01/20 09:16:34 fme 1.12.140.14: #i50348# General cleanup - removed unused header files, functions, members, declarations 2006/01/19 08:42:53 fme 1.12.140.13: #i50348# General cleanup - removed unused header files, functions, members, declarations 2005/12/20 15:02:15 tra 1.12.140.12: RESYNC: (1.13-1.14); FILE MERGED 2005/11/18 14:52:01 fme 1.12.140.11: #i50348# Make SwDoc accessible via interfaces 2005/11/11 07:54:40 fme 1.12.140.10: #i50348# make SwDoc accessible via interfaces 2005/11/10 21:32:45 tra 1.12.140.9: #i50348# 2005/09/13 11:41:16 tra 1.12.140.8: RESYNC: (1.12-1.13); FILE MERGED 2005/07/19 06:05:20 fme 1.12.140.7: #i50348# make SwDoc accessible via interfaces 2005/07/13 13:23:43 fme 1.12.140.6: #i50348# Make SwDoc accessible via interfaces 2005/07/05 08:12:33 tra 1.12.140.5: #i50348#make SwDoc interface based 2005/06/24 11:42:36 fme 1.12.140.4: #i50348# Make SwDoc accessible via interfaces 2005/06/22 13:08:11 tra 1.12.140.3: #i50348#toward a interface based SwDoc 2005/06/22 06:37:40 tra 1.12.140.2: #i50348# make SwDoc accessible via interfaces 2005/06/07 14:10:09 fme 1.12.140.1: #i50348# General cleanup - removed unused header files, functions, members, declarations etc.
2006-08-14 14:28:28 +00:00
class IDocumentRedlineAccess;
class IDocumentStylePoolAccess;
class IDocumentLinksAdministration;
class IDocumentFieldsAccess;
class IDocumentContentOperations;
class IDocumentListItems;
class Point;
typedef std::vector<SwOLENode*> SwOLENodes; // docary.hxx
Related: #i124638# Second step of DrawingLayer FillAttributes... for Writer objects, now added support for Paragraph and PageStyle (including Header and Footer) for direct attributes and style attributes (cherry picked from commit cc25c58f7052827bfebdc9fbeec668c8fa29ed1b) Conflicts: cui/source/factory/dlgfact.cxx cui/source/factory/dlgfact.hxx cui/source/inc/bbdlg.hxx cui/source/inc/cuires.hrc cui/source/tabpages/bbdlg.cxx cui/source/tabpages/bbdlg.src cui/source/tabpages/page.cxx cui/source/tabpages/tparea.cxx include/svx/pagectrl.hxx include/svx/svxdlg.hxx include/svx/svxids.hrc include/xmloff/PageMasterStyleMap.hxx include/xmloff/prstylei.hxx include/xmloff/txtprmap.hxx svx/Package_inc.mk svx/inc/svx/hdft.hxx svx/source/dialog/hdft.cxx svx/source/dialog/pagectrl.cxx svx/source/tbxctrls/tbxcolorupdate.cxx svx/source/unodraw/unobrushitemhelper.cxx sw/Library_sw.mk sw/inc/fillattributes.hxx sw/inc/format.hxx sw/inc/frmatr.hxx sw/inc/frmfmt.hxx sw/inc/hintids.hxx sw/inc/hints.hxx sw/inc/ndtxt.hxx sw/inc/node.hxx sw/inc/swunohelper.hxx sw/inc/unobrushitemhelper.hxx sw/inc/unoprnms.hxx sw/source/core/attr/format.cxx sw/source/core/attr/hints.cxx sw/source/core/doc/docdesc.cxx sw/source/core/doc/docdraw.cxx sw/source/core/doc/docfmt.cxx sw/source/core/doc/docnew.cxx sw/source/core/doc/docredln.cxx sw/source/core/doc/poolfmt.cxx sw/source/core/doc/visiturl.cxx sw/source/core/docnode/node.cxx sw/source/core/inc/frame.hxx sw/source/core/inc/frmtool.hxx sw/source/core/inc/rolbck.hxx sw/source/core/layout/atrfrm.cxx sw/source/core/layout/fillattributes.cxx sw/source/core/layout/findfrm.cxx sw/source/core/layout/paintfrm.cxx sw/source/core/txtnode/ndtxt.cxx sw/source/core/txtnode/thints.cxx sw/source/core/txtnode/txtedt.cxx sw/source/core/undo/rolbck.cxx sw/source/core/unocore/swunohelper.cxx sw/source/core/unocore/unoframe.cxx sw/source/core/unocore/unomap.cxx sw/source/core/unocore/unoparagraph.cxx sw/source/core/unocore/unoprnms.cxx sw/source/core/unocore/unostyle.cxx sw/source/ui/chrdlg/paradlg.src sw/source/ui/chrdlg/pardlg.cxx sw/source/ui/fmtui/tmpdlg.cxx sw/source/ui/fmtui/tmpdlg.src sw/source/uibase/app/docst.cxx sw/source/uibase/app/docstyle.cxx sw/source/uibase/frmdlg/colex.cxx sw/source/uibase/shells/basesh.cxx sw/source/uibase/shells/textsh1.cxx sw/source/uibase/uiview/viewstat.cxx sw/source/uibase/utlui/uitool.cxx xmloff/inc/PageMasterImportContext.hxx xmloff/inc/xmloff/XMLShapeStyleContext.hxx xmloff/source/draw/XMLShapeStyleContext.cxx xmloff/source/draw/sdpropls.hxx xmloff/source/style/PageMasterExportPropMapper.cxx xmloff/source/style/PageMasterImportContext.cxx xmloff/source/style/PageMasterPropHdlFactory.cxx xmloff/source/style/PageMasterStyleMap.cxx xmloff/source/style/prstylei.cxx xmloff/source/text/txtexppr.cxx xmloff/source/text/txtprhdl.cxx xmloff/source/text/txtprmap.cxx xmloff/source/text/txtstyli.cxx Conflicts: svx/source/dialog/hdft.cxx sw/source/core/doc/visiturl.cxx sw/source/core/txtnode/thints.cxx sw/source/core/txtnode/txtatr2.cxx sw/source/core/unocore/unostyle.cxx Change-Id: I7e8779db6c0cbd1e242b63eab888f468f2de509a
2014-06-02 15:00:50 +00:00
//UUUU
namespace drawinglayer { namespace attribute {
class SdrAllFillAttributesHelper;
typedef std::shared_ptr< SdrAllFillAttributesHelper > SdrAllFillAttributesHelperPtr;
Related: #i124638# Second step of DrawingLayer FillAttributes... for Writer objects, now added support for Paragraph and PageStyle (including Header and Footer) for direct attributes and style attributes (cherry picked from commit cc25c58f7052827bfebdc9fbeec668c8fa29ed1b) Conflicts: cui/source/factory/dlgfact.cxx cui/source/factory/dlgfact.hxx cui/source/inc/bbdlg.hxx cui/source/inc/cuires.hrc cui/source/tabpages/bbdlg.cxx cui/source/tabpages/bbdlg.src cui/source/tabpages/page.cxx cui/source/tabpages/tparea.cxx include/svx/pagectrl.hxx include/svx/svxdlg.hxx include/svx/svxids.hrc include/xmloff/PageMasterStyleMap.hxx include/xmloff/prstylei.hxx include/xmloff/txtprmap.hxx svx/Package_inc.mk svx/inc/svx/hdft.hxx svx/source/dialog/hdft.cxx svx/source/dialog/pagectrl.cxx svx/source/tbxctrls/tbxcolorupdate.cxx svx/source/unodraw/unobrushitemhelper.cxx sw/Library_sw.mk sw/inc/fillattributes.hxx sw/inc/format.hxx sw/inc/frmatr.hxx sw/inc/frmfmt.hxx sw/inc/hintids.hxx sw/inc/hints.hxx sw/inc/ndtxt.hxx sw/inc/node.hxx sw/inc/swunohelper.hxx sw/inc/unobrushitemhelper.hxx sw/inc/unoprnms.hxx sw/source/core/attr/format.cxx sw/source/core/attr/hints.cxx sw/source/core/doc/docdesc.cxx sw/source/core/doc/docdraw.cxx sw/source/core/doc/docfmt.cxx sw/source/core/doc/docnew.cxx sw/source/core/doc/docredln.cxx sw/source/core/doc/poolfmt.cxx sw/source/core/doc/visiturl.cxx sw/source/core/docnode/node.cxx sw/source/core/inc/frame.hxx sw/source/core/inc/frmtool.hxx sw/source/core/inc/rolbck.hxx sw/source/core/layout/atrfrm.cxx sw/source/core/layout/fillattributes.cxx sw/source/core/layout/findfrm.cxx sw/source/core/layout/paintfrm.cxx sw/source/core/txtnode/ndtxt.cxx sw/source/core/txtnode/thints.cxx sw/source/core/txtnode/txtedt.cxx sw/source/core/undo/rolbck.cxx sw/source/core/unocore/swunohelper.cxx sw/source/core/unocore/unoframe.cxx sw/source/core/unocore/unomap.cxx sw/source/core/unocore/unoparagraph.cxx sw/source/core/unocore/unoprnms.cxx sw/source/core/unocore/unostyle.cxx sw/source/ui/chrdlg/paradlg.src sw/source/ui/chrdlg/pardlg.cxx sw/source/ui/fmtui/tmpdlg.cxx sw/source/ui/fmtui/tmpdlg.src sw/source/uibase/app/docst.cxx sw/source/uibase/app/docstyle.cxx sw/source/uibase/frmdlg/colex.cxx sw/source/uibase/shells/basesh.cxx sw/source/uibase/shells/textsh1.cxx sw/source/uibase/uiview/viewstat.cxx sw/source/uibase/utlui/uitool.cxx xmloff/inc/PageMasterImportContext.hxx xmloff/inc/xmloff/XMLShapeStyleContext.hxx xmloff/source/draw/XMLShapeStyleContext.cxx xmloff/source/draw/sdpropls.hxx xmloff/source/style/PageMasterExportPropMapper.cxx xmloff/source/style/PageMasterImportContext.cxx xmloff/source/style/PageMasterPropHdlFactory.cxx xmloff/source/style/PageMasterStyleMap.cxx xmloff/source/style/prstylei.cxx xmloff/source/text/txtexppr.cxx xmloff/source/text/txtprhdl.cxx xmloff/source/text/txtprmap.cxx xmloff/source/text/txtstyli.cxx Conflicts: svx/source/dialog/hdft.cxx sw/source/core/doc/visiturl.cxx sw/source/core/txtnode/thints.cxx sw/source/core/txtnode/txtatr2.cxx sw/source/core/unocore/unostyle.cxx Change-Id: I7e8779db6c0cbd1e242b63eab888f468f2de509a
2014-06-02 15:00:50 +00:00
}}
2012-02-17 10:47:49 +01:00
/// Base class of the Writer document model elements.
class SW_DLLPUBLIC SwNode
: private BigPtrEntry
2000-09-18 16:15:01 +00:00
{
friend class SwNodes;
sal_uInt8 nNodeType;
2000-09-18 16:15:01 +00:00
/// For text nodes: level of auto format. Was put here because we had still free bits.
sal_uInt8 nAFmtNumLvl : 3;
bool bSetNumLSpace : 1; ///< For numbering: TRUE: set indent.
bool bIgnoreDontExpand : 1; ///< for Text Attributes - ignore the flag
2000-09-18 16:15:01 +00:00
#ifdef DBG_UTIL
static long s_nSerial;
long m_nSerial;
#endif
2000-09-18 16:15:01 +00:00
protected:
SwStartNode* pStartOfSection;
SwNode( const SwNodeIndex &rWhere, const sal_uInt8 nNodeId );
2000-09-18 16:15:01 +00:00
/// for the initial StartNode
SwNode( SwNodes& rNodes, sal_uLong nPos, const sal_uInt8 nNodeId );
2000-09-18 16:15:01 +00:00
public:
/** the = 0 forces the class to be an abstract base class, but the dtor can be still called
from subclasses */
virtual ~SwNode() = 0;
2000-09-18 16:15:01 +00:00
#ifdef DBG_UTIL
long GetSerial() const { return m_nSerial; }
#endif
sal_uInt16 GetSectionLevel() const;
INTEGRATION: CWS writercorehandoff (1.12.140); FILE MERGED 2006/07/31 06:20:58 fme 1.12.140.18: #i50348# Resync 2006/07/27 14:34:16 fme 1.12.140.17: RESYNC: (1.14-1.15); FILE MERGED 2006/05/09 10:06:39 fme 1.12.140.16: #i50348# make SwDoc accessible via interfaces 2006/05/08 10:40:27 fme 1.12.140.15: #i50348# Make SwDoc accessible via interfaces 2006/01/20 09:16:34 fme 1.12.140.14: #i50348# General cleanup - removed unused header files, functions, members, declarations 2006/01/19 08:42:53 fme 1.12.140.13: #i50348# General cleanup - removed unused header files, functions, members, declarations 2005/12/20 15:02:15 tra 1.12.140.12: RESYNC: (1.13-1.14); FILE MERGED 2005/11/18 14:52:01 fme 1.12.140.11: #i50348# Make SwDoc accessible via interfaces 2005/11/11 07:54:40 fme 1.12.140.10: #i50348# make SwDoc accessible via interfaces 2005/11/10 21:32:45 tra 1.12.140.9: #i50348# 2005/09/13 11:41:16 tra 1.12.140.8: RESYNC: (1.12-1.13); FILE MERGED 2005/07/19 06:05:20 fme 1.12.140.7: #i50348# make SwDoc accessible via interfaces 2005/07/13 13:23:43 fme 1.12.140.6: #i50348# Make SwDoc accessible via interfaces 2005/07/05 08:12:33 tra 1.12.140.5: #i50348#make SwDoc interface based 2005/06/24 11:42:36 fme 1.12.140.4: #i50348# Make SwDoc accessible via interfaces 2005/06/22 13:08:11 tra 1.12.140.3: #i50348#toward a interface based SwDoc 2005/06/22 06:37:40 tra 1.12.140.2: #i50348# make SwDoc accessible via interfaces 2005/06/07 14:10:09 fme 1.12.140.1: #i50348# General cleanup - removed unused header files, functions, members, declarations etc.
2006-08-14 14:28:28 +00:00
inline sal_uLong StartOfSectionIndex() const;
INTEGRATION: CWS writercorehandoff (1.12.140); FILE MERGED 2006/07/31 06:20:58 fme 1.12.140.18: #i50348# Resync 2006/07/27 14:34:16 fme 1.12.140.17: RESYNC: (1.14-1.15); FILE MERGED 2006/05/09 10:06:39 fme 1.12.140.16: #i50348# make SwDoc accessible via interfaces 2006/05/08 10:40:27 fme 1.12.140.15: #i50348# Make SwDoc accessible via interfaces 2006/01/20 09:16:34 fme 1.12.140.14: #i50348# General cleanup - removed unused header files, functions, members, declarations 2006/01/19 08:42:53 fme 1.12.140.13: #i50348# General cleanup - removed unused header files, functions, members, declarations 2005/12/20 15:02:15 tra 1.12.140.12: RESYNC: (1.13-1.14); FILE MERGED 2005/11/18 14:52:01 fme 1.12.140.11: #i50348# Make SwDoc accessible via interfaces 2005/11/11 07:54:40 fme 1.12.140.10: #i50348# make SwDoc accessible via interfaces 2005/11/10 21:32:45 tra 1.12.140.9: #i50348# 2005/09/13 11:41:16 tra 1.12.140.8: RESYNC: (1.12-1.13); FILE MERGED 2005/07/19 06:05:20 fme 1.12.140.7: #i50348# make SwDoc accessible via interfaces 2005/07/13 13:23:43 fme 1.12.140.6: #i50348# Make SwDoc accessible via interfaces 2005/07/05 08:12:33 tra 1.12.140.5: #i50348#make SwDoc interface based 2005/06/24 11:42:36 fme 1.12.140.4: #i50348# Make SwDoc accessible via interfaces 2005/06/22 13:08:11 tra 1.12.140.3: #i50348#toward a interface based SwDoc 2005/06/22 06:37:40 tra 1.12.140.2: #i50348# make SwDoc accessible via interfaces 2005/06/07 14:10:09 fme 1.12.140.1: #i50348# General cleanup - removed unused header files, functions, members, declarations etc.
2006-08-14 14:28:28 +00:00
inline const SwStartNode* StartOfSectionNode() const { return pStartOfSection; }
inline SwStartNode* StartOfSectionNode() { return pStartOfSection; }
inline sal_uLong EndOfSectionIndex() const;
2000-09-18 16:15:01 +00:00
inline const SwEndNode* EndOfSectionNode() const;
INTEGRATION: CWS writercorehandoff (1.12.140); FILE MERGED 2006/07/31 06:20:58 fme 1.12.140.18: #i50348# Resync 2006/07/27 14:34:16 fme 1.12.140.17: RESYNC: (1.14-1.15); FILE MERGED 2006/05/09 10:06:39 fme 1.12.140.16: #i50348# make SwDoc accessible via interfaces 2006/05/08 10:40:27 fme 1.12.140.15: #i50348# Make SwDoc accessible via interfaces 2006/01/20 09:16:34 fme 1.12.140.14: #i50348# General cleanup - removed unused header files, functions, members, declarations 2006/01/19 08:42:53 fme 1.12.140.13: #i50348# General cleanup - removed unused header files, functions, members, declarations 2005/12/20 15:02:15 tra 1.12.140.12: RESYNC: (1.13-1.14); FILE MERGED 2005/11/18 14:52:01 fme 1.12.140.11: #i50348# Make SwDoc accessible via interfaces 2005/11/11 07:54:40 fme 1.12.140.10: #i50348# make SwDoc accessible via interfaces 2005/11/10 21:32:45 tra 1.12.140.9: #i50348# 2005/09/13 11:41:16 tra 1.12.140.8: RESYNC: (1.12-1.13); FILE MERGED 2005/07/19 06:05:20 fme 1.12.140.7: #i50348# make SwDoc accessible via interfaces 2005/07/13 13:23:43 fme 1.12.140.6: #i50348# Make SwDoc accessible via interfaces 2005/07/05 08:12:33 tra 1.12.140.5: #i50348#make SwDoc interface based 2005/06/24 11:42:36 fme 1.12.140.4: #i50348# Make SwDoc accessible via interfaces 2005/06/22 13:08:11 tra 1.12.140.3: #i50348#toward a interface based SwDoc 2005/06/22 06:37:40 tra 1.12.140.2: #i50348# make SwDoc accessible via interfaces 2005/06/07 14:10:09 fme 1.12.140.1: #i50348# General cleanup - removed unused header files, functions, members, declarations etc.
2006-08-14 14:28:28 +00:00
inline SwEndNode* EndOfSectionNode();
2000-09-18 16:15:01 +00:00
inline sal_uInt8 GetAutoFmtLvl() const { return nAFmtNumLvl; }
inline void SetAutoFmtLvl( sal_uInt8 nVal ) { nAFmtNumLvl = nVal; }
2000-09-18 16:15:01 +00:00
inline bool IsSetNumLSpace() const { return bSetNumLSpace; }
inline void SetNumLSpace( bool bFlag ) { bSetNumLSpace = bFlag; }
2000-11-06 09:46:12 +00:00
inline bool IsIgnoreDontExpand() const { return bIgnoreDontExpand; }
inline void SetIgnoreDontExpand( bool bNew ) { bIgnoreDontExpand = bNew; }
2000-09-18 16:15:01 +00:00
sal_uInt8 GetNodeType() const { return nNodeType; }
2000-09-18 16:15:01 +00:00
inline SwStartNode *GetStartNode();
inline const SwStartNode *GetStartNode() const;
inline SwCntntNode *GetCntntNode();
inline const SwCntntNode *GetCntntNode() const;
inline SwEndNode *GetEndNode();
inline const SwEndNode *GetEndNode() const;
2011-12-09 20:57:29 +00:00
inline SwTxtNode *GetTxtNode();
inline const SwTxtNode *GetTxtNode() const;
inline SwOLENode *GetOLENode();
inline const SwOLENode *GetOLENode() const;
inline SwNoTxtNode *GetNoTxtNode();
inline const SwNoTxtNode *GetNoTxtNode() const;
inline SwGrfNode *GetGrfNode();
inline const SwGrfNode *GetGrfNode() const;
2000-09-18 16:15:01 +00:00
inline SwTableNode *GetTableNode();
inline const SwTableNode *GetTableNode() const;
inline SwSectionNode *GetSectionNode();
inline const SwSectionNode *GetSectionNode() const;
inline bool IsStartNode() const;
inline bool IsCntntNode() const;
inline bool IsEndNode() const;
inline bool IsTxtNode() const;
inline bool IsTableNode() const;
inline bool IsSectionNode() const;
inline bool IsOLENode() const;
inline bool IsNoTxtNode() const;
inline bool IsGrfNode() const;
2000-09-18 16:15:01 +00:00
/**
Checks if this node is in redlines.
@retval true this node is in redlines
@retval false else
*/
bool IsInRedlines() const;
/** Search table node, in which it is. If it is in no table
@return 0. */
2000-09-18 16:15:01 +00:00
SwTableNode *FindTableNode();
INTEGRATION: CWS writercorehandoff (1.12.140); FILE MERGED 2006/07/31 06:20:58 fme 1.12.140.18: #i50348# Resync 2006/07/27 14:34:16 fme 1.12.140.17: RESYNC: (1.14-1.15); FILE MERGED 2006/05/09 10:06:39 fme 1.12.140.16: #i50348# make SwDoc accessible via interfaces 2006/05/08 10:40:27 fme 1.12.140.15: #i50348# Make SwDoc accessible via interfaces 2006/01/20 09:16:34 fme 1.12.140.14: #i50348# General cleanup - removed unused header files, functions, members, declarations 2006/01/19 08:42:53 fme 1.12.140.13: #i50348# General cleanup - removed unused header files, functions, members, declarations 2005/12/20 15:02:15 tra 1.12.140.12: RESYNC: (1.13-1.14); FILE MERGED 2005/11/18 14:52:01 fme 1.12.140.11: #i50348# Make SwDoc accessible via interfaces 2005/11/11 07:54:40 fme 1.12.140.10: #i50348# make SwDoc accessible via interfaces 2005/11/10 21:32:45 tra 1.12.140.9: #i50348# 2005/09/13 11:41:16 tra 1.12.140.8: RESYNC: (1.12-1.13); FILE MERGED 2005/07/19 06:05:20 fme 1.12.140.7: #i50348# make SwDoc accessible via interfaces 2005/07/13 13:23:43 fme 1.12.140.6: #i50348# Make SwDoc accessible via interfaces 2005/07/05 08:12:33 tra 1.12.140.5: #i50348#make SwDoc interface based 2005/06/24 11:42:36 fme 1.12.140.4: #i50348# Make SwDoc accessible via interfaces 2005/06/22 13:08:11 tra 1.12.140.3: #i50348#toward a interface based SwDoc 2005/06/22 06:37:40 tra 1.12.140.2: #i50348# make SwDoc accessible via interfaces 2005/06/07 14:10:09 fme 1.12.140.1: #i50348# General cleanup - removed unused header files, functions, members, declarations etc.
2006-08-14 14:28:28 +00:00
inline const SwTableNode *FindTableNode() const;
2000-09-18 16:15:01 +00:00
/** Search section node, in which it is. If it is in no section
@return 0. */
2000-09-18 16:15:01 +00:00
SwSectionNode *FindSectionNode();
INTEGRATION: CWS writercorehandoff (1.12.140); FILE MERGED 2006/07/31 06:20:58 fme 1.12.140.18: #i50348# Resync 2006/07/27 14:34:16 fme 1.12.140.17: RESYNC: (1.14-1.15); FILE MERGED 2006/05/09 10:06:39 fme 1.12.140.16: #i50348# make SwDoc accessible via interfaces 2006/05/08 10:40:27 fme 1.12.140.15: #i50348# Make SwDoc accessible via interfaces 2006/01/20 09:16:34 fme 1.12.140.14: #i50348# General cleanup - removed unused header files, functions, members, declarations 2006/01/19 08:42:53 fme 1.12.140.13: #i50348# General cleanup - removed unused header files, functions, members, declarations 2005/12/20 15:02:15 tra 1.12.140.12: RESYNC: (1.13-1.14); FILE MERGED 2005/11/18 14:52:01 fme 1.12.140.11: #i50348# Make SwDoc accessible via interfaces 2005/11/11 07:54:40 fme 1.12.140.10: #i50348# make SwDoc accessible via interfaces 2005/11/10 21:32:45 tra 1.12.140.9: #i50348# 2005/09/13 11:41:16 tra 1.12.140.8: RESYNC: (1.12-1.13); FILE MERGED 2005/07/19 06:05:20 fme 1.12.140.7: #i50348# make SwDoc accessible via interfaces 2005/07/13 13:23:43 fme 1.12.140.6: #i50348# Make SwDoc accessible via interfaces 2005/07/05 08:12:33 tra 1.12.140.5: #i50348#make SwDoc interface based 2005/06/24 11:42:36 fme 1.12.140.4: #i50348# Make SwDoc accessible via interfaces 2005/06/22 13:08:11 tra 1.12.140.3: #i50348#toward a interface based SwDoc 2005/06/22 06:37:40 tra 1.12.140.2: #i50348# make SwDoc accessible via interfaces 2005/06/07 14:10:09 fme 1.12.140.1: #i50348# General cleanup - removed unused header files, functions, members, declarations etc.
2006-08-14 14:28:28 +00:00
inline const SwSectionNode *FindSectionNode() const;
2000-09-18 16:15:01 +00:00
SwStartNode* FindSttNodeByType( SwStartNodeType eTyp );
inline const SwStartNode* FindSttNodeByType( SwStartNodeType eTyp ) const;
const SwStartNode* FindTableBoxStartNode() const
{ return FindSttNodeByType( SwTableBoxStartNode ); }
const SwStartNode* FindFlyStartNode() const
{ return FindSttNodeByType( SwFlyStartNode ); }
const SwStartNode* FindFootnoteStartNode() const
{ return FindSttNodeByType( SwFootnoteStartNode ); }
const SwStartNode* FindHeaderStartNode() const
{ return FindSttNodeByType( SwHeaderStartNode ); }
const SwStartNode* FindFooterStartNode() const
{ return FindSttNodeByType( SwFooterStartNode ); }
/// Node is in which nodes-array/doc?
INTEGRATION: CWS writercorehandoff (1.12.140); FILE MERGED 2006/07/31 06:20:58 fme 1.12.140.18: #i50348# Resync 2006/07/27 14:34:16 fme 1.12.140.17: RESYNC: (1.14-1.15); FILE MERGED 2006/05/09 10:06:39 fme 1.12.140.16: #i50348# make SwDoc accessible via interfaces 2006/05/08 10:40:27 fme 1.12.140.15: #i50348# Make SwDoc accessible via interfaces 2006/01/20 09:16:34 fme 1.12.140.14: #i50348# General cleanup - removed unused header files, functions, members, declarations 2006/01/19 08:42:53 fme 1.12.140.13: #i50348# General cleanup - removed unused header files, functions, members, declarations 2005/12/20 15:02:15 tra 1.12.140.12: RESYNC: (1.13-1.14); FILE MERGED 2005/11/18 14:52:01 fme 1.12.140.11: #i50348# Make SwDoc accessible via interfaces 2005/11/11 07:54:40 fme 1.12.140.10: #i50348# make SwDoc accessible via interfaces 2005/11/10 21:32:45 tra 1.12.140.9: #i50348# 2005/09/13 11:41:16 tra 1.12.140.8: RESYNC: (1.12-1.13); FILE MERGED 2005/07/19 06:05:20 fme 1.12.140.7: #i50348# make SwDoc accessible via interfaces 2005/07/13 13:23:43 fme 1.12.140.6: #i50348# Make SwDoc accessible via interfaces 2005/07/05 08:12:33 tra 1.12.140.5: #i50348#make SwDoc interface based 2005/06/24 11:42:36 fme 1.12.140.4: #i50348# Make SwDoc accessible via interfaces 2005/06/22 13:08:11 tra 1.12.140.3: #i50348#toward a interface based SwDoc 2005/06/22 06:37:40 tra 1.12.140.2: #i50348# make SwDoc accessible via interfaces 2005/06/07 14:10:09 fme 1.12.140.1: #i50348# General cleanup - removed unused header files, functions, members, declarations etc.
2006-08-14 14:28:28 +00:00
inline SwNodes& GetNodes();
2000-09-18 16:15:01 +00:00
inline const SwNodes& GetNodes() const;
INTEGRATION: CWS writercorehandoff (1.12.140); FILE MERGED 2006/07/31 06:20:58 fme 1.12.140.18: #i50348# Resync 2006/07/27 14:34:16 fme 1.12.140.17: RESYNC: (1.14-1.15); FILE MERGED 2006/05/09 10:06:39 fme 1.12.140.16: #i50348# make SwDoc accessible via interfaces 2006/05/08 10:40:27 fme 1.12.140.15: #i50348# Make SwDoc accessible via interfaces 2006/01/20 09:16:34 fme 1.12.140.14: #i50348# General cleanup - removed unused header files, functions, members, declarations 2006/01/19 08:42:53 fme 1.12.140.13: #i50348# General cleanup - removed unused header files, functions, members, declarations 2005/12/20 15:02:15 tra 1.12.140.12: RESYNC: (1.13-1.14); FILE MERGED 2005/11/18 14:52:01 fme 1.12.140.11: #i50348# Make SwDoc accessible via interfaces 2005/11/11 07:54:40 fme 1.12.140.10: #i50348# make SwDoc accessible via interfaces 2005/11/10 21:32:45 tra 1.12.140.9: #i50348# 2005/09/13 11:41:16 tra 1.12.140.8: RESYNC: (1.12-1.13); FILE MERGED 2005/07/19 06:05:20 fme 1.12.140.7: #i50348# make SwDoc accessible via interfaces 2005/07/13 13:23:43 fme 1.12.140.6: #i50348# Make SwDoc accessible via interfaces 2005/07/05 08:12:33 tra 1.12.140.5: #i50348#make SwDoc interface based 2005/06/24 11:42:36 fme 1.12.140.4: #i50348# Make SwDoc accessible via interfaces 2005/06/22 13:08:11 tra 1.12.140.3: #i50348#toward a interface based SwDoc 2005/06/22 06:37:40 tra 1.12.140.2: #i50348# make SwDoc accessible via interfaces 2005/06/07 14:10:09 fme 1.12.140.1: #i50348# General cleanup - removed unused header files, functions, members, declarations etc.
2006-08-14 14:28:28 +00:00
inline SwDoc* GetDoc();
inline const SwDoc* GetDoc() const;
/** Provides access to the document setting interface
*/
const IDocumentSettingAccess* getIDocumentSettingAccess() const;
/** Provides access to the document device interface
*/
const IDocumentDeviceAccess* getIDocumentDeviceAccess() const;
/** Provides access to the document bookmark interface
*/
CWS-TOOLING: integrate CWS swrefactormarks2 2009-04-09 12:51:41 +0200 b_michaelsen r270689 : #i94949# cleaned up assertions after rebasing 2009-04-08 17:37:08 +0200 b_michaelsen r270658 : fixing sw/source/ui/utlui/makefile.mk 2009-04-07 17:56:54 +0200 b_michaelsen r270606 : added bookctrl.cxx to EXCEPTIONFILES, because this is needed for stl on unxsols4 2009-04-07 17:05:20 +0200 b_michaelsen r270603 : added crbm.cxx to EXCEPTIONFILES, because this is needed for stl on unxsols4 2009-04-02 23:44:38 +0200 b_michaelsen r270436 : CWS-TOOLING: rebase CWS swrefactormarks2 to trunk@270033 (milestone: DEV300:m45) 2009-02-27 16:25:31 +0100 b_michaelsen r268606 : #i94949# fixed Windows buildbreaker 2009-02-25 18:01:13 +0100 b_michaelsen r268464 : #i94949# Bookmarktest document filter roundtrips 2009-02-24 18:23:55 +0100 b_michaelsen r268404 : #i94949# Bookmark unittests 2009-02-23 19:47:44 +0100 b_michaelsen r268370 : #i94949# added unittest for bookmarks 2009-02-23 12:22:07 +0100 b_michaelsen r268348 : #i94949# fixing CheckCrossReferences testcase 2009-02-20 18:12:50 +0100 b_michaelsen r268335 : #i94949# fixing SwXTextRange 2009-02-18 18:32:57 +0100 b_michaelsen r268252 : #i94949# deregistering DdeBookmarks on delete 2009-02-18 18:29:08 +0100 b_michaelsen r268251 : fixing dbgoutsw.cxx for debug builds 2009-02-16 18:42:43 +0100 b_michaelsen r267834 : CWS-TOOLING: rebase CWS swrefactormarks2 to trunk@267171 (milestone: DEV300:m41) 2009-02-12 15:32:02 +0100 b_michaelsen r267667 : #i94949 fixed crossrefbookmark naming 2009-02-11 18:30:08 +0100 b_michaelsen r267624 : #94949# fixing bookmark navigation 2009-02-11 13:55:26 +0100 b_michaelsen r267599 : #i94949# fixed bookmark naming 2009-02-10 17:53:05 +0100 b_michaelsen r267571 : #i94949# renamed HasOtherMarkPos to IsExpanded 2009-02-10 17:23:01 +0100 b_michaelsen r267564 : #i94949# renamed ::sw::bookmark namespace to more fitting ::sw::mark 2009-02-10 16:16:32 +0100 b_michaelsen r267553 : #i94949# creating only CrossRefBookmark per Txtnode 2009-02-10 12:14:05 +0100 b_michaelsen r267547 : #i94949# fixed bookmark count in navigator 2009-02-09 19:12:18 +0100 b_michaelsen r267532 : #i94949# lcl_CopyBookmarks(..) - handle marks on boundaries correctly 2009-02-09 17:32:45 +0100 b_michaelsen r267524 : #i94949# setting the refobject of the DdeBookmark in Sin SwServerObject::SetDdeBookmark(..) 2009-02-09 17:22:15 +0100 b_michaelsen r267523 : #i94949# trying to harden SwServerObject 2009-02-09 16:47:32 +0100 b_michaelsen r267521 : #i94949# lcl_CopyBookmarks(..): try to get the source mark name, if possible 2009-02-09 16:05:42 +0100 b_michaelsen r267519 : #i94949# clearing the OtherMarkPos if PaM has no mark in repositionMark(..), swapping inverted bookmarks without hissing an assertion 2009-02-09 15:55:38 +0100 b_michaelsen r267518 : #i94949# checking for out-of-bounds in SwView::ExecuteStatusLine(..) 2009-02-09 15:23:47 +0100 b_michaelsen r267517 : #i94949# using an UNO_BOOKMARK in ui/dbui/dbinsdlg.cxx 2009-02-09 14:14:47 +0100 b_michaelsen r267514 : #i94949# IDocumentMarkAccess::GetType(..) asserts on unknown type 2009-02-09 14:04:25 +0100 b_michaelsen r267513 : #i94949# using rtl strings instead of tools-strings in CrossRefBookmarks 2009-02-09 13:55:01 +0100 b_michaelsen r267510 : #i94949# using empty string for UnoMark construction 2009-02-09 13:46:46 +0100 b_michaelsen r267509 : #i94949# removed superfluous #includes, removed superfluous member DdeBookmark::bGenerateName, initialized DdeBookmark::m_aRefObj removed superfluous local _FindItem::ClearObj 2009-02-06 14:38:37 +0100 b_michaelsen r267462 : #i94949# fixing FN_STAT_BOOKMARK dispatches 2009-02-05 18:05:07 +0100 b_michaelsen r267436 : #i94949# removing superfluous #includes 2009-02-04 15:51:31 +0100 b_michaelsen r267391 : fixing resync merge error 2009-02-02 19:39:55 +0100 b_michaelsen r267294 : #i94949# bookmark performance 2009-01-30 19:30:51 +0100 b_michaelsen r267229 : #i94949# throwing IllegalArgumentException, if appropriate 2009-01-30 19:29:56 +0100 b_michaelsen r267228 : #i94949# refactored lcl_FillBookmarkArray, comments, constness 2009-01-30 19:23:49 +0100 b_michaelsen r267227 : #i94949# refactored lcl_FillBookmarkArray, comments, constness 2009-01-30 19:16:06 +0100 b_michaelsen r267226 : #i94949# refactored lcl_FillBookmarkArray 2009-01-30 17:59:27 +0100 b_michaelsen r267222 : #i94949# removed superficial #include 2009-01-30 17:50:02 +0100 b_michaelsen r267220 : #i94949# SwXTextRange remembers its UNO bookmark 2009-01-29 20:19:58 +0100 b_michaelsen r267168 : #i94949# implemented IDocumentMarkAccess::findBookmark 2009-01-29 17:22:17 +0100 b_michaelsen r267162 : #i94949# implemented renameMark in Markmanager 2009-01-29 14:17:10 +0100 b_michaelsen r267134 : #i94949# cleanup in SwXBookmark, whitespace 2009-01-29 13:21:54 +0100 b_michaelsen r267125 : #i94949# cleanup in SwXBookmark, whitespace 2009-01-29 13:06:10 +0100 b_michaelsen r267120 : #i94949# cleanup in SwXBookmark, whitespace 2009-01-29 13:00:09 +0100 b_michaelsen r267118 : #i94949# cleanup in SwXBookmark, whitespace 2009-01-29 10:35:10 +0100 b_michaelsen r267101 : #i94949# renamed SetCrsrToBkmk to SetCrsrToMark, moving to start/end of doc if no more bookmarks can be found 2009-01-28 17:05:36 +0100 b_michaelsen r267070 : #i94949# fixed order in aProvNamesId in unocoll.cxx 2009-01-28 15:46:13 +0100 b_michaelsen r267063 : #i94949# documentation 2009-01-28 15:36:59 +0100 b_michaelsen r267062 : #i94949# removing superficial #include 2009-01-28 15:30:36 +0100 b_michaelsen r267061 : #i94949# basic code conventions 2009-01-28 11:14:30 +0100 b_michaelsen r267039 : #i94949# comparing to the actual name of the new mark 2009-01-26 15:22:25 +0100 b_michaelsen r266927 : #i94949# performance fixes 2009-01-14 21:16:56 +0100 b_michaelsen r266332 : #i94949# fixing linux x86-64 compiler warnings 2009-01-14 19:52:06 +0100 b_michaelsen r266331 : #i94949# fixing some compiler warnings 2008-12-15 13:04:49 +0100 b_michaelsen r265474 : #i94949# fixed microsoft compiler warnings 2008-12-12 18:26:02 +0100 b_michaelsen r265434 : #i94949# fixed pro platform buildbreakers 2008-12-11 17:51:24 +0100 b_michaelsen r265342 : CWS-TOOLING: rebase CWS swrefactormarks2 to trunk@264807 (milestone: DEV300:m37) 2008-12-09 18:30:59 +0100 b_michaelsen r265134 : #i94949# fixed IDocumentMarkAccess::GetType for new mark inheritance tree 2008-12-09 16:56:26 +0100 b_michaelsen r265118 : #i94949# fixed deleteMark optimization 2008-12-09 14:55:58 +0100 b_michaelsen r265092 : #i94949# DdeLink and DdeBookmark 2008-12-05 18:28:05 +0100 b_michaelsen r264914 : #i94949# fixed InitDoc in bookmarks 2008-12-02 02:23:51 +0100 b_michaelsen r264649 : #i94949# removed obsolete naming proposal code in SwXTextRange, fixed navigator reminders to forget the oldest reminder when the pool is empty 2008-12-02 02:05:19 +0100 b_michaelsen r264648 : #i94949# using bisect search for delete 2008-12-02 01:58:16 +0100 b_michaelsen r264647 : #i94949# using bisect search for delete 2008-12-02 01:37:33 +0100 b_michaelsen r264646 : #i94949# using bisect search for delete 2008-12-02 01:03:29 +0100 b_michaelsen r264645 : #i94949# fixed deleteMark crash 2008-12-01 20:55:00 +0100 b_michaelsen r264638 : #i94949# removed crossrefs from ui enumerations 2008-12-01 15:48:12 +0100 b_michaelsen r264613 : #i94949# removed superfluous local functions 2008-12-01 15:01:19 +0100 b_michaelsen r264608 : #i94949# optimized insertion of new marks 2008-12-01 14:33:21 +0100 b_michaelsen r264603 : #i94949# simplified code finding Fieldmark for a position 2008-12-01 14:05:55 +0100 b_michaelsen r264598 : #i94949# fixed reverse travelling through marks, removed obsolete getUniqueMarkName() 2008-11-27 18:48:15 +0100 b_michaelsen r264515 : #i94949# fixed _SaveCntntIdx and friends 2008-11-27 15:59:49 +0100 b_michaelsen r264500 : #i94949# fix Mark position only in ctor 2008-11-27 15:52:28 +0100 b_michaelsen r264497 : #i94949# fixed Bug in SwXBookmark, was using pDoc too early 2008-11-26 14:54:22 +0100 b_michaelsen r264396 : #i94949# fixed documentation, simplified navigator reminder code 2008-11-24 20:45:51 +0100 b_michaelsen r264266 : #i94949# removed last obsolete getUniqueMarkName calls 2008-11-24 20:21:35 +0100 b_michaelsen r264265 : #i94949# fixed typo in IDocumentMarkAccess, removed obsolete getUniqueMarkName calls 2008-11-24 18:34:32 +0100 b_michaelsen r264264 : #i94949# repositioning of Marks, removed possibility to delete marks by name in the core, refactoring of navigator reminder generation 2008-11-21 14:08:49 +0100 b_michaelsen r264137 : #i94949# simplified makeMark 2008-11-21 12:07:09 +0100 b_michaelsen r264120 : #i94949# moved ShortName and KeyCode from IMark to IBookmark 2008-11-19 12:50:49 +0100 b_michaelsen r263981 : #i94949# starting refactoring of bookmark naming 2008-11-19 11:31:08 +0100 b_michaelsen r263972 : #i94949# getting rid of obsolete dynamic casts 2008-11-18 19:06:09 +0100 b_michaelsen r263795 : #i94949# getting rid of index based mark access, IDocumentMarkAccess already provides iterators 2008-11-18 17:50:18 +0100 b_michaelsen r263792 : #i94949# getting rid of index based mark access, IDocumentMarkAccess already provides iterators 2008-11-18 16:48:20 +0100 b_michaelsen r263783 : #i94949# removed methods from crsrsh which are already available directly via IDocumentMarkAccess 2008-11-18 11:31:35 +0100 b_michaelsen r263753 : #i94949# cleaning up mark code in crsrsh 2008-11-17 10:15:25 +0100 b_michaelsen r263705 : #i94949# removed possible integer overflow 2008-11-14 18:48:45 +0100 b_michaelsen r263695 : #i94949# management of mark names in MarkManager 2008-11-14 18:23:40 +0100 b_michaelsen r263693 : #i94949# using polymorphism to do mark-specific setup in SwDoc 2008-11-14 16:27:09 +0100 b_michaelsen r263684 : #i94949# got rid of makeCrossRefBookmark 2008-11-14 13:03:32 +0100 b_michaelsen r263674 : #i94949# refactored Correction methods 2008-11-13 12:27:55 +0100 b_michaelsen r263631 : #i94949# got rid of old-style tools assertions in new code 2008-11-12 16:58:16 +0100 b_michaelsen r263608 : #i94949# added assertion for unique names 2008-11-12 16:55:18 +0100 b_michaelsen r263607 : #i94949# maked XFormField deprecated 2008-11-12 13:04:29 +0100 b_michaelsen r263587 : #i94949# replaced IDocumentMarkAccess::GetType with simple dynamic_cast where possible 2008-11-11 18:45:53 +0100 b_michaelsen r263572 : #i94949# cleaned up SwHstryBookmark 2008-11-11 13:48:18 +0100 b_michaelsen r263557 : #i94949# removed dynamic_casts to SwModify by inheriting IMark from it 2008-11-11 11:26:28 +0100 b_michaelsen r263548 : #i94949# fixed SwXBookmark 2008-11-10 17:01:19 +0100 b_michaelsen r263529 : #i94949# fixed DdeBookmarks in clipboard 2008-11-10 16:44:52 +0100 b_michaelsen r263527 : #i94949# formatting 2008-11-10 16:29:16 +0100 b_michaelsen r263526 : #i94949# fixing unoobj.cxx 2008-11-10 16:23:50 +0100 b_michaelsen r263525 : #i94949# cleaning up crossrefbookmark.cxx/.hxx 2008-11-10 16:02:08 +0100 b_michaelsen r263524 : #i94949# Pdf Export should only generate 'real' bookmarks 2008-11-10 15:33:58 +0100 b_michaelsen r263521 : #i94949# removed const_casts 2008-11-10 15:12:06 +0100 b_michaelsen r263520 : #i94949# moved _DelBookmarks into MarksManager 2008-11-07 18:48:38 +0100 b_michaelsen r263480 : #i94949# using iterator interface 2008-11-07 18:41:46 +0100 b_michaelsen r263478 : #i94949# using iterator interface 2008-11-07 18:07:41 +0100 b_michaelsen r263477 : #i94949# using iterator interface 2008-11-07 17:54:41 +0100 b_michaelsen r263476 : #i94949# using iterator interface 2008-11-07 17:44:41 +0100 b_michaelsen r263475 : #i94949# moved correction methods into MarkManager 2008-11-06 18:47:28 +0100 b_michaelsen r263404 : #i94949# getting rid of superfluous const_casts 2008-11-06 17:58:01 +0100 b_michaelsen r263403 : #i94949# no more setting of mark positions outside of the core 2008-11-06 17:08:37 +0100 b_michaelsen r263401 : #i94949# removed setters from IMark 2008-11-06 13:55:25 +0100 b_michaelsen r263383 : #i94949 SwDoc does not implement IDocumentMarkAccess anymore 2008-11-04 18:17:03 +0100 b_michaelsen r263333 : #i94949# began removing IDocumentMarkAccess from SwDoc 2008-11-04 16:48:34 +0100 b_michaelsen r263330 : removing dead code (SwBitArray) found by mst 2008-11-04 16:29:32 +0100 b_michaelsen r263329 : removing dead code (SwBitArray) found by mst 2008-11-04 14:57:48 +0100 b_michaelsen r263326 : removing dead code (SwBitArray) found by mst 2008-11-04 14:50:18 +0100 b_michaelsen r263325 : #i94949# stricter typing in IDocumentMarkAccess 2008-10-24 15:16:27 +0200 b_michaelsen r262647 : #i94949# renamed ::sw::bookmark::SimpleMark to NavigatorReminder to fit the IDocumentMarkAccess enum 2008-10-24 15:10:10 +0200 b_michaelsen r262646 : #i94949# only 'real' bookmark implement IBookmark, Marks also get removed from m_vFieldmarks on delete/clear 2008-10-24 13:06:23 +0200 b_michaelsen r262636 : #i94949# Fieldmark tabnavigation 2008-10-23 12:16:36 +0200 b_michaelsen r262619 : #i94949# Fieldmark classes and filters 2008-10-22 13:17:18 +0200 b_michaelsen r262597 : #i94949# writer import fixes 2008-10-21 11:30:38 +0200 b_michaelsen r262565 : #i94949# renamed methods containing Bookmark in the generic IMark interface 2008-10-20 14:09:02 +0200 b_michaelsen r262318 : #i94949# fixed SwDoc::CorrRel 2008-10-16 22:45:13 +0200 b_michaelsen r262273 : #i94949 simplified Before/After methods 2008-10-16 21:40:57 +0200 b_michaelsen r262271 : #i94949 renamed SimpleMark to NavigatorReminder 2008-10-16 21:15:23 +0200 b_michaelsen r262270 : #i94949 using shared_ptr only in MarkManager 2008-10-16 17:46:37 +0200 b_michaelsen r262269 : #i94949# getFieldmarkBefore and getFieldmarkAfter 2008-10-16 17:12:13 +0200 b_michaelsen r262265 : #i94949# cleanup in crbm.cxx 2008-10-16 12:49:01 +0200 b_michaelsen r262257 : #i94949# fixed usage of invalid iterator, fixed invalid cast 2008-10-15 15:34:20 +0200 b_michaelsen r262239 : #i94949# added moved files 2008-10-15 15:26:45 +0200 b_michaelsen r262237 : #i94949# initial reimplementation of Bookmarks
2009-04-21 15:40:02 +00:00
const IDocumentMarkAccess* getIDocumentMarkAccess() const;
INTEGRATION: CWS writercorehandoff (1.12.140); FILE MERGED 2006/07/31 06:20:58 fme 1.12.140.18: #i50348# Resync 2006/07/27 14:34:16 fme 1.12.140.17: RESYNC: (1.14-1.15); FILE MERGED 2006/05/09 10:06:39 fme 1.12.140.16: #i50348# make SwDoc accessible via interfaces 2006/05/08 10:40:27 fme 1.12.140.15: #i50348# Make SwDoc accessible via interfaces 2006/01/20 09:16:34 fme 1.12.140.14: #i50348# General cleanup - removed unused header files, functions, members, declarations 2006/01/19 08:42:53 fme 1.12.140.13: #i50348# General cleanup - removed unused header files, functions, members, declarations 2005/12/20 15:02:15 tra 1.12.140.12: RESYNC: (1.13-1.14); FILE MERGED 2005/11/18 14:52:01 fme 1.12.140.11: #i50348# Make SwDoc accessible via interfaces 2005/11/11 07:54:40 fme 1.12.140.10: #i50348# make SwDoc accessible via interfaces 2005/11/10 21:32:45 tra 1.12.140.9: #i50348# 2005/09/13 11:41:16 tra 1.12.140.8: RESYNC: (1.12-1.13); FILE MERGED 2005/07/19 06:05:20 fme 1.12.140.7: #i50348# make SwDoc accessible via interfaces 2005/07/13 13:23:43 fme 1.12.140.6: #i50348# Make SwDoc accessible via interfaces 2005/07/05 08:12:33 tra 1.12.140.5: #i50348#make SwDoc interface based 2005/06/24 11:42:36 fme 1.12.140.4: #i50348# Make SwDoc accessible via interfaces 2005/06/22 13:08:11 tra 1.12.140.3: #i50348#toward a interface based SwDoc 2005/06/22 06:37:40 tra 1.12.140.2: #i50348# make SwDoc accessible via interfaces 2005/06/07 14:10:09 fme 1.12.140.1: #i50348# General cleanup - removed unused header files, functions, members, declarations etc.
2006-08-14 14:28:28 +00:00
/** Provides access to the document redline interface
*/
const IDocumentRedlineAccess* getIDocumentRedlineAccess() const;
/** Provides access to the document style pool interface
*/
const IDocumentStylePoolAccess* getIDocumentStylePoolAccess() const;
/** Provides access to the document draw model interface
*/
const IDocumentDrawModelAccess* getIDocumentDrawModelAccess() const;
/** Provides access to the document layout interface
*/
const IDocumentLayoutAccess* getIDocumentLayoutAccess() const;
IDocumentLayoutAccess* getIDocumentLayoutAccess();
/** Provides access to the document links administration interface
*/
const IDocumentLinksAdministration* getIDocumentLinksAdministration() const;
IDocumentLinksAdministration* getIDocumentLinksAdministration();
/** Provides access to the document fields administration interface
*/
const IDocumentFieldsAccess* getIDocumentFieldsAccess() const;
IDocumentFieldsAccess* getIDocumentFieldsAccess();
/** Provides access to the document content operations interface
*/
IDocumentContentOperations* getIDocumentContentOperations();
2000-09-18 16:15:01 +00:00
/** Provides access to the document automatic styles interface
*/
IStyleAccess& getIDocumentStyleAccess();
/** Provides access to the document's numbered items interface
@author OD
*/
IDocumentListItems& getIDocumentListItems();
/// Is node in the visible area of the Shell?
bool IsInVisibleArea( SwViewShell const * pSh = 0 ) const;
/// Is node in an protected area?
bool IsInProtectSect() const;
/** Is node in something that is protected (range, frame,
table cells ... including anchor in case of frames or footnotes)? */
bool IsProtect() const;
2011-02-21 02:20:33 +01:00
/** Search PageDesc with which this node is formated. If layout is existent
search over layout, else only the hard way is left: search over the nodes
to the front!! */
const SwPageDesc* FindPageDesc( bool bCalcLay, sal_uInt32* pPgDescNdIdx = 0 ) const;
2000-09-18 16:15:01 +00:00
/// If node is in a fly return the respective format.
2000-09-18 16:15:01 +00:00
SwFrmFmt* GetFlyFmt() const;
/// If node is in a table return the respective table box.
2000-09-18 16:15:01 +00:00
SwTableBox* GetTblBox() const;
inline sal_uLong GetIndex() const { return GetPos(); }
2000-09-18 16:15:01 +00:00
const SwTxtNode* FindOutlineNodeOfLevel( sal_uInt8 nLvl ) const;
2000-09-18 16:15:01 +00:00
sal_uInt8 HasPrevNextLayNode() const;
2000-09-18 16:15:01 +00:00
/**
* Dumps the node structure to the given destination (file nodes.xml in the current directory by default)
* @since 3.5
*/
virtual void dumpAsXml(struct _xmlTextWriter* pWriter) const;
2000-09-18 16:15:01 +00:00
private:
SwNode( const SwNode & rNodes ) SAL_DELETED_FUNCTION;
SwNode & operator= ( const SwNode & rNodes ) SAL_DELETED_FUNCTION;
2000-09-18 16:15:01 +00:00
};
2012-02-17 10:47:49 +01:00
/// Starts a section of nodes in the document model.
2000-09-18 16:15:01 +00:00
class SwStartNode: public SwNode
{
friend class SwNode;
friend class SwNodes;
friend class SwEndNode; ///< to set the theEndOfSection !!
2000-09-18 16:15:01 +00:00
SwEndNode* pEndOfSection;
SwStartNodeType eSttNdTyp;
/// for the initial StartNode
SwStartNode( SwNodes& rNodes, sal_uLong nPos );
2000-09-18 16:15:01 +00:00
protected:
SwStartNode( const SwNodeIndex &rWhere,
const sal_uInt8 nNodeType = ND_STARTNODE,
2000-09-18 16:15:01 +00:00
SwStartNodeType = SwNormalStartNode );
public:
DECL_FIXEDMEMPOOL_NEWDEL(SwStartNode)
SwStartNodeType GetStartNodeType() const { return eSttNdTyp; }
/// Call ChkCondcoll to all ContentNodes of section.
2000-09-18 16:15:01 +00:00
void CheckSectionCondColl() const;
virtual void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
2000-09-18 16:15:01 +00:00
private:
SwStartNode( const SwStartNode & rNode ) SAL_DELETED_FUNCTION;
SwStartNode & operator= ( const SwStartNode & rNode ) SAL_DELETED_FUNCTION;
2000-09-18 16:15:01 +00:00
};
2012-02-17 10:47:49 +01:00
/// Ends a section of nodes in the document model.
2000-09-18 16:15:01 +00:00
class SwEndNode : public SwNode
{
friend class SwNodes;
friend class SwTableNode; ///< To enable creation of its EndNote.
friend class SwSectionNode; ///< To enable creation of its EndNote.
2000-09-18 16:15:01 +00:00
/// for the initial StartNode
SwEndNode( SwNodes& rNodes, sal_uLong nPos, SwStartNode& rSttNd );
2000-09-18 16:15:01 +00:00
protected:
SwEndNode( const SwNodeIndex &rWhere, SwStartNode& rSttNd );
DECL_FIXEDMEMPOOL_NEWDEL(SwEndNode)
private:
SwEndNode( const SwEndNode & rNode ) SAL_DELETED_FUNCTION;
SwEndNode & operator= ( const SwEndNode & rNode ) SAL_DELETED_FUNCTION;
2000-09-18 16:15:01 +00:00
};
// SwCntntNode
class SW_DLLPUBLIC SwCntntNode: public SwModify, public SwNode, public SwIndexReg
2000-09-18 16:15:01 +00:00
{
//FEATURE::CONDCOLL
SwDepend* pCondColl;
//FEATURE::CONDCOLL
mutable bool mbSetModifyAtAttr;
2000-09-18 16:15:01 +00:00
protected:
SwCntntNode( const SwNodeIndex &rWhere, const sal_uInt8 nNodeType,
2000-09-18 16:15:01 +00:00
SwFmtColl *pFmtColl );
/** the = 0 forces the class to be an abstract base class, but the dtor can be still called
from subclasses */
virtual ~SwCntntNode() = 0;
2000-09-18 16:15:01 +00:00
/** Attribute-set for all auto attributes of a CntntNode.
(e.g. TxtNode or NoTxtNode). */
std::shared_ptr<const SfxItemSet> mpAttrSet;
/// Make respective nodes create the specific AttrSets.
2000-09-18 16:15:01 +00:00
virtual void NewAttrSet( SwAttrPool& ) = 0;
/** There some functions that like to remove items from the internal
SwAttrSet (handle): */
sal_uInt16 ClearItemsFromAttrSet( const std::vector<sal_uInt16>& rWhichIds );
virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew) SAL_OVERRIDE;
2000-09-18 16:15:01 +00:00
public:
TYPEINFO_OVERRIDE(); /// Already contained in base class Client.
2000-09-18 16:15:01 +00:00
/** MakeFrm will be called for a certain layout
pSib is another SwFrm of the same layout (e.g. the SwRootFrm itself, a sibling, the parent) */
virtual SwCntntFrm *MakeFrm( SwFrm* pSib ) = 0;
2000-09-18 16:15:01 +00:00
virtual SwCntntNode *SplitCntntNode(const SwPosition & ) = 0;
2000-09-18 16:15:01 +00:00
virtual SwCntntNode *JoinNext();
virtual SwCntntNode *JoinPrev();
/** Is it possible to join two nodes?
In pIdx the second position can be returned. */
bool CanJoinNext( SwNodeIndex* pIdx =0 ) const;
bool CanJoinPrev( SwNodeIndex* pIdx =0 ) const;
2000-09-18 16:15:01 +00:00
void MakeStartIndex( SwIndex * pIdx ) { pIdx->Assign( this, 0 ); }
void MakeEndIndex( SwIndex * pIdx ) { pIdx->Assign( this, Len() ); }
bool GoNext(SwIndex *, sal_uInt16 nMode ) const;
bool GoPrevious(SwIndex *, sal_uInt16 nMode ) const;
2000-09-18 16:15:01 +00:00
/// Replacement for good old GetFrm(..):
SwCntntFrm *getLayoutFrm( const SwRootFrm*,
const Point* pDocPos = 0,
2000-09-18 16:15:01 +00:00
const SwPosition *pPos = 0,
const bool bCalcFrm = true ) const;
/** @return the real size of the frame or an empty rectangle if
no layout exists. Needed for export filters. */
SwRect FindLayoutRect( const bool bPrtArea = false,
2000-09-18 16:15:01 +00:00
const Point* pPoint = 0,
const bool bCalcFrm = false ) const;
SwRect FindPageFrmRect( const bool bPrtArea = false,
2000-09-18 16:15:01 +00:00
const Point* pPoint = 0,
const bool bCalcFrm = false ) const;
2011-02-21 02:20:33 +01:00
/** Method creates all views of document for given node. The content
frames that are created are put in the respective layout. */
2000-09-18 16:15:01 +00:00
void MakeFrms( SwCntntNode& rNode );
2011-02-21 02:20:33 +01:00
/** Method deletes all views of document for the node. The content-
frames are removed from the respective layout.
Add an input param to identify if acc table should be disposed
*/
void DelFrms( bool bIsAccTableDispose = true );
/** @return count of elements of node content. Default is 1.
There are differences between text node and formula node. */
virtual sal_Int32 Len() const;
2000-09-18 16:15:01 +00:00
virtual SwCntntNode* MakeCopy( SwDoc*, const SwNodeIndex& ) const = 0;
2011-02-21 02:20:33 +01:00
/// Get information from Client.
virtual bool GetInfo( SfxPoolItem& ) const SAL_OVERRIDE;
2000-09-18 16:15:01 +00:00
/// SS for PoolItems: hard attributation.
2000-09-18 16:15:01 +00:00
/// If bInParent is FALSE search for attribute only in this node.
const SfxPoolItem& GetAttr( sal_uInt16 nWhich, bool bInParent=true ) const;
bool GetAttr( SfxItemSet& rSet, bool bInParent=true ) const;
/// made virtual
virtual bool SetAttr( const SfxPoolItem& );
virtual bool SetAttr( const SfxItemSet& rSet );
virtual bool ResetAttr( sal_uInt16 nWhich1, sal_uInt16 nWhich2 = 0 );
virtual bool ResetAttr( const std::vector<sal_uInt16>& rWhichArr );
virtual sal_uInt16 ResetAllAttr();
/// Obtains attribute that is not delivered via conditional style!
const SfxPoolItem* GetNoCondAttr( sal_uInt16 nWhich, bool bInParents ) const;
2000-09-18 16:15:01 +00:00
/** Does node has already its own auto-attributes?
Access to SwAttrSet. */
2000-09-18 16:15:01 +00:00
inline const SwAttrSet &GetSwAttrSet() const;
inline const SwAttrSet *GetpSwAttrSet() const { return static_cast<const SwAttrSet*>(mpAttrSet.get()); }
inline bool HasSwAttrSet() const { return mpAttrSet != nullptr; }
2000-09-18 16:15:01 +00:00
virtual SwFmtColl* ChgFmtColl( SwFmtColl* );
SwFmtColl* GetFmtColl() const { return const_cast<SwFmtColl*>(static_cast<const SwFmtColl*>(GetRegisteredIn())); }
2000-09-18 16:15:01 +00:00
//FEATURE::CONDCOLL
inline SwFmtColl& GetAnyFmtColl() const;
void SetCondFmtColl( SwFmtColl* );
inline SwFmtColl* GetCondFmtColl() const;
bool IsAnyCondition( SwCollCondition& rTmp ) const;
2000-09-18 16:15:01 +00:00
void ChkCondColl();
//FEATURE::CONDCOLL
/** Invalidates NumRule at the node. NumRule is updated
on EndAction of a Shell at the latest. */
bool InvalidateNumRule();
2000-09-18 16:15:01 +00:00
/** determines the text direction for a certain
position. @return -1, if text direction could *not* be determined. */
short GetTextDirection( const SwPosition& rPos,
const Point* pPt ) const;
inline void SetModifyAtAttr( bool bSetModifyAtAttr ) const { mbSetModifyAtAttr = bSetModifyAtAttr; }
inline bool GetModifyAtAttr() const { return mbSetModifyAtAttr; }
static SwOLENodes* CreateOLENodesArray( const SwFmtColl& rColl, bool bOnlyWithInvalidSize );
Related: #i124638# Second step of DrawingLayer FillAttributes... for Writer objects, now added support for Paragraph and PageStyle (including Header and Footer) for direct attributes and style attributes (cherry picked from commit cc25c58f7052827bfebdc9fbeec668c8fa29ed1b) Conflicts: cui/source/factory/dlgfact.cxx cui/source/factory/dlgfact.hxx cui/source/inc/bbdlg.hxx cui/source/inc/cuires.hrc cui/source/tabpages/bbdlg.cxx cui/source/tabpages/bbdlg.src cui/source/tabpages/page.cxx cui/source/tabpages/tparea.cxx include/svx/pagectrl.hxx include/svx/svxdlg.hxx include/svx/svxids.hrc include/xmloff/PageMasterStyleMap.hxx include/xmloff/prstylei.hxx include/xmloff/txtprmap.hxx svx/Package_inc.mk svx/inc/svx/hdft.hxx svx/source/dialog/hdft.cxx svx/source/dialog/pagectrl.cxx svx/source/tbxctrls/tbxcolorupdate.cxx svx/source/unodraw/unobrushitemhelper.cxx sw/Library_sw.mk sw/inc/fillattributes.hxx sw/inc/format.hxx sw/inc/frmatr.hxx sw/inc/frmfmt.hxx sw/inc/hintids.hxx sw/inc/hints.hxx sw/inc/ndtxt.hxx sw/inc/node.hxx sw/inc/swunohelper.hxx sw/inc/unobrushitemhelper.hxx sw/inc/unoprnms.hxx sw/source/core/attr/format.cxx sw/source/core/attr/hints.cxx sw/source/core/doc/docdesc.cxx sw/source/core/doc/docdraw.cxx sw/source/core/doc/docfmt.cxx sw/source/core/doc/docnew.cxx sw/source/core/doc/docredln.cxx sw/source/core/doc/poolfmt.cxx sw/source/core/doc/visiturl.cxx sw/source/core/docnode/node.cxx sw/source/core/inc/frame.hxx sw/source/core/inc/frmtool.hxx sw/source/core/inc/rolbck.hxx sw/source/core/layout/atrfrm.cxx sw/source/core/layout/fillattributes.cxx sw/source/core/layout/findfrm.cxx sw/source/core/layout/paintfrm.cxx sw/source/core/txtnode/ndtxt.cxx sw/source/core/txtnode/thints.cxx sw/source/core/txtnode/txtedt.cxx sw/source/core/undo/rolbck.cxx sw/source/core/unocore/swunohelper.cxx sw/source/core/unocore/unoframe.cxx sw/source/core/unocore/unomap.cxx sw/source/core/unocore/unoparagraph.cxx sw/source/core/unocore/unoprnms.cxx sw/source/core/unocore/unostyle.cxx sw/source/ui/chrdlg/paradlg.src sw/source/ui/chrdlg/pardlg.cxx sw/source/ui/fmtui/tmpdlg.cxx sw/source/ui/fmtui/tmpdlg.src sw/source/uibase/app/docst.cxx sw/source/uibase/app/docstyle.cxx sw/source/uibase/frmdlg/colex.cxx sw/source/uibase/shells/basesh.cxx sw/source/uibase/shells/textsh1.cxx sw/source/uibase/uiview/viewstat.cxx sw/source/uibase/utlui/uitool.cxx xmloff/inc/PageMasterImportContext.hxx xmloff/inc/xmloff/XMLShapeStyleContext.hxx xmloff/source/draw/XMLShapeStyleContext.cxx xmloff/source/draw/sdpropls.hxx xmloff/source/style/PageMasterExportPropMapper.cxx xmloff/source/style/PageMasterImportContext.cxx xmloff/source/style/PageMasterPropHdlFactory.cxx xmloff/source/style/PageMasterStyleMap.cxx xmloff/source/style/prstylei.cxx xmloff/source/text/txtexppr.cxx xmloff/source/text/txtprhdl.cxx xmloff/source/text/txtprmap.cxx xmloff/source/text/txtstyli.cxx Conflicts: svx/source/dialog/hdft.cxx sw/source/core/doc/visiturl.cxx sw/source/core/txtnode/thints.cxx sw/source/core/txtnode/txtatr2.cxx sw/source/core/unocore/unostyle.cxx Change-Id: I7e8779db6c0cbd1e242b63eab888f468f2de509a
2014-06-02 15:00:50 +00:00
//UUUU Access to DrawingLayer FillAttributes in a preprocessed form for primitive usage
virtual drawinglayer::attribute::SdrAllFillAttributesHelperPtr getSdrAllFillAttributesHelper() const;
2000-09-18 16:15:01 +00:00
private:
SwCntntNode( const SwCntntNode & rNode ) SAL_DELETED_FUNCTION;
SwCntntNode & operator= ( const SwCntntNode & rNode ) SAL_DELETED_FUNCTION;
2000-09-18 16:15:01 +00:00
};
// SwTableNode
2009-01-23 08:38:16 +00:00
class SW_DLLPUBLIC SwTableNode : public SwStartNode, public SwModify
2000-09-18 16:15:01 +00:00
{
friend class SwNodes;
SwTable* pTable;
protected:
virtual ~SwTableNode();
public:
SwTableNode( const SwNodeIndex & );
const SwTable& GetTable() const { return *pTable; }
SwTable& GetTable() { return *pTable; }
SwTabFrm *MakeFrm( SwFrm* );
2000-09-18 16:15:01 +00:00
/// Creates the frms for the table node (i.e. the TabFrms).
2000-09-18 16:15:01 +00:00
void MakeFrms( SwNodeIndex* pIdxBehind );
/** Method deletes all views of document for the node.
The content frames are removed from the respective layout. */
2000-09-18 16:15:01 +00:00
void DelFrms();
/** Method creates all views of the document for the previous node.
The content frames that are created are put into the respective layout. */
2000-09-18 16:15:01 +00:00
void MakeFrms( const SwNodeIndex & rIdx );
SwTableNode* MakeCopy( SwDoc*, const SwNodeIndex& ) const;
void SetNewTable( SwTable* , bool bNewFrames=true );
2000-09-18 16:15:01 +00:00
// Removes redline objects that relate to this table from the 'Extra Redlines' table
void RemoveRedlines();
2000-09-18 16:15:01 +00:00
private:
SwTableNode( const SwTableNode & rNode ) SAL_DELETED_FUNCTION;
SwTableNode & operator= ( const SwTableNode & rNode ) SAL_DELETED_FUNCTION;
2000-09-18 16:15:01 +00:00
};
class SwSectionNode
: public SwStartNode
2000-09-18 16:15:01 +00:00
{
friend class SwNodes;
private:
SwSectionNode(const SwSectionNode&) SAL_DELETED_FUNCTION;
SwSectionNode& operator=(const SwSectionNode&) SAL_DELETED_FUNCTION;
std::unique_ptr<SwSection> const m_pSection;
2000-09-18 16:15:01 +00:00
protected:
virtual ~SwSectionNode();
public:
SwSectionNode(SwNodeIndex const&,
SwSectionFmt & rFmt, SwTOXBase const*const pTOXBase);
2000-09-18 16:15:01 +00:00
const SwSection& GetSection() const { return *m_pSection; }
SwSection& GetSection() { return *m_pSection; }
2000-09-18 16:15:01 +00:00
SwFrm *MakeFrm( SwFrm* );
2000-09-18 16:15:01 +00:00
/** Creates the frms for the SectionNode (i.e. the SectionFrms).
On default the frames are created until the end of the range.
When another NodeIndex pEnd is passed a MakeFrms is called up to it.
Used by TableToText. */
2000-09-18 16:15:01 +00:00
void MakeFrms( SwNodeIndex* pIdxBehind, SwNodeIndex* pEnd = NULL );
/** Method deletes all views of document for the node. The
content frames are removed from the respective layout. */
2000-09-18 16:15:01 +00:00
void DelFrms();
/** Method creates all views of document for the previous node.
The content frames created are put into the respective layout. */
2000-09-18 16:15:01 +00:00
void MakeFrms( const SwNodeIndex & rIdx );
SwSectionNode* MakeCopy( SwDoc*, const SwNodeIndex& ) const;
/// Set pointer in format of section on itself.
2000-09-18 16:15:01 +00:00
void NodesArrChgd();
/** Check for not hidden areas whether there is content that is not in
a hidden sub-area. */
bool IsCntntHidden() const;
2000-09-18 16:15:01 +00:00
};
/** This class is internal. And quite frankly I don't know what ND_SECTIONDUMMY is for,
the class has been merely created to replace "SwNode( ND_SECTIONDUMMY )", the only case
of instantiating SwNode directly. Now SwNode can be an abstract base class. */
class SwDummySectionNode
: private SwNode
{
private:
friend class SwNodes;
SwDummySectionNode( const SwNodeIndex &rWhere );
};
2000-09-18 16:15:01 +00:00
inline SwEndNode *SwNode::GetEndNode()
{
return ND_ENDNODE == nNodeType ? static_cast<SwEndNode*>(this) : 0;
2000-09-18 16:15:01 +00:00
}
inline const SwEndNode *SwNode::GetEndNode() const
{
return ND_ENDNODE == nNodeType ? static_cast<const SwEndNode*>(this) : 0;
2000-09-18 16:15:01 +00:00
}
inline SwStartNode *SwNode::GetStartNode()
{
return ND_STARTNODE & nNodeType ? static_cast<SwStartNode*>(this) : 0;
2000-09-18 16:15:01 +00:00
}
inline const SwStartNode *SwNode::GetStartNode() const
{
return ND_STARTNODE & nNodeType ? static_cast<const SwStartNode*>(this) : 0;
2000-09-18 16:15:01 +00:00
}
inline SwTableNode *SwNode::GetTableNode()
{
return ND_TABLENODE == nNodeType ? static_cast<SwTableNode*>(this) : 0;
2000-09-18 16:15:01 +00:00
}
inline const SwTableNode *SwNode::GetTableNode() const
{
return ND_TABLENODE == nNodeType ? static_cast<const SwTableNode*>(this) : 0;
2000-09-18 16:15:01 +00:00
}
inline SwSectionNode *SwNode::GetSectionNode()
{
return ND_SECTIONNODE == nNodeType ? static_cast<SwSectionNode*>(this) : 0;
2000-09-18 16:15:01 +00:00
}
inline const SwSectionNode *SwNode::GetSectionNode() const
{
return ND_SECTIONNODE == nNodeType ? static_cast<const SwSectionNode*>(this) : 0;
2000-09-18 16:15:01 +00:00
}
inline SwCntntNode *SwNode::GetCntntNode()
{
return ND_CONTENTNODE & nNodeType ? static_cast<SwCntntNode*>(this) : 0;
2000-09-18 16:15:01 +00:00
}
inline const SwCntntNode *SwNode::GetCntntNode() const
{
return ND_CONTENTNODE & nNodeType ? static_cast<const SwCntntNode*>(this) : 0;
2000-09-18 16:15:01 +00:00
}
inline bool SwNode::IsStartNode() const
2000-09-18 16:15:01 +00:00
{
return (ND_STARTNODE & nNodeType) != 0;
2000-09-18 16:15:01 +00:00
}
inline bool SwNode::IsCntntNode() const
2000-09-18 16:15:01 +00:00
{
return (ND_CONTENTNODE & nNodeType) != 0;
2000-09-18 16:15:01 +00:00
}
inline bool SwNode::IsEndNode() const
2000-09-18 16:15:01 +00:00
{
return ND_ENDNODE == nNodeType;
2000-09-18 16:15:01 +00:00
}
inline bool SwNode::IsTxtNode() const
2000-09-18 16:15:01 +00:00
{
return ND_TEXTNODE == nNodeType;
2000-09-18 16:15:01 +00:00
}
inline bool SwNode::IsTableNode() const
2000-09-18 16:15:01 +00:00
{
return ND_TABLENODE == nNodeType;
2000-09-18 16:15:01 +00:00
}
inline bool SwNode::IsSectionNode() const
2000-09-18 16:15:01 +00:00
{
return ND_SECTIONNODE == nNodeType;
2000-09-18 16:15:01 +00:00
}
inline bool SwNode::IsNoTxtNode() const
2000-09-18 16:15:01 +00:00
{
return (ND_NOTXTNODE & nNodeType) != 0;
2000-09-18 16:15:01 +00:00
}
inline bool SwNode::IsOLENode() const
2000-09-18 16:15:01 +00:00
{
return ND_OLENODE == nNodeType;
2000-09-18 16:15:01 +00:00
}
inline bool SwNode::IsGrfNode() const
2000-09-18 16:15:01 +00:00
{
return ND_GRFNODE == nNodeType;
2000-09-18 16:15:01 +00:00
}
inline const SwStartNode* SwNode::FindSttNodeByType( SwStartNodeType eTyp ) const
{
return ((SwNode*)this)->FindSttNodeByType( eTyp );
2000-09-18 16:15:01 +00:00
}
inline const SwTableNode* SwNode::FindTableNode() const
{
return ((SwNode*)this)->FindTableNode();
2000-09-18 16:15:01 +00:00
}
inline const SwSectionNode* SwNode::FindSectionNode() const
{
return ((SwNode*)this)->FindSectionNode();
2000-09-18 16:15:01 +00:00
}
inline sal_uLong SwNode::StartOfSectionIndex() const
2000-09-18 16:15:01 +00:00
{
return pStartOfSection->GetIndex();
}
inline sal_uLong SwNode::EndOfSectionIndex() const
2000-09-18 16:15:01 +00:00
{
const SwStartNode* pStNd = IsStartNode() ? static_cast<const SwStartNode*>(this) : pStartOfSection;
2000-09-18 16:15:01 +00:00
return pStNd->pEndOfSection->GetIndex();
}
inline const SwEndNode* SwNode::EndOfSectionNode() const
{
const SwStartNode* pStNd = IsStartNode() ? static_cast<const SwStartNode*>(this) : pStartOfSection;
2000-09-18 16:15:01 +00:00
return pStNd->pEndOfSection;
}
inline SwEndNode* SwNode::EndOfSectionNode()
{
const SwStartNode* pStNd = IsStartNode() ? static_cast<const SwStartNode*>(this) : pStartOfSection;
2000-09-18 16:15:01 +00:00
return pStNd->pEndOfSection;
}
inline SwNodes& SwNode::GetNodes()
{
return static_cast<SwNodes&>(GetArray());
2000-09-18 16:15:01 +00:00
}
inline const SwNodes& SwNode::GetNodes() const
{
return static_cast<SwNodes&>(GetArray());
2000-09-18 16:15:01 +00:00
}
inline SwDoc* SwNode::GetDoc()
{
return GetNodes().GetDoc();
}
inline const SwDoc* SwNode::GetDoc() const
{
return GetNodes().GetDoc();
}
inline SwFmtColl* SwCntntNode::GetCondFmtColl() const
{
return pCondColl ? static_cast<SwFmtColl*>(pCondColl->GetRegisteredIn()) : 0;
2000-09-18 16:15:01 +00:00
}
inline SwFmtColl& SwCntntNode::GetAnyFmtColl() const
{
return pCondColl && pCondColl->GetRegisteredIn()
? *static_cast<SwFmtColl*>(pCondColl->GetRegisteredIn())
: *const_cast<SwFmtColl*>(static_cast<const SwFmtColl*>(GetRegisteredIn()));
2000-09-18 16:15:01 +00:00
}
inline const SwAttrSet& SwCntntNode::GetSwAttrSet() const
{
return mpAttrSet ? *GetpSwAttrSet() : GetAnyFmtColl().GetAttrSet();
2000-09-18 16:15:01 +00:00
}
2000-09-18 16:15:01 +00:00
//FEATURE::CONDCOLL
inline const SfxPoolItem& SwCntntNode::GetAttr( sal_uInt16 nWhich,
bool bInParents ) const
2000-09-18 16:15:01 +00:00
{
return GetSwAttrSet().Get( nWhich, bInParents );
}
inline SwDummySectionNode::SwDummySectionNode( const SwNodeIndex &rWhere )
: SwNode( rWhere, ND_SECTIONDUMMY )
{
}
inline SwNodePtr SwNodes::operator[]( sal_uLong n ) const
{
return static_cast<SwNodePtr>(BigPtrArray::operator[] ( n ));
}
2000-09-18 16:15:01 +00:00
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */