1cdf0e10cSrcweir /************************************************************************* 2cdf0e10cSrcweir * 3cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4cdf0e10cSrcweir * 5cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6cdf0e10cSrcweir * 7cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8cdf0e10cSrcweir * 9cdf0e10cSrcweir * This file is part of OpenOffice.org. 10cdf0e10cSrcweir * 11cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14cdf0e10cSrcweir * 15cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20cdf0e10cSrcweir * 21cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25cdf0e10cSrcweir * 26cdf0e10cSrcweir ************************************************************************/ 27cdf0e10cSrcweir #ifndef SW_DOC_HXX 28cdf0e10cSrcweir #define SW_DOC_HXX 29cdf0e10cSrcweir 30cdf0e10cSrcweir /** SwDoc interfaces */ 31cdf0e10cSrcweir 32cdf0e10cSrcweir #include <IInterface.hxx> 33cdf0e10cSrcweir #include <IDocumentSettingAccess.hxx> 34cdf0e10cSrcweir #include <IDocumentDeviceAccess.hxx> 35cdf0e10cSrcweir #include <IDocumentMarkAccess.hxx> 36cdf0e10cSrcweir #include <IDocumentRedlineAccess.hxx> 37cdf0e10cSrcweir #include <IDocumentLinksAdministration.hxx> 38cdf0e10cSrcweir #include <IDocumentFieldsAccess.hxx> 39cdf0e10cSrcweir #include <IDocumentContentOperations.hxx> 40cdf0e10cSrcweir #include <IDocumentStylePoolAccess.hxx> 41cdf0e10cSrcweir #include <IDocumentLineNumberAccess.hxx> 42cdf0e10cSrcweir #include <IDocumentStatistics.hxx> 43cdf0e10cSrcweir #include <IDocumentState.hxx> 44cdf0e10cSrcweir #include <IDocumentDrawModelAccess.hxx> 45cdf0e10cSrcweir #include <IDocumentLayoutAccess.hxx> 46cdf0e10cSrcweir #include <IDocumentTimerAccess.hxx> 47cdf0e10cSrcweir #include <IDocumentChartDataProviderAccess.hxx> 48cdf0e10cSrcweir // --> OD 2007-10-26 #i83479# 49cdf0e10cSrcweir #include <IDocumentOutlineNodes.hxx> 50cdf0e10cSrcweir #include <IDocumentListItems.hxx> 51cdf0e10cSrcweir #include <set> 52cdf0e10cSrcweir // <-- 53cdf0e10cSrcweir // --> OD 2008-03-12 #refactorlists# 54cdf0e10cSrcweir #include <IDocumentListsAccess.hxx> 55cdf0e10cSrcweir class SwList; 56cdf0e10cSrcweir // <-- 57cdf0e10cSrcweir #include <IDocumentExternalData.hxx> 58cdf0e10cSrcweir #define _SVSTDARR_STRINGSDTOR 59cdf0e10cSrcweir #include <svl/svstdarr.hxx> 60cdf0e10cSrcweir #include <com/sun/star/embed/XEmbeddedObject.hpp> 61cdf0e10cSrcweir #include <com/sun/star/embed/XStorage.hpp> 62cdf0e10cSrcweir #include <vcl/timer.hxx> 63cdf0e10cSrcweir #include "swdllapi.h" 64cdf0e10cSrcweir #include <swtypes.hxx> 65cdf0e10cSrcweir #include <swatrset.hxx> 66cdf0e10cSrcweir #include <toxe.hxx> // enums 67cdf0e10cSrcweir #include <flyenum.hxx> 68cdf0e10cSrcweir #include <itabenum.hxx> 69cdf0e10cSrcweir #include <swdbdata.hxx> 70cdf0e10cSrcweir #include <chcmprse.hxx> 71cdf0e10cSrcweir #include <com/sun/star/linguistic2/XSpellChecker1.hpp> 72cdf0e10cSrcweir #include <com/sun/star/linguistic2/XHyphenatedWord.hpp> 73cdf0e10cSrcweir #include <vos/ref.hxx> 74cdf0e10cSrcweir #include <svx/svdtypes.hxx> 75cdf0e10cSrcweir #include <sfx2/objsh.hxx> 76cdf0e10cSrcweir #include <svl/style.hxx> 77cdf0e10cSrcweir #include <editeng/numitem.hxx> 78cdf0e10cSrcweir #include "comphelper/implementationreference.hxx" 79cdf0e10cSrcweir #include <com/sun/star/chart2/data/XDataProvider.hpp> 80cdf0e10cSrcweir #include <com/sun/star/linguistic2/XProofreadingIterator.hpp> 81cdf0e10cSrcweir #ifdef FUTURE_VBA 82cdf0e10cSrcweir #include <com/sun/star/script/vba/XVBAEventProcessor.hpp> 83cdf0e10cSrcweir #endif 84cdf0e10cSrcweir 85cdf0e10cSrcweir #include <hash_map> 86cdf0e10cSrcweir #include <stringhash.hxx> 87cdf0e10cSrcweir 88cdf0e10cSrcweir #include <svtools/embedhlp.hxx> 89cdf0e10cSrcweir #include <vector> 90cdf0e10cSrcweir #include <set> 91cdf0e10cSrcweir #include <map> 92cdf0e10cSrcweir #include <memory> 93cdf0e10cSrcweir 94cdf0e10cSrcweir #include <boost/scoped_ptr.hpp> 95*8bfab1dfSMathias Bauer #include <boost/shared_ptr.hpp> 96cdf0e10cSrcweir 97cdf0e10cSrcweir class SvxForbiddenCharactersTable; 98cdf0e10cSrcweir class SwExtTextInput; 99cdf0e10cSrcweir class DateTime; 100cdf0e10cSrcweir class EditFieldInfo; 101cdf0e10cSrcweir class JobSetup; 102cdf0e10cSrcweir class Color; 103cdf0e10cSrcweir class KeyCode; 104cdf0e10cSrcweir class Outliner; 105cdf0e10cSrcweir class OutputDevice; 106cdf0e10cSrcweir class Point; 107cdf0e10cSrcweir class SbxArray; 108cdf0e10cSrcweir class SdrModel; 109cdf0e10cSrcweir class SdrObject; 110cdf0e10cSrcweir class SdrUndoAction; 111cdf0e10cSrcweir class VirtualDevice; 112cdf0e10cSrcweir class SfxPrinter; 113cdf0e10cSrcweir class SvNumberFormatter; 114cdf0e10cSrcweir class SvStringsSort; 115cdf0e10cSrcweir class SvUShorts; 116cdf0e10cSrcweir class SvUShortsSort; 117cdf0e10cSrcweir class SvxMacro; 118cdf0e10cSrcweir class SvxMacroTableDtor; 119cdf0e10cSrcweir class SvxBorderLine; 120cdf0e10cSrcweir class SwAutoCompleteWord; 121cdf0e10cSrcweir class SwAutoCorrExceptWord; 122cdf0e10cSrcweir class SwCalc; 123cdf0e10cSrcweir class SwCellFrm; 124cdf0e10cSrcweir class SwCharFmt; 125cdf0e10cSrcweir class SwCharFmts; 126cdf0e10cSrcweir class SwConditionTxtFmtColl; 127cdf0e10cSrcweir class SwCrsrShell; 128cdf0e10cSrcweir class SwCursor; 129cdf0e10cSrcweir class SwDBNameInfField; 130cdf0e10cSrcweir class SwDocShell; 131cdf0e10cSrcweir class SwDocUpdtFld; 132cdf0e10cSrcweir class SwDrawFrmFmt; 133cdf0e10cSrcweir class SwDrawView; 134cdf0e10cSrcweir class SwEditShell; 135cdf0e10cSrcweir class SwFieldType; 136cdf0e10cSrcweir class SwField; 137cdf0e10cSrcweir class SwTxtFld; 138cdf0e10cSrcweir class SwFldTypes; 139cdf0e10cSrcweir class SwFlyFrmFmt; 140cdf0e10cSrcweir class SwFmt; 141cdf0e10cSrcweir class SwFmtINetFmt; 142cdf0e10cSrcweir class SwFmtRefMark; 143cdf0e10cSrcweir class SwFrmFmt; 144cdf0e10cSrcweir class SwFrmFmts; 145cdf0e10cSrcweir class SwFtnIdxs; 146cdf0e10cSrcweir class SwFtnInfo; 147cdf0e10cSrcweir class SwEndNoteInfo; 148cdf0e10cSrcweir class GraphicObject; 149cdf0e10cSrcweir class SwGrfFmtColl; 150cdf0e10cSrcweir class SwGrfFmtColls; 151cdf0e10cSrcweir class SwLineNumberInfo; 152cdf0e10cSrcweir class SwNewDBMgr; 153cdf0e10cSrcweir class SwNoTxtNode; 154cdf0e10cSrcweir class SwNodeIndex; 155cdf0e10cSrcweir class SwNodeRange; 156cdf0e10cSrcweir class SwNodes; 157cdf0e10cSrcweir class SwNumRule; 158cdf0e10cSrcweir class SwNumRuleTbl; 159cdf0e10cSrcweir class SwPageDesc; 160cdf0e10cSrcweir class SwPosFlyFrms; 161cdf0e10cSrcweir class SwPagePreViewPrtData; 162cdf0e10cSrcweir class SwRedline; 163cdf0e10cSrcweir class SwRedlineTbl; 164cdf0e10cSrcweir class SwRootFrm; 165cdf0e10cSrcweir class SwRubyList; 166cdf0e10cSrcweir class SwRubyListEntry; 167cdf0e10cSrcweir class SwSectionFmt; 168cdf0e10cSrcweir class SwSectionFmts; 169cdf0e10cSrcweir class SwSectionData; 170cdf0e10cSrcweir class SwSelBoxes; 171cdf0e10cSrcweir class SwSpzFrmFmts; 172cdf0e10cSrcweir class SwTOXBase; 173cdf0e10cSrcweir class SwTOXBaseSection; 174cdf0e10cSrcweir class SwTOXMark; 175cdf0e10cSrcweir class SwTOXMarks; 176cdf0e10cSrcweir class SwTOXType; 177cdf0e10cSrcweir class SwTOXTypes; 178cdf0e10cSrcweir class SwTabCols; 179cdf0e10cSrcweir class SwTable; 180cdf0e10cSrcweir class SwTableAutoFmt; 181cdf0e10cSrcweir class SwTableBox; 182cdf0e10cSrcweir class SwTableBoxFmt; 183cdf0e10cSrcweir class SwTableFmt; 184cdf0e10cSrcweir class SwTableLineFmt; 185cdf0e10cSrcweir class SwTableNode; 186cdf0e10cSrcweir class SwTextBlocks; 187cdf0e10cSrcweir class SwTxtFmtColl; 188cdf0e10cSrcweir class SwTxtFmtColls; 189cdf0e10cSrcweir class SwURLStateChanged; 190cdf0e10cSrcweir class SwUnoCrsr; 191cdf0e10cSrcweir class SwUnoCrsrTbl; 192cdf0e10cSrcweir class ViewShell; 193cdf0e10cSrcweir class _SetGetExpFld; 194cdf0e10cSrcweir class SwDrawContact; 195cdf0e10cSrcweir class SwLayouter; 196cdf0e10cSrcweir class SdrView; 197cdf0e10cSrcweir class SdrMarkList; 198cdf0e10cSrcweir class SwAuthEntry; 199cdf0e10cSrcweir class SwLayoutCache; 200cdf0e10cSrcweir class IStyleAccess; 201cdf0e10cSrcweir struct SwCallMouseEvent; 202cdf0e10cSrcweir struct SwDocStat; 203cdf0e10cSrcweir struct SwHash; 204cdf0e10cSrcweir struct SwSortOptions; 205cdf0e10cSrcweir struct SwDefTOXBase_Impl; 206cdf0e10cSrcweir class SwPrintData; 207cdf0e10cSrcweir class SwPrintUIOptions; 208cdf0e10cSrcweir class SdrPageView; 209cdf0e10cSrcweir struct SwConversionArgs; 210cdf0e10cSrcweir class SwRewriter; 211cdf0e10cSrcweir class SwMsgPoolItem; 212cdf0e10cSrcweir class SwChartDataProvider; 213cdf0e10cSrcweir class SwChartLockController_Helper; 214cdf0e10cSrcweir class IGrammarContact; 215cdf0e10cSrcweir class SwPrintData; 216cdf0e10cSrcweir class SwRenderData; 217cdf0e10cSrcweir class SwPageFrm; 218cdf0e10cSrcweir class SwViewOption; 219cdf0e10cSrcweir class IDocumentUndoRedo; 220cdf0e10cSrcweir 221cdf0e10cSrcweir namespace sw { namespace mark { 222cdf0e10cSrcweir class MarkManager; 223cdf0e10cSrcweir }} 224cdf0e10cSrcweir namespace sw { 225cdf0e10cSrcweir class MetaFieldManager; 226cdf0e10cSrcweir class UndoManager; 227cdf0e10cSrcweir class IShellCursorSupplier; 228cdf0e10cSrcweir } 229cdf0e10cSrcweir 230cdf0e10cSrcweir namespace com { namespace sun { namespace star { 231cdf0e10cSrcweir namespace i18n { 232cdf0e10cSrcweir struct ForbiddenCharacters; // comes from the I18N UNO interface 233cdf0e10cSrcweir } 234cdf0e10cSrcweir namespace uno { 235cdf0e10cSrcweir template < class > class Sequence; 236cdf0e10cSrcweir } 237cdf0e10cSrcweir namespace container { 238cdf0e10cSrcweir class XNameContainer; // for getXForms()/isXForms()/initXForms() methods 239cdf0e10cSrcweir } 240cdf0e10cSrcweir }}} 241cdf0e10cSrcweir 242cdf0e10cSrcweir namespace sfx2 { 243cdf0e10cSrcweir class SvLinkSource; 244cdf0e10cSrcweir class IXmlIdRegistry; 245cdf0e10cSrcweir class LinkManager; 246cdf0e10cSrcweir } 247cdf0e10cSrcweir 248cdf0e10cSrcweir //PageDescriptor-Schnittstelle, Array hier wegen inlines. 249cdf0e10cSrcweir typedef SwPageDesc* SwPageDescPtr; 250cdf0e10cSrcweir SV_DECL_PTRARR_DEL( SwPageDescs, SwPageDescPtr, 4, 4 ) 251cdf0e10cSrcweir 252cdf0e10cSrcweir // forward declartion 253cdf0e10cSrcweir void SetAllScriptItem( SfxItemSet& rSet, const SfxPoolItem& rItem ); 254cdf0e10cSrcweir 255cdf0e10cSrcweir // global function to start grammar checking in the document 256cdf0e10cSrcweir void StartGrammarChecking( SwDoc &rDoc ); 257cdf0e10cSrcweir 258cdf0e10cSrcweir class SW_DLLPUBLIC SwDoc : 259cdf0e10cSrcweir public IInterface, 260cdf0e10cSrcweir public IDocumentSettingAccess, 261cdf0e10cSrcweir public IDocumentDeviceAccess, 262cdf0e10cSrcweir public IDocumentRedlineAccess, 263cdf0e10cSrcweir public IDocumentLinksAdministration, 264cdf0e10cSrcweir public IDocumentFieldsAccess, 265cdf0e10cSrcweir public IDocumentContentOperations, 266cdf0e10cSrcweir public IDocumentStylePoolAccess, 267cdf0e10cSrcweir public IDocumentLineNumberAccess, 268cdf0e10cSrcweir public IDocumentStatistics, 269cdf0e10cSrcweir public IDocumentState, 270cdf0e10cSrcweir public IDocumentDrawModelAccess, 271cdf0e10cSrcweir public IDocumentLayoutAccess, 272cdf0e10cSrcweir public IDocumentTimerAccess, 273cdf0e10cSrcweir public IDocumentChartDataProviderAccess, 274cdf0e10cSrcweir // --> OD 2007-10-26 #i83479# 275cdf0e10cSrcweir public IDocumentListItems, 276cdf0e10cSrcweir public IDocumentOutlineNodes, 277cdf0e10cSrcweir // <-- 278cdf0e10cSrcweir // --> OD 2008-03-12 #refactorlists# 279cdf0e10cSrcweir public IDocumentListsAccess, 280cdf0e10cSrcweir // <-- 281cdf0e10cSrcweir public IDocumentExternalData 282cdf0e10cSrcweir { 283cdf0e10cSrcweir 284cdf0e10cSrcweir friend void _InitCore(); 285cdf0e10cSrcweir friend void _FinitCore(); 286cdf0e10cSrcweir 287cdf0e10cSrcweir //---------------- private Member -------------------------------- 288cdf0e10cSrcweir 289cdf0e10cSrcweir // ------------------------------------------------------------------- 290cdf0e10cSrcweir ::boost::scoped_ptr<SwNodes> m_pNodes; /// document content (Nodes Array) 291cdf0e10cSrcweir SwAttrPool* mpAttrPool; // der Attribut Pool 292cdf0e10cSrcweir SwPageDescs aPageDescs; // PageDescriptoren 293cdf0e10cSrcweir Link aOle2Link; // OLE 2.0-Benachrichtigung 294cdf0e10cSrcweir /* @@@MAINTAINABILITY-HORROR@@@ 295cdf0e10cSrcweir Timer should not be members of the model 296cdf0e10cSrcweir */ 297cdf0e10cSrcweir Timer aIdleTimer; // der eigene IdleTimer 298cdf0e10cSrcweir Timer aOLEModifiedTimer; // Timer for update modified OLE-Objecs 299cdf0e10cSrcweir SwDBData aDBData; // database descriptor 300cdf0e10cSrcweir ::com::sun::star::uno::Sequence <sal_Int8 > aRedlinePasswd; 301cdf0e10cSrcweir String sTOIAutoMarkURL; // ::com::sun::star::util::URL of table of index AutoMark file 302cdf0e10cSrcweir SvStringsDtor aPatternNms; // Array fuer die Namen der Dokument-Vorlagen 303cdf0e10cSrcweir com::sun::star::uno::Reference<com::sun::star::container::XNameContainer> 304cdf0e10cSrcweir xXForms; // container with XForms models 305cdf0e10cSrcweir mutable com::sun::star::uno::Reference< com::sun::star::linguistic2::XProofreadingIterator > m_xGCIterator; 306cdf0e10cSrcweir 307cdf0e10cSrcweir const ::boost::scoped_ptr< ::sw::mark::MarkManager> pMarkManager; 308cdf0e10cSrcweir const ::boost::scoped_ptr< ::sw::MetaFieldManager > m_pMetaFieldManager; 309cdf0e10cSrcweir const ::boost::scoped_ptr< ::sw::UndoManager > m_pUndoManager; 310cdf0e10cSrcweir 311cdf0e10cSrcweir // ------------------------------------------------------------------- 312cdf0e10cSrcweir // die Pointer 313cdf0e10cSrcweir //Defaultformate 314cdf0e10cSrcweir SwFrmFmt *pDfltFrmFmt; 315cdf0e10cSrcweir SwFrmFmt *pEmptyPageFmt; // Format fuer die Default-Leerseite. 316cdf0e10cSrcweir SwFrmFmt *pColumnContFmt; // Format fuer Spaltencontainer 317cdf0e10cSrcweir SwCharFmt *pDfltCharFmt; 318cdf0e10cSrcweir SwTxtFmtColl *pDfltTxtFmtColl; // Defaultformatcollections 319cdf0e10cSrcweir SwGrfFmtColl *pDfltGrfFmtColl; 320cdf0e10cSrcweir 321cdf0e10cSrcweir SwFrmFmts *pFrmFmtTbl; // Formattabellen 322cdf0e10cSrcweir SwCharFmts *pCharFmtTbl; 323cdf0e10cSrcweir SwSpzFrmFmts *pSpzFrmFmtTbl; 324cdf0e10cSrcweir SwSectionFmts *pSectionFmtTbl; 325cdf0e10cSrcweir SwFrmFmts *pTblFrmFmtTbl; // spz. fuer Tabellen 326cdf0e10cSrcweir SwTxtFmtColls *pTxtFmtCollTbl; // FormatCollections 327cdf0e10cSrcweir SwGrfFmtColls *pGrfFmtCollTbl; 328cdf0e10cSrcweir 329cdf0e10cSrcweir SwTOXTypes *pTOXTypes; // Verzeichnisse 330cdf0e10cSrcweir SwDefTOXBase_Impl * pDefTOXBases; // defaults of SwTOXBase's 331cdf0e10cSrcweir 332cdf0e10cSrcweir ViewShell *pCurrentView; // SwDoc should get a new member pCurrentView//swmod 071225 333*8bfab1dfSMathias Bauer boost::shared_ptr<SwRootFrm> pLayoutPtr; 334cdf0e10cSrcweir SdrModel *pDrawModel; // StarView Drawing 335cdf0e10cSrcweir 336cdf0e10cSrcweir SwDocUpdtFld *pUpdtFlds; // Struktur zum Field-Update 337cdf0e10cSrcweir SwFldTypes *pFldTypes; // Feldtypen 338cdf0e10cSrcweir SwNewDBMgr *pNewDBMgr; // Pointer auf den neuen DBMgr fuer 339cdf0e10cSrcweir // Evaluierung der DB-Fields 340cdf0e10cSrcweir 341cdf0e10cSrcweir VirtualDevice *pVirDev; // can be used for formatting 342cdf0e10cSrcweir SfxPrinter *pPrt; // can be used for formatting 343cdf0e10cSrcweir SwPrintData *pPrtData; // Print configuration 344cdf0e10cSrcweir 345cdf0e10cSrcweir SwDoc *pGlossaryDoc; // Pointer auf das Glossary-Dokument. Dieses 346cdf0e10cSrcweir 347cdf0e10cSrcweir SwNumRule *pOutlineRule; 348cdf0e10cSrcweir SwFtnInfo *pFtnInfo; 349cdf0e10cSrcweir SwEndNoteInfo *pEndNoteInfo; 350cdf0e10cSrcweir SwLineNumberInfo*pLineNumberInfo; 351cdf0e10cSrcweir SwFtnIdxs *pFtnIdxs; 352cdf0e10cSrcweir SwDocStat *pDocStat; // Statistic Informationen 353cdf0e10cSrcweir SvxMacroTableDtor *pMacroTable; // Tabelle der dokumentglobalen Macros 354cdf0e10cSrcweir 355cdf0e10cSrcweir SwDocShell *pDocShell; // Ptr auf die SfxDocShell vom Doc 356cdf0e10cSrcweir SfxObjectShellLock xTmpDocShell; // A temporary shell that is used to copy OLE-Nodes 357cdf0e10cSrcweir 358cdf0e10cSrcweir sfx2::LinkManager *pLinkMgr; // Liste von Verknuepften (Grafiken/DDE/OLE) 359cdf0e10cSrcweir 360cdf0e10cSrcweir SwAutoCorrExceptWord *pACEWord; // fuer die automatische Uebernahme von 361cdf0e10cSrcweir // autokorrigierten Woertern, die "zurueck" 362cdf0e10cSrcweir // verbessert werden 363cdf0e10cSrcweir SwURLStateChanged *pURLStateChgd; // SfxClient fuer Aenderungen in der 364cdf0e10cSrcweir // INetHistory 365cdf0e10cSrcweir SvNumberFormatter *pNumberFormatter; // NumFormatter fuer die Tabellen/Felder 366cdf0e10cSrcweir 367cdf0e10cSrcweir mutable SwNumRuleTbl *pNumRuleTbl; // Liste aller benannten NumRules 368cdf0e10cSrcweir 369cdf0e10cSrcweir // Hash map to find numrules by name 370cdf0e10cSrcweir mutable std::hash_map<String, SwNumRule *, StringHash> maNumRuleMap; 371cdf0e10cSrcweir 372cdf0e10cSrcweir // --> OD 2008-03-12 #refactorlists# 373cdf0e10cSrcweir typedef std::hash_map< String, SwList*, StringHash > tHashMapForLists; 374cdf0e10cSrcweir // container to hold the lists of the text document 375cdf0e10cSrcweir tHashMapForLists maLists; 376cdf0e10cSrcweir // relation between list style and its default list 377cdf0e10cSrcweir tHashMapForLists maListStyleLists; 378cdf0e10cSrcweir // <-- 379cdf0e10cSrcweir 380cdf0e10cSrcweir SwRedlineTbl *pRedlineTbl; // Liste aller Redlines 381cdf0e10cSrcweir String *pAutoFmtRedlnComment; // Kommentar fuer Redlines, die 382cdf0e10cSrcweir // uebers Autoformat eingefuegt werden 383cdf0e10cSrcweir SwUnoCrsrTbl *pUnoCrsrTbl; 384cdf0e10cSrcweir 385cdf0e10cSrcweir SwPagePreViewPrtData *pPgPViewPrtData; // Einzuege/Abstaende fuers 386cdf0e10cSrcweir // Drucken der Seitenansicht 387cdf0e10cSrcweir SwPaM *pExtInputRing; 388cdf0e10cSrcweir 389cdf0e10cSrcweir SwLayouter *pLayouter; // ::com::sun::star::frame::Controller for complex layout formatting 390cdf0e10cSrcweir // like footnote/endnote in sections 391cdf0e10cSrcweir IStyleAccess *pStyleAccess; // handling of automatic styles 392cdf0e10cSrcweir SwLayoutCache *pLayoutCache; // Layout cache to read and save with the 393cdf0e10cSrcweir // document for a faster formatting 394cdf0e10cSrcweir 395cdf0e10cSrcweir SwModify *pUnoCallBack; 396cdf0e10cSrcweir IGrammarContact *mpGrammarContact; // for grammar checking in paragraphs during editing 397cdf0e10cSrcweir 398cdf0e10cSrcweir mutable comphelper::ImplementationReference< SwChartDataProvider 399cdf0e10cSrcweir , ::com::sun::star::chart2::data::XDataProvider > 400cdf0e10cSrcweir aChartDataProviderImplRef; 401cdf0e10cSrcweir SwChartLockController_Helper *pChartControllerHelper; 402cdf0e10cSrcweir 403cdf0e10cSrcweir // table of forbidden characters of this document 404cdf0e10cSrcweir vos::ORef<SvxForbiddenCharactersTable> xForbiddenCharsTable; 405cdf0e10cSrcweir #ifdef FUTURE_VBA 406cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::script::vba::XVBAEventProcessor > mxVbaEvents; 407cdf0e10cSrcweir #endif 408cdf0e10cSrcweir // --> OD 2007-10-26 #i83479# 409cdf0e10cSrcweir public: 410cdf0e10cSrcweir struct lessThanNodeNum 411cdf0e10cSrcweir { 412cdf0e10cSrcweir bool operator()( const SwNodeNum* pNodeNumOne, 413cdf0e10cSrcweir const SwNodeNum* pNodeNumTwo ) const; 414cdf0e10cSrcweir }; 415cdf0e10cSrcweir 416cdf0e10cSrcweir typedef ::std::set< const SwNodeNum*, lessThanNodeNum > tImplSortedNodeNumList; 417cdf0e10cSrcweir private: 418cdf0e10cSrcweir tImplSortedNodeNumList* mpListItemsList; 419cdf0e10cSrcweir // <-- 420cdf0e10cSrcweir 421cdf0e10cSrcweir ::std::auto_ptr< ::sfx2::IXmlIdRegistry > m_pXmlIdRegistry; 422cdf0e10cSrcweir 423cdf0e10cSrcweir // ------------------------------------------------------------------- 424cdf0e10cSrcweir // sonstige 425cdf0e10cSrcweir 426cdf0e10cSrcweir sal_uInt16 nAutoFmtRedlnCommentNo; // SeqNo fuers UI-seitige zusammenfassen 427cdf0e10cSrcweir // von AutoFmt-Redlines. Wird vom SwAutoFmt 428cdf0e10cSrcweir // verwaltet! 429cdf0e10cSrcweir sal_uInt16 nLinkUpdMode; // UpdateMode fuer Links 430cdf0e10cSrcweir SwFldUpdateFlags eFldUpdMode; // Mode fuer Felder/Charts automatisch aktualisieren 431cdf0e10cSrcweir RedlineMode_t eRedlineMode; // aktueller Redline Modus 432cdf0e10cSrcweir SwCharCompressType eChrCmprType; // for ASIAN: compress punctuation/kana 433cdf0e10cSrcweir 434cdf0e10cSrcweir sal_Int32 mReferenceCount; 435cdf0e10cSrcweir sal_Int32 mIdleBlockCount; 436cdf0e10cSrcweir sal_Int8 nLockExpFld; // Wenn != 0 hat UpdateExpFlds() keine Wirkung 437cdf0e10cSrcweir 438cdf0e10cSrcweir /* Draw Model Layer IDs 439cdf0e10cSrcweir * LayerIds, Heaven == ueber dem Dokument 440cdf0e10cSrcweir * Hell == unter dem Dokument 441cdf0e10cSrcweir * Controls == ganz oben 442cdf0e10cSrcweir */ 443cdf0e10cSrcweir SdrLayerID nHeaven; 444cdf0e10cSrcweir SdrLayerID nHell; 445cdf0e10cSrcweir SdrLayerID nControls; 446cdf0e10cSrcweir SdrLayerID nInvisibleHeaven; 447cdf0e10cSrcweir SdrLayerID nInvisibleHell; 448cdf0e10cSrcweir SdrLayerID nInvisibleControls; 449cdf0e10cSrcweir 450cdf0e10cSrcweir bool mbGlossDoc : 1; //sal_True: ist ein Textbaustein Dokument 451cdf0e10cSrcweir bool mbModified : 1; //sal_True: Dokument ist veraendert 452cdf0e10cSrcweir bool mbDtor : 1; //sal_True: ist im SwDoc DTOR 453cdf0e10cSrcweir // leider auch temporaer von 454cdf0e10cSrcweir // SwSwgReader::InLayout(), wenn fehlerhafte 455cdf0e10cSrcweir // Frames geloescht werden muessen 456cdf0e10cSrcweir bool mbPageNums : 1; // TRUE: es gibt virtuelle Seitennummern 457cdf0e10cSrcweir bool mbLoaded : 1; // TRUE: ein geladenes Doc 458cdf0e10cSrcweir bool mbUpdateExpFld : 1; // TRUE: Expression-Felder updaten 459cdf0e10cSrcweir bool mbNewDoc : 1; // TRUE: neues Doc 460cdf0e10cSrcweir bool mbNewFldLst : 1; // TRUE: Felder-Liste neu aufbauen 461cdf0e10cSrcweir bool mbCopyIsMove : 1; // TRUE: Copy ist ein verstecktes Move 462cdf0e10cSrcweir bool mbVisibleLinks : 1; // TRUE: Links werden sichtbar eingefuegt 463cdf0e10cSrcweir bool mbInReading : 1; // TRUE: Dokument wird gerade gelesen 464cdf0e10cSrcweir bool mbInXMLImport : 1; // TRUE: During xml import, attribute portion building is not necessary 465cdf0e10cSrcweir bool mbUpdateTOX : 1; // TRUE: nach Dokument laden die TOX Updaten 466cdf0e10cSrcweir bool mbInLoadAsynchron : 1; // TRUE: Dokument wird gerade asynchron geladen 467cdf0e10cSrcweir bool mbHTMLMode : 1; // TRUE: Dokument ist im HTMLMode 468cdf0e10cSrcweir bool mbInCallModified : 1; // TRUE: im Set/Reset-Modified Link 469cdf0e10cSrcweir bool mbIsGlobalDoc : 1; // TRUE: es ist ein GlobalDokument 470cdf0e10cSrcweir bool mbGlblDocSaveLinks : 1; // TRUE: im GlobalDoc. gelinkte Sect. mit speichern 471cdf0e10cSrcweir bool mbIsLabelDoc : 1; // TRUE: es ist ein Etiketten-Dokument 472cdf0e10cSrcweir bool mbIsAutoFmtRedline : 1; // TRUE: die Redlines werden vom Autoformat aufgezeichnet 473cdf0e10cSrcweir bool mbOLEPrtNotifyPending : 1; // TRUE: Printer ist geaendert und beim 474cdf0e10cSrcweir // Erzeugen der ::com::sun::star::sdbcx::View ist eine Benachrichtigung 475cdf0e10cSrcweir // der OLE-Objekte PrtOLENotify() notwendig. 476cdf0e10cSrcweir bool mbAllOLENotify : 1; // True: Benachrichtigung aller Objekte ist notwendig 477cdf0e10cSrcweir bool mbIsRedlineMove : 1; // True: die Redlines werden in/aus der Section verschoben 478cdf0e10cSrcweir bool mbInsOnlyTxtGlssry : 1; // True: insert 'only text' glossary into doc 479cdf0e10cSrcweir bool mbContains_MSVBasic : 1; // True: MS-VBasic exist is in our storage 480cdf0e10cSrcweir bool mbPurgeOLE : 1; // sal_True: Purge OLE-Objects 481cdf0e10cSrcweir bool mbKernAsianPunctuation : 1; // sal_True: kerning also for ASIAN punctuation 482cdf0e10cSrcweir bool mbReadlineChecked : 1; // sal_True: if the query was already shown 483cdf0e10cSrcweir bool mbLinksUpdated : 1; // OD 2005-02-11 #i38810# 484cdf0e10cSrcweir // flag indicating, that the links have been updated. 485cdf0e10cSrcweir bool mbClipBoard : 1; // true: this document represents the clipboard 486cdf0e10cSrcweir bool mbColumnSelection : 1; // true: this content has bee created by a column selection 487cdf0e10cSrcweir // (clipboard docs only) 488cdf0e10cSrcweir 489cdf0e10cSrcweir #ifdef DBG_UTIL 490cdf0e10cSrcweir bool mbXMLExport : 1; // sal_True: during XML export 491cdf0e10cSrcweir #endif 492cdf0e10cSrcweir 493cdf0e10cSrcweir // --> OD 2006-03-21 #b6375613# 494cdf0e10cSrcweir // Document flag to trigger conversion, which applys the workaround for documents, 495cdf0e10cSrcweir // which uses a certain layout defect in OOo 1.x to layout the documents. 496cdf0e10cSrcweir // This conversion is performed, when the frames for the layout are created. 497cdf0e10cSrcweir // Thus, this document flag has to be set after load a document and before 498cdf0e10cSrcweir // creating the document view. 499cdf0e10cSrcweir bool mbApplyWorkaroundForB6375613 : 1; 500cdf0e10cSrcweir // <-- 501cdf0e10cSrcweir 502cdf0e10cSrcweir // 503cdf0e10cSrcweir // COMPATIBILITY FLAGS START 504cdf0e10cSrcweir // 505cdf0e10cSrcweir // 506cdf0e10cSrcweir // HISTORY OF THE COMPATIBILITY FLAGS: 507cdf0e10cSrcweir // 508cdf0e10cSrcweir // SO5: 509cdf0e10cSrcweir // mbParaSpaceMax def = sal_False, sal_True since SO8 510cdf0e10cSrcweir // mbParaSpaceMaxAtPages def = sal_False, sal_True since SO8 511cdf0e10cSrcweir // 512cdf0e10cSrcweir // SO6: 513cdf0e10cSrcweir // mbTabCompat def = sal_False, sal_True since SO8 514cdf0e10cSrcweir // 515cdf0e10cSrcweir // SO7: 516cdf0e10cSrcweir // mbUseVirtualDevice def = sal_True 517cdf0e10cSrcweir // mbAddFlyOffsets def = sal_False, hidden 518cdf0e10cSrcweir // 519cdf0e10cSrcweir // SO7pp1: 520cdf0e10cSrcweir // bOldNumbering def = sal_False, hidden 521cdf0e10cSrcweir // 522cdf0e10cSrcweir // SO8: 523cdf0e10cSrcweir // mbAddExternalLeading def = sal_True 524cdf0e10cSrcweir // mbUseHiResolutionVirtualDevice def = sal_True, hidden 525cdf0e10cSrcweir // mbOldLineSpacing def = sal_False 526cdf0e10cSrcweir // mbAddParaSpacingToTableCells def = sal_True 527cdf0e10cSrcweir // mbUseFormerObjectPos def = sal_False 528cdf0e10cSrcweir // mbUseFormerTextWrapping def = sal_False 529cdf0e10cSrcweir // mbConsiderWrapOnObjPos def = sal_False 530cdf0e10cSrcweir // 531cdf0e10cSrcweir // SO8pp1: 532cdf0e10cSrcweir // mbIgnoreFirstLineIndentInNumbering def = sal_False, hidden 533cdf0e10cSrcweir // mbDoNotJustifyLinesWithManualBreak def = sal_False, hidden 534cdf0e10cSrcweir // mbDoNotResetParaAttrsForNumFont def = sal_False, hidden 535cdf0e10cSrcweir // 536cdf0e10cSrcweir // SO8pp3 537cdf0e10cSrcweir // mbDoNotCaptureDrawObjsOnPage def = sal_False, hidden 538cdf0e10cSrcweir // - Relevant for drawing objects, which don't follow the text flow, but 539cdf0e10cSrcweir // whose position is outside the page area: 540cdf0e10cSrcweir // sal_False: Such drawing objects are captured on the page area of its anchor. 541cdf0e10cSrcweir // sal_True: Such drawing objects can leave the page area, they aren't captured. 542cdf0e10cSrcweir // mbTableRowKeep def = sal_False, hidden 543cdf0e10cSrcweir // mbIgnoreTabsAndBlanksForLineCalculation def = sal_False, hidden 544cdf0e10cSrcweir // mbClipAsCharacterAnchoredWriterFlyFrame def = sal_False, hidden 545cdf0e10cSrcweir // - Introduced in order to re-activate clipping of as-character anchored 546cdf0e10cSrcweir // Writer fly frames in method <SwFlyInCntFrm::MakeAll()> for documents, 547cdf0e10cSrcweir // which are created with version prior SO8/OOo 2.0 548cdf0e10cSrcweir // 549cdf0e10cSrcweir // SO8pp4 550cdf0e10cSrcweir // mbUnixForceZeroExtLeading def = sal_False, hidden 551cdf0e10cSrcweir // 552cdf0e10cSrcweir // SO8pu8 553cdf0e10cSrcweir // mbOldPrinterMetrics def = sal_False, hidden 554cdf0e10cSrcweir // 555cdf0e10cSrcweir // SO9 556cdf0e10cSrcweir // #i24363# tab stops relative to indent 557cdf0e10cSrcweir // mbTabRelativeToIndent def = sal_True, hidden 558cdf0e10cSrcweir // #i89181# suppress tab stop at left indent for paragraphs in lists, whose 559cdf0e10cSrcweir // list level position and space mode equals LABEL_ALIGNMENT and whose list 560cdf0e10cSrcweir // label is followed by a tab character. 561cdf0e10cSrcweir // mbTabAtLeftIndentForParagraphsInList def = sal_False, hidden 562cdf0e10cSrcweir 563cdf0e10cSrcweir bool mbParaSpaceMax : 1; 564cdf0e10cSrcweir bool mbParaSpaceMaxAtPages : 1; 565cdf0e10cSrcweir bool mbTabCompat : 1; 566cdf0e10cSrcweir bool mbUseVirtualDevice : 1; 567cdf0e10cSrcweir bool mbAddFlyOffsets : 1; 568cdf0e10cSrcweir bool mbAddExternalLeading : 1; 569cdf0e10cSrcweir bool mbUseHiResolutionVirtualDevice : 1; 570cdf0e10cSrcweir bool mbOldLineSpacing : 1; // OD 2004-01-06 #i11859# 571cdf0e10cSrcweir bool mbAddParaSpacingToTableCells : 1; // OD 2004-02-16 #106629# 572cdf0e10cSrcweir bool mbUseFormerObjectPos : 1; // OD 2004-03-12 #i11860# 573cdf0e10cSrcweir bool mbUseFormerTextWrapping : 1; // FME 2005-05-11 #108724# 574cdf0e10cSrcweir bool mbConsiderWrapOnObjPos : 1; // OD 2004-05-05 #i28701# 575cdf0e10cSrcweir // sal_True: object positioning algorithm has consider the wrapping style of // the floating screen objects as given by its attribute 'WrapInfluenceOnObjPos' 576cdf0e10cSrcweir bool mbMathBaselineAlignment : 1; // TL 2010-10-29 #i972# 577cdf0e10cSrcweir 578cdf0e10cSrcweir // non-ui-compatibility flags: 579cdf0e10cSrcweir bool mbOldNumbering : 1; // HBRINKM #111955# 580cdf0e10cSrcweir bool mbIgnoreFirstLineIndentInNumbering : 1; // FME 2005-05-30# i47448# 581cdf0e10cSrcweir bool mbDoNotJustifyLinesWithManualBreak : 1; // FME 2005-06-08 #i49277# 582cdf0e10cSrcweir bool mbDoNotResetParaAttrsForNumFont : 1; // FME 2005-08-11 #i53199# 583cdf0e10cSrcweir bool mbTableRowKeep : 1; // FME 2006-02-10 #131283# 584cdf0e10cSrcweir bool mbIgnoreTabsAndBlanksForLineCalculation : 1; // FME 2006-03-01 #i3952# 585cdf0e10cSrcweir bool mbDoNotCaptureDrawObjsOnPage : 1; // OD 2006-03-14 #i62875# 586cdf0e10cSrcweir bool mbOutlineLevelYieldsOutlineRule : 1; 587cdf0e10cSrcweir bool mbClipAsCharacterAnchoredWriterFlyFrames : 1; // OD 2006-04-13 #b6402800# 588cdf0e10cSrcweir bool mbUnixForceZeroExtLeading : 1; // FME 2006-10-09 #i60945# 589cdf0e10cSrcweir bool mbOldPrinterMetrics : 1; // FME 2007-05-14 #147385# 590cdf0e10cSrcweir bool mbTabRelativeToIndent : 1; // #i24363# tab stops relative to indent 591cdf0e10cSrcweir bool mbProtectForm : 1; 592cdf0e10cSrcweir bool mbTabAtLeftIndentForParagraphsInList; // OD 2008-06-05 #i89181# - see above 593cdf0e10cSrcweir 594cdf0e10cSrcweir bool mbLastBrowseMode : 1; 595cdf0e10cSrcweir 596cdf0e10cSrcweir // #i78591# 597cdf0e10cSrcweir sal_uInt32 n32DummyCompatabilityOptions1; 598cdf0e10cSrcweir sal_uInt32 n32DummyCompatabilityOptions2; 599cdf0e10cSrcweir // 600cdf0e10cSrcweir // COMPATIBILITY FLAGS END 601cdf0e10cSrcweir // 602cdf0e10cSrcweir 603cdf0e10cSrcweir sal_Bool mbStartIdleTimer ; // idle timer mode start/stop 604cdf0e10cSrcweir 605cdf0e10cSrcweir bool mbSetDrawDefaults ; // set draw pool defaults for freshly created documents 606cdf0e10cSrcweir 607cdf0e10cSrcweir static SwAutoCompleteWord *pACmpltWords; // Liste aller Worte fuers AutoComplete 608cdf0e10cSrcweir 609cdf0e10cSrcweir //---------------- private Methoden ------------------------------ 610cdf0e10cSrcweir void checkRedlining(RedlineMode_t& _rReadlineMode); 611cdf0e10cSrcweir 612cdf0e10cSrcweir DECL_LINK( AddDrawUndo, SdrUndoAction * ); 613cdf0e10cSrcweir // DrawModel 614cdf0e10cSrcweir void DrawNotifyUndoHdl(); // wegen CLOOKs 615cdf0e10cSrcweir 616cdf0e10cSrcweir // nur fuer den internen Gebrauch deshalb privat. 617cdf0e10cSrcweir // Kopieren eines Bereiches im oder in ein anderes Dokument ! 618cdf0e10cSrcweir // Die Position darf nicht im Bereich liegen !! 619cdf0e10cSrcweir bool CopyImpl( SwPaM&, SwPosition&, const bool MakeNewFrms /*= true */, 620cdf0e10cSrcweir const bool bCopyAll, SwPaM *const pCpyRng /*= 0*/ ) const; 621cdf0e10cSrcweir 622cdf0e10cSrcweir SwFlyFrmFmt* _MakeFlySection( const SwPosition& rAnchPos, 623cdf0e10cSrcweir const SwCntntNode& rNode, RndStdIds eRequestId, 624cdf0e10cSrcweir const SfxItemSet* pFlyAttrSet, 625cdf0e10cSrcweir SwFrmFmt* = 0 ); 626cdf0e10cSrcweir 627cdf0e10cSrcweir SwFlyFrmFmt* _InsNoTxtNode( const SwPosition&rPos, SwNoTxtNode*, 628cdf0e10cSrcweir const SfxItemSet* pFlyAttrSet, 629cdf0e10cSrcweir const SfxItemSet* pGrfAttrSet, 630cdf0e10cSrcweir SwFrmFmt* = 0 ); 631cdf0e10cSrcweir 632cdf0e10cSrcweir void CopyFlyInFlyImpl( const SwNodeRange& rRg, 633cdf0e10cSrcweir const xub_StrLen nEndContentIndex, 634cdf0e10cSrcweir const SwNodeIndex& rStartIdx, 635cdf0e10cSrcweir const bool bCopyFlyAtFly = false ) const; 636cdf0e10cSrcweir sal_Int8 SetFlyFrmAnchor( SwFrmFmt& rFlyFmt, SfxItemSet& rSet, sal_Bool bNewFrms ); 637cdf0e10cSrcweir 638cdf0e10cSrcweir // --> OD 2005-01-13 #i40550# 639cdf0e10cSrcweir typedef SwFmt* (SwDoc:: *FNCopyFmt)( const String&, SwFmt*, sal_Bool, sal_Bool ); 640cdf0e10cSrcweir // <-- 641cdf0e10cSrcweir SwFmt* CopyFmt( const SwFmt& rFmt, const SvPtrarr& rFmtArr, 642cdf0e10cSrcweir FNCopyFmt fnCopyFmt, const SwFmt& rDfltFmt ); 643cdf0e10cSrcweir void CopyFmtArr( const SvPtrarr& rSourceArr, SvPtrarr& rDestArr, 644cdf0e10cSrcweir FNCopyFmt fnCopyFmt, SwFmt& rDfltFmt ); 645cdf0e10cSrcweir void CopyPageDescHeaderFooterImpl( bool bCpyHeader, 646cdf0e10cSrcweir const SwFrmFmt& rSrcFmt, SwFrmFmt& rDestFmt ); 647cdf0e10cSrcweir SwFmt* FindFmtByName( const SvPtrarr& rFmtArr, 648cdf0e10cSrcweir const String& rName ) const; 649cdf0e10cSrcweir 650cdf0e10cSrcweir VirtualDevice& CreateVirtualDevice_() const; 651cdf0e10cSrcweir SfxPrinter& CreatePrinter_() const; 652cdf0e10cSrcweir void PrtDataChanged(); //Printer oder JobSetup geandert, es muss 653cdf0e10cSrcweir //fuer entsprechende Invalidierungen und 654cdf0e10cSrcweir //Benachrichtigungen gesorgt werden. 655cdf0e10cSrcweir 656cdf0e10cSrcweir // gcc: aFtnInfo::CopyCtor ist private, also muessen wir uns auch schuetzen 657cdf0e10cSrcweir SwDoc( const SwDoc &); 658cdf0e10cSrcweir 659cdf0e10cSrcweir // fuer Felder: 660cdf0e10cSrcweir void _InitFieldTypes(); // wird vom CTOR gerufen!! 661cdf0e10cSrcweir void _MakeFldList( int eMode ); 662cdf0e10cSrcweir 663cdf0e10cSrcweir // Datenbankfelder: 664cdf0e10cSrcweir void UpdateDBNumFlds( SwDBNameInfField& rDBFld, SwCalc& rCalc ); 665cdf0e10cSrcweir void AddUsedDBToList( SvStringsDtor& rDBNameList, 666cdf0e10cSrcweir const SvStringsDtor& rUsedDBNames ); 667cdf0e10cSrcweir void AddUsedDBToList( SvStringsDtor& rDBNameList, const String& rDBName ); 668cdf0e10cSrcweir sal_Bool IsNameInArray( const SvStringsDtor& rOldNames, const String& rName ); 669cdf0e10cSrcweir void GetAllDBNames( SvStringsDtor& rAllDBNames ); 670cdf0e10cSrcweir void ReplaceUsedDBs( const SvStringsDtor& rUsedDBNames, 671cdf0e10cSrcweir const String& rNewName, String& rFormel ); 672cdf0e10cSrcweir SvStringsDtor& FindUsedDBs( const SvStringsDtor& rAllDBNames, 673cdf0e10cSrcweir const String& rFormel, 674cdf0e10cSrcweir SvStringsDtor& rUsedDBNames ); 675cdf0e10cSrcweir 676cdf0e10cSrcweir void InitDrawModel(); 677cdf0e10cSrcweir void ReleaseDrawModel(); 678cdf0e10cSrcweir 679cdf0e10cSrcweir void _CreateNumberFormatter(); 680cdf0e10cSrcweir 681cdf0e10cSrcweir sal_Bool _UnProtectTblCells( SwTable& rTbl ); 682cdf0e10cSrcweir 683cdf0e10cSrcweir // erzeuge Anhand der vorgebenen Collection Teildokumente 684cdf0e10cSrcweir // falls keine angegeben ist, nehme die Kapitelvorlage der 1. Ebene 685cdf0e10cSrcweir sal_Bool SplitDoc( sal_uInt16 eDocType, const String& rPath, 686cdf0e10cSrcweir const SwTxtFmtColl* pSplitColl ); 687cdf0e10cSrcweir sal_Bool SplitDoc( sal_uInt16 eDocType, const String& rPath, int nOutlineLevel = 0 ); //#outline level,add by zhaijianwei. 688cdf0e10cSrcweir 689cdf0e10cSrcweir 690cdf0e10cSrcweir // Charts der angegebenen Tabelle updaten 691cdf0e10cSrcweir void _UpdateCharts( const SwTable& rTbl, ViewShell& rVSh ) const; 692cdf0e10cSrcweir 693cdf0e10cSrcweir sal_Bool _SelectNextRubyChars( SwPaM& rPam, SwRubyListEntry& rRubyEntry, 694cdf0e10cSrcweir sal_uInt16 nMode ); 695cdf0e10cSrcweir 696cdf0e10cSrcweir // unser eigener 'IdlTimer' ruft folgende Methode 697cdf0e10cSrcweir DECL_LINK( DoIdleJobs, Timer * ); 698cdf0e10cSrcweir // der CharTimer ruft diese Methode 699cdf0e10cSrcweir DECL_LINK( DoUpdateAllCharts, Timer * ); 700cdf0e10cSrcweir DECL_LINK( DoUpdateModifiedOLE, Timer * ); 701cdf0e10cSrcweir 702cdf0e10cSrcweir SwFmt *_MakeCharFmt(const String &, SwFmt *, sal_Bool, sal_Bool ); 703cdf0e10cSrcweir SwFmt *_MakeFrmFmt(const String &, SwFmt *, sal_Bool, sal_Bool ); 704cdf0e10cSrcweir SwFmt *_MakeTxtFmtColl(const String &, SwFmt *, sal_Bool, sal_Bool ); 705cdf0e10cSrcweir 706cdf0e10cSrcweir void InitTOXTypes(); 707cdf0e10cSrcweir void Paste( const SwDoc& ); 708cdf0e10cSrcweir bool DeleteAndJoinImpl(SwPaM&, const bool); 709cdf0e10cSrcweir bool DeleteAndJoinWithRedlineImpl(SwPaM&, const bool unused = false); 710cdf0e10cSrcweir bool DeleteRangeImpl(SwPaM&, const bool unused = false); 711cdf0e10cSrcweir bool DeleteRangeImplImpl(SwPaM &); 712cdf0e10cSrcweir bool ReplaceRangeImpl(SwPaM&, String const&, const bool); 713cdf0e10cSrcweir 714cdf0e10cSrcweir public: 715cdf0e10cSrcweir 716cdf0e10cSrcweir /** Life cycle 717cdf0e10cSrcweir */ 718cdf0e10cSrcweir SwDoc(); 719cdf0e10cSrcweir ~SwDoc(); 720cdf0e10cSrcweir 721cdf0e10cSrcweir inline bool IsInDtor() const { return mbDtor; } 722cdf0e10cSrcweir 723cdf0e10cSrcweir /* @@@MAINTAINABILITY-HORROR@@@ 724cdf0e10cSrcweir Implementation details made public. 725cdf0e10cSrcweir */ 726cdf0e10cSrcweir SwNodes & GetNodes() { return *m_pNodes; } 727cdf0e10cSrcweir SwNodes const& GetNodes() const { return *m_pNodes; } 728cdf0e10cSrcweir 729cdf0e10cSrcweir /** IInterface 730cdf0e10cSrcweir */ 731cdf0e10cSrcweir virtual sal_Int32 acquire(); 732cdf0e10cSrcweir virtual sal_Int32 release(); 733cdf0e10cSrcweir virtual sal_Int32 getReferenceCount() const; 734cdf0e10cSrcweir 735cdf0e10cSrcweir /** IDocumentSettingAccess 736cdf0e10cSrcweir */ 737cdf0e10cSrcweir virtual bool get(/*[in]*/ DocumentSettingId id) const; 738cdf0e10cSrcweir virtual void set(/*[in]*/ DocumentSettingId id, /*[in]*/ bool value); 739cdf0e10cSrcweir virtual const com::sun::star::i18n::ForbiddenCharacters* getForbiddenCharacters(/*[in]*/ sal_uInt16 nLang, /*[in]*/ bool bLocaleData ) const; 740cdf0e10cSrcweir virtual void setForbiddenCharacters(/*[in]*/ sal_uInt16 nLang, /*[in]*/ const com::sun::star::i18n::ForbiddenCharacters& rForbiddenCharacters ); 741cdf0e10cSrcweir virtual vos::ORef<SvxForbiddenCharactersTable>& getForbiddenCharacterTable(); 742cdf0e10cSrcweir virtual const vos::ORef<SvxForbiddenCharactersTable>& getForbiddenCharacterTable() const; 743cdf0e10cSrcweir virtual sal_uInt16 getLinkUpdateMode( /*[in]*/bool bGlobalSettings ) const; 744cdf0e10cSrcweir virtual void setLinkUpdateMode( /*[in]*/ sal_uInt16 nMode ); 745cdf0e10cSrcweir virtual SwFldUpdateFlags getFieldUpdateFlags( /*[in]*/bool bGlobalSettings ) const; 746cdf0e10cSrcweir virtual void setFieldUpdateFlags( /*[in]*/ SwFldUpdateFlags eMode ); 747cdf0e10cSrcweir virtual SwCharCompressType getCharacterCompressionType() const; 748cdf0e10cSrcweir virtual void setCharacterCompressionType( /*[in]*/SwCharCompressType nType ); 749cdf0e10cSrcweir 750cdf0e10cSrcweir /** IDocumentDeviceAccess 751cdf0e10cSrcweir */ 752cdf0e10cSrcweir virtual SfxPrinter* getPrinter(/*[in]*/ bool bCreate ) const; 753cdf0e10cSrcweir virtual void setPrinter(/*[in]*/ SfxPrinter* pP,/*[in]*/ bool bDeleteOld,/*[in]*/ bool bCallPrtDataChanged ); 754cdf0e10cSrcweir virtual VirtualDevice* getVirtualDevice(/*[in]*/ bool bCreate ) const; 755cdf0e10cSrcweir virtual void setVirtualDevice(/*[in]*/ VirtualDevice* pVd,/*[in]*/ bool bDeleteOld, /*[in]*/ bool bCallVirDevDataChanged ); 756cdf0e10cSrcweir virtual OutputDevice* getReferenceDevice(/*[in]*/ bool bCreate ) const; 757cdf0e10cSrcweir virtual void setReferenceDeviceType(/*[in]*/ bool bNewVirtual,/*[in]*/ bool bNewHiRes ); 758cdf0e10cSrcweir virtual const JobSetup* getJobsetup() const; 759cdf0e10cSrcweir virtual void setJobsetup(/*[in]*/ const JobSetup& rJobSetup ); 760cdf0e10cSrcweir virtual const SwPrintData & getPrintData() const; 761cdf0e10cSrcweir virtual void setPrintData(/*[in]*/ const SwPrintData& rPrtData); 762cdf0e10cSrcweir 763cdf0e10cSrcweir /** IDocumentMarkAccess 764cdf0e10cSrcweir */ 765cdf0e10cSrcweir IDocumentMarkAccess* getIDocumentMarkAccess(); 766cdf0e10cSrcweir const IDocumentMarkAccess* getIDocumentMarkAccess() const; 767cdf0e10cSrcweir 768cdf0e10cSrcweir /** IDocumentRedlineAccess 769cdf0e10cSrcweir */ 770cdf0e10cSrcweir virtual RedlineMode_t GetRedlineMode() const; 771cdf0e10cSrcweir virtual void SetRedlineMode_intern(/*[in]*/RedlineMode_t eMode); 772cdf0e10cSrcweir virtual void SetRedlineMode(/*[in]*/RedlineMode_t eMode); 773cdf0e10cSrcweir virtual bool IsRedlineOn() const; 774cdf0e10cSrcweir virtual bool IsIgnoreRedline() const; 775cdf0e10cSrcweir virtual bool IsInRedlines(const SwNode& rNode) const; 776cdf0e10cSrcweir virtual const SwRedlineTbl& GetRedlineTbl() const; 777cdf0e10cSrcweir virtual bool AppendRedline(/*[in]*/SwRedline* pPtr, /*[in]*/bool bCallDelete); 778cdf0e10cSrcweir virtual bool SplitRedline(const SwPaM& rPam); 779cdf0e10cSrcweir virtual bool DeleteRedline(/*[in]*/const SwPaM& rPam, /*[in]*/bool bSaveInUndo, /*[in]*/sal_uInt16 nDelType); 780cdf0e10cSrcweir virtual bool DeleteRedline(/*[in]*/const SwStartNode& rSection, /*[in]*/bool bSaveInUndo, /*[in]*/sal_uInt16 nDelType); 781cdf0e10cSrcweir virtual sal_uInt16 GetRedlinePos(/*[in]*/const SwNode& rNode, /*[in]*/sal_uInt16 nType) const; 782cdf0e10cSrcweir virtual void CompressRedlines(); 783cdf0e10cSrcweir virtual const SwRedline* GetRedline(/*[in]*/const SwPosition& rPos, /*[in]*/sal_uInt16* pFndPos) const; 784cdf0e10cSrcweir virtual bool IsRedlineMove() const; 785cdf0e10cSrcweir virtual void SetRedlineMove(/*[in]*/bool bFlag); 786cdf0e10cSrcweir virtual bool AcceptRedline(/*[in]*/sal_uInt16 nPos, /*[in]*/bool bCallDelete); 787cdf0e10cSrcweir virtual bool AcceptRedline(/*[in]*/const SwPaM& rPam, /*[in]*/bool bCallDelete); 788cdf0e10cSrcweir virtual bool RejectRedline(/*[in]*/sal_uInt16 nPos, /*[in]*/bool bCallDelete); 789cdf0e10cSrcweir virtual bool RejectRedline(/*[in]*/const SwPaM& rPam, /*[in]*/bool bCallDelete); 790cdf0e10cSrcweir virtual const SwRedline* SelNextRedline(/*[in]*/SwPaM& rPam) const; 791cdf0e10cSrcweir virtual const SwRedline* SelPrevRedline(/*[in]*/SwPaM& rPam) const; 792cdf0e10cSrcweir virtual void UpdateRedlineAttr(); 793cdf0e10cSrcweir virtual sal_uInt16 GetRedlineAuthor(); 794cdf0e10cSrcweir virtual sal_uInt16 InsertRedlineAuthor(const String& rAuthor); 795cdf0e10cSrcweir virtual bool SetRedlineComment(/*[in]*/const SwPaM& rPam, /*[in]*/const String& rComment); 796cdf0e10cSrcweir virtual const ::com::sun::star::uno::Sequence <sal_Int8>& GetRedlinePassword() const; 797cdf0e10cSrcweir virtual void SetRedlinePassword(/*[in]*/const ::com::sun::star::uno::Sequence <sal_Int8>& rNewPassword); 798cdf0e10cSrcweir 799cdf0e10cSrcweir /** IDocumentUndoRedo 800cdf0e10cSrcweir */ 801cdf0e10cSrcweir IDocumentUndoRedo & GetIDocumentUndoRedo(); 802cdf0e10cSrcweir IDocumentUndoRedo const& GetIDocumentUndoRedo() const; 803cdf0e10cSrcweir 804cdf0e10cSrcweir /** IDocumentLinksAdministration 805cdf0e10cSrcweir */ 806cdf0e10cSrcweir virtual bool IsVisibleLinks() const; 807cdf0e10cSrcweir virtual void SetVisibleLinks(bool bFlag); 808cdf0e10cSrcweir virtual sfx2::LinkManager& GetLinkManager(); 809cdf0e10cSrcweir virtual const sfx2::LinkManager& GetLinkManager() const; 810cdf0e10cSrcweir virtual void UpdateLinks(sal_Bool bUI); 811cdf0e10cSrcweir virtual bool GetData(const String& rItem, const String& rMimeType, ::com::sun::star::uno::Any& rValue) const; 812cdf0e10cSrcweir virtual bool SetData(const String& rItem, const String& rMimeType, const ::com::sun::star::uno::Any& rValue); 813cdf0e10cSrcweir virtual ::sfx2::SvLinkSource* CreateLinkSource(const String& rItem); 814cdf0e10cSrcweir virtual bool EmbedAllLinks(); 815cdf0e10cSrcweir virtual void SetLinksUpdated(const bool bNewLinksUpdated); 816cdf0e10cSrcweir virtual bool LinksUpdated() const; 817cdf0e10cSrcweir 818cdf0e10cSrcweir /** IDocumentFieldsAccess 819cdf0e10cSrcweir */ 820cdf0e10cSrcweir virtual const SwFldTypes *GetFldTypes() const; 821cdf0e10cSrcweir virtual SwFieldType *InsertFldType(const SwFieldType &); 822cdf0e10cSrcweir virtual SwFieldType *GetSysFldType( const sal_uInt16 eWhich ) const; 823cdf0e10cSrcweir virtual SwFieldType* GetFldType(sal_uInt16 nResId, const String& rName, bool bDbFieldMatching) const; 824cdf0e10cSrcweir virtual void RemoveFldType(sal_uInt16 nFld); 825cdf0e10cSrcweir virtual void UpdateFlds( SfxPoolItem* pNewHt, bool bCloseDB); 826cdf0e10cSrcweir virtual void InsDeletedFldType(SwFieldType &); 827cdf0e10cSrcweir virtual bool PutValueToField(const SwPosition & rPos, const com::sun::star::uno::Any& rVal, sal_uInt16 nWhich); 828cdf0e10cSrcweir virtual bool UpdateFld(SwTxtFld * rDstFmtFld, SwField & rSrcFld, SwMsgPoolItem * pMsgHnt, bool bUpdateTblFlds); 829cdf0e10cSrcweir virtual void UpdateRefFlds(SfxPoolItem* pHt); 830cdf0e10cSrcweir virtual void UpdateTblFlds(SfxPoolItem* pHt); 831cdf0e10cSrcweir virtual void UpdateExpFlds(SwTxtFld* pFld, bool bUpdateRefFlds); 832cdf0e10cSrcweir virtual void UpdateUsrFlds(); 833cdf0e10cSrcweir virtual void UpdatePageFlds(SfxPoolItem*); 834cdf0e10cSrcweir virtual void LockExpFlds(); 835cdf0e10cSrcweir virtual void UnlockExpFlds(); 836cdf0e10cSrcweir virtual bool IsExpFldsLocked() const; 837cdf0e10cSrcweir virtual SwDocUpdtFld& GetUpdtFlds() const; 838cdf0e10cSrcweir virtual bool SetFieldsDirty(bool b, const SwNode* pChk, sal_uLong nLen); 839cdf0e10cSrcweir virtual void SetFixFields(bool bOnlyTimeDate, const DateTime* pNewDateTime); 840cdf0e10cSrcweir virtual void FldsToCalc(SwCalc& rCalc, sal_uLong nLastNd, sal_uInt16 nLastCnt); 841cdf0e10cSrcweir virtual void FldsToCalc(SwCalc& rCalc, const _SetGetExpFld& rToThisFld); 842cdf0e10cSrcweir virtual void FldsToExpand(SwHash**& ppTbl, sal_uInt16& rTblSize, const _SetGetExpFld& rToThisFld); 843cdf0e10cSrcweir virtual bool IsNewFldLst() const; 844cdf0e10cSrcweir virtual void SetNewFldLst( bool bFlag); 845cdf0e10cSrcweir virtual void InsDelFldInFldLst(bool bIns, const SwTxtFld& rFld); 846cdf0e10cSrcweir 847cdf0e10cSrcweir /** Returns the field at a certain position. 848cdf0e10cSrcweir @param rPos position to search at 849cdf0e10cSrcweir @return pointer to field at the given position or NULL in case no field is found 850cdf0e10cSrcweir */ 851cdf0e10cSrcweir static SwField* GetField(const SwPosition& rPos); 852cdf0e10cSrcweir 853cdf0e10cSrcweir /** Returns the field at a certain position. 854cdf0e10cSrcweir @param rPos position to search at 855cdf0e10cSrcweir @return pointer to field at the given position or NULL in case no field is found 856cdf0e10cSrcweir */ 857cdf0e10cSrcweir static SwTxtFld* GetTxtFld(const SwPosition& rPos); 858cdf0e10cSrcweir 859cdf0e10cSrcweir /** IDocumentContentOperations 860cdf0e10cSrcweir */ 861cdf0e10cSrcweir virtual bool CopyRange(SwPaM&, SwPosition&, const bool bCopyAll) const; 862cdf0e10cSrcweir virtual void DeleteSection(SwNode* pNode); 863cdf0e10cSrcweir virtual bool DeleteRange(SwPaM&); 864cdf0e10cSrcweir virtual bool DelFullPara(SwPaM&); 865cdf0e10cSrcweir // --> OD 2009-08-20 #i100466# 866cdf0e10cSrcweir // Add optional parameter <bForceJoinNext>, default value <false> 867cdf0e10cSrcweir // Needed for hiding of deletion redlines 868cdf0e10cSrcweir virtual bool DeleteAndJoin( SwPaM&, 869cdf0e10cSrcweir const bool bForceJoinNext = false ); 870cdf0e10cSrcweir // <-- 871cdf0e10cSrcweir virtual bool MoveRange(SwPaM&, SwPosition&, SwMoveFlags); 872cdf0e10cSrcweir virtual bool MoveNodeRange(SwNodeRange&, SwNodeIndex&, SwMoveFlags); 873cdf0e10cSrcweir virtual bool MoveAndJoin(SwPaM&, SwPosition&, SwMoveFlags); 874cdf0e10cSrcweir virtual bool Overwrite(const SwPaM &rRg, const String& rStr); 875cdf0e10cSrcweir virtual bool InsertString(const SwPaM &rRg, const String&, 876cdf0e10cSrcweir const enum InsertFlags nInsertMode = INS_EMPTYEXPAND ); 877cdf0e10cSrcweir virtual SwFlyFrmFmt* Insert(const SwPaM &rRg, const String& rGrfName, const String& rFltName, const Graphic* pGraphic, 878cdf0e10cSrcweir const SfxItemSet* pFlyAttrSet, const SfxItemSet* pGrfAttrSet, SwFrmFmt*); 879cdf0e10cSrcweir virtual SwFlyFrmFmt* Insert(const SwPaM& rRg, const GraphicObject& rGrfObj, const SfxItemSet* pFlyAttrSet, 880cdf0e10cSrcweir const SfxItemSet* pGrfAttrSet, SwFrmFmt*); 881cdf0e10cSrcweir virtual SwDrawFrmFmt* Insert(const SwPaM &rRg, SdrObject& rDrawObj, const SfxItemSet* pFlyAttrSet, SwFrmFmt*); 882cdf0e10cSrcweir virtual SwFlyFrmFmt* Insert(const SwPaM &rRg, const svt::EmbeddedObjectRef& xObj, const SfxItemSet* pFlyAttrSet, 883cdf0e10cSrcweir const SfxItemSet* pGrfAttrSet, SwFrmFmt*); 884cdf0e10cSrcweir virtual bool InsertPoolItem(const SwPaM &rRg, const SfxPoolItem&, 885cdf0e10cSrcweir const SetAttrMode nFlags); 886cdf0e10cSrcweir virtual bool InsertItemSet (const SwPaM &rRg, const SfxItemSet&, 887cdf0e10cSrcweir const SetAttrMode nFlags); 888cdf0e10cSrcweir virtual void ReRead(SwPaM&, const String& rGrfName, const String& rFltName, const Graphic* pGraphic, const GraphicObject* pGrfObj); 889cdf0e10cSrcweir virtual void TransliterateText(const SwPaM& rPaM, utl::TransliterationWrapper&); 890cdf0e10cSrcweir virtual SwFlyFrmFmt* InsertOLE(const SwPaM &rRg, const String& rObjName, sal_Int64 nAspect, const SfxItemSet* pFlyAttrSet, 891cdf0e10cSrcweir const SfxItemSet* pGrfAttrSet, SwFrmFmt*); 892cdf0e10cSrcweir virtual bool SplitNode(const SwPosition &rPos, bool bChkTableStart); 893cdf0e10cSrcweir virtual bool AppendTxtNode(SwPosition& rPos); 894cdf0e10cSrcweir virtual void SetModified(SwPaM &rPaM); 895cdf0e10cSrcweir virtual bool ReplaceRange(SwPaM& rPam, const String& rNewStr, 896cdf0e10cSrcweir const bool bRegExReplace); 897cdf0e10cSrcweir virtual void RemoveLeadingWhiteSpace(const SwPosition & rPos ); 898cdf0e10cSrcweir 899cdf0e10cSrcweir /** IDocumentStylePoolAccess 900cdf0e10cSrcweir */ 901cdf0e10cSrcweir virtual SwTxtFmtColl* GetTxtCollFromPool( sal_uInt16 nId, bool bRegardLanguage = true ); 902cdf0e10cSrcweir virtual SwFmt* GetFmtFromPool( sal_uInt16 nId ); 903cdf0e10cSrcweir virtual SwFrmFmt* GetFrmFmtFromPool( sal_uInt16 nId ); 904cdf0e10cSrcweir virtual SwCharFmt* GetCharFmtFromPool( sal_uInt16 nId ); 905cdf0e10cSrcweir virtual SwPageDesc* GetPageDescFromPool( sal_uInt16 nId, bool bRegardLanguage = true ); 906cdf0e10cSrcweir virtual SwNumRule* GetNumRuleFromPool( sal_uInt16 nId ); 907cdf0e10cSrcweir virtual bool IsPoolTxtCollUsed( sal_uInt16 nId ) const; 908cdf0e10cSrcweir virtual bool IsPoolFmtUsed( sal_uInt16 nId ) const; 909cdf0e10cSrcweir virtual bool IsPoolPageDescUsed( sal_uInt16 nId ) const; 910cdf0e10cSrcweir 911cdf0e10cSrcweir /** IDocumentLineNumberAccess 912cdf0e10cSrcweir */ 913cdf0e10cSrcweir virtual const SwLineNumberInfo& GetLineNumberInfo() const; 914cdf0e10cSrcweir virtual void SetLineNumberInfo(const SwLineNumberInfo& rInfo); 915cdf0e10cSrcweir 916cdf0e10cSrcweir /** IDocumentStatistics 917cdf0e10cSrcweir */ 918cdf0e10cSrcweir virtual void DocInfoChgd(); 919cdf0e10cSrcweir virtual const SwDocStat &GetDocStat() const; 920cdf0e10cSrcweir virtual void SetDocStat(const SwDocStat& rStat); 921cdf0e10cSrcweir virtual void UpdateDocStat(SwDocStat& rStat); 922cdf0e10cSrcweir 923cdf0e10cSrcweir /** IDocumentState 924cdf0e10cSrcweir */ 925cdf0e10cSrcweir virtual void SetModified(); 926cdf0e10cSrcweir virtual void ResetModified(); 927cdf0e10cSrcweir virtual bool IsModified() const; 928cdf0e10cSrcweir virtual bool IsLoaded() const; 929cdf0e10cSrcweir virtual bool IsUpdateExpFld() const; 930cdf0e10cSrcweir virtual bool IsNewDoc() const; 931cdf0e10cSrcweir virtual bool IsPageNums() const; 932cdf0e10cSrcweir virtual void SetPageNums(bool b); 933cdf0e10cSrcweir virtual void SetNewDoc(bool b); 934cdf0e10cSrcweir virtual void SetUpdateExpFldStat(bool b); 935cdf0e10cSrcweir virtual void SetLoaded(bool b); 936cdf0e10cSrcweir 937cdf0e10cSrcweir /** IDocumentDrawModelAccess 938cdf0e10cSrcweir */ 939cdf0e10cSrcweir virtual const SdrModel* GetDrawModel() const; 940cdf0e10cSrcweir virtual SdrModel* GetDrawModel(); 941cdf0e10cSrcweir virtual SdrLayerID GetHeavenId() const; 942cdf0e10cSrcweir virtual SdrLayerID GetHellId() const; 943cdf0e10cSrcweir virtual SdrLayerID GetControlsId() const; 944cdf0e10cSrcweir virtual SdrLayerID GetInvisibleHeavenId() const; 945cdf0e10cSrcweir virtual SdrLayerID GetInvisibleHellId() const; 946cdf0e10cSrcweir virtual SdrLayerID GetInvisibleControlsId() const; 947cdf0e10cSrcweir virtual void NotifyInvisibleLayers( SdrPageView& _rSdrPageView ); 948cdf0e10cSrcweir virtual bool IsVisibleLayerId( const SdrLayerID& _nLayerId ) const; 949cdf0e10cSrcweir virtual SdrLayerID GetVisibleLayerIdByInvisibleOne( const SdrLayerID& _nInvisibleLayerId ); 950cdf0e10cSrcweir virtual SdrLayerID GetInvisibleLayerIdByVisibleOne( const SdrLayerID& _nVisibleLayerId ); 951cdf0e10cSrcweir virtual SdrModel* _MakeDrawModel(); 952cdf0e10cSrcweir virtual SdrModel* GetOrCreateDrawModel(); 953cdf0e10cSrcweir 954cdf0e10cSrcweir /** IDocumentLayoutAccess 955cdf0e10cSrcweir */ 956cdf0e10cSrcweir virtual void SetCurrentViewShell( ViewShell* pNew );//swmod 071225 957cdf0e10cSrcweir virtual SwLayouter* GetLayouter(); 958cdf0e10cSrcweir virtual const SwLayouter* GetLayouter() const; 959cdf0e10cSrcweir virtual void SetLayouter( SwLayouter* pNew ); 960cdf0e10cSrcweir virtual SwFrmFmt* MakeLayoutFmt( RndStdIds eRequest, const SfxItemSet* pSet ); 961cdf0e10cSrcweir virtual void DelLayoutFmt( SwFrmFmt *pFmt ); 962cdf0e10cSrcweir virtual SwFrmFmt* CopyLayoutFmt( const SwFrmFmt& rSrc, const SwFmtAnchor& rNewAnchor, bool bSetTxtFlyAtt, bool bMakeFrms ); 963cdf0e10cSrcweir virtual const ViewShell *GetCurrentViewShell() const; //swmod 080219 964cdf0e10cSrcweir virtual ViewShell *GetCurrentViewShell();//swmod 080219 It must be able to communicate to a ViewShell.This is going to be removerd later. 965cdf0e10cSrcweir virtual const SwRootFrm *GetCurrentLayout() const; 966cdf0e10cSrcweir virtual SwRootFrm *GetCurrentLayout();//swmod 080219 967cdf0e10cSrcweir virtual bool HasLayout() const; 968cdf0e10cSrcweir 969cdf0e10cSrcweir /** IDocumentTimerAccess 970cdf0e10cSrcweir */ 971cdf0e10cSrcweir virtual void StartIdling(); 972cdf0e10cSrcweir virtual void StopIdling(); 973cdf0e10cSrcweir virtual void BlockIdling(); 974cdf0e10cSrcweir virtual void UnblockIdling(); 975cdf0e10cSrcweir 976cdf0e10cSrcweir /** IDocumentChartDataProviderAccess 977cdf0e10cSrcweir */ 978cdf0e10cSrcweir virtual SwChartDataProvider * GetChartDataProvider( bool bCreate = false ) const; 979cdf0e10cSrcweir virtual void CreateChartInternalDataProviders( const SwTable *pTable ); 980cdf0e10cSrcweir virtual SwChartLockController_Helper & GetChartControllerHelper(); 981cdf0e10cSrcweir 982cdf0e10cSrcweir /** IDocumentListItems 983cdf0e10cSrcweir 984cdf0e10cSrcweir OD 2007-10-26 #i83479# 985cdf0e10cSrcweir */ 986cdf0e10cSrcweir virtual void addListItem( const SwNodeNum& rNodeNum ); 987cdf0e10cSrcweir virtual void removeListItem( const SwNodeNum& rNodeNum ); 988cdf0e10cSrcweir virtual String getListItemText( const SwNodeNum& rNodeNum, 989cdf0e10cSrcweir const bool bWithNumber = true, 990cdf0e10cSrcweir const bool bWithSpacesForLevel = false ) const; 991cdf0e10cSrcweir virtual void getListItems( IDocumentListItems::tSortedNodeNumList& orNodeNumList ) const; 992cdf0e10cSrcweir virtual void getNumItems( IDocumentListItems::tSortedNodeNumList& orNodeNumList ) const; 993cdf0e10cSrcweir 994cdf0e10cSrcweir /** IDocumentOutlineNodes 995cdf0e10cSrcweir 996cdf0e10cSrcweir OD 2007-11-15 #i83479# 997cdf0e10cSrcweir */ 998cdf0e10cSrcweir virtual sal_Int32 getOutlineNodesCount() const; 999cdf0e10cSrcweir virtual int getOutlineLevel( const sal_Int32 nIdx ) const; 1000cdf0e10cSrcweir virtual String getOutlineText( const sal_Int32 nIdx, 1001cdf0e10cSrcweir const bool bWithNumber, 1002cdf0e10cSrcweir const bool bWithSpacesForLevel ) const; 1003cdf0e10cSrcweir virtual SwTxtNode* getOutlineNode( const sal_Int32 nIdx ) const; 1004cdf0e10cSrcweir virtual void getOutlineNodes( IDocumentOutlineNodes::tSortedOutlineNodeList& orOutlineNodeList ) const; 1005cdf0e10cSrcweir 1006cdf0e10cSrcweir /** IDocumentListsAccess 1007cdf0e10cSrcweir 1008cdf0e10cSrcweir OD 2008-03-26 #refactorlists# 1009cdf0e10cSrcweir */ 1010cdf0e10cSrcweir virtual SwList* createList( String sListId, 1011cdf0e10cSrcweir const String sDefaultListStyleName ); 1012cdf0e10cSrcweir virtual void deleteList( const String sListId ); 1013cdf0e10cSrcweir virtual SwList* getListByName( const String sListId ) const; 1014cdf0e10cSrcweir virtual SwList* createListForListStyle( const String sListStyleName ); 1015cdf0e10cSrcweir virtual SwList* getListForListStyle( const String sListStyleName ) const; 1016cdf0e10cSrcweir virtual void deleteListForListStyle( const String sListStyleName ); 1017cdf0e10cSrcweir // --> OD 2008-07-08 #i91400# 1018cdf0e10cSrcweir virtual void trackChangeOfListStyleName( const String sListStyleName, 1019cdf0e10cSrcweir const String sNewListStyleName ); 1020cdf0e10cSrcweir // <-- 1021cdf0e10cSrcweir 1022cdf0e10cSrcweir /** IDocumentExternalData */ 1023cdf0e10cSrcweir virtual void setExternalData(::sw::tExternalDataType eType, 1024cdf0e10cSrcweir ::sw::tExternalDataPointer pPayload); 1025cdf0e10cSrcweir virtual ::sw::tExternalDataPointer getExternalData(::sw::tExternalDataType eType); 1026cdf0e10cSrcweir 1027cdf0e10cSrcweir 1028cdf0e10cSrcweir /** INextInterface here 1029cdf0e10cSrcweir */ 1030cdf0e10cSrcweir 1031cdf0e10cSrcweir DECL_STATIC_LINK( SwDoc, BackgroundDone, SvxBrushItem *); 1032cdf0e10cSrcweir DECL_LINK(CalcFieldValueHdl, EditFieldInfo*); 1033cdf0e10cSrcweir 1034cdf0e10cSrcweir /** OLE ??? 1035cdf0e10cSrcweir */ 1036cdf0e10cSrcweir bool IsOLEPrtNotifyPending() const { return mbOLEPrtNotifyPending; } 1037cdf0e10cSrcweir inline void SetOLEPrtNotifyPending( bool bSet = true ); 1038cdf0e10cSrcweir void PrtOLENotify( sal_Bool bAll ); //Alle oder nur Markierte 1039cdf0e10cSrcweir 1040cdf0e10cSrcweir #ifdef DBG_UTIL 1041cdf0e10cSrcweir bool InXMLExport() const { return mbXMLExport; } 1042cdf0e10cSrcweir void SetXMLExport( bool bFlag ) { mbXMLExport = bFlag; } 1043cdf0e10cSrcweir #endif 1044cdf0e10cSrcweir 1045cdf0e10cSrcweir // liefert zu allen fliegenden Rahmen die Position im Dokument. 1046cdf0e10cSrcweir // Wird ein Pam-Pointer uebergeben, muessen die absatzgebundenen 1047cdf0e10cSrcweir // FlyFrames von der ::com::sun::star::awt::Selection vollstaendig umschlossen sein 1048cdf0e10cSrcweir // ( Start < Pos < End ) !!! 1049cdf0e10cSrcweir // (wird fuer die Writer benoetigt) 1050cdf0e10cSrcweir void GetAllFlyFmts( SwPosFlyFrms& rPosFlyFmts, const SwPaM* = 0, 1051cdf0e10cSrcweir sal_Bool bDrawAlso = sal_False ) const; 1052cdf0e10cSrcweir 1053cdf0e10cSrcweir // wegen swrtf.cxx und define private public, jetzt hier 1054cdf0e10cSrcweir SwFlyFrmFmt *MakeFlyFrmFmt (const String &rFmtName, SwFrmFmt *pDerivedFrom); 1055cdf0e10cSrcweir SwDrawFrmFmt *MakeDrawFrmFmt(const String &rFmtName, SwFrmFmt *pDerivedFrom); 1056cdf0e10cSrcweir 1057cdf0e10cSrcweir // JP 08.05.98: fuer Flys muss jetzt diese Schnittstelle benutzt 1058cdf0e10cSrcweir // werden. pAnchorPos muss gesetzt sein, wenn keine 1059cdf0e10cSrcweir // Seitenbindung vorliegt UND der ::com::sun::star::chaos::Anchor nicht schon 1060cdf0e10cSrcweir // im FlySet/FrmFmt mit gueltiger CntntPos gesetzt ist 1061cdf0e10cSrcweir /* #109161# new parameter bCalledFromShell 1062cdf0e10cSrcweir 1063cdf0e10cSrcweir sal_True: An existing adjust item at pAnchorPos is propagated to 1064cdf0e10cSrcweir the content node of the new fly section. That propagation only 1065cdf0e10cSrcweir takes place if there is no adjust item in the paragraph style 1066cdf0e10cSrcweir for the new fly section. 1067cdf0e10cSrcweir 1068cdf0e10cSrcweir sal_False: no propagation 1069cdf0e10cSrcweir */ 1070cdf0e10cSrcweir SwFlyFrmFmt* MakeFlySection( RndStdIds eAnchorType, 1071cdf0e10cSrcweir const SwPosition* pAnchorPos, 1072cdf0e10cSrcweir const SfxItemSet* pSet = 0, 1073cdf0e10cSrcweir SwFrmFmt *pParent = 0, 1074cdf0e10cSrcweir sal_Bool bCalledFromShell = sal_False ); 1075cdf0e10cSrcweir SwFlyFrmFmt* MakeFlyAndMove( const SwPaM& rPam, const SfxItemSet& rSet, 1076cdf0e10cSrcweir const SwSelBoxes* pSelBoxes = 0, 1077cdf0e10cSrcweir SwFrmFmt *pParent = 0 ); 1078cdf0e10cSrcweir 1079cdf0e10cSrcweir void CopyWithFlyInFly( const SwNodeRange& rRg, 1080cdf0e10cSrcweir const xub_StrLen nEndContentIndex, 1081cdf0e10cSrcweir const SwNodeIndex& rInsPos, 1082cdf0e10cSrcweir sal_Bool bMakeNewFrms = sal_True, 1083cdf0e10cSrcweir sal_Bool bDelRedlines = sal_True, 1084cdf0e10cSrcweir sal_Bool bCopyFlyAtFly = sal_False ) const; 1085cdf0e10cSrcweir 1086cdf0e10cSrcweir sal_Bool SetFlyFrmAttr( SwFrmFmt& rFlyFmt, SfxItemSet& rSet ); 1087cdf0e10cSrcweir 1088cdf0e10cSrcweir sal_Bool SetFrmFmtToFly( SwFrmFmt& rFlyFmt, SwFrmFmt& rNewFmt, 1089cdf0e10cSrcweir SfxItemSet* pSet = 0, sal_Bool bKeepOrient = sal_False ); 1090cdf0e10cSrcweir // --> OD 2009-07-20 #i73249# 1091cdf0e10cSrcweir void SetFlyFrmTitle( SwFlyFrmFmt& rFlyFrmFmt, 1092cdf0e10cSrcweir const String& sNewTitle ); 1093cdf0e10cSrcweir void SetFlyFrmDescription( SwFlyFrmFmt& rFlyFrmFmt, 1094cdf0e10cSrcweir const String& sNewDescription ); 1095cdf0e10cSrcweir // <-- 1096cdf0e10cSrcweir 1097cdf0e10cSrcweir /** Footnotes 1098cdf0e10cSrcweir */ 1099cdf0e10cSrcweir // Fussnoten Informationen 1100cdf0e10cSrcweir const SwFtnInfo& GetFtnInfo() const { return *pFtnInfo; } 1101cdf0e10cSrcweir void SetFtnInfo(const SwFtnInfo& rInfo); 1102cdf0e10cSrcweir const SwEndNoteInfo& GetEndNoteInfo() const { return *pEndNoteInfo; } 1103cdf0e10cSrcweir void SetEndNoteInfo(const SwEndNoteInfo& rInfo); 1104cdf0e10cSrcweir SwFtnIdxs& GetFtnIdxs() { return *pFtnIdxs; } 1105cdf0e10cSrcweir const SwFtnIdxs& GetFtnIdxs() const { return *pFtnIdxs; } 1106cdf0e10cSrcweir // change footnotes in area 1107cdf0e10cSrcweir bool SetCurFtn( const SwPaM& rPam, const String& rNumStr, 1108cdf0e10cSrcweir sal_uInt16 nNumber, bool bIsEndNote ); 1109cdf0e10cSrcweir 1110cdf0e10cSrcweir /** Operations on the content of the document e.g. 1111cdf0e10cSrcweir spell-checking/hyphenating/word-counting 1112cdf0e10cSrcweir */ 1113cdf0e10cSrcweir ::com::sun::star::uno::Any 1114cdf0e10cSrcweir Spell( SwPaM&, ::com::sun::star::uno::Reference< 1115cdf0e10cSrcweir ::com::sun::star::linguistic2::XSpellChecker1 > &, 1116cdf0e10cSrcweir sal_uInt16* pPageCnt, sal_uInt16* pPageSt, bool bGrammarCheck, 1117cdf0e10cSrcweir SwConversionArgs *pConvArgs = 0 ) const; 1118cdf0e10cSrcweir 1119cdf0e10cSrcweir ::com::sun::star::uno::Reference< 1120cdf0e10cSrcweir ::com::sun::star::linguistic2::XHyphenatedWord > 1121cdf0e10cSrcweir Hyphenate( SwPaM *pPam, const Point &rCrsrPos, 1122cdf0e10cSrcweir sal_uInt16* pPageCnt, sal_uInt16* pPageSt ); 1123cdf0e10cSrcweir 1124cdf0e10cSrcweir // count words in pam 1125cdf0e10cSrcweir void CountWords( const SwPaM& rPaM, SwDocStat& rStat ) const; 1126cdf0e10cSrcweir 1127cdf0e10cSrcweir 1128cdf0e10cSrcweir /** ??? 1129cdf0e10cSrcweir */ 1130cdf0e10cSrcweir // Textbaustein Dokument? 1131cdf0e10cSrcweir void SetGlossDoc( bool bGlssDc = true ) { mbGlossDoc = bGlssDc; } 1132cdf0e10cSrcweir bool IsInsOnlyTextGlossary() const { return mbInsOnlyTxtGlssry; } 1133cdf0e10cSrcweir 1134cdf0e10cSrcweir // Abstakt fuellen 1135cdf0e10cSrcweir void Summary( SwDoc* pExtDoc, sal_uInt8 nLevel, sal_uInt8 nPara, sal_Bool bImpress ); 1136cdf0e10cSrcweir 1137cdf0e10cSrcweir void ChangeAuthorityData(const SwAuthEntry* pNewData); 1138cdf0e10cSrcweir 1139cdf0e10cSrcweir bool IsInCallModified() const { return mbInCallModified; } 1140cdf0e10cSrcweir sal_Bool IsInHeaderFooter( const SwNodeIndex& rIdx ) const; 1141cdf0e10cSrcweir short GetTextDirection( const SwPosition& rPos, 1142cdf0e10cSrcweir const Point* pPt = 0 ) const; 1143cdf0e10cSrcweir sal_Bool IsInVerticalText( const SwPosition& rPos, 1144cdf0e10cSrcweir const Point* pPt = 0 ) const; 1145cdf0e10cSrcweir /** Database ??? 1146cdf0e10cSrcweir */ 1147cdf0e10cSrcweir 1148cdf0e10cSrcweir /* Datenbank && DB-Manager */ 1149cdf0e10cSrcweir void SetNewDBMgr( SwNewDBMgr* pNewMgr ) { pNewDBMgr = pNewMgr; } 1150cdf0e10cSrcweir SwNewDBMgr* GetNewDBMgr() const { return pNewDBMgr; } 1151cdf0e10cSrcweir void ChangeDBFields( const SvStringsDtor& rOldNames, 1152cdf0e10cSrcweir const String& rNewName ); 1153cdf0e10cSrcweir void SetInitDBFields(sal_Bool b); 1154cdf0e10cSrcweir // Von Feldern verwendete Datenbanken herausfinden 1155cdf0e10cSrcweir void GetAllUsedDB( SvStringsDtor& rDBNameList, 1156cdf0e10cSrcweir const SvStringsDtor* pAllDBNames = 0 ); 1157cdf0e10cSrcweir 1158cdf0e10cSrcweir void ChgDBData( const SwDBData& rNewData ); 1159cdf0e10cSrcweir SwDBData GetDBData(); 1160cdf0e10cSrcweir const SwDBData& GetDBDesc(); 1161cdf0e10cSrcweir const SwDBData& _GetDBDesc() const { return aDBData; } 1162cdf0e10cSrcweir 1163cdf0e10cSrcweir /** Some helper functions 1164cdf0e10cSrcweir */ 1165cdf0e10cSrcweir String GetUniqueGrfName() const; 1166cdf0e10cSrcweir String GetUniqueOLEName() const; 1167cdf0e10cSrcweir String GetUniqueFrameName() const; 1168cdf0e10cSrcweir 1169cdf0e10cSrcweir std::set<SwRootFrm*> GetAllLayouts();//swmod 080225 1170cdf0e10cSrcweir 1171cdf0e10cSrcweir void SetFlyName( SwFlyFrmFmt& rFmt, const String& rName ); 1172cdf0e10cSrcweir const SwFlyFrmFmt* FindFlyByName( const String& rName, sal_Int8 nNdTyp = 0 ) const; 1173cdf0e10cSrcweir 1174cdf0e10cSrcweir void GetGrfNms( const SwFlyFrmFmt& rFmt, String* pGrfName, 1175cdf0e10cSrcweir String* pFltName ) const; 1176cdf0e10cSrcweir 1177cdf0e10cSrcweir // setze bei allen Flys ohne Namen einen gueltigen (Wird von den Readern 1178cdf0e10cSrcweir // nach dem Einlesen gerufen ) 1179cdf0e10cSrcweir void SetAllUniqueFlyNames(); 1180cdf0e10cSrcweir 1181cdf0e10cSrcweir //Zuruecksetzen der Attribute; es werden alle TxtHints und bei 1182cdf0e10cSrcweir //vollstaendiger Selektion harte Formatierung (AUTO-Formate) entfernt 1183cdf0e10cSrcweir // --> OD 2008-11-28 #i96644# 1184cdf0e10cSrcweir // introduce new optional parameter <bSendDataChangedEvents> in order to 1185cdf0e10cSrcweir // control, if the side effect "send data changed events" is triggered or not. 1186cdf0e10cSrcweir void ResetAttrs( const SwPaM &rRg, 1187cdf0e10cSrcweir sal_Bool bTxtAttr = sal_True, 1188cdf0e10cSrcweir const SvUShortsSort* = 0, 1189cdf0e10cSrcweir const bool bSendDataChangedEvents = true ); 1190cdf0e10cSrcweir // <-- 1191cdf0e10cSrcweir void RstTxtAttrs(const SwPaM &rRg, sal_Bool bInclRefToxMark = sal_False ); 1192cdf0e10cSrcweir 1193cdf0e10cSrcweir // Setze das Attribut im angegebenen Format. Ist Undo aktiv, wird 1194cdf0e10cSrcweir // das alte in die Undo-History aufgenommen 1195cdf0e10cSrcweir void SetAttr( const SfxPoolItem&, SwFmt& ); 1196cdf0e10cSrcweir void SetAttr( const SfxItemSet&, SwFmt& ); 1197cdf0e10cSrcweir 1198cdf0e10cSrcweir // --> OD 2008-02-12 #newlistlevelattrs# 1199cdf0e10cSrcweir // method to reset a certain attribute at the given format 1200cdf0e10cSrcweir void ResetAttrAtFormat( const sal_uInt16 nWhichId, 1201cdf0e10cSrcweir SwFmt& rChangedFormat ); 1202cdf0e10cSrcweir // <-- 1203cdf0e10cSrcweir 1204cdf0e10cSrcweir // Setze das Attribut als neues default Attribut in diesem Dokument. 1205cdf0e10cSrcweir // Ist Undo aktiv, wird das alte in die Undo-History aufgenommen 1206cdf0e10cSrcweir void SetDefault( const SfxPoolItem& ); 1207cdf0e10cSrcweir void SetDefault( const SfxItemSet& ); 1208cdf0e10cSrcweir 1209cdf0e10cSrcweir // Erfrage das Default Attribut in diesem Dokument. 1210cdf0e10cSrcweir const SfxPoolItem& GetDefault( sal_uInt16 nFmtHint ) const; 1211cdf0e10cSrcweir // TextAttribute nicht mehr aufspannen lassen 1212cdf0e10cSrcweir sal_Bool DontExpandFmt( const SwPosition& rPos, sal_Bool bFlag = sal_True ); 1213cdf0e10cSrcweir 1214cdf0e10cSrcweir /* Formate */ 1215cdf0e10cSrcweir const SwFrmFmts* GetFrmFmts() const { return pFrmFmtTbl; } 1216cdf0e10cSrcweir SwFrmFmts* GetFrmFmts() { return pFrmFmtTbl; } 1217cdf0e10cSrcweir const SwCharFmts* GetCharFmts() const { return pCharFmtTbl;} 1218cdf0e10cSrcweir 1219cdf0e10cSrcweir /* LayoutFormate (Rahmen, DrawObjecte), mal const mal nicht */ 1220cdf0e10cSrcweir const SwSpzFrmFmts* GetSpzFrmFmts() const { return pSpzFrmFmtTbl; } 1221cdf0e10cSrcweir SwSpzFrmFmts* GetSpzFrmFmts() { return pSpzFrmFmtTbl; } 1222cdf0e10cSrcweir 1223cdf0e10cSrcweir const SwFrmFmt *GetDfltFrmFmt() const { return pDfltFrmFmt; } 1224cdf0e10cSrcweir SwFrmFmt *GetDfltFrmFmt() { return pDfltFrmFmt; } 1225cdf0e10cSrcweir const SwFrmFmt *GetEmptyPageFmt() const { return pEmptyPageFmt; } 1226cdf0e10cSrcweir SwFrmFmt *GetEmptyPageFmt() { return pEmptyPageFmt; } 1227cdf0e10cSrcweir const SwFrmFmt *GetColumnContFmt() const{ return pColumnContFmt; } 1228cdf0e10cSrcweir SwFrmFmt *GetColumnContFmt() { return pColumnContFmt; } 1229cdf0e10cSrcweir const SwCharFmt *GetDfltCharFmt() const { return pDfltCharFmt;} 1230cdf0e10cSrcweir SwCharFmt *GetDfltCharFmt() { return pDfltCharFmt;} 1231cdf0e10cSrcweir 1232cdf0e10cSrcweir // Returns the interface of the management of (auto)styles 1233cdf0e10cSrcweir IStyleAccess& GetIStyleAccess() { return *pStyleAccess; } 1234cdf0e10cSrcweir 1235cdf0e10cSrcweir // Remove all language dependencies from all existing formats 1236cdf0e10cSrcweir void RemoveAllFmtLanguageDependencies(); 1237cdf0e10cSrcweir 1238cdf0e10cSrcweir SwFrmFmt *MakeFrmFmt(const String &rFmtName, SwFrmFmt *pDerivedFrom, 1239cdf0e10cSrcweir sal_Bool bBroadcast = sal_False, sal_Bool bAuto = sal_True); 1240cdf0e10cSrcweir void DelFrmFmt( SwFrmFmt *pFmt, sal_Bool bBroadcast = sal_False ); 1241cdf0e10cSrcweir SwFrmFmt* FindFrmFmtByName( const String& rName ) const 1242cdf0e10cSrcweir { return (SwFrmFmt*)FindFmtByName( (SvPtrarr&)*pFrmFmtTbl, rName ); } 1243cdf0e10cSrcweir 1244cdf0e10cSrcweir // --> OD 2005-01-13 #i40550# 1245cdf0e10cSrcweir SwCharFmt *MakeCharFmt(const String &rFmtName, SwCharFmt *pDerivedFrom, 1246cdf0e10cSrcweir sal_Bool bBroadcast = sal_False, 1247cdf0e10cSrcweir sal_Bool bAuto = sal_True ); 1248cdf0e10cSrcweir // <-- 1249cdf0e10cSrcweir void DelCharFmt(sal_uInt16 nFmt, sal_Bool bBroadcast = sal_False); 1250cdf0e10cSrcweir void DelCharFmt(SwCharFmt* pFmt, sal_Bool bBroadcast = sal_False); 1251cdf0e10cSrcweir SwCharFmt* FindCharFmtByName( const String& rName ) const 1252cdf0e10cSrcweir { return (SwCharFmt*)FindFmtByName( (SvPtrarr&)*pCharFmtTbl, rName ); } 1253cdf0e10cSrcweir 1254cdf0e10cSrcweir /* Formatcollections (Vorlagen) */ 1255cdf0e10cSrcweir // TXT 1256cdf0e10cSrcweir const SwTxtFmtColl* GetDfltTxtFmtColl() const { return pDfltTxtFmtColl; } 1257cdf0e10cSrcweir const SwTxtFmtColls *GetTxtFmtColls() const { return pTxtFmtCollTbl; } 1258cdf0e10cSrcweir // --> OD 2005-01-13 #i40550# 1259cdf0e10cSrcweir SwTxtFmtColl *MakeTxtFmtColl( const String &rFmtName, 1260cdf0e10cSrcweir SwTxtFmtColl *pDerivedFrom, 1261cdf0e10cSrcweir sal_Bool bBroadcast = sal_False, 1262cdf0e10cSrcweir sal_Bool bAuto = sal_True ); 1263cdf0e10cSrcweir // <-- 1264cdf0e10cSrcweir SwConditionTxtFmtColl* MakeCondTxtFmtColl( const String &rFmtName, 1265cdf0e10cSrcweir SwTxtFmtColl *pDerivedFrom, 1266cdf0e10cSrcweir sal_Bool bBroadcast = sal_False); 1267cdf0e10cSrcweir void DelTxtFmtColl(sal_uInt16 nFmt, sal_Bool bBroadcast = sal_False); 1268cdf0e10cSrcweir void DelTxtFmtColl( SwTxtFmtColl* pColl, sal_Bool bBroadcast = sal_False ); 1269cdf0e10cSrcweir // --> OD 2007-11-06 #i62675# 1270cdf0e10cSrcweir // Add 4th optional parameter <bResetListAttrs>. 1271cdf0e10cSrcweir // 'side effect' of <SetTxtFmtColl> with <bReset = true> is that the hard 1272cdf0e10cSrcweir // attributes of the affected text nodes are cleared, except the break 1273cdf0e10cSrcweir // attribute, the page description attribute and the list style attribute. 1274cdf0e10cSrcweir // The new parameter <bResetListAttrs> indicates, if the list attributes 1275cdf0e10cSrcweir // (list style, restart at and restart with) are cleared as well in case 1276cdf0e10cSrcweir // that <bReset = true> and the paragraph style has a list style attribute set. 1277cdf0e10cSrcweir sal_Bool SetTxtFmtColl( const SwPaM &rRg, SwTxtFmtColl *pFmt, 1278cdf0e10cSrcweir bool bReset = true, 1279cdf0e10cSrcweir bool bResetListAttrs = false ); 1280cdf0e10cSrcweir // <-- 1281cdf0e10cSrcweir SwTxtFmtColl* FindTxtFmtCollByName( const String& rName ) const 1282cdf0e10cSrcweir { return (SwTxtFmtColl*)FindFmtByName( (SvPtrarr&)*pTxtFmtCollTbl, rName ); } 1283cdf0e10cSrcweir 1284cdf0e10cSrcweir void ChkCondColls(); 1285cdf0e10cSrcweir 1286cdf0e10cSrcweir // GRF 1287cdf0e10cSrcweir const SwGrfFmtColl* GetDfltGrfFmtColl() const { return pDfltGrfFmtColl; } 1288cdf0e10cSrcweir const SwGrfFmtColls *GetGrfFmtColls() const { return pGrfFmtCollTbl; } 1289cdf0e10cSrcweir SwGrfFmtColl *MakeGrfFmtColl(const String &rFmtName, 1290cdf0e10cSrcweir SwGrfFmtColl *pDerivedFrom); 1291cdf0e10cSrcweir SwGrfFmtColl* FindGrfFmtCollByName( const String& rName ) const 1292cdf0e10cSrcweir { return (SwGrfFmtColl*)FindFmtByName( (SvPtrarr&)*pGrfFmtCollTbl, rName ); } 1293cdf0e10cSrcweir 1294cdf0e10cSrcweir // Tabellen-Formate 1295cdf0e10cSrcweir const SwFrmFmts* GetTblFrmFmts() const { return pTblFrmFmtTbl; } 1296cdf0e10cSrcweir SwFrmFmts* GetTblFrmFmts() { return pTblFrmFmtTbl; } 1297cdf0e10cSrcweir sal_uInt16 GetTblFrmFmtCount( sal_Bool bUsed ) const; 1298cdf0e10cSrcweir SwFrmFmt& GetTblFrmFmt(sal_uInt16 nFmt, sal_Bool bUsed ) const; 1299cdf0e10cSrcweir SwTableFmt* MakeTblFrmFmt(const String &rFmtName, SwFrmFmt *pDerivedFrom); 1300cdf0e10cSrcweir void DelTblFrmFmt( SwTableFmt* pFmt ); 1301cdf0e10cSrcweir SwTableFmt* FindTblFmtByName( const String& rName, sal_Bool bAll = sal_False ) const; 1302cdf0e10cSrcweir 1303cdf0e10cSrcweir //Rahmenzugriff 1304cdf0e10cSrcweir //iterieren ueber Flys - fuer Basic-Collections 1305cdf0e10cSrcweir sal_uInt16 GetFlyCount( FlyCntType eType = FLYCNTTYPE_ALL) const; 1306cdf0e10cSrcweir SwFrmFmt* GetFlyNum(sal_uInt16 nIdx, FlyCntType eType = FLYCNTTYPE_ALL); 1307cdf0e10cSrcweir 1308cdf0e10cSrcweir 1309cdf0e10cSrcweir // kopiere die Formate in die eigenen Arrays und returne diese 1310cdf0e10cSrcweir SwFrmFmt *CopyFrmFmt ( const SwFrmFmt& ); 1311cdf0e10cSrcweir SwCharFmt *CopyCharFmt( const SwCharFmt& ); 1312cdf0e10cSrcweir SwTxtFmtColl* CopyTxtColl( const SwTxtFmtColl& rColl ); 1313cdf0e10cSrcweir SwGrfFmtColl* CopyGrfColl( const SwGrfFmtColl& rColl ); 1314cdf0e10cSrcweir 1315cdf0e10cSrcweir // ersetze alle Formate mit denen aus rSource 1316cdf0e10cSrcweir void ReplaceStyles( SwDoc& rSource ); 1317cdf0e10cSrcweir 1318cdf0e10cSrcweir // erfrage ob die Absatz-/Zeichen-/Rahmen-/Seiten - Vorlage benutzt wird 1319cdf0e10cSrcweir sal_Bool IsUsed( const SwModify& ) const; 1320cdf0e10cSrcweir sal_Bool IsUsed( const SwNumRule& ) const; 1321cdf0e10cSrcweir 1322cdf0e10cSrcweir // setze den Namen der neu geladenen Dokument-Vorlage 1323cdf0e10cSrcweir sal_uInt16 SetDocPattern( const String& rPatternName ); 1324cdf0e10cSrcweir // gebe den Dok-VorlagenNamen zurueck. !!! Kann auch 0 sein !!! 1325cdf0e10cSrcweir String* GetDocPattern( sal_uInt16 nPos ) const { return aPatternNms[nPos]; } 1326cdf0e10cSrcweir 1327cdf0e10cSrcweir // Loesche alle nicht referenzierten FeldTypen 1328cdf0e10cSrcweir void GCFieldTypes(); // impl. in docfld.cxx 1329cdf0e10cSrcweir 1330cdf0e10cSrcweir // akt. Dokument mit Textbausteindokument verbinden/erfragen 1331cdf0e10cSrcweir void SetGlossaryDoc( SwDoc* pDoc ) { pGlossaryDoc = pDoc; } 1332cdf0e10cSrcweir 1333cdf0e10cSrcweir // travel over PaM Ring 1334cdf0e10cSrcweir sal_Bool InsertGlossary( SwTextBlocks& rBlock, const String& rEntry, 1335cdf0e10cSrcweir SwPaM& rPaM, SwCrsrShell* pShell = 0); 1336cdf0e10cSrcweir 1337cdf0e10cSrcweir // get the set of printable pages for the XRenderable API by 1338cdf0e10cSrcweir // evaluating the respective settings (see implementation) 1339cdf0e10cSrcweir void CalculatePagesForPrinting( const SwRootFrm& rLayout, SwRenderData &rData, const SwPrintUIOptions &rOptions, bool bIsPDFExport, 1340cdf0e10cSrcweir sal_Int32 nDocPageCount ); 1341cdf0e10cSrcweir void UpdatePagesForPrintingWithPostItData( SwRenderData &rData, const SwPrintUIOptions &rOptions, bool bIsPDFExport, 1342cdf0e10cSrcweir sal_Int32 nDocPageCount ); 1343cdf0e10cSrcweir void CalculatePagePairsForProspectPrinting( const SwRootFrm& rLayout, SwRenderData &rData, const SwPrintUIOptions &rOptions, 1344cdf0e10cSrcweir sal_Int32 nDocPageCount ); 1345cdf0e10cSrcweir 1346cdf0e10cSrcweir //PageDescriptor-Schnittstelle 1347cdf0e10cSrcweir sal_uInt16 GetPageDescCnt() const { return aPageDescs.Count(); } 1348cdf0e10cSrcweir const SwPageDesc& GetPageDesc( const sal_uInt16 i ) const { return *aPageDescs[i]; } 1349cdf0e10cSrcweir SwPageDesc* FindPageDescByName( const String& rName, 1350cdf0e10cSrcweir sal_uInt16* pPos = 0 ) const; 1351cdf0e10cSrcweir 1352cdf0e10cSrcweir // kopiere den gesamten PageDesc - ueber Dokumentgrenzen und "tief"! 1353cdf0e10cSrcweir // optional kann das kopieren der PoolFmtId, -HlpId verhindert werden 1354cdf0e10cSrcweir void CopyPageDesc( const SwPageDesc& rSrcDesc, SwPageDesc& rDstDesc, 1355cdf0e10cSrcweir sal_Bool bCopyPoolIds = sal_True ); 1356cdf0e10cSrcweir 1357cdf0e10cSrcweir // kopiere die Kopzeile (mit dem Inhalt!) aus dem SrcFmt 1358cdf0e10cSrcweir // ins DestFmt ( auch ueber Doc grenzen hinaus!) 1359cdf0e10cSrcweir void CopyHeader( const SwFrmFmt& rSrcFmt, SwFrmFmt& rDestFmt ) 1360cdf0e10cSrcweir { CopyPageDescHeaderFooterImpl( true, rSrcFmt, rDestFmt ); } 1361cdf0e10cSrcweir // kopiere die Fusszeile (mit dem Inhalt!) aus dem SrcFmt 1362cdf0e10cSrcweir // ins DestFmt ( auch ueber Doc grenzen hinaus!) 1363cdf0e10cSrcweir void CopyFooter( const SwFrmFmt& rSrcFmt, SwFrmFmt& rDestFmt ) 1364cdf0e10cSrcweir { CopyPageDescHeaderFooterImpl( false, rSrcFmt, rDestFmt ); } 1365cdf0e10cSrcweir 1366cdf0e10cSrcweir //fuer Reader 1367cdf0e10cSrcweir 1368cdf0e10cSrcweir SwPageDesc * GetPageDesc( const String & rName ); 1369cdf0e10cSrcweir SwPageDesc& _GetPageDesc( sal_uInt16 i ) const { return *aPageDescs[i]; } 1370cdf0e10cSrcweir void ChgPageDesc( const String & rName, const SwPageDesc& ); 1371cdf0e10cSrcweir void ChgPageDesc( sal_uInt16 i, const SwPageDesc& ); 1372cdf0e10cSrcweir sal_Bool FindPageDesc( const String & rName, sal_uInt16 * pFound ); 1373cdf0e10cSrcweir // -> #116530# 1374cdf0e10cSrcweir void DelPageDesc( const String & rName, sal_Bool bBroadcast = sal_False); 1375cdf0e10cSrcweir void DelPageDesc( sal_uInt16 i, sal_Bool bBroadcast = sal_False ); 1376cdf0e10cSrcweir // <- #116530# 1377cdf0e10cSrcweir void PreDelPageDesc(SwPageDesc * pDel); // #i7983# 1378cdf0e10cSrcweir // -> #116530# 1379cdf0e10cSrcweir sal_uInt16 MakePageDesc( const String &rName, const SwPageDesc* pCpy = 0, 1380cdf0e10cSrcweir sal_Bool bRegardLanguage = sal_True, 1381cdf0e10cSrcweir sal_Bool bBroadcast = sal_False); 1382cdf0e10cSrcweir void BroadcastStyleOperation(String rName, SfxStyleFamily eFamily, 1383cdf0e10cSrcweir sal_uInt16 nOp); 1384cdf0e10cSrcweir // <- #116530# 1385cdf0e10cSrcweir 1386cdf0e10cSrcweir 1387cdf0e10cSrcweir // --> FME 2005-03-16 #i44963# The html import sometimes overwrites the 1388cdf0e10cSrcweir // page sizes set in the page descriptions. This function is used to 1389cdf0e10cSrcweir // correct this. 1390cdf0e10cSrcweir void CheckDefaultPageFmt(); 1391cdf0e10cSrcweir // <-- 1392cdf0e10cSrcweir 1393cdf0e10cSrcweir // Methoden fuer die Verzeichnisse: 1394cdf0e10cSrcweir // - Verzeichnismarke einfuegen loeschen travel 1395cdf0e10cSrcweir sal_uInt16 GetCurTOXMark( const SwPosition& rPos, SwTOXMarks& ) const; 1396cdf0e10cSrcweir void DeleteTOXMark( const SwTOXMark* pTOXMark ); 1397cdf0e10cSrcweir const SwTOXMark& GotoTOXMark( const SwTOXMark& rCurTOXMark, 1398cdf0e10cSrcweir SwTOXSearch eDir, sal_Bool bInReadOnly ); 1399cdf0e10cSrcweir 1400cdf0e10cSrcweir // - Verzeichnis einfuegen, und bei Bedarf erneuern 1401cdf0e10cSrcweir const SwTOXBaseSection* InsertTableOf( const SwPosition& rPos, 1402cdf0e10cSrcweir const SwTOXBase& rTOX, 1403cdf0e10cSrcweir const SfxItemSet* pSet = 0, 1404cdf0e10cSrcweir sal_Bool bExpand = sal_False ); 1405cdf0e10cSrcweir const SwTOXBaseSection* InsertTableOf( sal_uLong nSttNd, sal_uLong nEndNd, 1406cdf0e10cSrcweir const SwTOXBase& rTOX, 1407cdf0e10cSrcweir const SfxItemSet* pSet = 0 ); 1408cdf0e10cSrcweir const SwTOXBase* GetCurTOX( const SwPosition& rPos ) const; 1409cdf0e10cSrcweir const SwAttrSet& GetTOXBaseAttrSet(const SwTOXBase& rTOX) const; 1410cdf0e10cSrcweir 1411cdf0e10cSrcweir sal_Bool DeleteTOX( const SwTOXBase& rTOXBase, sal_Bool bDelNodes = sal_False ); 1412cdf0e10cSrcweir String GetUniqueTOXBaseName( const SwTOXType& rType, 1413cdf0e10cSrcweir const String* pChkStr = 0 ) const; 1414cdf0e10cSrcweir 1415cdf0e10cSrcweir sal_Bool SetTOXBaseName(const SwTOXBase& rTOXBase, const String& rName); 1416cdf0e10cSrcweir void SetTOXBaseProtection(const SwTOXBase& rTOXBase, sal_Bool bProtect); 1417cdf0e10cSrcweir 1418cdf0e10cSrcweir // nach einlesen einer Datei alle Verzeichnisse updaten 1419cdf0e10cSrcweir void SetUpdateTOX( bool bFlag = true ) { mbUpdateTOX = bFlag; } 1420cdf0e10cSrcweir bool IsUpdateTOX() const { return mbUpdateTOX; } 1421cdf0e10cSrcweir 1422cdf0e10cSrcweir const String& GetTOIAutoMarkURL() const {return sTOIAutoMarkURL;} 1423cdf0e10cSrcweir void SetTOIAutoMarkURL(const String& rSet) {sTOIAutoMarkURL = rSet;} 1424cdf0e10cSrcweir void ApplyAutoMark(); 1425cdf0e10cSrcweir 1426cdf0e10cSrcweir bool IsInReading() const { return mbInReading; } 1427cdf0e10cSrcweir void SetInReading( bool bNew ) { mbInReading = bNew; } 1428cdf0e10cSrcweir 1429cdf0e10cSrcweir bool IsClipBoard() const { return mbClipBoard; } 1430cdf0e10cSrcweir // N.B.: must be called right after constructor! (@see GetXmlIdRegistry) 1431cdf0e10cSrcweir void SetClipBoard( bool bNew ) { mbClipBoard = bNew; } 1432cdf0e10cSrcweir 1433cdf0e10cSrcweir bool IsColumnSelection() const { return mbColumnSelection; } 1434cdf0e10cSrcweir void SetColumnSelection( bool bNew ) { mbColumnSelection = bNew; } 1435cdf0e10cSrcweir 1436cdf0e10cSrcweir bool IsInXMLImport() const { return mbInXMLImport; } 1437cdf0e10cSrcweir void SetInXMLImport( bool bNew ) { mbInXMLImport = bNew; } 1438cdf0e10cSrcweir 1439cdf0e10cSrcweir // - Verzeichnis-Typen verwalten 1440cdf0e10cSrcweir sal_uInt16 GetTOXTypeCount( TOXTypes eTyp ) const; 1441cdf0e10cSrcweir const SwTOXType* GetTOXType( TOXTypes eTyp, sal_uInt16 nId ) const; 1442cdf0e10cSrcweir sal_Bool DeleteTOXType( TOXTypes eTyp, sal_uInt16 nId ); 1443cdf0e10cSrcweir const SwTOXType* InsertTOXType( const SwTOXType& rTyp ); 1444cdf0e10cSrcweir const SwTOXTypes& GetTOXTypes() const { return *pTOXTypes; } 1445cdf0e10cSrcweir 1446cdf0e10cSrcweir const SwTOXBase* GetDefaultTOXBase( TOXTypes eTyp, sal_Bool bCreate = sal_False ); 1447cdf0e10cSrcweir void SetDefaultTOXBase(const SwTOXBase& rBase); 1448cdf0e10cSrcweir 1449cdf0e10cSrcweir // - Schluessel fuer die Indexverwaltung 1450cdf0e10cSrcweir sal_uInt16 GetTOIKeys( SwTOIKeyType eTyp, SvStringsSort& rArr ) const; 1451cdf0e10cSrcweir 1452cdf0e10cSrcweir // Sortieren Tabellen Text 1453cdf0e10cSrcweir sal_Bool SortTbl(const SwSelBoxes& rBoxes, const SwSortOptions&); 1454cdf0e10cSrcweir sal_Bool SortText(const SwPaM&, const SwSortOptions&); 1455cdf0e10cSrcweir 1456cdf0e10cSrcweir // korrigiere die im Dokument angemeldeten SwPosition-Objecte, 1457cdf0e10cSrcweir // wie z.B. die ::com::sun::star::text::Bookmarks oder die Verzeichnisse. 1458cdf0e10cSrcweir // JP 22.06.95: ist bMoveCrsr gesetzt, verschiebe auch die Crsr 1459cdf0e10cSrcweir 1460cdf0e10cSrcweir // Setzt alles in rOldNode auf rNewPos + Offset 1461cdf0e10cSrcweir void CorrAbs( const SwNodeIndex& rOldNode, const SwPosition& rNewPos, 1462cdf0e10cSrcweir const xub_StrLen nOffset = 0, sal_Bool bMoveCrsr = sal_False ); 1463cdf0e10cSrcweir // Setzt alles im Bereich von [rStartNode, rEndNode] nach rNewPos 1464cdf0e10cSrcweir void CorrAbs( const SwNodeIndex& rStartNode, const SwNodeIndex& rEndNode, 1465cdf0e10cSrcweir const SwPosition& rNewPos, sal_Bool bMoveCrsr = sal_False ); 1466cdf0e10cSrcweir // Setzt alles im Bereich von rRange nach rNewPos 1467cdf0e10cSrcweir void CorrAbs( const SwPaM& rRange, const SwPosition& rNewPos, 1468cdf0e10cSrcweir sal_Bool bMoveCrsr = sal_False ); 1469cdf0e10cSrcweir // Setzt alles in rOldNode auf relative Pos 1470cdf0e10cSrcweir void CorrRel( const SwNodeIndex& rOldNode, const SwPosition& rNewPos, 1471cdf0e10cSrcweir const xub_StrLen nOffset = 0, sal_Bool bMoveCrsr = sal_False ); 1472cdf0e10cSrcweir 1473cdf0e10cSrcweir // GliederungsRegeln erfragen / setzen 1474cdf0e10cSrcweir // --> OD 2005-11-02 #i51089 - TUNING# 1475cdf0e10cSrcweir inline SwNumRule* GetOutlineNumRule() const 1476cdf0e10cSrcweir { 1477cdf0e10cSrcweir return pOutlineRule; 1478cdf0e10cSrcweir } 1479cdf0e10cSrcweir // <-- 1480cdf0e10cSrcweir void SetOutlineNumRule( const SwNumRule& rRule ); 1481cdf0e10cSrcweir void PropagateOutlineRule(); 1482cdf0e10cSrcweir 1483cdf0e10cSrcweir // Gliederung - hoch-/runterstufen 1484cdf0e10cSrcweir sal_Bool OutlineUpDown( const SwPaM& rPam, short nOffset = 1 ); 1485cdf0e10cSrcweir // Gliederung - hoch-/runtermoven 1486cdf0e10cSrcweir sal_Bool MoveOutlinePara( const SwPaM& rPam, short nOffset = 1); 1487cdf0e10cSrcweir // zu diesem Gliederungspunkt 1488cdf0e10cSrcweir sal_Bool GotoOutline( SwPosition& rPos, const String& rName ) const; 1489cdf0e10cSrcweir // die Aenderungen an den Gliederungsvorlagen in die OutlineRule uebernehmen 1490cdf0e10cSrcweir 1491cdf0e10cSrcweir // setzt, wenn noch keine Numerierung, sonst wird geaendert 1492cdf0e10cSrcweir // arbeitet mit alten und neuen Regeln, nur Differenzen aktualisieren 1493cdf0e10cSrcweir // --> OD 2005-02-18 #i42921# - re-use unused 3rd parameter 1494cdf0e10cSrcweir // --> OD 2008-02-08 #newlistlevelattrs# 1495cdf0e10cSrcweir // Add optional parameter <bResetIndentAttrs> - default value sal_False. 1496cdf0e10cSrcweir // If <bResetIndentAttrs> equals true, the indent attributes "before text" 1497cdf0e10cSrcweir // and "first line indent" are additionally reset at the provided PaM, if 1498cdf0e10cSrcweir // the list style makes use of the new list level attributes. 1499cdf0e10cSrcweir // --> OD 2008-03-17 #refactorlists# 1500cdf0e10cSrcweir // introduce parameters <bCreateNewList> and <sContinuedListId> 1501cdf0e10cSrcweir // <bCreateNewList> indicates, if a new list is created by applying the 1502cdf0e10cSrcweir // given list style. 1503cdf0e10cSrcweir void SetNumRule( const SwPaM&, 1504cdf0e10cSrcweir const SwNumRule&, 1505cdf0e10cSrcweir const bool bCreateNewList, 1506cdf0e10cSrcweir const String sContinuedListId = String(), 1507cdf0e10cSrcweir sal_Bool bSetItem = sal_True, 1508cdf0e10cSrcweir const bool bResetIndentAttrs = false ); 1509cdf0e10cSrcweir // <-- 1510cdf0e10cSrcweir void SetCounted( const SwPaM&, bool bCounted); 1511cdf0e10cSrcweir 1512cdf0e10cSrcweir // --> OD 2009-08-25 #i86492# 1513cdf0e10cSrcweir // no longer needed. 1514cdf0e10cSrcweir // SwDoc::SetNumRule( rPaM, rNumRule, false, <ListId>, sal_True, true ) have to be used instead. 1515cdf0e10cSrcweir // /** 1516cdf0e10cSrcweir // Replace numbering rules in a PaM by another numbering rule. 1517cdf0e10cSrcweir 1518cdf0e10cSrcweir // \param rPaM PaM to replace the numbering rules in 1519cdf0e10cSrcweir // \param rNumRule numbering rule to replace the present numbering rules 1520cdf0e10cSrcweir // */ 1521cdf0e10cSrcweir // void ReplaceNumRule(const SwPaM & rPaM, const SwNumRule & rNumRule); 1522cdf0e10cSrcweir 1523cdf0e10cSrcweir void MakeUniqueNumRules(const SwPaM & rPaM); 1524cdf0e10cSrcweir 1525cdf0e10cSrcweir void SetNumRuleStart( const SwPosition& rPos, sal_Bool bFlag = sal_True ); 1526cdf0e10cSrcweir void SetNodeNumStart( const SwPosition& rPos, sal_uInt16 nStt ); 1527cdf0e10cSrcweir 1528cdf0e10cSrcweir SwNumRule* GetCurrNumRule( const SwPosition& rPos ) const; 1529cdf0e10cSrcweir 1530cdf0e10cSrcweir const SwNumRuleTbl& GetNumRuleTbl() const { return *pNumRuleTbl; } 1531cdf0e10cSrcweir 1532cdf0e10cSrcweir // #i36749# 1533cdf0e10cSrcweir /** 1534cdf0e10cSrcweir Add numbering rule to document. 1535cdf0e10cSrcweir 1536cdf0e10cSrcweir @param pRule rule to add 1537cdf0e10cSrcweir */ 1538cdf0e10cSrcweir void AddNumRule(SwNumRule * pRule); 1539cdf0e10cSrcweir 1540cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs# 1541cdf0e10cSrcweir // add optional parameter <eDefaultNumberFormatPositionAndSpaceMode> 1542cdf0e10cSrcweir sal_uInt16 MakeNumRule( const String &rName, 1543cdf0e10cSrcweir const SwNumRule* pCpy = 0, 1544cdf0e10cSrcweir sal_Bool bBroadcast = sal_False, 1545cdf0e10cSrcweir const SvxNumberFormat::SvxNumPositionAndSpaceMode eDefaultNumberFormatPositionAndSpaceMode = 1546cdf0e10cSrcweir SvxNumberFormat::LABEL_WIDTH_AND_POSITION ); 1547cdf0e10cSrcweir // <-- 1548cdf0e10cSrcweir sal_uInt16 FindNumRule( const String& rName ) const; 1549cdf0e10cSrcweir SwNumRule* FindNumRulePtr( const String& rName ) const; 1550cdf0e10cSrcweir 1551cdf0e10cSrcweir // loeschen geht nur, wenn die ::com::sun::star::chaos::Rule niemand benutzt! 1552cdf0e10cSrcweir // #106897# 1553cdf0e10cSrcweir sal_Bool RenameNumRule(const String & aOldName, const String & aNewName, 1554cdf0e10cSrcweir sal_Bool bBroadcast = sal_False); 1555cdf0e10cSrcweir sal_Bool DelNumRule( const String& rName, sal_Bool bBroadCast = sal_False ); 1556cdf0e10cSrcweir String GetUniqueNumRuleName( const String* pChkStr = 0, sal_Bool bAutoNum = sal_True ) const; 1557cdf0e10cSrcweir 1558cdf0e10cSrcweir void UpdateNumRule(); // alle invaliden Updaten 1559cdf0e10cSrcweir // #106897# 1560cdf0e10cSrcweir void ChgNumRuleFmts( const SwNumRule& rRule, const String * pOldName = 0 ); 1561cdf0e10cSrcweir sal_Bool ReplaceNumRule( const SwPosition& rPos, const String& rOldRule, 1562cdf0e10cSrcweir const String& rNewRule ); 1563cdf0e10cSrcweir 1564cdf0e10cSrcweir // zum naechsten/vorhergehenden Punkt auf gleicher Ebene 1565cdf0e10cSrcweir sal_Bool GotoNextNum( SwPosition&, sal_Bool bOverUpper = sal_True, 1566cdf0e10cSrcweir sal_uInt8* pUpper = 0, sal_uInt8* pLower = 0 ); 1567cdf0e10cSrcweir sal_Bool GotoPrevNum( SwPosition&, sal_Bool bOverUpper = sal_True, 1568cdf0e10cSrcweir sal_uInt8* pUpper = 0, sal_uInt8* pLower = 0 ); 1569cdf0e10cSrcweir 1570cdf0e10cSrcweir // #i23731# 1571cdf0e10cSrcweir /** Searches for a text node with a numbering rule. 1572cdf0e10cSrcweir 1573cdf0e10cSrcweir OD 2005-10-24 #i55391# - add optional parameter <bInvestigateStartNode> 1574cdf0e10cSrcweir OD 2008-03-18 #refactorlists# - add output parameter <sListId> 1575cdf0e10cSrcweir 1576cdf0e10cSrcweir \param rPos position to start search 1577cdf0e10cSrcweir \param bForward - sal_True: search forward 1578cdf0e10cSrcweir - sal_False: search backward 1579cdf0e10cSrcweir \param bNum - sal_True: search for enumeration 1580cdf0e10cSrcweir - sal_False: search for itemize 1581cdf0e10cSrcweir \param bOutline - sal_True: search for outline numbering rule 1582cdf0e10cSrcweir - sal_False: search for non-outline numbering rule 1583cdf0e10cSrcweir \param nNonEmptyAllowed number of non-empty paragraphs allowed between 1584cdf0e10cSrcweir rPos and found paragraph 1585cdf0e10cSrcweir 1586cdf0e10cSrcweir @param sListId 1587cdf0e10cSrcweir output parameter - in case a list style is found, <sListId> holds the 1588cdf0e10cSrcweir list id, to which the text node belongs, which applies the found list style. 1589cdf0e10cSrcweir 1590cdf0e10cSrcweir @param bInvestigateStartNode 1591cdf0e10cSrcweir input parameter - boolean, indicating, if start node, determined by given 1592cdf0e10cSrcweir start position has to be investigated or not. 1593cdf0e10cSrcweir */ 1594cdf0e10cSrcweir const SwNumRule * SearchNumRule(const SwPosition & rPos, 1595cdf0e10cSrcweir const bool bForward, 1596cdf0e10cSrcweir const bool bNum, 1597cdf0e10cSrcweir const bool bOutline, 1598cdf0e10cSrcweir int nNonEmptyAllowed, 1599cdf0e10cSrcweir String& sListId, 1600cdf0e10cSrcweir const bool bInvestigateStartNode = false ); 1601cdf0e10cSrcweir 1602cdf0e10cSrcweir // Absaetze ohne Numerierung, aber mit Einzuegen 1603cdf0e10cSrcweir sal_Bool NoNum( const SwPaM& ); 1604cdf0e10cSrcweir // Loeschen, Splitten der Aufzaehlungsliste 1605cdf0e10cSrcweir void DelNumRules( const SwPaM& ); 1606cdf0e10cSrcweir 1607cdf0e10cSrcweir // Invalidates all numrules 1608cdf0e10cSrcweir void InvalidateNumRules(); 1609cdf0e10cSrcweir 1610cdf0e10cSrcweir // Hoch-/Runterstufen 1611cdf0e10cSrcweir sal_Bool NumUpDown( const SwPaM&, sal_Bool bDown = sal_True ); 1612cdf0e10cSrcweir // Bewegt selektierte Absaetze (nicht nur Numerierungen) 1613cdf0e10cSrcweir // entsprechend des Offsets. (negativ: zum Doc-Anf.) 1614cdf0e10cSrcweir sal_Bool MoveParagraph( const SwPaM&, long nOffset = 1, sal_Bool bIsOutlMv = sal_False ); 1615cdf0e10cSrcweir // No-/Numerierung ueber Delete/Backspace ein/abschalten #115901# 1616cdf0e10cSrcweir sal_Bool NumOrNoNum( const SwNodeIndex& rIdx, sal_Bool bDel = sal_False); 1617cdf0e10cSrcweir // Animation der Grafiken stoppen 1618cdf0e10cSrcweir void StopNumRuleAnimations( OutputDevice* ); 1619cdf0e10cSrcweir 1620cdf0e10cSrcweir // fuege eine neue Tabelle auf der Position rPos ein. (es 1621cdf0e10cSrcweir // wird vor dem Node eingefuegt !!) 1622cdf0e10cSrcweir //JP 28.10.96: 1623cdf0e10cSrcweir // fuer AutoFormat bei der Eingabe: dann muessen die Spalten 1624cdf0e10cSrcweir // auf die vordefinierten Breite gesetzt werden. Im Array stehen die 1625cdf0e10cSrcweir // Positionen der Spalten!! (nicht deren Breite!) 1626cdf0e10cSrcweir /* #109161# new parameter bCalledFromShell: 1627cdf0e10cSrcweir 1628cdf0e10cSrcweir sal_True: called from shell -> propagate existing adjust item at 1629cdf0e10cSrcweir rPos to every new cell. A existing adjust item in the table 1630cdf0e10cSrcweir heading or table contents paragraph style prevent that 1631cdf0e10cSrcweir propagation. 1632cdf0e10cSrcweir 1633cdf0e10cSrcweir sal_False: do not propagate 1634cdf0e10cSrcweir */ 1635cdf0e10cSrcweir const SwTable* InsertTable( const SwInsertTableOptions& rInsTblOpts, // HEADLINE_NO_BORDER 1636cdf0e10cSrcweir const SwPosition& rPos, sal_uInt16 nRows, 1637cdf0e10cSrcweir sal_uInt16 nCols, short eAdjust, 1638cdf0e10cSrcweir const SwTableAutoFmt* pTAFmt = 0, 1639cdf0e10cSrcweir const SvUShorts* pColArr = 0, 1640cdf0e10cSrcweir sal_Bool bCalledFromShell = sal_False, 1641cdf0e10cSrcweir sal_Bool bNewModel = sal_True ); 1642cdf0e10cSrcweir 1643cdf0e10cSrcweir // steht der Index in einer Tabelle, dann returne den TableNode sonst 0 1644cdf0e10cSrcweir SwTableNode* IsIdxInTbl( const SwNodeIndex& rIdx ); 1645cdf0e10cSrcweir inline const SwTableNode* IsIdxInTbl( const SwNodeIndex& rIdx ) const; 1646cdf0e10cSrcweir 1647cdf0e10cSrcweir // erzeuge aus dem makierten Bereich eine ausgeglichene Tabelle 1648cdf0e10cSrcweir const SwTable* TextToTable( const SwInsertTableOptions& rInsTblOpts, // HEADLINE_NO_BORDER, 1649cdf0e10cSrcweir const SwPaM& rRange, sal_Unicode cCh, 1650cdf0e10cSrcweir short eAdjust, 1651cdf0e10cSrcweir const SwTableAutoFmt* = 0 ); 1652cdf0e10cSrcweir // text to table conversion - API support 1653cdf0e10cSrcweir const SwTable* TextToTable( const std::vector< std::vector<SwNodeRange> >& rTableNodes ); 1654cdf0e10cSrcweir // erzeuge aus der Tabelle wieder normalen Text 1655cdf0e10cSrcweir sal_Bool TableToText( const SwTableNode* pTblNd, sal_Unicode cCh ); 1656cdf0e10cSrcweir // einfuegen von Spalten/Zeilen in der Tabelle 1657cdf0e10cSrcweir sal_Bool InsertCol( const SwCursor& rCursor, 1658cdf0e10cSrcweir sal_uInt16 nCnt = 1, sal_Bool bBehind = sal_True ); 1659cdf0e10cSrcweir sal_Bool InsertCol( const SwSelBoxes& rBoxes, 1660cdf0e10cSrcweir sal_uInt16 nCnt = 1, sal_Bool bBehind = sal_True ); 1661cdf0e10cSrcweir sal_Bool InsertRow( const SwCursor& rCursor, 1662cdf0e10cSrcweir sal_uInt16 nCnt = 1, sal_Bool bBehind = sal_True ); 1663cdf0e10cSrcweir sal_Bool InsertRow( const SwSelBoxes& rBoxes, 1664cdf0e10cSrcweir sal_uInt16 nCnt = 1, sal_Bool bBehind = sal_True ); 1665cdf0e10cSrcweir // loeschen von Spalten/Zeilen in der Tabelle 1666cdf0e10cSrcweir sal_Bool DeleteRowCol( const SwSelBoxes& rBoxes, bool bColumn = false ); 1667cdf0e10cSrcweir sal_Bool DeleteRow( const SwCursor& rCursor ); 1668cdf0e10cSrcweir sal_Bool DeleteCol( const SwCursor& rCursor ); 1669cdf0e10cSrcweir // teilen / zusammenfassen von Boxen in der Tabelle 1670cdf0e10cSrcweir sal_Bool SplitTbl( const SwSelBoxes& rBoxes, sal_Bool bVert = sal_True, 1671cdf0e10cSrcweir sal_uInt16 nCnt = 1, sal_Bool bSameHeight = sal_False ); 1672cdf0e10cSrcweir // returnt den enum TableMergeErr 1673cdf0e10cSrcweir sal_uInt16 MergeTbl( SwPaM& rPam ); 1674cdf0e10cSrcweir String GetUniqueTblName() const; 1675cdf0e10cSrcweir sal_Bool IsInsTblFormatNum() const; 1676cdf0e10cSrcweir sal_Bool IsInsTblChangeNumFormat() const; 1677cdf0e10cSrcweir sal_Bool IsInsTblAlignNum() const; 1678cdf0e10cSrcweir 1679cdf0e10cSrcweir // aus der FEShell wg.. Undo und bModified 1680cdf0e10cSrcweir void GetTabCols( SwTabCols &rFill, const SwCursor* pCrsr, 1681cdf0e10cSrcweir const SwCellFrm* pBoxFrm = 0 ) const; 1682cdf0e10cSrcweir void SetTabCols( const SwTabCols &rNew, sal_Bool bCurRowOnly, 1683cdf0e10cSrcweir const SwCursor* pCrsr, const SwCellFrm* pBoxFrm = 0 ); 1684cdf0e10cSrcweir void GetTabRows( SwTabCols &rFill, const SwCursor* pCrsr, 1685cdf0e10cSrcweir const SwCellFrm* pBoxFrm = 0 ) const; 1686cdf0e10cSrcweir void SetTabRows( const SwTabCols &rNew, sal_Bool bCurColOnly, const SwCursor* pCrsr, 1687cdf0e10cSrcweir const SwCellFrm* pBoxFrm = 0 ); 1688cdf0e10cSrcweir 1689cdf0e10cSrcweir 1690cdf0e10cSrcweir // Direktzugriff fuer Uno 1691cdf0e10cSrcweir void SetTabCols(SwTable& rTab, const SwTabCols &rNew, const SwTabCols &rOld, 1692cdf0e10cSrcweir const SwTableBox *pStart, sal_Bool bCurRowOnly); 1693cdf0e10cSrcweir 1694cdf0e10cSrcweir void SetRowsToRepeat( SwTable &rTable, sal_uInt16 nSet ); 1695cdf0e10cSrcweir 1696cdf0e10cSrcweir // AutoFormat fuer die Tabelle/TabellenSelection 1697cdf0e10cSrcweir sal_Bool SetTableAutoFmt( const SwSelBoxes& rBoxes, const SwTableAutoFmt& rNew ); 1698cdf0e10cSrcweir // Erfrage wie attributiert ist 1699cdf0e10cSrcweir sal_Bool GetTableAutoFmt( const SwSelBoxes& rBoxes, SwTableAutoFmt& rGet ); 1700cdf0e10cSrcweir // setze das InsertDB als Tabelle Undo auf: 1701cdf0e10cSrcweir void AppendUndoForInsertFromDB( const SwPaM& rPam, sal_Bool bIsTable ); 1702cdf0e10cSrcweir // setze die Spalten/Zeilen/ZTellen Breite/Hoehe 1703cdf0e10cSrcweir sal_Bool SetColRowWidthHeight( SwTableBox& rAktBox, sal_uInt16 eType, 1704cdf0e10cSrcweir SwTwips nAbsDiff, SwTwips nRelDiff ); 1705cdf0e10cSrcweir SwTableBoxFmt* MakeTableBoxFmt(); 1706cdf0e10cSrcweir SwTableLineFmt* MakeTableLineFmt(); 1707cdf0e10cSrcweir // teste ob die Box ein numerischen Wert darstellt und aender dann ggfs. 1708cdf0e10cSrcweir // das Format der Box 1709cdf0e10cSrcweir void ChkBoxNumFmt( SwTableBox& rAktBox, sal_Bool bCallUpdate ); 1710cdf0e10cSrcweir void SetTblBoxFormulaAttrs( SwTableBox& rBox, const SfxItemSet& rSet ); 1711cdf0e10cSrcweir void ClearBoxNumAttrs( const SwNodeIndex& rNode ); 1712cdf0e10cSrcweir 1713cdf0e10cSrcweir sal_Bool InsCopyOfTbl( SwPosition& rInsPos, const SwSelBoxes& rBoxes, 1714cdf0e10cSrcweir const SwTable* pCpyTbl = 0, sal_Bool bCpyName = sal_False, 1715cdf0e10cSrcweir sal_Bool bCorrPos = sal_False ); 1716cdf0e10cSrcweir 1717cdf0e10cSrcweir sal_Bool UnProtectCells( const String& rTblName ); 1718cdf0e10cSrcweir sal_Bool UnProtectCells( const SwSelBoxes& rBoxes ); 1719cdf0e10cSrcweir sal_Bool UnProtectTbls( const SwPaM& rPam ); 1720cdf0e10cSrcweir sal_Bool HasTblAnyProtection( const SwPosition* pPos, 1721cdf0e10cSrcweir const String* pTblName = 0, 1722cdf0e10cSrcweir sal_Bool* pFullTblProtection = 0 ); 1723cdf0e10cSrcweir 1724cdf0e10cSrcweir // Tabelle an der Position in der GrundLine aufsplitten, sprich eine 1725cdf0e10cSrcweir // neue Tabelle erzeugen. 1726cdf0e10cSrcweir sal_Bool SplitTable( const SwPosition& rPos, sal_uInt16 eMode = 0, 1727cdf0e10cSrcweir sal_Bool bCalcNewSize = sal_False ); 1728cdf0e10cSrcweir // und die Umkehrung davon. rPos muss in der Tabelle stehen, die bestehen 1729cdf0e10cSrcweir // bleibt. Das Flag besagt ob die aktuelle mit der davor oder dahinter 1730cdf0e10cSrcweir // stehenden vereint wird. 1731cdf0e10cSrcweir sal_Bool MergeTable( const SwPosition& rPos, sal_Bool bWithPrev = sal_True, 1732cdf0e10cSrcweir sal_uInt16 nMode = 0 ); 1733cdf0e10cSrcweir 1734cdf0e10cSrcweir // Charts der angegebenen Tabelle zum Update bewegen 1735cdf0e10cSrcweir void UpdateCharts( const String &rName ) const; 1736cdf0e10cSrcweir // update all charts, for that exists any table 1737cdf0e10cSrcweir void UpdateAllCharts() { DoUpdateAllCharts( 0 ); } 1738cdf0e10cSrcweir // Tabelle wird umbenannt und aktualisiert die Charts 1739cdf0e10cSrcweir void SetTableName( SwFrmFmt& rTblFmt, const String &rNewName ); 1740cdf0e10cSrcweir 1741cdf0e10cSrcweir // returne zum Namen die im Doc gesetzte Referenz 1742cdf0e10cSrcweir const SwFmtRefMark* GetRefMark( const String& rName ) const; 1743cdf0e10cSrcweir // returne die RefMark per Index - fuer Uno 1744cdf0e10cSrcweir const SwFmtRefMark* GetRefMark( sal_uInt16 nIndex ) const; 1745cdf0e10cSrcweir // returne die Namen aller im Doc gesetzten Referenzen. 1746cdf0e10cSrcweir // Ist der ArrayPointer 0 dann returne nur, ob im Doc. eine RefMark 1747cdf0e10cSrcweir // gesetzt ist 1748cdf0e10cSrcweir sal_uInt16 GetRefMarks( SvStringsDtor* = 0 ) const; 1749cdf0e10cSrcweir 1750cdf0e10cSrcweir //Einfuegen einer Beschriftung - falls ein FlyFormat erzeugt wird, so 1751cdf0e10cSrcweir // returne dieses. 1752cdf0e10cSrcweir SwFlyFrmFmt* InsertLabel( const SwLabelType eType, const String &rTxt, const String& rSeparator, 1753cdf0e10cSrcweir const String& rNumberingSeparator, 1754cdf0e10cSrcweir const sal_Bool bBefore, const sal_uInt16 nId, const sal_uLong nIdx, 1755cdf0e10cSrcweir const String& rCharacterStyle, 1756cdf0e10cSrcweir const sal_Bool bCpyBrd = sal_True ); 1757cdf0e10cSrcweir SwFlyFrmFmt* InsertDrawLabel( 1758cdf0e10cSrcweir const String &rTxt, const String& rSeparator, const String& rNumberSeparator, 1759cdf0e10cSrcweir const sal_uInt16 nId, const String& rCharacterStyle, SdrObject& rObj ); 1760cdf0e10cSrcweir 1761cdf0e10cSrcweir // erfrage den Attribut Pool 1762cdf0e10cSrcweir const SwAttrPool& GetAttrPool() const { return *mpAttrPool; } 1763cdf0e10cSrcweir SwAttrPool& GetAttrPool() { return *mpAttrPool; } 1764cdf0e10cSrcweir 1765cdf0e10cSrcweir // suche ueber das Layout eine EditShell und ggfs. eine ViewShell 1766cdf0e10cSrcweir SwEditShell* GetEditShell( ViewShell** ppSh = 0 ) const; 1767cdf0e10cSrcweir ::sw::IShellCursorSupplier * GetIShellCursorSupplier(); 1768cdf0e10cSrcweir 1769cdf0e10cSrcweir // OLE 2.0-Benachrichtung 1770cdf0e10cSrcweir inline void SetOle2Link(const Link& rLink) {aOle2Link = rLink;} 1771cdf0e10cSrcweir inline const Link& GetOle2Link() const {return aOle2Link;} 1772cdf0e10cSrcweir 1773cdf0e10cSrcweir // insert section (the ODF kind of section, not the nodesarray kind) 1774cdf0e10cSrcweir SwSection * InsertSwSection(SwPaM const& rRange, SwSectionData &, 1775cdf0e10cSrcweir SwTOXBase const*const pTOXBase = 0, 1776cdf0e10cSrcweir SfxItemSet const*const pAttr = 0, bool const bUpdate = true); 1777cdf0e10cSrcweir sal_uInt16 IsInsRegionAvailable( const SwPaM& rRange, 1778cdf0e10cSrcweir const SwNode** ppSttNd = 0 ) const; 1779cdf0e10cSrcweir SwSection* GetCurrSection( const SwPosition& rPos ) const; 1780cdf0e10cSrcweir SwSectionFmts& GetSections() { return *pSectionFmtTbl; } 1781cdf0e10cSrcweir const SwSectionFmts& GetSections() const { return *pSectionFmtTbl; } 1782cdf0e10cSrcweir SwSectionFmt *MakeSectionFmt( SwSectionFmt *pDerivedFrom ); 1783cdf0e10cSrcweir void DelSectionFmt( SwSectionFmt *pFmt, sal_Bool bDelNodes = sal_False ); 1784cdf0e10cSrcweir void UpdateSection(sal_uInt16 const nSect, SwSectionData &, 1785cdf0e10cSrcweir SfxItemSet const*const = 0, bool const bPreventLinkUpdate = false); 1786cdf0e10cSrcweir String GetUniqueSectionName( const String* pChkStr = 0 ) const; 1787cdf0e10cSrcweir 1788cdf0e10cSrcweir /* @@@MAINTAINABILITY-HORROR@@@ 1789cdf0e10cSrcweir The model should not have anything to do with a shell. 1790cdf0e10cSrcweir Unnecessary compile/link time dependency. 1791cdf0e10cSrcweir */ 1792cdf0e10cSrcweir // Pointer auf die SfxDocShell vom Doc, kann 0 sein !!! 1793cdf0e10cSrcweir SwDocShell* GetDocShell() { return pDocShell; } 1794cdf0e10cSrcweir const SwDocShell* GetDocShell() const { return pDocShell; } 1795cdf0e10cSrcweir void SetDocShell( SwDocShell* pDSh ); 1796cdf0e10cSrcweir 1797*8bfab1dfSMathias Bauer void ShareLayout( boost::shared_ptr<SwRootFrm>& rPtr); 1798*8bfab1dfSMathias Bauer 1799cdf0e10cSrcweir // in case during copying of embedded object a new shell is created, 1800cdf0e10cSrcweir // it should be set here and cleaned later 1801cdf0e10cSrcweir void SetTmpDocShell( SfxObjectShellLock rLock ) { xTmpDocShell = rLock; } 1802cdf0e10cSrcweir SfxObjectShellLock GetTmpDocShell() { return xTmpDocShell; } 1803cdf0e10cSrcweir 1804cdf0e10cSrcweir // fuer die TextBausteine - diese habe nur ein SvPersist zur 1805cdf0e10cSrcweir // Verfuegung 1806cdf0e10cSrcweir SfxObjectShell* GetPersist() const; 1807cdf0e10cSrcweir 1808cdf0e10cSrcweir // Pointer auf den Storage des SfxDocShells, kann 0 sein !!! 1809cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > GetDocStorage(); 1810cdf0e10cSrcweir 1811cdf0e10cSrcweir // abfrage/setze Flag, ob das Dokument im asynchronen Laden ist 1812cdf0e10cSrcweir bool IsInLoadAsynchron() const { return mbInLoadAsynchron; } 1813cdf0e10cSrcweir void SetInLoadAsynchron( bool bFlag ) { mbInLoadAsynchron = bFlag; } 1814cdf0e10cSrcweir 1815cdf0e10cSrcweir // erzeuge um das zu Servende Object eine Selektion 1816cdf0e10cSrcweir sal_Bool SelectServerObj( const String& rStr, SwPaM*& rpPam, 1817cdf0e10cSrcweir SwNodeRange*& rpRange ) const; 1818cdf0e10cSrcweir 1819cdf0e10cSrcweir // fuer Drag&Move: ( z.B. RefMarks "verschieben" erlauben ) 1820cdf0e10cSrcweir bool IsCopyIsMove() const { return mbCopyIsMove; } 1821cdf0e10cSrcweir void SetCopyIsMove( bool bFlag ) { mbCopyIsMove = bFlag; } 1822cdf0e10cSrcweir 1823cdf0e10cSrcweir SwDrawContact* GroupSelection( SdrView& ); 1824cdf0e10cSrcweir void UnGroupSelection( SdrView& ); 1825cdf0e10cSrcweir sal_Bool DeleteSelection( SwDrawView& ); 1826cdf0e10cSrcweir 1827cdf0e10cSrcweir // Invalidiert OnlineSpell-WrongListen 1828cdf0e10cSrcweir void SpellItAgainSam( sal_Bool bInvalid, sal_Bool bOnlyWrong, sal_Bool bSmartTags ); 1829cdf0e10cSrcweir void InvalidateAutoCompleteFlag(); 1830cdf0e10cSrcweir 1831cdf0e10cSrcweir // <-- 1832cdf0e10cSrcweir void SetCalcFieldValueHdl(Outliner* pOutliner); 1833cdf0e10cSrcweir 1834cdf0e10cSrcweir // erfrage ob die ::com::sun::star::util::URL besucht war. Uebers Doc, falls nur ein ::com::sun::star::text::Bookmark 1835cdf0e10cSrcweir // angegeben ist. Dann muss der Doc. Name davor gesetzt werden! 1836cdf0e10cSrcweir sal_Bool IsVisitedURL( const String& rURL ) const; 1837cdf0e10cSrcweir 1838cdf0e10cSrcweir // speicher die akt. Werte fuer die automatische Aufnahme von Ausnahmen 1839cdf0e10cSrcweir // in die Autokorrektur 1840cdf0e10cSrcweir void SetAutoCorrExceptWord( SwAutoCorrExceptWord* pNew ); 1841cdf0e10cSrcweir SwAutoCorrExceptWord* GetAutoCorrExceptWord() { return pACEWord; } 1842cdf0e10cSrcweir 1843cdf0e10cSrcweir const SwFmtINetFmt* FindINetAttr( const String& rName ) const; 1844cdf0e10cSrcweir 1845cdf0e10cSrcweir // rufe ins dunkle Basic, mit evt. Return String 1846cdf0e10cSrcweir sal_Bool ExecMacro( const SvxMacro& rMacro, String* pRet = 0, SbxArray* pArgs = 0 ); 1847cdf0e10cSrcweir // rufe ins dunkle Basic/JavaScript 1848cdf0e10cSrcweir sal_uInt16 CallEvent( sal_uInt16 nEvent, const SwCallMouseEvent& rCallEvent, 1849cdf0e10cSrcweir sal_Bool bChkPtr = sal_False, SbxArray* pArgs = 0, 1850cdf0e10cSrcweir const Link* pCallBack = 0 ); 1851cdf0e10cSrcweir 1852cdf0e10cSrcweir // linken Rand ueber Objectleiste einstellen (aenhlich dem Stufen von 1853cdf0e10cSrcweir // Numerierungen), optional kann man "um" den Offset stufen oder "auf" 1854cdf0e10cSrcweir // die Position gestuft werden (bModulus = sal_True) 1855cdf0e10cSrcweir void MoveLeftMargin( const SwPaM& rPam, sal_Bool bRight = sal_True, 1856cdf0e10cSrcweir sal_Bool bModulus = sal_True ); 1857cdf0e10cSrcweir 1858cdf0e10cSrcweir // Numberformatter erfragen 1859cdf0e10cSrcweir inline SvNumberFormatter* GetNumberFormatter( sal_Bool bCreate = sal_True ); 1860cdf0e10cSrcweir inline const SvNumberFormatter* GetNumberFormatter( sal_Bool bCreate = sal_True ) const; 1861cdf0e10cSrcweir 1862cdf0e10cSrcweir bool HasInvisibleContent() const; 1863cdf0e10cSrcweir /// delete invisible content, like hidden sections and paragraphs 1864cdf0e10cSrcweir bool RemoveInvisibleContent(); 1865cdf0e10cSrcweir /// restore the invisible content if it's available on the undo stack 1866cdf0e10cSrcweir bool RestoreInvisibleContent(); 1867cdf0e10cSrcweir // replace fields by text - mailmerge support 1868cdf0e10cSrcweir sal_Bool ConvertFieldsToText(); 1869cdf0e10cSrcweir 1870cdf0e10cSrcweir // erzeuge Anhand der vorgebenen Collection Teildokumente 1871cdf0e10cSrcweir // falls keine angegeben ist, nehme die Kapitelvorlage der 1. Ebene 1872cdf0e10cSrcweir sal_Bool GenerateGlobalDoc( const String& rPath, 1873cdf0e10cSrcweir const SwTxtFmtColl* pSplitColl = 0 ); 1874cdf0e10cSrcweir sal_Bool GenerateGlobalDoc( const String& rPath, int nOutlineLevel = 0 ); //#outline level,add by zhaojianwei 1875cdf0e10cSrcweir sal_Bool GenerateHTMLDoc( const String& rPath, 1876cdf0e10cSrcweir const SwTxtFmtColl* pSplitColl = 0 ); 1877cdf0e10cSrcweir sal_Bool GenerateHTMLDoc( const String& rPath, int nOutlineLevel = 0 ); //#outline level,add by zhaojianwei 1878cdf0e10cSrcweir 1879cdf0e10cSrcweir // vergleiche zwei Dokument miteinander 1880cdf0e10cSrcweir long CompareDoc( const SwDoc& rDoc ); 1881cdf0e10cSrcweir // merge zweier Dokumente 1882cdf0e10cSrcweir long MergeDoc( const SwDoc& rDoc ); 1883cdf0e10cSrcweir // setze Kommentar-Text fuers Redline, das dann per AppendRedline 1884cdf0e10cSrcweir // hereinkommt. Wird vom Autoformat benutzt. 0-Pointer setzt den Modus 1885cdf0e10cSrcweir // wieder zurueck. Die SequenceNummer ist fuers UI-seitige zusammen- 1886cdf0e10cSrcweir // fassen von Redlines. 1887cdf0e10cSrcweir void SetAutoFmtRedlineComment( const String* pTxt, sal_uInt16 nSeqNo = 0 ); 1888cdf0e10cSrcweir 1889cdf0e10cSrcweir bool IsAutoFmtRedline() const { return mbIsAutoFmtRedline; } 1890cdf0e10cSrcweir void SetAutoFmtRedline( bool bFlag ) { mbIsAutoFmtRedline = bFlag; } 1891cdf0e10cSrcweir 1892cdf0e10cSrcweir // fuer AutoFormat: mit Undo/Redlining - Behandlung 1893cdf0e10cSrcweir void SetTxtFmtCollByAutoFmt( const SwPosition& rPos, sal_uInt16 nPoolId, 1894cdf0e10cSrcweir const SfxItemSet* pSet = 0 ); 1895cdf0e10cSrcweir void SetFmtItemByAutoFmt( const SwPaM& rPam, const SfxItemSet& ); 1896cdf0e10cSrcweir 1897cdf0e10cSrcweir // !!!NUR fuer die SW-Textblocks!! beachtet kein LAYOUT!!! 1898cdf0e10cSrcweir void ClearDoc(); // loescht den gesamten Inhalt. 1899cdf0e10cSrcweir 1900cdf0e10cSrcweir // erfrage / setze die Daten fuer die PagePreView 1901cdf0e10cSrcweir const SwPagePreViewPrtData* GetPreViewPrtData() const { return pPgPViewPrtData; } 1902cdf0e10cSrcweir // wenn der Pointer == 0 ist, dann wird im Doc der Pointer zerstoert, 1903cdf0e10cSrcweir // ansonsten wird das Object kopiert. 1904cdf0e10cSrcweir // Der Pointer geht NICHT in den Besitz des Doc's!! 1905cdf0e10cSrcweir void SetPreViewPrtData( const SwPagePreViewPrtData* pData ); 1906cdf0e10cSrcweir 1907cdf0e10cSrcweir // update all modified OLE-Objects. The modification is called over the 1908cdf0e10cSrcweir // StarOne - Interface --> Bug 67026 1909cdf0e10cSrcweir void SetOLEObjModified() 1910cdf0e10cSrcweir { if( GetCurrentViewShell() ) aOLEModifiedTimer.Start(); } //swmod 071107//swmod 071225 1911cdf0e10cSrcweir 1912cdf0e10cSrcweir // -------------------- Uno - Schnittstellen --------------------------- 1913cdf0e10cSrcweir const SwUnoCrsrTbl& GetUnoCrsrTbl() const { return *pUnoCrsrTbl; } 1914cdf0e10cSrcweir SwUnoCrsr* CreateUnoCrsr( const SwPosition& rPos, sal_Bool bTblCrsr = sal_False ); 1915cdf0e10cSrcweir // -------------------- Uno - Schnittstellen --------------------------- 1916cdf0e10cSrcweir 1917cdf0e10cSrcweir // -------------------- FeShell - Schnittstellen ----------------------- 1918cdf0e10cSrcweir // !!!!! diese gehen immer davon aus, das ein Layout existiert !!!! 1919cdf0e10cSrcweir sal_Bool ChgAnchor( const SdrMarkList& _rMrkList, 1920cdf0e10cSrcweir RndStdIds _eAnchorType, 1921cdf0e10cSrcweir const sal_Bool _bSameOnly, 1922cdf0e10cSrcweir const sal_Bool _bPosCorr ); 1923cdf0e10cSrcweir 1924cdf0e10cSrcweir void SetRowHeight( const SwCursor& rCursor, const SwFmtFrmSize &rNew ); 1925cdf0e10cSrcweir void GetRowHeight( const SwCursor& rCursor, SwFmtFrmSize *& rpSz ) const; 1926cdf0e10cSrcweir void SetRowSplit( const SwCursor& rCursor, const SwFmtRowSplit &rNew ); 1927cdf0e10cSrcweir void GetRowSplit( const SwCursor& rCursor, SwFmtRowSplit *& rpSz ) const; 1928cdf0e10cSrcweir sal_Bool BalanceRowHeight( const SwCursor& rCursor, sal_Bool bTstOnly = sal_True ); 1929cdf0e10cSrcweir void SetRowBackground( const SwCursor& rCursor, const SvxBrushItem &rNew ); 1930cdf0e10cSrcweir sal_Bool GetRowBackground( const SwCursor& rCursor, SvxBrushItem &rToFill ) const; 1931cdf0e10cSrcweir void SetTabBorders( const SwCursor& rCursor, const SfxItemSet& rSet ); 1932cdf0e10cSrcweir void SetTabLineStyle( const SwCursor& rCursor, 1933cdf0e10cSrcweir const Color* pColor, sal_Bool bSetLine, 1934cdf0e10cSrcweir const SvxBorderLine* pBorderLine ); 1935cdf0e10cSrcweir void GetTabBorders( const SwCursor& rCursor, SfxItemSet& rSet ) const; 1936cdf0e10cSrcweir void SetBoxAttr( const SwCursor& rCursor, const SfxPoolItem &rNew ); 1937cdf0e10cSrcweir sal_Bool GetBoxAttr( const SwCursor& rCursor, SfxPoolItem &rToFill ) const; 1938cdf0e10cSrcweir void SetBoxAlign( const SwCursor& rCursor, sal_uInt16 nAlign ); 1939cdf0e10cSrcweir sal_uInt16 GetBoxAlign( const SwCursor& rCursor ) const; 1940cdf0e10cSrcweir void AdjustCellWidth( const SwCursor& rCursor, sal_Bool bBalance = sal_False ); 1941cdf0e10cSrcweir 1942cdf0e10cSrcweir int Chainable( const SwFrmFmt &rSource, const SwFrmFmt &rDest ); 1943cdf0e10cSrcweir int Chain( SwFrmFmt &rSource, const SwFrmFmt &rDest ); 1944cdf0e10cSrcweir void Unchain( SwFrmFmt &rFmt ); 1945cdf0e10cSrcweir 1946cdf0e10cSrcweir // fuers Copy/Move aus der FrmShell 1947cdf0e10cSrcweir SdrObject* CloneSdrObj( const SdrObject&, sal_Bool bMoveWithinDoc = sal_False, 1948cdf0e10cSrcweir sal_Bool bInsInPage = sal_True ); 1949cdf0e10cSrcweir 1950cdf0e10cSrcweir // 1951cdf0e10cSrcweir // -------------------- FeShell - Schnittstellen Ende ------------------ 1952cdf0e10cSrcweir 1953cdf0e10cSrcweir 1954cdf0e10cSrcweir // Schnittstelle fuer die TextInputDaten - ( fuer die Texteingabe 1955cdf0e10cSrcweir // von japanischen/chinesischen Zeichen) 1956cdf0e10cSrcweir SwExtTextInput* CreateExtTextInput( const SwPaM& rPam ); 1957cdf0e10cSrcweir void DeleteExtTextInput( SwExtTextInput* pDel ); 1958cdf0e10cSrcweir SwExtTextInput* GetExtTextInput( const SwNode& rNd, 1959cdf0e10cSrcweir xub_StrLen nCntntPos = STRING_NOTFOUND) const; 1960cdf0e10cSrcweir SwExtTextInput* GetExtTextInput() const; 1961cdf0e10cSrcweir 1962cdf0e10cSrcweir // Schnistelle fuer den Zugriff auf die AutoComplete-Liste 1963cdf0e10cSrcweir static SwAutoCompleteWord& GetAutoCompleteWords() { return *pACmpltWords; } 1964cdf0e10cSrcweir 1965cdf0e10cSrcweir bool ContainsMSVBasic() const { return mbContains_MSVBasic; } 1966cdf0e10cSrcweir void SetContainsMSVBasic( bool bFlag ) { mbContains_MSVBasic = bFlag; } 1967cdf0e10cSrcweir 1968cdf0e10cSrcweir // Interface for the list of Ruby - texts/attributes 1969cdf0e10cSrcweir sal_uInt16 FillRubyList( const SwPaM& rPam, SwRubyList& rList, 1970cdf0e10cSrcweir sal_uInt16 nMode ); 1971cdf0e10cSrcweir sal_uInt16 SetRubyList( const SwPaM& rPam, const SwRubyList& rList, 1972cdf0e10cSrcweir sal_uInt16 nMode ); 1973cdf0e10cSrcweir 1974cdf0e10cSrcweir void ReadLayoutCache( SvStream& rStream ); 1975cdf0e10cSrcweir void WriteLayoutCache( SvStream& rStream ); 1976cdf0e10cSrcweir SwLayoutCache* GetLayoutCache() const { return pLayoutCache; } 1977cdf0e10cSrcweir 1978cdf0e10cSrcweir /** Checks if any of the text node contains hidden characters. 1979cdf0e10cSrcweir Used for optimization. Changing the view option 'view hidden text' 1980cdf0e10cSrcweir has to trigger a reformatting only if some of the text is hidden. 1981cdf0e10cSrcweir */ 1982cdf0e10cSrcweir bool ContainsHiddenChars() const; 1983cdf0e10cSrcweir 1984cdf0e10cSrcweir // call back for API wrapper 1985cdf0e10cSrcweir SwModify* GetUnoCallBack() const; 1986cdf0e10cSrcweir 1987cdf0e10cSrcweir IGrammarContact* getGrammarContact() const { return mpGrammarContact; } 1988cdf0e10cSrcweir 1989cdf0e10cSrcweir // -> #i27615# 1990cdf0e10cSrcweir /** Marks/Unmarks a list level of a certain list 1991cdf0e10cSrcweir 1992cdf0e10cSrcweir OD 2008-04-02 #refactorlists# 1993cdf0e10cSrcweir levels of a certain lists are marked now 1994cdf0e10cSrcweir 1995cdf0e10cSrcweir @param sListId list Id of the list whose level has to be marked/unmarked 1996cdf0e10cSrcweir @param nListLevel level to mark 1997cdf0e10cSrcweir @param bValue - sal_True mark the level 1998cdf0e10cSrcweir - sal_False unmark the level 1999cdf0e10cSrcweir */ 2000cdf0e10cSrcweir void MarkListLevel( const String& sListId, 2001cdf0e10cSrcweir const int nListLevel, 2002cdf0e10cSrcweir const sal_Bool bValue ); 2003cdf0e10cSrcweir 2004cdf0e10cSrcweir /** Marks/Unmarks a list level of a certain list 2005cdf0e10cSrcweir 2006cdf0e10cSrcweir OD 2008-04-02 #refactorlists# 2007cdf0e10cSrcweir levels of a certain lists are marked now 2008cdf0e10cSrcweir 2009cdf0e10cSrcweir @param rList list whose level has to be marked/unmarked 2010cdf0e10cSrcweir @param nListLevel level to mark 2011cdf0e10cSrcweir @param bValue - sal_True mark the level 2012cdf0e10cSrcweir - sal_False unmark the level 2013cdf0e10cSrcweir */ 2014cdf0e10cSrcweir void MarkListLevel( SwList& rList, 2015cdf0e10cSrcweir const int nListLevel, 2016cdf0e10cSrcweir const sal_Bool bValue ); 2017cdf0e10cSrcweir // <- #i27615# 2018cdf0e10cSrcweir 2019cdf0e10cSrcweir // Change a format undoable. 2020cdf0e10cSrcweir void ChgFmt(SwFmt & rFmt, const SfxItemSet & rSet); 2021cdf0e10cSrcweir 2022cdf0e10cSrcweir void RenameFmt(SwFmt & rFmt, const String & sNewName, 2023cdf0e10cSrcweir sal_Bool bBroadcast = sal_False); 2024cdf0e10cSrcweir 2025cdf0e10cSrcweir // Change a TOX undoable. 2026cdf0e10cSrcweir void ChgTOX(SwTOXBase & rTOX, const SwTOXBase & rNew); 2027cdf0e10cSrcweir 2028cdf0e10cSrcweir // #111827# 2029cdf0e10cSrcweir /** 2030cdf0e10cSrcweir Returns a textual description of a PaM. 2031cdf0e10cSrcweir 2032cdf0e10cSrcweir @param rPaM the PaM to describe 2033cdf0e10cSrcweir 2034cdf0e10cSrcweir If rPaM only spans one paragraph the result is: 2035cdf0e10cSrcweir 2036cdf0e10cSrcweir '<text in the PaM>' 2037cdf0e10cSrcweir 2038cdf0e10cSrcweir <text in the PaM> is shortened to nUndoStringLength characters. 2039cdf0e10cSrcweir 2040cdf0e10cSrcweir If rPaM spans more than one paragraph the result is: 2041cdf0e10cSrcweir 2042cdf0e10cSrcweir paragraphs (STR_PARAGRAPHS) 2043cdf0e10cSrcweir 2044cdf0e10cSrcweir @return the textual description of rPaM 2045cdf0e10cSrcweir */ 2046cdf0e10cSrcweir String GetPaMDescr(const SwPaM & rPaM) const; 2047cdf0e10cSrcweir 2048cdf0e10cSrcweir // -> #i23726# 2049cdf0e10cSrcweir sal_Bool IsFirstOfNumRule(SwPosition & rPos); 2050cdf0e10cSrcweir // <- #i23726# 2051cdf0e10cSrcweir 2052cdf0e10cSrcweir // --> #i31958# access methods for XForms model(s) 2053cdf0e10cSrcweir 2054cdf0e10cSrcweir /// access container for XForms model; will be NULL if !isXForms() 2055cdf0e10cSrcweir com::sun::star::uno::Reference<com::sun::star::container::XNameContainer> 2056cdf0e10cSrcweir getXForms() const; 2057cdf0e10cSrcweir 2058cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::linguistic2::XProofreadingIterator > GetGCIterator() const; 2059cdf0e10cSrcweir 2060cdf0e10cSrcweir /// is this an XForms document? 2061cdf0e10cSrcweir bool isXForms() const; 2062cdf0e10cSrcweir 2063cdf0e10cSrcweir /// initialize XForms models; turn this into an XForms document 2064cdf0e10cSrcweir void initXForms( bool bCreateDefaultModel ); 2065cdf0e10cSrcweir // <-- #i31958# access methods for XForms model(s) 2066cdf0e10cSrcweir 2067cdf0e10cSrcweir // --> OD 2006-03-21 #b6375613# 2068cdf0e10cSrcweir inline bool ApplyWorkaroundForB6375613() const 2069cdf0e10cSrcweir { 2070cdf0e10cSrcweir return mbApplyWorkaroundForB6375613; 2071cdf0e10cSrcweir } 2072cdf0e10cSrcweir void SetApplyWorkaroundForB6375613( bool p_bApplyWorkaroundForB6375613 ); 2073cdf0e10cSrcweir // <-- 2074cdf0e10cSrcweir 2075cdf0e10cSrcweir //Update all the page masters 2076cdf0e10cSrcweir void SetDefaultPageMode(bool bSquaredPageMode); 2077cdf0e10cSrcweir sal_Bool IsSquaredPageMode() const; 2078cdf0e10cSrcweir 2079cdf0e10cSrcweir // i#78591# 2080cdf0e10cSrcweir void Setn32DummyCompatabilityOptions1( sal_uInt32 CompatabilityOptions1 ) 2081cdf0e10cSrcweir { 2082cdf0e10cSrcweir n32DummyCompatabilityOptions1 = CompatabilityOptions1; 2083cdf0e10cSrcweir } 2084cdf0e10cSrcweir sal_uInt32 Getn32DummyCompatabilityOptions1( ) 2085cdf0e10cSrcweir { 2086cdf0e10cSrcweir return n32DummyCompatabilityOptions1; 2087cdf0e10cSrcweir } 2088cdf0e10cSrcweir void Setn32DummyCompatabilityOptions2( sal_uInt32 CompatabilityOptions2 ) 2089cdf0e10cSrcweir { 2090cdf0e10cSrcweir n32DummyCompatabilityOptions2 = CompatabilityOptions2; 2091cdf0e10cSrcweir } 2092cdf0e10cSrcweir sal_uInt32 Getn32DummyCompatabilityOptions2( ) 2093cdf0e10cSrcweir { 2094cdf0e10cSrcweir return n32DummyCompatabilityOptions2; 2095cdf0e10cSrcweir } 2096cdf0e10cSrcweir #ifdef FUTURE_VBA 2097cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::script::vba::XVBAEventProcessor > GetVbaEventProcessor(); 2098cdf0e10cSrcweir #endif 2099cdf0e10cSrcweir ::sfx2::IXmlIdRegistry& GetXmlIdRegistry(); 2100cdf0e10cSrcweir ::sw::MetaFieldManager & GetMetaFieldManager(); 2101cdf0e10cSrcweir ::sw::UndoManager & GetUndoManager(); 2102cdf0e10cSrcweir ::sw::UndoManager const& GetUndoManager() const; 2103cdf0e10cSrcweir SfxObjectShell* CreateCopy(bool bCallInitNew) const; 2104cdf0e10cSrcweir 2105cdf0e10cSrcweir /// must be called only in SwDocShell::InitNew, causes UpdateDrawDefaults to be called when drawing layer is created 2106cdf0e10cSrcweir void SetDrawDefaults(); 2107cdf0e10cSrcweir 2108cdf0e10cSrcweir private: 2109cdf0e10cSrcweir /// method to set new graphics pool defaults, must only be called by SetDrawDefaults! 2110cdf0e10cSrcweir void UpdateDrawDefaults(); 2111cdf0e10cSrcweir }; 2112cdf0e10cSrcweir 2113cdf0e10cSrcweir 2114cdf0e10cSrcweir // Diese Methode wird im Dtor vom SwDoc gerufen und loescht den Cache 2115cdf0e10cSrcweir // der Konturobjekte 2116cdf0e10cSrcweir void ClrContourCache(); 2117cdf0e10cSrcweir 2118cdf0e10cSrcweir 2119cdf0e10cSrcweir //------------------ inline impl. --------------------------------- 2120cdf0e10cSrcweir 2121cdf0e10cSrcweir inline const SwTableNode* SwDoc::IsIdxInTbl( const SwNodeIndex& rIdx ) const 2122cdf0e10cSrcweir { 2123cdf0e10cSrcweir return ((SwDoc*)this)->IsIdxInTbl( rIdx ); 2124cdf0e10cSrcweir } 2125cdf0e10cSrcweir 2126cdf0e10cSrcweir inline SvNumberFormatter* SwDoc::GetNumberFormatter( sal_Bool bCreate ) 2127cdf0e10cSrcweir { 2128cdf0e10cSrcweir if( bCreate && !pNumberFormatter ) 2129cdf0e10cSrcweir _CreateNumberFormatter(); 2130cdf0e10cSrcweir return pNumberFormatter; 2131cdf0e10cSrcweir } 2132cdf0e10cSrcweir 2133cdf0e10cSrcweir inline const SvNumberFormatter* SwDoc::GetNumberFormatter( sal_Bool bCreate ) const 2134cdf0e10cSrcweir { 2135cdf0e10cSrcweir return ((SwDoc*)this)->GetNumberFormatter( bCreate ); 2136cdf0e10cSrcweir } 2137cdf0e10cSrcweir 2138cdf0e10cSrcweir inline void SwDoc::SetOLEPrtNotifyPending( bool bSet ) 2139cdf0e10cSrcweir { 2140cdf0e10cSrcweir mbOLEPrtNotifyPending = bSet; 2141cdf0e10cSrcweir if( !bSet ) 2142cdf0e10cSrcweir mbAllOLENotify = sal_False; 2143cdf0e10cSrcweir } 2144cdf0e10cSrcweir 2145cdf0e10cSrcweir // --> OD 2006-03-14 #i62875# 2146cdf0e10cSrcweir // namespace <docfunc> for functions and procedures working on a Writer document. 2147cdf0e10cSrcweir namespace docfunc 2148cdf0e10cSrcweir { 2149cdf0e10cSrcweir /** method to check, if given Writer document contains at least one drawing object 2150cdf0e10cSrcweir 2151cdf0e10cSrcweir OD 2006-03-17 #i62875# 2152cdf0e10cSrcweir 2153cdf0e10cSrcweir @author OD 2154cdf0e10cSrcweir 2155cdf0e10cSrcweir @param p_rDoc 2156cdf0e10cSrcweir input parameter - reference to the Writer document, which is investigated. 2157cdf0e10cSrcweir */ 2158cdf0e10cSrcweir bool ExistsDrawObjs( SwDoc& p_rDoc ); 2159cdf0e10cSrcweir 2160cdf0e10cSrcweir /** method to check, if given Writer document contains only drawing objects, 2161cdf0e10cSrcweir which are completely on its page. 2162cdf0e10cSrcweir 2163cdf0e10cSrcweir OD 2006-03-17 #i62875# 2164cdf0e10cSrcweir 2165cdf0e10cSrcweir @author OD 2166cdf0e10cSrcweir 2167cdf0e10cSrcweir @param p_rDoc 2168cdf0e10cSrcweir input parameter - reference to the Writer document, which is investigated. 2169cdf0e10cSrcweir */ 2170cdf0e10cSrcweir bool AllDrawObjsOnPage( SwDoc& p_rDoc ); 2171cdf0e10cSrcweir 2172cdf0e10cSrcweir /** method to check, if the outline style has to written as a normal list style 2173cdf0e10cSrcweir 2174cdf0e10cSrcweir OD 2006-09-27 #i69627# 2175cdf0e10cSrcweir The outline style has to written as a normal list style, if a parent 2176cdf0e10cSrcweir paragraph style of one of the paragraph styles, which are assigned to 2177cdf0e10cSrcweir the list levels of the outline style, has a list style set or inherits 2178cdf0e10cSrcweir a list style from its parent paragraphs style. 2179cdf0e10cSrcweir This information is needed for the OpenDocument file format export. 2180cdf0e10cSrcweir 2181cdf0e10cSrcweir @author OD 2182cdf0e10cSrcweir 2183cdf0e10cSrcweir @param rDoc 2184cdf0e10cSrcweir input parameter - reference to the text document, which is investigated. 2185cdf0e10cSrcweir 2186cdf0e10cSrcweir @return boolean 2187cdf0e10cSrcweir indicating, if the outline style has to written as a normal list style 2188cdf0e10cSrcweir */ 2189cdf0e10cSrcweir bool HasOutlineStyleToBeWrittenAsNormalListStyle( SwDoc& rDoc ); 2190cdf0e10cSrcweir } 2191cdf0e10cSrcweir // <-- 2192cdf0e10cSrcweir #endif //_DOC_HXX 2193