19 #ifndef INCLUDED_SW_INC_DOC_HXX
20 #define INCLUDED_SW_INC_DOC_HXX
48 #include <unordered_map>
51 namespace editeng {
class SvxBorderLine; }
141 namespace
sw::mark {
class MarkManager; }
145 class MetaFieldManager;
147 class IShellCursorSupplier;
148 class DocumentSettingManager;
149 class DocumentDeviceManager;
150 class DocumentDrawModelManager;
151 class DocumentChartDataProviderManager;
152 class DocumentTimerManager;
153 class DocumentLinksAdministrationManager;
154 class DocumentListItemsManager;
155 class DocumentListsManager;
156 class DocumentOutlineNodesManager;
157 class DocumentContentOperationsManager;
158 class DocumentRedlineManager;
159 class DocumentFieldsManager;
160 class DocumentStatisticsManager;
161 class DocumentStateManager;
162 class DocumentLayoutManager;
163 class DocumentStylePoolManager;
164 class DocumentExternalDataManager;
169 class XNameContainer;
171 namespace embed {
class XStorage; }
173 namespace linguistic2 {
class XProofreadingIterator; }
175 namespace script::vba {
class XVBAEventProcessor; }
179 class IXmlIdRegistry;
184 using SwRubyList = std::vector<std::unique_ptr<SwRubyListEntry>>;
189 friend class ::sw::DocumentContentOperationsManager;
206 css::uno::Reference<css::container::XNameContainer>
208 mutable css::uno::Reference< css::linguistic2::XProofreadingIterator >
m_xGCIterator;
283 css::uno::Reference< css::script::vba::XVBAEventProcessor >
mxVbaEvents;
304 bool mbCopyIsMove : 1;
305 bool mbInReading : 1;
306 bool mbInWriting : 1;
307 bool mbInMailMerge : 1;
308 bool mbInXMLImport : 1;
309 bool mbInWriterfilterImport : 1;
310 bool mbUpdateTOX : 1;
311 bool mbInLoadAsynchron : 1;
312 bool mbIsAutoFormatRedline : 1;
313 bool mbOLEPrtNotifyPending : 1;
315 bool mbAllOLENotify : 1;
316 bool mbInsOnlyTextGlssry : 1;
317 bool mbContains_MSVBasic : 1;
318 bool mbClipBoard : 1;
319 bool mbColumnSelection : 1;
320 bool mbIsPrepareSelAll : 1;
327 bool mbContainsAtPageObjWithContentAnchor : 1;
340 FNCopyFormat fnCopyFormat,
const SwFormat& rDfltFormat );
342 FNCopyFormat fnCopyFormat,
SwFormat& rDfltFormat );
343 void CopyPageDescHeaderFooterImpl(
bool bCpyHeader,
349 void AddUsedDBToList( std::vector<OUString>& rDBNameList,
350 const std::vector<OUString>& rUsedDBNames );
351 void AddUsedDBToList( std::vector<OUString>& rDBNameList,
const OUString& rDBName );
352 static bool IsNameInArray(
const std::vector<OUString>& rOldNames,
const OUString& rName );
353 void GetAllDBNames( std::vector<OUString>& rAllDBNames );
354 static OUString ReplaceUsedDBs(
const std::vector<OUString>& rUsedDBNames,
355 const OUString& rNewName,
const OUString& rFormula );
356 static std::vector<OUString>& FindUsedDBs(
const std::vector<OUString>& rAllDBNames,
357 const OUString& rFormula,
358 std::vector<OUString>& rUsedDBNames );
360 void EnsureNumberFormatter();
362 bool UnProtectTableCells(
SwTable& rTable );
366 bool SplitDoc( sal_uInt16 eDocType,
const OUString& rPath,
bool bOutline,
375 void DoUpdateAllCharts();
412 friend class ::rtl::Reference<SwDoc>;
435 sal_Int32 getReferenceCount()
const;
442 sal_uInt32 getRsid()
const;
443 void setRsid( sal_uInt32 nVal );
444 sal_uInt32 getRsidRoot()
const;
445 void setRsidRoot( sal_uInt32 nVal );
481 int FieldCanHideParaWeight(
SwFieldIds eFieldId)
const;
482 bool FieldHidesPara(
const SwField& rField)
const;
490 bool UpdateParRsid(
SwTextNode *pTextNode, sal_uInt32 nVal = 0 );
491 void UpdateRsid(
const SwPaM &rRg, sal_Int32 nLen );
513 void AddDrawUndo( std::unique_ptr<SdrUndoAction> );
562 inline void SetOLEPrtNotifyPending(
bool bSet =
true );
563 void PrtOLENotify(
bool bAll );
570 mbContainsAtPageObjWithContentAnchor = bFlag;
574 return mbContainsAtPageObjWithContentAnchor;
584 bool bAsCharAlso =
false )
const;
606 bool bCalledFromShell =
false );
616 void CheckForUniqueItemForLineFillNameOrIndex(
SfxItemSet& rSet);
621 SfxItemSet* pSet =
nullptr,
bool bKeepOrient =
false );
623 const OUString& sNewTitle );
625 const OUString& sNewDescription );
636 bool SetCurFootnote(
const SwPaM& rPam,
const OUString& rNumStr,
643 Spell(
SwPaM&, css::uno::Reference< css::linguistic2::XSpellChecker1 >
const &,
644 sal_uInt16* pPageCnt, sal_uInt16* pPageSt,
bool bGrammarCheck,
648 css::uno::Reference< css::linguistic2::XHyphenatedWord >
649 Hyphenate(
SwPaM *pPam,
const Point &rCursorPos,
650 sal_uInt16* pPageCnt, sal_uInt16* pPageSt );
660 void ChangeAuthorityData(
const SwAuthEntry* pNewData);
662 bool IsInHeaderFooter(
const SwNodeIndex& rIdx )
const;
664 const Point* pPt =
nullptr )
const;
665 bool IsInVerticalText(
const SwPosition& rPos )
const;
670 void ChangeDBFields(
const std::vector<OUString>& rOldNames,
671 const OUString& rNewName );
672 void SetInitDBFields(
bool b);
675 void GetAllUsedDB( std::vector<OUString>& rDBNameList,
676 const std::vector<OUString>* pAllDBNames =
nullptr );
678 void ChgDBData(
const SwDBData& rNewData );
683 OUString GetUniqueGrfName()
const;
684 OUString GetUniqueOLEName()
const;
685 OUString GetUniqueFrameName()
const;
686 OUString GetUniqueShapeName()
const;
687 OUString GetUniqueDrawObjectName()
const;
694 static void GetGrfNms(
const SwFlyFrameFormat& rFormat, OUString* pGrfName, OUString* pFltName );
697 void SetAllUniqueFlyNames();
703 void ResetAttrs(
const SwPaM &rRg,
704 bool bTextAttr =
true,
706 const bool bSendDataChangedEvents =
true,
708 void RstTextAttrs(
const SwPaM &rRg,
bool bInclRefToxMark =
false,
709 bool bExactRange =
false,
SwRootFrame const* pLayout =
nullptr);
719 void ResetAttrAtFormat(
const sal_uInt16 nWhichId,
728 const SfxPoolItem& GetDefault( sal_uInt16 nFormatHint )
const;
731 return static_cast<const T&
>(GetDefault(sal_uInt16(nWhich)));
735 bool DontExpandFormat(
const SwPosition& rPos,
bool bFlag =
true );
760 void RemoveAllFormatLanguageDependencies();
765 bool bBroadcast =
false,
bool bAuto =
true);
766 void DelFrameFormat(
SwFrameFormat *pFormat,
bool bBroadcast =
false );
767 SwFrameFormat* FindFrameFormatByName( std::u16string_view rName )
const;
770 bool bBroadcast =
false );
771 void DelCharFormat(
size_t nFormat,
bool bBroadcast =
false);
772 void DelCharFormat(
SwCharFormat const * pFormat,
bool bBroadcast =
false);
774 {
return static_cast<SwCharFormat*
>(FindFormatByName( *mpCharFormatTable, rName )); }
784 bool bBroadcast =
false);
787 bool bBroadcast =
false);
788 void DelTextFormatColl(
size_t nFormat,
bool bBroadcast =
false);
789 void DelTextFormatColl(
SwTextFormatColl const * pColl,
bool bBroadcast =
false );
798 const bool bReset =
true,
799 const bool bResetListAttrs =
false,
802 {
return static_cast<SwTextFormatColl*
>(FindFormatByName( *mpTextFormatCollTable, rName )); }
815 size_t GetTableFrameFormatCount(
bool bUsed )
const;
816 SwFrameFormat& GetTableFrameFormat(
size_t nFormat,
bool bUsed )
const;
819 SwTableFormat* FindTableFormatByName( std::u16string_view rName,
bool bAll =
false )
const;
823 size_t GetFlyCount(
FlyCntType eType,
bool bIgnoreTextBoxes =
false )
const;
825 std::vector<SwFrameFormat const*> GetFlyFrameFormats(
827 bool bIgnoreTextBoxes);
836 void ReplaceStyles(
const SwDoc& rSource,
bool bIncludePageStyles =
true );
839 void ReplaceDefaults(
const SwDoc& rSource );
842 void ReplaceCompatibilityOptions(
const SwDoc& rSource );
847 void ReplaceUserDefinedDocumentProperties(
const css::uno::Reference< css::document::XDocumentProperties >& xSourceDocProps );
853 void ReplaceDocumentProperties(
const SwDoc& rSource,
bool mailMerge =
false);
862 size_t SetDocPattern(
const OUString& rPatternName);
865 const OUString* GetDocPattern(
size_t nPos)
const;
868 bool InsertGlossary(
SwTextBlocks& rBlock,
const OUString& rEntry,
874 sal_Int32 nDocPageCount );
876 sal_Int32 nDocPageCount );
878 sal_Int32 nDocPageCount );
879 static void CalculateNonBlankPages(
const SwRootFrame& rLayout, sal_uInt16& nDocPageCount, sal_uInt16& nActualPage );
892 bool bCopyPoolIds =
true );
897 { CopyPageDescHeaderFooterImpl(
true, rSrcFormat, rDestFormat ); }
902 { CopyPageDescHeaderFooterImpl(
false, rSrcFormat, rDestFormat ); }
905 void ChgPageDesc(
const OUString & rName,
const SwPageDesc& );
906 void ChgPageDesc(
size_t i,
const SwPageDesc& );
907 void DelPageDesc(
const OUString & rName,
bool bBroadcast =
false);
908 void DelPageDesc(
size_t i,
bool bBroadcast =
false );
911 bool bRegardLanguage =
true,
912 bool bBroadcast =
false);
913 void BroadcastStyleOperation(
const OUString& rName,
SfxStyleFamily eFamily,
918 void CheckDefaultPageFormat();
922 void DeleteTOXMark(
const SwTOXMark* pTOXMark );
930 bool bExpand =
false,
935 bool bExpand =
false,
943 bool DeleteTOX(
const SwTOXBase& rTOXBase,
bool bDelNodes );
944 OUString GetUniqueTOXBaseName(
const SwTOXType& rType,
945 const OUString& sChkStr )
const;
947 bool SetTOXBaseName(
const SwTOXBase& rTOXBase,
const OUString& rName);
978 sal_uInt16 GetTOXTypeCount(
TOXTypes eTyp )
const;
984 void SetDefaultTOXBase(
const SwTOXBase& rBase);
987 void GetTOIKeys(
SwTOIKeyType eTyp, std::vector<OUString>& rArr,
1002 const sal_Int32 nOffset = 0,
1003 bool bMoveCursor =
false );
1006 static void CorrAbs(
1010 bool bMoveCursor =
false );
1013 static void CorrAbs(
1014 const SwPaM& rRange,
1016 bool bMoveCursor =
false );
1022 const sal_Int32 nOffset = 0,
1023 bool bMoveCursor =
false );
1028 return mpOutlineRule;
1030 void SetOutlineNumRule(
const SwNumRule& rRule );
1031 void PropagateOutlineRule();
1034 bool OutlineUpDown(
const SwPaM& rPam,
short nOffset,
SwRootFrame const* pLayout =
nullptr);
1051 OUString SetNumRule(
const SwPaM&,
1053 bool bCreateNewList,
1055 const OUString& sContinuedListId = OUString(),
1056 bool bSetItem =
true,
1057 const bool bResetIndentAttrs =
false );
1060 void MakeUniqueNumRules(
const SwPaM & rPaM);
1062 void SetNumRuleStart(
const SwPosition& rPos,
bool bFlag =
true );
1063 void SetNodeNumStart(
const SwPosition& rPos, sal_uInt16 nStt );
1078 sal_uInt16 MakeNumRule(
const OUString &rName,
1080 bool bBroadcast =
false,
1083 sal_uInt16 FindNumRule( std::u16string_view rName )
const;
1084 SwNumRule* FindNumRulePtr(
const OUString& rName )
const;
1087 bool RenameNumRule(
const OUString & aOldName,
const OUString & aNewName,
1088 bool bBroadcast =
false);
1089 bool DelNumRule(
const OUString& rName,
bool bBroadCast =
false );
1090 OUString GetUniqueNumRuleName(
const OUString* pChkStr =
nullptr,
bool bAutoNum =
true )
const;
1092 void UpdateNumRule();
1093 void ChgNumRuleFormats(
const SwNumRule& rRule );
1094 bool ReplaceNumRule(
const SwPosition& rPos,
const OUString& rOldRule,
1095 const OUString& rNewRule );
1099 bool bOverUpper =
true,
1102 bool bOverUpper =
true );
1128 const bool bForward,
1130 const bool bOutline,
1131 int nNonEmptyAllowed,
1134 const bool bInvestigateStartNode =
false );
1137 bool NoNum(
const SwPaM& );
1143 void InvalidateNumRules();
1145 bool NumUpDown(
const SwPaM&,
bool bDown,
SwRootFrame const* pLayout =
nullptr);
1152 bool NumOrNoNum(
const SwNodeIndex& rIdx,
bool bDel =
false);
1168 sal_uInt16 nCols, sal_Int16 eAdjust,
1170 const std::vector<sal_uInt16> *pColArr =
nullptr,
1171 bool bCalledFromShell =
false,
1172 bool bNewModel =
true );
1185 const SwTable* TextToTable(
const std::vector< std::vector<SwNodeRange> >& rTableNodes );
1190 void InsertCol(
const SwCursor& rCursor,
1191 sal_uInt16 nCnt = 1,
bool bBehind =
true );
1193 sal_uInt16 nCnt = 1,
bool bBehind =
true );
1194 void InsertRow(
const SwCursor& rCursor,
1195 sal_uInt16 nCnt = 1,
bool bBehind =
true );
1197 sal_uInt16 nCnt = 1,
bool bBehind =
true );
1200 enum class RowColMode { DeleteRow = 0, DeleteColumn = 1, DeleteProtected = 2 };
1201 bool DeleteRowCol(
const SwSelBoxes& rBoxes, RowColMode eMode = RowColMode::DeleteRow);
1202 void DeleteRow(
const SwCursor& rCursor );
1203 void DeleteCol(
const SwCursor& rCursor );
1206 bool SplitTable(
const SwSelBoxes& rBoxes,
bool bVert,
1207 sal_uInt16 nCnt,
bool bSameHeight =
false );
1210 OUString GetUniqueTableName()
const;
1211 bool IsInsTableFormatNum()
const;
1212 bool IsInsTableChangeNumFormat()
const;
1213 bool IsInsTableAlignNum()
const;
1214 bool IsSplitVerticalByDefault()
const;
1215 void SetSplitVerticalByDefault(
bool value);
1219 void SetTabCols(
const SwTabCols &rNew,
bool bCurRowOnly,
1222 void SetTabRows(
const SwTabCols &rNew,
bool bCurColOnly,
1229 void SetRowsToRepeat(
SwTable &rTable, sal_uInt16 nSet );
1233 bool SetTableAutoFormat(
const SwSelBoxes& rBoxes,
const SwTableAutoFormat& rNew,
bool bResetDirect =
false,
bool isSetStyleName =
false);
1242 return const_cast<SwDoc*
>(
this)->GetTableStyles();
1247 SwTableAutoFormat* MakeTableStyle(
const OUString& rName,
bool bBroadcast =
false);
1249 std::unique_ptr<SwTableAutoFormat> DelTableStyle(
const OUString& rName,
bool bBroadcast =
false);
1256 void AppendUndoForInsertFromDB(
const SwPaM& rPam,
bool bIsTable );
1264 bool IsNumberFormat(
const OUString& rString, sal_uInt32& F_Index,
double& fOutNumber);
1266 void ChkBoxNumFormat(
SwTableBox& rCurrentBox,
bool bCallUpdate );
1268 void ClearBoxNumAttrs(
const SwNodeIndex& rNode );
1269 void ClearLineNumAttrs(
SwPosition const & rPos );
1272 const SwTable* pCpyTable,
bool bCpyName =
false,
1273 bool bCorrPos =
false );
1275 void UnProtectCells( std::u16string_view rTableName );
1276 bool UnProtectCells(
const SwSelBoxes& rBoxes );
1277 void UnProtectTables(
const SwPaM& rPam );
1278 bool HasTableAnyProtection(
const SwPosition* pPos,
1279 const OUString* pTableName,
1280 bool* pFullTableProtection );
1284 bool bCalcNewSize );
1288 bool MergeTable(
const SwPosition& rPos,
bool bWithPrev,
1289 sal_uInt16 nMode = 0 );
1292 void UpdateCharts( std::u16string_view rName )
const;
1298 void SetTableName(
SwFrameFormat& rTableFormat,
const OUString &rNewName );
1308 sal_uInt16 GetRefMarks( std::vector<OUString>* =
nullptr )
const;
1312 const OUString& rNumberingSeparator,
1313 const bool bBefore,
const sal_uInt16 nId,
const sal_uLong nIdx,
1314 const OUString& rCharacterStyle,
1315 const bool bCpyBrd );
1317 const OUString &rText,
const OUString& rSeparator,
const OUString& rNumberSeparator,
1318 const sal_uInt16 nId,
const OUString& rCharacterStyle,
SdrObject& rObj );
1335 std::tuple<SwTOXBase const*, sw::RedlineMode, sw::FieldmarkMode>
const* pTOXBase,
1336 SfxItemSet const*
const pAttr,
bool const bUpdate =
true);
1337 static sal_uInt16 IsInsRegionAvailable(
const SwPaM& rRange,
1338 const SwNode** ppSttNd =
nullptr );
1343 void DelSectionFormat(
SwSectionFormat *pFormat,
bool bDelNodes =
false );
1345 SfxItemSet const*
const =
nullptr,
bool const bPreventLinkUpdate =
false);
1346 OUString GetUniqueSectionName(
const OUString* pChkStr =
nullptr )
const;
1367 css::uno::Reference< css::embed::XStorage > GetDocStorage();
1378 void UnGroupSelection(
SdrView& );
1382 void SpellItAgainSam(
bool bInvalid,
bool bOnlyWrong,
bool bSmartTags );
1383 void InvalidateAutoCompleteFlag();
1385 void SetCalcFieldValueHdl(
Outliner* pOutliner);
1390 bool IsVisitedURL(
const OUString& rURL );
1393 void SetAutoCorrExceptWord( std::unique_ptr<SwAutoCorrExceptWord> pNew );
1395 void DeleteAutoCorrExceptWord();
1404 bool bChkPtr =
false );
1409 void MoveLeftMargin(
const SwPaM& rPam,
bool bRight,
bool bModulus,
1415 std::scoped_lock
lock(mNumberFormatterMutex);
1417 EnsureNumberFormatter();
1418 return mpNumberFormatter;
1423 return const_cast<SwDoc*
>(
this)->GetNumberFormatter(bCreate);
1426 bool HasInvisibleContent()
const;
1428 bool RemoveInvisibleContent();
1430 bool RestoreInvisibleContent();
1432 bool ConvertFieldsToText(
SwRootFrame const& rLayout);
1436 bool GenerateGlobalDoc(
const OUString& rPath,
1438 bool GenerateGlobalDoc(
const OUString& rPath,
int nOutlineLevel );
1439 bool GenerateHTMLDoc(
const OUString& rPath,
1441 bool GenerateHTMLDoc(
const OUString& rPath,
int nOutlineLevel );
1453 void SetTextFormatCollByAutoFormat(
const SwPosition& rPos, sal_uInt16 nPoolId,
1455 void SetFormatItemByAutoFormat(
const SwPaM& rPam,
const SfxItemSet& );
1470 void SetOLEObjModified();
1473 std::shared_ptr<SwUnoCursor> CreateUnoCursor(
const SwPosition& rPos,
bool bTableCursor =
false );
1479 const bool _bSameOnly,
1480 const bool _bPosCorr );
1483 static std::unique_ptr<SwFormatFrameSize> GetRowHeight(
const SwCursor& rCursor );
1485 static std::unique_ptr<SwFormatRowSplit> GetRowSplit(
const SwCursor& rCursor );
1490 bool BalanceRowHeight(
const SwCursor& rCursor,
bool bTstOnly,
const bool bOptimize );
1492 static bool GetRowBackground(
const SwCursor& rCursor, std::unique_ptr<SvxBrushItem>& rToFill );
1494 void SetTabLineStyle(
const SwCursor& rCursor,
1495 const Color* pColor,
bool bSetLine,
1509 static bool GetBoxAttr(
const SwCursor& rCursor, std::unique_ptr<SfxPoolItem>& rToFill );
1510 void SetBoxAlign(
const SwCursor& rCursor, sal_uInt16 nAlign );
1511 static sal_uInt16 GetBoxAlign(
const SwCursor& rCursor );
1515 void AdjustCellWidth(
const SwCursor& rCursor,
const bool bBalance,
const bool bNoShrink );
1523 bool bInsInPage =
true );
1531 sal_Int32 nContentPos = -1)
const;
1541 static sal_uInt16 FillRubyList(
const SwPaM& rPam,
SwRubyList& rList );
1544 void ReadLayoutCache(
SvStream& rStream );
1545 void WriteLayoutCache(
SvStream& rStream );
1552 bool ContainsHiddenChars()
const;
1565 void MarkListLevel(
const OUString& sListId,
1566 const int nListLevel,
1567 const bool bValue );
1572 void RenameFormat(
SwFormat & rFormat,
const OUString & sNewName,
1573 bool bBroadcast =
false);
1595 static OUString GetPaMDescr(
const SwPaM & rPaM);
1602 const css::uno::Reference<css::container::XNameContainer>&
1605 css::uno::Reference< css::linguistic2::XProofreadingIterator >
const & GetGCIterator()
const;
1608 bool isXForms()
const;
1611 void initXForms(
bool bCreateDefaultModel );
1614 void disposeXForms( );
1617 void SetDefaultPageMode(
bool bSquaredPageMode);
1618 bool IsSquaredPageMode()
const;
1620 css::uno::Reference< css::script::vba::XVBAEventProcessor >
const & GetVbaEventProcessor();
1628 SfxObjectShell* CreateCopy(
bool bCallInitNew,
bool bEmpty)
const;
1630 bool bDeletePrevious,
int physicalPageOffset,
1638 std::set<Color> GetDocColors();
1644 auto & rTable =
const_cast<SwDoc*
>(
this)->mvUnoCursorTable;
1646 rTable.erase( std::remove_if(rTable.begin(),
1648 [] (std::weak_ptr<SwUnoCursor>
const &
x) {
return x.expired(); }),
1656 bool StartGrammarChecking(
bool bSkipStart =
false );
1659 void SetMissingDictionaries(
bool bIsMissing );
SwFrameFormats * GetSpzFrameFormats()
SwPageDesc & GetPageDesc(size_t const i)
void SetCopyIsMove(bool bFlag)
const std::unique_ptr< ::sw::UndoManager > m_pUndoManager
const SwGrfFormatColls * GetGrfFormatColls() const
std::set< SwPosFlyFramePtr, SwPosFlyFrameCmp > SwPosFlyFrames
bool IsInMailMerge() const
SwCellStyleTable & GetCellStyles()
SwAutoCorrExceptWord * GetAutoCorrExceptWord()
const T & GetDefault(TypedWhichId< T > nWhich) const
Represents the style of a paragraph.
std::unique_ptr< SwDefTOXBase_Impl > mpDefTOXBases
Marks a position in the document model.
const OUString & GetTOIAutoMarkURL() const
SwCharFormat * FindCharFormatByName(std::u16string_view rName) const
const std::unique_ptr< ::sw::DocumentOutlineNodesManager > m_pDocumentOutlineNodesManager
const std::unique_ptr< ::sw::DocumentListItemsManager > m_pDocumentListItemsManager
IGrammarContact * getGrammarContact() const
static SwAutoCompleteWord & GetAutoCompleteWords()
oslInterlockedCount mReferenceCount
SwDocShell * GetDocShell()
SfxObjectShellLock mxTmpDocShell
SvNumberFormatter * GetNumberFormatter(bool bCreate=true)
const SwFrameFormats * GetTableFrameFormats() const
const std::unique_ptr< ::sw::DocumentLayoutManager > m_pDocumentLayoutManager
const std::unique_ptr< ::sw::DocumentContentOperationsManager > m_pDocumentContentOperationsManager
std::vector< OUString > m_PatternNames
#define DECL_LINK(Member, ArgType, RetType)
std::vector< SwNode * >::difference_type difference_type
SwDBManager * m_pDBManager
std::unique_ptr< SwNodes > m_pNodes
SwAttrPool & GetAttrPool()
std::vector< SwTOXMark * > SwTOXMarks
Provides numbered items of a document.
SwTextFormatColl * GetDfltTextFormatColl()
std::vector< std::unique_ptr< SwRubyListEntry >> SwRubyList
Base class of all fields.
Handle the background jobs of a Writer document.
exports com.sun.star. embed
Provides access to the marks of a document.
void SetOle2Link(const Link< bool, void > &rLink)
bool IsColumnSelection() const
const SwTableAutoFormatTable & GetTableStyles() const
void SetTmpDocShell(SfxObjectShellLock rLock)
in case during copying of embedded object a new shell is created, it should be set here and cleaned l...
Dialog to specify the properties of date form field.
std::unordered_map< OUString, SwNumRule * > maNumRuleMap
std::unique_ptr< IStyleAccess > mpStyleAccess
void SetClipBoard(bool bNew)
const SwCellStyleTable & GetCellStyles() const
The root element of a Writer document layout.
bool IsInsOnlyTextGlossary() const
const SwFrameFormats * GetSpzFrameFormats() const
exports com.sun.star. linguistic2
exports com.sun.star. container
std::unique_ptr< SwURLStateChanged > mpURLStateChgd
const SwSectionFormats & GetSections() const
bool DoesContainAtPageObjWithContentAnchor()
const SwCharFormat * GetDfltCharFormat() const
A class that stores temporary data that is needed for rendering the document.
static SwAutoCompleteWord * s_pAutoCompleteWords
std::unique_ptr< SwFrameFormats > mpTableFrameFormatTable
void cleanupUnoCursorTable() const
const std::unique_ptr< ::sw::DocumentRedlineManager > m_pDocumentRedlineManager
const SwTextFormatColl * GetDfltTextFormatColl() const
const Link< bool, void > & GetOle2Link() const
std::unique_ptr< SwNumRuleTable > mpNumRuleTable
std::unique_ptr< IGrammarContact > mpGrammarContact
void SetTOIAutoMarkURL(const OUString &rSet)
std::unique_ptr< ::sw::DocumentDeviceManager > m_pDeviceAccess
css::uno::Reference< css::container::XNameContainer > mxXForms
std::unique_ptr< SwFrameFormats > mpSpzFrameFormatTable
void SetInXMLImport(bool bNew)
const std::unique_ptr< ::sw::DocumentListsManager > m_pDocumentListsManager
SwFrameFormats * GetTableFrameFormats()
SwCharFormat * GetDfltCharFormat()
const std::unique_ptr< ::sw::DocumentStateManager > m_pDocumentStateManager
void SetDocumentType(DocumentType eDocType)
SwLayoutCache * GetLayoutCache() const
void SetContainsAtPageObjWithContentAnchor(const bool bFlag)
const std::unique_ptr< ::sw::DocumentChartDataProviderManager > m_pDocumentChartDataProviderManager
const SwPagePreviewPrtData * GetPreviewPrtData() const
PaM is Point and Mark: a selection of the document model.
struct _xmlTextWriter * xmlTextWriterPtr
std::unique_ptr< SwTableAutoFormatTable > m_pTableStyles
Table styles (autoformats that are applied with table changes).
void SetOLEPrtNotifyPending(bool bSet=true)
bool sw_GetPostIts(const IDocumentFieldsAccess &rIDFA, SetGetExpFields *pSrtLst)
std::unique_ptr< SwTextFormatColls > mpTextFormatCollTable
void SetInWriterfilterImport(bool const b)
const OUString & getDocAccTitle() const
bool IsPrepareSelAll() const
bool IsOLEPrtNotifyPending() const
MissingDictionary meDictionaryMissing
std::unique_ptr< SwTOXTypes > mpTOXTypes
const SfxObjectShellLock & GetTmpDocShell() const
void SetDBManager(SwDBManager *pNewMgr)
void SetAllScriptItem(SfxItemSet &rSet, const SfxPoolItem &rItem)
std::unique_ptr< SwLayoutCache > mpLayoutCache
Layout cache to read and save with the document for a faster formatting.
Document statistics information.
const SwPageDesc & GetPageDesc(const size_t i) const
std::vector< std::weak_ptr< SwUnoCursor > > mvUnoCursorTable
void SetInWriting(bool bNew)
std::unique_ptr< SwEndNoteInfo > mpEndNoteInfo
const std::unique_ptr< ::sw::mark::MarkManager > mpMarkManager
const SwDocShell * GetDocShell() const
Document fields related interfaces.
SplitTable_HeadlineOption
void SetTextFormatColl(const css::uno::Any &rAny, SwPaM &rPaM)
const SwFrameFormat * GetEmptyPageFormat() const
void SetUpdateTOX(bool bFlag)
std::unique_ptr< SwTextFormatColl > mpDfltTextFormatColl
std::unique_ptr< SwFrameFormat > mpColumnContFormat
size_t GetPageDescCnt() const
void setDocAccTitle(const OUString &rTitle)
const SwFrameFormat * GetColumnContFormat() const
void SetInLoadAsynchron(bool bFlag)
css::uno::Reference< css::linguistic2::XProofreadingIterator > m_xGCIterator
Provides access to settings of a document.
std::mutex mNumberFormatterMutex
SwNumRule * mpOutlineRule
std::unique_ptr< SwPagePreviewPrtData > m_pPgPViewPrtData
Link< bool, void > maOle2Link
Marks a node in the document model.
Document links administration interface.
Text operation/manipulation interface.
void SetInReading(bool bNew)
std::unique_ptr< SwGrfFormatColls > mpGrfFormatCollTable
SwNodes const & GetNodes() const
void CopyHeader(const SwFrameFormat &rSrcFormat, SwFrameFormat &rDestFormat)
Copy header (with contents) from SrcFormat to DestFormat (can also be copied into other document)...
std::unique_ptr< SwFrameFormat > mpEmptyPageFormat
SvNumberFormatter * mpNumberFormatter
const std::unique_ptr< ::sw::DocumentDrawModelManager > m_pDocumentDrawModelManager
SwTable is one table in the document model, containing rows (which contain cells).
SwFrameFormats * GetFrameFormats()
const SwTOXTypes & GetTOXTypes() const
Provides access to the lists of a document.
< purpose of derivation from SwClient: character style for displaying the numbers.
The Undo actions need to create new Shell cursors.
const SwFrameFormat * GetDfltFrameFormat() const
std::unique_ptr< SwSectionFormats > mpSectionFormatTable
std::unique_ptr< ::sfx2::IXmlIdRegistry > m_pXmlIdRegistry
bool IsDictionaryMissing() const
Returns true if no dictionary can be found for any content.
Provides access to the formatting devices of a document.
const css::uno::Reference< css::container::XNameContainer > & getXForms() const
OUString msTOIAutoMarkURL
bool mbOLEPrtNotifyPending
TRUE: Printer has changed.
const SvNumberFormatter * GetNumberFormatter(bool bCreate=true) const
const std::unique_ptr< ::sw::DocumentTimerManager > m_pDocumentTimerManager
SwTextFormatColl * FindTextFormatCollByName(std::u16string_view rName) const
SwTextNode is a paragraph in the document model.
const SwFootnoteIdxs & GetFootnoteIdxs() const
const std::unique_ptr< ::sw::MetaFieldManager > m_pMetaFieldManager
std::unique_ptr< SwAutoCorrExceptWord > mpACEWord
For the automated takeover of auto-corrected words that are "re-corrected".
const SwCharFormats * GetCharFormats() const
const std::unique_ptr< ::sw::DocumentStatisticsManager > m_pDocumentStatisticsManager
void CopyFooter(const SwFrameFormat &rSrcFormat, SwFrameFormat &rDestFormat)
Copy footer (with contents) from SrcFormat to DestFormat.
SwTableNode * IsIdxInTable(const SwNodeIndex &rIdx)
const SwTextFormatColls * GetTextFormatColls() const
std::unique_ptr< SwCharFormat > mpDfltCharFormat
bool IsInLoadAsynchron() const
Provides outline nodes of a document.
css::uno::Reference< css::container::XNameContainer > m_xTemplateToProjectCache
bool IsCopyIsMove() const
const SwNumRuleTable & GetNumRuleTable() const
void SetColumnSelection(bool bNew)
const css::uno::Reference< css::container::XNameContainer > & GetVBATemplateToProjectCache() const
std::unique_ptr< SwCharFormats > mpCharFormatTable
SwFrameFormat * GetColumnContFormat()
const std::unique_ptr< ::sw::DocumentExternalDataManager > m_pDocumentExternalDataManager
SwFrameFormat * GetEmptyPageFormat()
std::unique_ptr< SwFrameFormats > mpFrameFormatTable
SwTableBox is one table cell in the document model.
Get information about the current document state.
std::unique_ptr< SwFootnoteIdxs > mpFootnoteIdxs
SwTextFormatColls * GetTextFormatColls()
const std::unique_ptr< ::sw::DocumentFieldsManager > m_pDocumentFieldsManager
bool IsAutoFormatRedline() const
std::unique_ptr< SwCellStyleTable > mpCellStyles
Cell Styles not assigned to a Table Style.
const std::unique_ptr< ::sw::DocumentStylePoolManager > m_pDocumentStylePoolManager
SwFormat *(SwDoc::* FNCopyFormat)(const OUString &, SwFormat *, bool, bool)
std::unique_ptr< SwDBManager, o3tl::default_delete< SwDBManager > > m_pOwnDBManager
Provides access to the layout of a document.
SwFootnoteIdxs & GetFootnoteIdxs()
Access to the style pool.
bool HasTableStyles() const
Counts table styles without triggering lazy-load of them.
std::unique_ptr< SwFrameFormat > mpDfltFrameFormat
std::unique_ptr< SwLineNumberInfo > mpLineNumberInfo
Give access to the data-provider for chart.
css::uno::Reference< css::script::vba::XVBAEventProcessor > mxVbaEvents
const std::unique_ptr< ::sw::DocumentSettingManager > m_pDocumentSettingManager
void SetInMailMerge(bool bNew)
void SetLanguage(SwWrtShell &rWrtSh, std::u16string_view rLangText, bool bIsForSelection, SfxItemSet &rCoreSet)
const SwFrameFormats * GetFrameFormats() const
bool ContainsMSVBasic() const
const std::unique_ptr< ::sw::DocumentLinksAdministrationManager > m_pDocumentLinksAdministrationManager
const SwGrfFormatColl * GetDfltGrfFormatColl() const
IStyleAccess & GetIStyleAccess()
std::unique_ptr< SwFootnoteInfo > mpFootnoteInfo
SwFrameFormat * GetDfltFrameFormat()
SwSectionFormats & GetSections()
void SetContainsMSVBasic(bool bFlag)
std::shared_ptr< osl::Mutex > const & lock()
const SwFootnoteInfo & GetFootnoteInfo() const
SwGrfFormatColl * GetDfltGrfFormatColl()
DocumentType GetDocumentType() const
const SwEndNoteInfo & GetEndNoteInfo() const
SwCellFrame is one table cell in the document layout.
SwExtTextInput * mpExtInputRing
SwDBManager * GetDBManager() const
static SwPageDesc * FindPageDesc(SwDoc *pDoc, sal_uInt16 nPoolId)
bool IsInWriterfilterImport() const
bool IsInXMLImport() const
const SwAttrPool & GetAttrPool() const
std::unique_ptr< SwGrfFormatColl > mpDfltGrfFormatColl
SwNumRule * GetOutlineNumRule() const
void SetVBATemplateToProjectCache(css::uno::Reference< css::container::XNameContainer > const &xCache)
void SetAutoFormatRedline(bool bFlag)
SwCharFormats * GetCharFormats()
Base class of the Writer document model elements.