19#ifndef INCLUDED_SW_INC_DOC_HXX
20#define INCLUDED_SW_INC_DOC_HXX
49#include <unordered_map>
52namespace editeng {
class SvxBorderLine; }
117class IDocumentUndoRedo;
142namespace sw::mark {
class MarkManager; }
147 class MetaFieldManager;
149 class IShellCursorSupplier;
150 class DocumentSettingManager;
151 class DocumentDeviceManager;
152 class DocumentDrawModelManager;
153 class DocumentChartDataProviderManager;
154 class DocumentTimerManager;
155 class DocumentLinksAdministrationManager;
156 class DocumentListItemsManager;
157 class DocumentListsManager;
158 class DocumentOutlineNodesManager;
159 class DocumentContentOperationsManager;
160 class DocumentRedlineManager;
161 class DocumentFieldsManager;
162 class DocumentStatisticsManager;
163 class DocumentStateManager;
164 class DocumentLayoutManager;
165 class DocumentStylePoolManager;
166 class DocumentExternalDataManager;
167 template<
class T>
class FrameFormats;
168 class GrammarContact;
169 class OnlineAccessibilityCheck;
173 namespace container {
174 class XNameContainer;
176 namespace embed {
class XStorage; }
177 namespace linguistic2 {
class XHyphenatedWord; }
178 namespace linguistic2 {
class XProofreadingIterator; }
179 namespace linguistic2 {
class XSpellChecker1; }
180 namespace script::vba {
class XVBAEventProcessor; }
188 class IXmlIdRegistry;
193using SwRubyList = std::vector<std::unique_ptr<SwRubyListEntry>>;
198 friend class ::sw::DocumentContentOperationsManager;
215 css::uno::Reference<css::container::XNameContainer>
217 mutable css::uno::Reference< css::linguistic2::XProofreadingIterator >
m_xGCIterator;
294 css::uno::Reference< css::script::vba::XVBAEventProcessor >
mxVbaEvents;
354 FNCopyFormat fnCopyFormat,
const SwFormat& rDfltFormat );
356 FNCopyFormat fnCopyFormat,
SwFormat& rDfltFormat );
357 void CopyPageDescHeaderFooterImpl(
bool bCpyHeader,
363 void AddUsedDBToList( std::vector<OUString>& rDBNameList,
364 const std::vector<OUString>& rUsedDBNames );
365 void AddUsedDBToList( std::vector<OUString>& rDBNameList,
const OUString& rDBName );
366 static bool IsNameInArray(
const std::vector<OUString>& rOldNames,
const OUString& rName );
367 void GetAllDBNames( std::vector<OUString>& rAllDBNames );
368 static OUString ReplaceUsedDBs(
const std::vector<OUString>& rUsedDBNames,
369 const OUString& rNewName,
const OUString& rFormula );
370 static std::vector<OUString>& FindUsedDBs(
const std::vector<OUString>& rAllDBNames,
371 const OUString& rFormula,
372 std::vector<OUString>& rUsedDBNames );
374 void EnsureNumberFormatter();
376 bool UnProtectTableCells(
SwTable& rTable );
380 bool SplitDoc( sal_uInt16 eDocType,
const OUString& rPath,
bool bOutline,
389 void DoUpdateAllCharts();
423 SwNodes const& GetNodes()
const {
return *m_pNodes; }
426 friend class ::rtl::Reference<SwDoc>;
449 sal_Int32 getReferenceCount()
const;
456 sal_uInt32 getRsid()
const;
457 void setRsid( sal_uInt32 nVal );
458 sal_uInt32 getRsidRoot()
const;
459 void setRsidRoot( sal_uInt32 nVal );
477 IDocumentUndoRedo & GetIDocumentUndoRedo();
478 IDocumentUndoRedo
const& GetIDocumentUndoRedo()
const;
495 int FieldCanHideParaWeight(
SwFieldIds eFieldId)
const;
496 bool FieldHidesPara(
const SwField& rField)
const;
504 bool UpdateParRsid(
SwTextNode *pTextNode, sal_uInt32 nVal = 0 );
505 void UpdateRsid(
const SwPaM &rRg, sal_Int32 nLen );
527 void AddDrawUndo( std::unique_ptr<SdrUndoAction> );
576 inline void SetOLEPrtNotifyPending(
bool bSet =
true );
577 void PrtOLENotify(
bool bAll );
584 mbContainsAtPageObjWithContentAnchor = bFlag;
588 return mbContainsAtPageObjWithContentAnchor;
598 bool bAsCharAlso =
false )
const;
620 bool bCalledFromShell =
false );
630 void CheckForUniqueItemForLineFillNameOrIndex(
SfxItemSet& rSet);
635 SfxItemSet* pSet =
nullptr,
bool bKeepOrient =
false );
637 const OUString& sNewTitle );
639 const OUString& sNewDescription );
652 bool SetCurFootnote(
const SwPaM& rPam,
const OUString& rNumStr,
659 Spell(
SwPaM&, css::uno::Reference< css::linguistic2::XSpellChecker1 >
const &,
660 sal_uInt16* pPageCnt, sal_uInt16* pPageSt,
bool bGrammarCheck,
664 css::uno::Reference< css::linguistic2::XHyphenatedWord >
665 Hyphenate(
SwPaM *pPam,
const Point &rCursorPos,
666 sal_uInt16* pPageCnt, sal_uInt16* pPageSt );
676 void ChangeAuthorityData(
const SwAuthEntry* pNewData);
678 bool IsInHeaderFooter(
const SwNode& )
const;
680 const Point* pPt =
nullptr )
const;
681 bool IsInVerticalText(
const SwPosition& rPos )
const;
686 void ChangeDBFields(
const std::vector<OUString>& rOldNames,
687 const OUString& rNewName );
688 void SetInitDBFields(
bool b);
691 void GetAllUsedDB( std::vector<OUString>& rDBNameList,
692 const std::vector<OUString>* pAllDBNames =
nullptr );
694 void ChgDBData(
const SwDBData& rNewData );
698 OUString GetUniqueGrfName(std::u16string_view rPrefix = std::u16string_view())
const;
699 OUString GetUniqueOLEName()
const;
700 OUString GetUniqueFrameName()
const;
701 OUString GetUniqueShapeName()
const;
702 OUString GetUniqueDrawObjectName()
const;
709 static void GetGrfNms(
const SwFlyFrameFormat& rFormat, OUString* pGrfName, OUString* pFltName );
712 void SetAllUniqueFlyNames();
718 void ResetAttrs(
const SwPaM &rRg,
719 bool bTextAttr =
true,
721 const bool bSendDataChangedEvents =
true,
723 void RstTextAttrs(
const SwPaM &rRg,
bool bInclRefToxMark =
false,
724 bool bExactRange =
false,
SwRootFrame const* pLayout =
nullptr);
734 void ResetAttrAtFormat(
const std::vector<sal_uInt16>& rIds,
743 const SfxPoolItem& GetDefault( sal_uInt16 nFormatHint )
const;
746 return static_cast<const T&
>(GetDefault(sal_uInt16(nWhich)));
750 bool DontExpandFormat(
const SwPosition& rPos,
bool bFlag =
true );
775 void RemoveAllFormatLanguageDependencies();
778 bool bBroadcast =
false,
bool bAuto =
true);
779 void DelFrameFormat(
SwFrameFormat *pFormat,
bool bBroadcast =
false );
780 SwFrameFormat* FindFrameFormatByName(
const OUString& rName )
const;
783 bool bBroadcast =
false );
784 void DelCharFormat(
size_t nFormat,
bool bBroadcast =
false);
785 void DelCharFormat(
SwCharFormat const * pFormat,
bool bBroadcast =
false);
787 {
return mpCharFormatTable->FindFormatByName(rName); }
797 bool bBroadcast =
false);
800 bool bBroadcast =
false);
801 void DelTextFormatColl(
size_t nFormat,
bool bBroadcast =
false);
802 void DelTextFormatColl(
SwTextFormatColl const * pColl,
bool bBroadcast =
false );
811 const bool bReset =
true,
812 const bool bResetListAttrs =
false,
815 {
return mpTextFormatCollTable->FindFormatByName(rName); }
828 size_t GetTableFrameFormatCount(
bool bUsed )
const;
829 SwTableFormat& GetTableFrameFormat(
size_t nFormat,
bool bUsed )
const;
832 SwTableFormat* FindTableFormatByName(
const OUString& rName,
bool bAll =
false )
const;
836 size_t GetFlyCount(
FlyCntType eType,
bool bIgnoreTextBoxes =
false )
const;
838 std::vector<SwFrameFormat const*> GetFlyFrameFormats(
840 bool bIgnoreTextBoxes);
849 void ReplaceStyles(
const SwDoc& rSource,
bool bIncludePageStyles =
true );
852 void ReplaceDefaults(
const SwDoc& rSource );
855 void ReplaceCompatibilityOptions(
const SwDoc& rSource );
860 void ReplaceUserDefinedDocumentProperties(
const css::uno::Reference< css::document::XDocumentProperties >& xSourceDocProps );
866 void ReplaceDocumentProperties(
const SwDoc& rSource,
bool mailMerge =
false);
869 bool IsUsed(
const sw::BroadcastingModify& )
const;
875 size_t SetDocPattern(
const OUString& rPatternName);
878 const OUString* GetDocPattern(
size_t nPos)
const;
881 bool InsertGlossary(
SwTextBlocks& rBlock,
const OUString& rEntry,
887 sal_Int32 nDocPageCount );
889 sal_Int32 nDocPageCount );
891 sal_Int32 nDocPageCount );
892 static void CalculateNonBlankPages(
const SwRootFrame& rLayout, sal_uInt16& nDocPageCount, sal_uInt16& nActualPage );
900 bool ContainsPageDesc(
const SwPageDesc *pDesc,
size_t* pPos)
const;
905 bool bCopyPoolIds =
true );
910 { CopyPageDescHeaderFooterImpl(
true, rSrcFormat, rDestFormat ); }
915 { CopyPageDescHeaderFooterImpl(
false, rSrcFormat, rDestFormat ); }
918 void ChgPageDesc(
const OUString & rName,
const SwPageDesc& );
919 void ChgPageDesc(
size_t i,
const SwPageDesc& );
920 void DelPageDesc(
const OUString & rName,
bool bBroadcast =
false);
921 void DelPageDesc(
size_t i,
bool bBroadcast =
false );
924 bool bRegardLanguage =
true,
925 bool bBroadcast =
false);
926 void BroadcastStyleOperation(
const OUString& rName,
SfxStyleFamily eFamily,
931 void CheckDefaultPageFormat();
935 void DeleteTOXMark(
const SwTOXMark* pTOXMark );
943 bool bExpand =
false,
948 bool bExpand =
false,
956 bool DeleteTOX(
const SwTOXBase& rTOXBase,
bool bDelNodes );
957 OUString GetUniqueTOXBaseName(
const SwTOXType& rType,
958 const OUString& sChkStr )
const;
960 bool SetTOXBaseName(
const SwTOXBase& rTOXBase,
const OUString& rName);
991 sal_uInt16 GetTOXTypeCount(
TOXTypes eTyp )
const;
997 void SetDefaultTOXBase(
const SwTOXBase& rBase);
1000 void GetTOIKeys(
SwTOIKeyType eTyp, std::vector<OUString>& rArr,
1015 const sal_Int32 nOffset = 0,
1016 bool bMoveCursor =
false );
1019 static void CorrAbs(
1023 bool bMoveCursor =
false );
1026 static void CorrAbs(
1027 const SwPaM& rRange,
1029 bool bMoveCursor =
false );
1035 const sal_Int32 nOffset = 0,
1036 bool bMoveCursor =
false );
1041 return mpOutlineRule;
1043 void SetOutlineNumRule(
const SwNumRule& rRule );
1044 void PropagateOutlineRule();
1047 bool OutlineUpDown(
const SwPaM& rPam,
short nOffset,
SwRootFrame const* pLayout =
nullptr);
1064 OUString SetNumRule(
const SwPaM&,
1066 bool bCreateNewList,
1068 const OUString& sContinuedListId = OUString(),
1069 bool bSetItem =
true,
1070 const bool bResetIndentAttrs =
false );
1073 void MakeUniqueNumRules(
const SwPaM & rPaM);
1075 void SetNumRuleStart(
const SwPosition& rPos,
bool bFlag =
true );
1076 void SetNodeNumStart(
const SwPosition& rPos, sal_uInt16 nStt );
1091 sal_uInt16 MakeNumRule(
const OUString &rName,
1093 bool bBroadcast =
false,
1096 sal_uInt16 FindNumRule( std::u16string_view rName )
const;
1097 SwNumRule* FindNumRulePtr(
const OUString& rName )
const;
1100 bool RenameNumRule(
const OUString & aOldName,
const OUString & aNewName,
1101 bool bBroadcast =
false);
1102 bool DelNumRule(
const OUString& rName,
bool bBroadCast =
false );
1103 OUString GetUniqueNumRuleName(
const OUString* pChkStr =
nullptr,
bool bAutoNum =
true )
const;
1105 void UpdateNumRule();
1106 void ChgNumRuleFormats(
const SwNumRule& rRule );
1107 void ReplaceNumRule(
const SwPosition& rPos,
const OUString& rOldRule,
1108 const OUString& rNewRule );
1112 bool bOverUpper =
true,
1115 bool bOverUpper =
true );
1141 const bool bForward,
1143 const bool bOutline,
1144 int nNonEmptyAllowed,
1147 const bool bInvestigateStartNode =
false );
1150 bool NoNum(
const SwPaM& );
1156 void InvalidateNumRules();
1158 bool NumUpDown(
const SwPaM&,
bool bDown,
SwRootFrame const* pLayout =
nullptr);
1165 bool NumOrNoNum(
SwNode& rIdx,
bool bDel =
false);
1181 sal_uInt16 nCols, sal_Int16 eAdjust,
1183 const std::vector<sal_uInt16> *pColArr =
nullptr,
1184 bool bCalledFromShell =
false,
1185 bool bNewModel =
true,
1186 const OUString& rTableName = {} );
1199 const SwTable* TextToTable(
const std::vector< std::vector<SwNodeRange> >& rTableNodes );
1204 void InsertCol(
const SwCursor& rCursor,
1205 sal_uInt16 nCnt = 1,
bool bBehind =
true );
1207 sal_uInt16 nCnt = 1,
bool bBehind =
true );
1208 void InsertRow(
const SwCursor& rCursor,
1209 sal_uInt16 nCnt = 1,
bool bBehind =
true );
1211 sal_uInt16 nCnt = 1,
bool bBehind =
true );
1214 enum class RowColMode { DeleteRow = 0, DeleteColumn = 1, DeleteProtected = 2 };
1216 bool DeleteRowCol(
const SwSelBoxes& rBoxes, RowColMode eMode = RowColMode::DeleteRow);
1217 void DeleteRow(
const SwCursor& rCursor );
1218 void DeleteCol(
const SwCursor& rCursor );
1221 bool SplitTable(
const SwSelBoxes& rBoxes,
bool bVert,
1222 sal_uInt16 nCnt,
bool bSameHeight =
false );
1225 OUString GetUniqueTableName()
const;
1226 bool IsInsTableFormatNum()
const;
1227 bool IsInsTableChangeNumFormat()
const;
1228 bool IsInsTableAlignNum()
const;
1229 bool IsSplitVerticalByDefault()
const;
1230 void SetSplitVerticalByDefault(
bool value);
1234 void SetTabCols(
const SwTabCols &rNew,
bool bCurRowOnly,
1237 void SetTabRows(
const SwTabCols &rNew,
bool bCurColOnly,
1244 void SetRowsToRepeat(
SwTable &rTable, sal_uInt16 nSet );
1248 bool SetTableAutoFormat(
const SwSelBoxes& rBoxes,
const SwTableAutoFormat& rNew,
bool bResetDirect =
false,
bool isSetStyleName =
false);
1257 return const_cast<SwDoc*
>(
this)->GetTableStyles();
1262 SwTableAutoFormat* MakeTableStyle(
const OUString& rName,
bool bBroadcast =
false);
1264 std::unique_ptr<SwTableAutoFormat> DelTableStyle(
const OUString& rName,
bool bBroadcast =
false);
1271 void AppendUndoForInsertFromDB(
const SwPaM& rPam,
bool bIsTable );
1279 bool IsNumberFormat(
const OUString& aString, sal_uInt32& F_Index,
double& fOutNumber);
1281 void ChkBoxNumFormat(
SwTableBox& rCurrentBox,
bool bCallUpdate );
1283 void ClearBoxNumAttrs(
SwNode& rNode );
1284 void ClearLineNumAttrs(
SwPosition const & rPos );
1287 const SwTable* pCpyTable,
bool bCpyName =
false,
1288 bool bCorrPos =
false,
const OUString& rStyleName =
"" );
1290 void UnProtectCells(
const OUString& rTableName );
1291 bool UnProtectCells(
const SwSelBoxes& rBoxes );
1292 void UnProtectTables(
const SwPaM& rPam );
1293 bool HasTableAnyProtection(
const SwPosition* pPos,
1294 const OUString* pTableName,
1295 bool* pFullTableProtection );
1299 bool bCalcNewSize );
1303 bool MergeTable(
const SwPosition& rPos,
bool bWithPrev );
1306 void UpdateCharts(
const OUString& rName )
const;
1312 void SetTableName(
SwFrameFormat& rTableFormat,
const OUString &rNewName );
1322 sal_uInt16 GetRefMarks( std::vector<OUString>* =
nullptr )
const;
1328 const OUString& rNumberingSeparator,
1329 const bool bBefore,
const sal_uInt16 nId,
const SwNodeOffset nIdx,
1330 const OUString& rCharacterStyle,
1331 const bool bCpyBrd );
1333 const OUString &rText,
const OUString& rSeparator,
const OUString& rNumberSeparator,
1334 const sal_uInt16 nId,
const OUString& rCharacterStyle,
SdrObject& rObj );
1351 std::tuple<SwTOXBase const*, sw::RedlineMode, sw::FieldmarkMode, sw::ParagraphBreakMode>
const* pTOXBase,
1352 SfxItemSet const*
const pAttr,
bool const bUpdate =
true);
1353 static sal_uInt16 IsInsRegionAvailable(
const SwPaM& rRange,
1354 const SwNode** ppSttNd =
nullptr );
1359 void DelSectionFormat(
SwSectionFormat *pFormat,
bool bDelNodes =
false );
1361 SfxItemSet const*
const =
nullptr,
bool const bPreventLinkUpdate =
false);
1362 OUString GetUniqueSectionName(
const OUString* pChkStr =
nullptr )
const;
1383 css::uno::Reference< css::embed::XStorage > GetDocStorage();
1394 void UnGroupSelection(
SdrView& );
1398 void SpellItAgainSam(
bool bInvalid,
bool bOnlyWrong,
bool bSmartTags );
1399 void InvalidateAutoCompleteFlag();
1401 void SetCalcFieldValueHdl(
Outliner* pOutliner);
1406 bool IsVisitedURL( std::u16string_view rURL );
1409 void SetAutoCorrExceptWord( std::unique_ptr<SwAutoCorrExceptWord> pNew );
1411 void DeleteAutoCorrExceptWord();
1420 bool bChkPtr =
false );
1425 void MoveLeftMargin(
const SwPaM& rPam,
bool bRight,
bool bModulus,
1431 std::scoped_lock
lock(mNumberFormatterMutex);
1433 EnsureNumberFormatter();
1434 return mpNumberFormatter;
1439 return const_cast<SwDoc*
>(
this)->GetNumberFormatter(bCreate);
1442 bool HasInvisibleContent()
const;
1444 bool RemoveInvisibleContent();
1446 bool RestoreInvisibleContent();
1448 bool ConvertFieldsToText(
SwRootFrame const& rLayout);
1452 bool GenerateGlobalDoc(
const OUString& rPath,
1454 bool GenerateGlobalDoc(
const OUString& rPath,
int nOutlineLevel );
1455 bool GenerateHTMLDoc(
const OUString& rPath,
1457 bool GenerateHTMLDoc(
const OUString& rPath,
int nOutlineLevel );
1469 void SetTextFormatCollByAutoFormat(
const SwPosition& rPos, sal_uInt16 nPoolId,
1471 void SetFormatItemByAutoFormat(
const SwPaM& rPam,
const SfxItemSet& );
1486 void SetOLEObjModified();
1489 std::shared_ptr<SwUnoCursor> CreateUnoCursor(
const SwPosition& rPos,
bool bTableCursor =
false );
1495 const bool _bSameOnly,
1496 const bool _bPosCorr );
1499 static std::unique_ptr<SwFormatFrameSize> GetRowHeight(
const SwCursor& rCursor );
1501 static std::unique_ptr<SwFormatRowSplit> GetRowSplit(
const SwCursor& rCursor );
1506 bool BalanceRowHeight(
const SwCursor& rCursor,
bool bTstOnly,
const bool bOptimize );
1508 static bool GetRowBackground(
const SwCursor& rCursor, std::unique_ptr<SvxBrushItem>& rToFill );
1512 void SetRowNotTracked(
const SwCursor& rCursor,
1513 const SvxPrintItem &rNotTracked,
bool bAll =
false,
bool bIns =
false );
1515 static bool HasRowNotTracked(
const SwCursor& rCursor );
1517 void SetTabLineStyle(
const SwCursor& rCursor,
1518 const Color* pColor,
bool bSetLine,
1532 static bool GetBoxAttr(
const SwCursor& rCursor, std::unique_ptr<SfxPoolItem>& rToFill );
1533 void SetBoxAlign(
const SwCursor& rCursor, sal_uInt16 nAlign );
1534 static sal_uInt16 GetBoxAlign(
const SwCursor& rCursor );
1538 void AdjustCellWidth(
const SwCursor& rCursor,
const bool bBalance,
const bool bNoShrink );
1546 bool bInsInPage =
true );
1554 sal_Int32 nContentPos = -1)
const;
1564 static sal_uInt16 FillRubyList(
const SwPaM& rPam,
SwRubyList& rList );
1567 void ReadLayoutCache(
SvStream& rStream );
1568 void WriteLayoutCache(
SvStream& rStream );
1575 bool ContainsHiddenChars()
const;
1580 return mpOnlineAccessibilityCheck;
1592 void MarkListLevel(
const OUString& sListId,
1593 const int nListLevel,
1594 const bool bValue );
1599 void RenameFormat(
SwFormat & rFormat,
const OUString & sNewName,
1600 bool bBroadcast =
false);
1622 static OUString GetPaMDescr(
const SwPaM & rPaM);
1629 const css::uno::Reference<css::container::XNameContainer>&
1632 css::uno::Reference< css::linguistic2::XProofreadingIterator >
const & GetGCIterator()
const;
1635 bool isXForms()
const;
1638 void initXForms(
bool bCreateDefaultModel );
1641 void disposeXForms( );
1644 void SetDefaultPageMode(
bool bSquaredPageMode);
1645 bool IsSquaredPageMode()
const;
1647 const css::uno::Reference< ooo::vba::word::XFind >&
getVbaFind()
const {
return mxVbaFind; }
1648 void setVbaFind(
const css::uno::Reference< ooo::vba::word::XFind > &xFind) { mxVbaFind = xFind; }
1649 css::uno::Reference< css::script::vba::XVBAEventProcessor >
const & GetVbaEventProcessor();
1650 void SetVbaEventProcessor();
1659 SfxObjectShell* CreateCopy(
bool bCallInitNew,
bool bEmpty)
const;
1661 bool bDeletePrevious,
int physicalPageOffset,
1669 std::set<Color> GetDocColors();
1675 auto & rTable =
const_cast<SwDoc*
>(
this)->mvUnoCursorTable;
1677 rTable.erase( std::remove_if(rTable.begin(),
1679 [] (std::weak_ptr<SwUnoCursor>
const &
x) { return x.expired(); }),
1687 bool StartGrammarChecking(
bool bSkipStart =
false );
1690 void SetMissingDictionaries(
bool bIsMissing );
1696 static bool HasParagraphDirectFormatting(
const SwPosition& rPos);
Give access to the data-provider for chart.
Text operation/manipulation interface.
Provides access to the formatting devices of a document.
Document fields related interfaces.
Provides access to the layout of a document.
Document links administration interface.
Provides numbered items of a document.
Provides access to the lists of a document.
Provides access to the marks of a document.
Provides outline nodes of a document.
Provides access to settings of a document.
Get information about the current document state.
Document statistics information.
Access to the style pool.
Handle the background jobs of a Writer document.
SwCellFrame is one table cell in the document layout.
Knows all the text content controls in the document.
bool mbDtor
TRUE: is in SwDoc DTOR.
const std::unique_ptr< ::sw::MetaFieldManager > m_pMetaFieldManager
std::unique_ptr< SwFrameFormat > mpColumnContFormat
css::uno::Reference< css::linguistic2::XProofreadingIterator > m_xGCIterator
bool mbIsAutoFormatRedline
void SetInReading(bool bNew)
bool IsCopyIsMove() const
oslInterlockedCount mReferenceCount
std::unique_ptr< SwFrameFormat > mpEmptyPageFormat
SwFrameFormat * GetDfltFrameFormat()
SwTextFormatColl * GetDfltTextFormatColl()
std::unique_ptr< sw::OnlineAccessibilityCheck > const & getOnlineAccessibilityCheck() const
SwSectionFormats & GetSections()
const std::unique_ptr< ::sw::DocumentFieldsManager > m_pDocumentFieldsManager
const std::unique_ptr< ::sw::DocumentStateManager > m_pDocumentStateManager
std::unordered_map< OUString, SwNumRule * > maNumRuleMap
const SwFootnoteInfo & GetFootnoteInfo() const
const std::unique_ptr< ::SwContentControlManager > m_pContentControlManager
std::unique_ptr< SwGrfFormatColl > mpDfltGrfFormatColl
const SwSectionFormats & GetSections() const
void SetClipBoard(bool bNew)
SwDoc(const SwDoc &)=delete
MissingDictionary meDictionaryMissing
css::uno::Reference< css::container::XNameContainer > mxXForms
std::unique_ptr< SwTOXTypes > mpTOXTypes
std::vector< OUString > m_PatternNames
std::vector< std::weak_ptr< SwUnoCursor > > mvUnoCursorTable
static SwAutoCompleteWord & GetAutoCompleteWords()
SwAutoCorrExceptWord * GetAutoCorrExceptWord()
const sw::TableFrameFormats * GetTableFrameFormats() const
void SetCopyIsMove(bool bFlag)
std::unique_ptr< SwAutoCorrExceptWord > mpACEWord
For the automated takeover of auto-corrected words that are "re-corrected".
sw::FrameFormats< SwFrameFormat * > * GetFrameFormats()
const SwCharFormat * GetDfltCharFormat() const
bool mbInWriterfilterImport
std::unique_ptr< SwTextFormatColls > mpTextFormatCollTable
const SwDocShell * GetDocShell() const
const std::unique_ptr< ::sw::UndoManager > m_pUndoManager
void SetUpdateTOX(bool bFlag)
const SwTableAutoFormatTable & GetTableStyles() const
const SvNumberFormatter * GetNumberFormatter(bool bCreate=true) const
const SwFrameFormat * GetColumnContFormat() const
const std::unique_ptr< ::sw::DocumentListItemsManager > m_pDocumentListItemsManager
const std::unique_ptr< ::sw::DocumentLayoutManager > m_pDocumentLayoutManager
rtl::Reference< SwAttrPool > mpAttrPool
SwGrfFormatColl * GetDfltGrfFormatColl()
std::unique_ptr< SwLineNumberInfo > mpLineNumberInfo
SwLayoutCache * GetLayoutCache() const
const css::uno::Reference< ooo::vba::word::XFind > & getVbaFind() const
const SwCellStyleTable & GetCellStyles() const
void setDocAccTitle(const OUString &rTitle)
SvNumberFormatter * mpNumberFormatter
void SetInMailMerge(bool bNew)
const SwGrfFormatColl * GetDfltGrfFormatColl() const
size_t GetPageDescCnt() const
const SwFootnoteIdxs & GetFootnoteIdxs() const
std::unique_ptr< SwNodes > m_pNodes
std::unique_ptr< SwURLStateChanged > mpURLStateChgd
SwDBManager * GetDBManager() const
std::unique_ptr< SwTableAutoFormatTable > m_pTableStyles
Table styles (autoformats that are applied with table changes).
const SwNumRuleTable & GetNumRuleTable() const
void SetOLEPrtNotifyPending(bool bSet=true)
void cleanupUnoCursorTable() const
std::unique_ptr< sw::GrammarContact > const & getGrammarContact() const
const sw::FrameFormats< SwFrameFormat * > * GetFrameFormats() const
static SwAutoCompleteWord * s_pAutoCompleteWords
std::unique_ptr< SwCharFormats > mpCharFormatTable
SwNumRule * GetOutlineNumRule() const
std::unique_ptr< ::sw::DocumentDeviceManager > m_pDeviceAccess
std::unique_ptr< ::sfx2::IXmlIdRegistry > m_pXmlIdRegistry
SwCharFormat * FindCharFormatByName(const OUString &rName) const
bool mbContainsAtPageObjWithContentAnchor
bool IsColumnSelection() const
const SwCharFormats * GetCharFormats() const
SwFormat *(SwDoc::* FNCopyFormat)(const OUString &, SwFormat *, bool, bool)
const SwTOXTypes & GetTOXTypes() const
void SetDocumentType(DocumentType eDocType)
bool IsAutoFormatRedline() const
void SetOle2Link(const Link< bool, void > &rLink)
SwNumRule * mpOutlineRule
IStyleAccess & GetIStyleAccess()
void SetDBManager(SwDBManager *pNewMgr)
std::unique_ptr< SwFootnoteInfo > mpFootnoteInfo
css::uno::Reference< ooo::vba::word::XFind > mxVbaFind
void SetTmpDocShell(SfxObjectShellLock rLock)
in case during copying of embedded object a new shell is created, it should be set here and cleaned l...
bool IsInXMLImport() const
SwTextFormatColls * GetTextFormatColls()
std::unique_ptr< SwDBManager > m_pOwnDBManager
SwCharFormats * GetCharFormats()
bool ContainsMSVBasic() const
const std::unique_ptr< ::sw::DocumentDrawModelManager > m_pDocumentDrawModelManager
const std::unique_ptr< ::sw::DocumentListsManager > m_pDocumentListsManager
void SetTOIAutoMarkURL(const OUString &rSet)
void SetContainsAtPageObjWithContentAnchor(const bool bFlag)
SwAttrPool & GetAttrPool()
const css::uno::Reference< css::container::XNameContainer > & getXForms() const
DECL_DLLPRIVATE_LINK(DoUpdateModifiedOLE, Timer *, void)
std::unique_ptr< SwTextFormatColl > mpDfltTextFormatColl
SwFootnoteIdxs & GetFootnoteIdxs()
const OUString & GetTOIAutoMarkURL() const
const std::unique_ptr< ::sw::DocumentLinksAdministrationManager > m_pDocumentLinksAdministrationManager
const std::unique_ptr< ::sw::DocumentStatisticsManager > m_pDocumentStatisticsManager
const SwTextFormatColls * GetTextFormatColls() const
bool DoesContainAtPageObjWithContentAnchor()
const Link< bool, void > & GetOle2Link() const
void SetInXMLImport(bool bNew)
const SwEndNoteInfo & GetEndNoteInfo() const
SwCellStyleTable & GetCellStyles()
const SwPagePreviewPrtData * GetPreviewPrtData() const
void SetAutoFormatRedline(bool bFlag)
std::unique_ptr< sw::TableFrameFormats > mpTableFrameFormatTable
std::unique_ptr< sw::FrameFormats< SwFrameFormat * > > mpFrameFormatTable
SwExtTextInput * mpExtInputRing
void SetInWriterfilterImport(bool const b)
const T & GetDefault(TypedWhichId< T > nWhich) const
SwPageDesc & GetPageDesc(size_t const i)
SwCharFormat * GetDfltCharFormat()
bool IsDictionaryMissing() const
Returns true if no dictionary can be found for any content.
const std::unique_ptr< ::sw::mark::MarkManager > mpMarkManager
const SwTextFormatColl * GetDfltTextFormatColl() const
std::unique_ptr< SwNumRuleTable > mpNumRuleTable
const SwFrameFormat * GetEmptyPageFormat() const
std::unique_ptr< SwDefTOXBase_Impl > mpDefTOXBases
sw::FrameFormats< sw::SpzFrameFormat * > * GetSpzFrameFormats()
void SetInLoadAsynchron(bool bFlag)
bool IsPrepareSelAll() const
css::uno::Reference< css::script::vba::XVBAEventProcessor > mxVbaEvents
std::unique_ptr< SwLayoutCache > mpLayoutCache
Layout cache to read and save with the document for a faster formatting.
static SwDoc * s_pLast
The last, still alive SwDoc instance, for debugging.
void SetVBATemplateToProjectCache(css::uno::Reference< css::container::XNameContainer > const &xCache)
css::uno::Reference< css::container::XNameContainer > m_xTemplateToProjectCache
SwTextFormatColl * FindTextFormatCollByName(const OUString &rName) const
std::unique_ptr< SwCellStyleTable > mpCellStyles
Cell Styles not assigned to a Table Style.
std::unique_ptr< SwSectionFormats > mpSectionFormatTable
const std::unique_ptr< ::sw::DocumentChartDataProviderManager > m_pDocumentChartDataProviderManager
const std::unique_ptr< ::sw::DocumentExternalDataManager > m_pDocumentExternalDataManager
const SwGrfFormatColls * GetGrfFormatColls() const
const css::uno::Reference< css::container::XNameContainer > & GetVBATemplateToProjectCache() const
std::unique_ptr< SwPagePreviewPrtData > m_pPgPViewPrtData
const SwAttrPool & GetAttrPool() const
SfxObjectShellLock mxTmpDocShell
const std::unique_ptr< ::sw::DocumentRedlineManager > m_pDocumentRedlineManager
SwFrameFormat * GetEmptyPageFormat()
std::unique_ptr< SwCharFormat > mpDfltCharFormat
std::unique_ptr< SwEndNoteInfo > mpEndNoteInfo
std::unique_ptr< SwFrameFormat > mpDfltFrameFormat
const SwFrameFormat * GetDfltFrameFormat() const
std::mutex mNumberFormatterMutex
bool IsInMailMerge() const
bool IsInLoadAsynchron() const
const SfxObjectShellLock & GetTmpDocShell() const
const std::unique_ptr< ::sw::DocumentStylePoolManager > m_pDocumentStylePoolManager
const std::unique_ptr< ::sw::DocumentSettingManager > m_pDocumentSettingManager
SwFrameFormat * GetColumnContFormat()
DocumentType GetDocumentType() const
const sw::FrameFormats< sw::SpzFrameFormat * > * GetSpzFrameFormats() const
std::unique_ptr< sw::FrameFormats< sw::SpzFrameFormat * > > mpSpzFrameFormatTable
bool IsOLEPrtNotifyPending() const
bool IsInsOnlyTextGlossary() const
DECL_DLLPRIVATE_LINK(CalcFieldValueHdl, EditFieldInfo *, void)
std::unique_ptr< IStyleAccess > mpStyleAccess
void CopyFooter(const SwFrameFormat &rSrcFormat, SwFrameFormat &rDestFormat)
Copy footer (with contents) from SrcFormat to DestFormat.
SvNumberFormatter * GetNumberFormatter(bool bCreate=true)
SwDocShell * GetDocShell()
bool mbOLEPrtNotifyPending
TRUE: Printer has changed.
sw::TableFrameFormats * GetTableFrameFormats()
const std::unique_ptr< ::sw::DocumentOutlineNodesManager > m_pDocumentOutlineNodesManager
void SetInWriting(bool bNew)
const std::unique_ptr< ::sw::DocumentContentOperationsManager > m_pDocumentContentOperationsManager
const SwPageDesc & GetPageDesc(const size_t i) const
bool IsInWriterfilterImport() const
std::unique_ptr< sw::OnlineAccessibilityCheck > mpOnlineAccessibilityCheck
bool HasTableStyles() const
Counts table styles without triggering lazy-load of them.
std::unique_ptr< SwFootnoteIdxs > mpFootnoteIdxs
Link< bool, void > maOle2Link
const std::unique_ptr< ::sw::DocumentTimerManager > m_pDocumentTimerManager
SwDBManager * m_pDBManager
std::unique_ptr< sw::GrammarContact > mpGrammarContact
void CopyHeader(const SwFrameFormat &rSrcFormat, SwFrameFormat &rDestFormat)
Copy header (with contents) from SrcFormat to DestFormat (can also be copied into other document).
const OUString & getDocAccTitle() const
void setVbaFind(const css::uno::Reference< ooo::vba::word::XFind > &xFind)
OUString msTOIAutoMarkURL
std::unique_ptr< SwGrfFormatColls > mpGrfFormatCollTable
void SetColumnSelection(bool bNew)
void SetContainsMSVBasic(bool bFlag)
Base class of all fields.
< purpose of derivation from SwClient: character style for displaying the numbers.
Marks a node in the document model.
Base class of the Writer document model elements.
PaM is Point and Mark: a selection of the document model.
A class that stores temporary data that is needed for rendering the document.
The root element of a Writer document layout.
SwTableBox is one table cell in the document model.
SwTable is one table in the document model, containing rows (which contain cells).
Represents the style of a paragraph.
SwTextNode is a paragraph in the document model.
std::vector< Value >::difference_type difference_type
The Undo actions need to create new Shell cursors.
Stores the undo/redo information, implementing the IDocumentUndoRedo interface.
struct _xmlTextWriter * xmlTextWriterPtr
bool sw_GetPostIts(const IDocumentFieldsAccess &rIDFA, SetGetExpFields *pSrtLst)
void SetAllScriptItem(SfxItemSet &rSet, const SfxPoolItem &rItem)
std::vector< std::unique_ptr< SwRubyListEntry > > SwRubyList
std::set< SwPosFlyFrame, SwPosFlyFrameCmp > SwPosFlyFrames
static SwPageDesc * FindPageDesc(SwDoc *pDoc, sal_uInt16 nPoolId)
void SetLanguage(SwWrtShell &rWrtSh, std::u16string_view rLangText, bool bIsForSelection, SfxItemSet &rCoreSet)
void SetTextFormatColl(const css::uno::Any &rAny, SwPaM &rPaM)
std::shared_ptr< osl::Mutex > const & lock()
Dialog to specify the properties of date form field.
Marks a position in the document model.
SplitTable_HeadlineOption
std::vector< SwTOXMark * > SwTOXMarks