class SwExtTextInput; class EditFieldInfo; class Outliner; class OutputDevice; class Point; class SbxArray; class SdrObject; class SdrUndoAction; class SvNumberFormatter; class SvxMacro; class SwAutoCompleteWord; class SwAutoCorrExceptWord; class SwCellFrame; class SwCellStyleTable; class SwCursorShell; class SwCursor; class SwDocShell; class SwDrawView; class SwEditShell; class SwFormat; class SwFormatINetFormat; class SwFormatRefMark; class SwFootnoteIdxs; class SwFootnoteInfo; class SwEndNoteInfo; class SwLineNumberInfo; class SwDBManager; class SwNodeIndex; class SwNodeRange; class SwNumRule; class SwPagePreviewPrtData; class SwRootFrame; class SwRubyListEntry; class SwSectionFormat; class SwSectionData; class SwSelBoxes; class SwTableAutoFormatTable; class SwTOXBaseSection; class SwTabCols; class SwTable; class SwTableAutoFormat; class SwTableBox; class SwTableBoxFormat; class SwTableFormat; class SwTableLineFormat; class SwTableNode; class SwTextBlocks; class SwURLStateChanged; class SwUnoCursor; class SwViewShell; class SwDrawContact; class SdrView; class SdrMarkList; class SwAuthEntry; class SwLayoutCache; class IStyleAccess; struct SwCallMouseEvent; struct SwDocStat; struct SwSortOptions; struct SwDefTOXBase_Impl; class SwPrintUIOptions; struct SwConversionArgs; class SwRenderData; class IDocumentUndoRedo; class IDocumentSettingAccess; class IDocumentDeviceAccess; class IDocumentDrawModelAccess; class IDocumentChartDataProviderAccess; class IDocumentTimerAccess; class IDocumentLinksAdministration; class IDocumentListItems; class IDocumentListsAccess; class IDocumentOutlineNodes; class IDocumentContentOperations; class IDocumentRedlineAccess; class IDocumentStatistics; class IDocumentState; class IDocumentLayoutAccess; class IDocumentStylePoolAccess; class IDocumentExternalData; class IDocumentMarkAccess; class SetGetExpFields; struct SwInsertTableOptions; class SwContentControlManager; enumclass SvMacroItemId : sal_uInt16; enumclass SvxFrameDirection; enumclass RndStdIds; class SwMarkName;
namespace sw::mark { class MarkManager; } namespace sw { enumclass RedlineMode; enumclass FieldmarkMode; enumclass ParagraphBreakMode; class MetaFieldManager; class UndoManager; class IShellCursorSupplier; class DocumentSettingManager; class DocumentDeviceManager; class DocumentDrawModelManager; class DocumentChartDataProviderManager; class DocumentTimerManager; class DocumentLinksAdministrationManager; class DocumentListItemsManager; class DocumentListsManager; class DocumentOutlineNodesManager; class DocumentContentOperationsManager; class DocumentRedlineManager; class DocumentFieldsManager; class DocumentStatisticsManager; class DocumentStateManager; class DocumentLayoutManager; class DocumentStylePoolManager; class DocumentExternalDataManager; class GrammarContact; class OnlineAccessibilityCheck;
}
namespace com::sun::star { namespace container { class XNameContainer; //< for getXForms()/isXForms()/initXForms() methods
} namespace embed { class XStorage; } namespace linguistic2 { class XHyphenatedWord; } namespace linguistic2 { class XProofreadingIterator; } namespace linguistic2 { class XSpellChecker1; } namespace script::vba { class XVBAEventProcessor; }
}
SwDocShell *mpDocShell; //< Ptr to SfxDocShell of Doc.
SfxObjectShellLock mxTmpDocShell; //< A temporary shell that is used to copy OLE-Nodes
std::unique_ptr<SwAutoCorrExceptWord> mpACEWord; /**< For the automated takeover of
auto-corrected words that are "re-corrected". */
std::unique_ptr<SwURLStateChanged> mpURLStateChgd; //< SfxClient for changes in INetHistory
std::mutex mNumberFormatterMutex;
SvNumberFormatter* mpNumberFormatter; //< NumFormatter for tables / fields
mutable std::unique_ptr<SwNumRuleTable> mpNumRuleTable; //< List of all named NumRules.
// Hash map to find numrules by name mutable std::unordered_map<UIName, SwNumRule *> maNumRuleMap;
std::unique_ptr<SwPagePreviewPrtData> m_pPgPViewPrtData; //< Indenting / spacing for printing of page view.
SwExtTextInput *mpExtInputRing;
std::unique_ptr<IStyleAccess> mpStyleAccess; //< handling of automatic styles
std::unique_ptr<SwLayoutCache> mpLayoutCache; /**< Layout cache to read and save with the
document for a faster formatting */
std::unique_ptr<sw::GrammarContact> mpGrammarContact; //< for grammar checking in paragraphs during editing
std::unique_ptr<sw::OnlineAccessibilityCheck> mpOnlineAccessibilityCheck;
/// Table styles (autoformats that are applied with table changes).
std::unique_ptr<SwTableAutoFormatTable> m_pTableStyles; /// Cell Styles not assigned to a Table Style
std::unique_ptr<SwCellStyleTable> mpCellStyles; private:
std::unique_ptr< ::sfx2::IXmlIdRegistry > m_pXmlIdRegistry;
// other
sal_uInt32 mnRsid; //< current session ID of the document
sal_uInt32 mnRsidRoot; //< session ID when the document was created
oslInterlockedCount mReferenceCount;
bool mbDtor : 1; /**< TRUE: is in SwDoc DTOR. andunfortunatelytemporarilyalsoin SwSwgReader::InLayout()whenflawed
frames need deletion. */ bool mbCopyIsMove : 1; //< TRUE: Copy is a hidden Move. bool mbInReading : 1; //< TRUE: Document is in the process of being read. bool mbInWriting : 1; //< TRUE: Document is in the process of being written. bool mbInMailMerge : 1; //< TRUE: Document is in the process of being written by mail merge. bool mbInXMLImport : 1; //< TRUE: During xml import, attribute portion building is not necessary. bool mbInXMLImport242 : 1 = false; //< TRUE: During xml import, apply workaround for style-ref field bool mbInWriterfilterImport : 1; //< TRUE: writerfilter import (DOCX,RTF) bool mbUpdateTOX : 1; //< TRUE: After loading document, update TOX. bool mbInLoadAsynchron : 1; //< TRUE: Document is in the process of being loaded asynchronously. bool mbIsAutoFormatRedline : 1; //< TRUE: Redlines are recorded by Autoformat. bool mbOLEPrtNotifyPending : 1; /**< TRUE: Printer has changed. At creation of View
notification of OLE-Objects PrtOLENotify() is required. */ bool mbAllOLENotify : 1; //< True: Notification of all objects is required. bool mbInsOnlyTextGlssry : 1; //< True: insert 'only text' glossary into doc bool mbContains_MSVBasic : 1; //< True: MS-VBasic exist is in our storage bool mbClipBoard : 1; //< TRUE: this document represents the clipboard bool mbColumnSelection : 1; //< TRUE: this content has been created by a column selection (clipboard docs only) bool mbIsPrepareSelAll : 1; bool mbDontCorrectBookmarks = false;
// true: Document contains at least one anchored object, which is anchored AT_PAGE with a content position. // Thus, certain adjustment needed during formatting for these kind of anchored objects. bool mbContainsAtPageObjWithContentAnchor : 1;
static SwAutoCompleteWord *s_pAutoCompleteWords; //< List of all words for AutoComplete /// The last, still alive SwDoc instance, for debugging. static SwDoc* s_pLast;
SW_DLLPUBLIC void EnsureNumberFormatter(); // must be called with mNumberFormatterMutex locked
bool UnProtectTableCells( SwTable& rTable );
/** Create sub-documents according to the given collection.
If no collection is given, take chapter style of the 1st level. */ bool SplitDoc( sal_uInt16 eDocType, const OUString& rPath, bool bOutline, const SwTextFormatColl* pSplitColl, int nOutlineLevel = 0 );
// Update charts of given table. void UpdateCharts_( const SwTable& rTable, SwViewShell const & rVSh ) const;
/** Acquire a reference to an instance. A caller shall release theinstancebycalling'release'whenitisnolongerneeded. 'acquire'and'release'callsneedtobebalanced.
@returns thecurrentreferencecountoftheinstancefordebuggingpurposes.
*/
SW_DLLPUBLIC sal_Int32 acquire(); /** Releases a reference to an instance. A caller has to call 'release'whenabeforeacquiredreferencetoaninstance isnolongerneeded.'acquire'and'release'callsneedto bebalanced.
@returns thecurrentreferencecountoftheinstancefordebuggingpurposes.
*/
SW_DLLPUBLIC sal_Int32 release(); /** Returns the current reference count. This method should be used for debuggingpurposes.Usingitotherwiseisasignalofadesignflaw.
*/ public:
sal_Int32 getReferenceCount() const;
// Returns 0 if the field cannot hide para, or a positive integer indicating the field type // "weight" when several hiding fields' FieldHidesPara() give conflicting results int FieldCanHideParaWeight(SwFieldIds eFieldId) const; bool FieldHidesPara(const SwField& rField) const;
// From now on this interface has to be used for Flys. // pAnchorPos must be set, if they are not attached to pages AND // Anchor is not already set at valid ContentPos // in FlySet/FrameFormat. /* new parameter bCalledFromShell
// Helper that checks for unique items for DrawingLayer items of type NameOrIndex // and evtl. corrects that items to ensure unique names for that type. This call may // modify/correct entries inside of the given SfxItemSet, and it will apply a name to // the items in question (what is essential to make the named slots associated with // these items work for the UNO API and thus e.g. for ODF import/export) void CheckForUniqueItemForLineFillNameOrIndex(SfxItemSet& rSet);
// Find out which databases are used by fields. void GetAllUsedDB( std::vector<OUString>& rDBNameList, const std::vector<OUString>* pAllDBNames = nullptr );
// Set a valid name for all Flys that have none (Called by Readers after reading). void SetAllUniqueFlyNames();
/** Reset attributes. All TextHints and (if completely selected) all hard- formattedstuff(auto-formats)areremoved. Introducenewoptionalparameter<bSendDataChangedEvents>inorderto
control, if the side effect "send data changed events" is triggered or not. */ void ResetAttrs( const SwPaM &rRg, bool bTextAttr = true, const o3tl::sorted_vector<sal_uInt16> &rAttrs = o3tl::sorted_vector<sal_uInt16>(), constbool bSendDataChangedEvents = true,
SwRootFrame const* pLayout = nullptr); void RstTextAttrs(const SwPaM &rRg, bool bInclRefToxMark = false, bool bExactRange = false, SwRootFrame const* pLayout = nullptr);
/** Set attribute in given format.1y
* If Undo is enabled, the old values is added to the Undo history. */
SW_DLLPUBLIC void SetAttr( const SfxPoolItem&, SwFormat& ); /** Set attribute in given format.1y
* If Undo is enabled, the old values is added to the Undo history. */
SW_DLLPUBLIC void SetAttr( const SfxItemSet&, SwFormat& );
// method to reset a certain attribute at the given format void ResetAttrAtFormat( const std::vector<sal_uInt16>& rIds,
SwFormat& rChangedFormat );
/** Set attribute as new default attribute in current document.
If Undo is activated, the old one is listed in Undo-History. */ void SetDefault( const SfxPoolItem& ); void SetDefault( const SfxItemSet& );
// Replace all styles with those from rSource. void ReplaceStyles( const SwDoc& rSource, bool bIncludePageStyles = true );
// Replace all property defaults with those from rSource.
SW_DLLPUBLIC void ReplaceDefaults( const SwDoc& rSource );
// Replace all compatibility options with those from rSource.
SW_DLLPUBLIC void ReplaceCompatibilityOptions( const SwDoc& rSource );
/** Replace all user defined document properties with xSourceDocProps. ConveniencefunctionusedbyReplaceDocumentPropertiestoskipsomeUNOcalls.
*/ void ReplaceUserDefinedDocumentProperties( const css::uno::Reference< css::document::XDocumentProperties >& xSourceDocProps );
/** Replace document properties with those from rSource.
/** The html import sometimes overwrites the page sizes set in
the page descriptions. This function is used to correct this. */ void CheckDefaultPageFormat();
// Methods for tables/indices static sal_uInt16 GetCurTOXMark( const SwPosition& rPos, SwTOXMarks& ); void DeleteTOXMark( const SwTOXMark* pTOXMark );
SW_DLLPUBLIC const SwTOXMark& GotoTOXMark( const SwTOXMark& rCurTOXMark,
SwTOXSearch eDir, bool bInReadOnly ); /// Iterate over all SwTOXMark, if the function returns false, iteration is stopped
SW_DLLPUBLIC void ForEachTOXMark( const std::function<bool(const SwTOXMark&)>& ) const;
// Correct the SwPosition-Objects that are registered with the document // e. g. Bookmarks or tables/indices. // If bMoveCursor is set move Cursor too.
// Set everything in rOldNode on rNewPos + Offset. void CorrAbs( const SwNode& rOldNode, const SwPosition& rNewPos, const sal_Int32 nOffset = 0, bool bMoveCursor = false );
// Set everything in the range of [rStartNode, rEndNode] to rNewPos. staticvoid CorrAbs( const SwNodeIndex& rStartNode, const SwNodeIndex& rEndNode, const SwPosition& rNewPos, bool bMoveCursor = false );
// Set everything in this range from rRange to rNewPos. staticvoid CorrAbs( const SwPaM& rRange, const SwPosition& rNewPos, bool bMoveCursor = false );
// Set everything in rOldNode to relative Pos. void CorrRel( const SwNode& rOldNode, const SwPosition& rNewPos, const sal_Int32 nOffset = 0, bool bMoveCursor = false );
enumclass SetNumRuleMode { Default = 0, /// indicates if a new list is created by applying the given list style.
CreateNewList = 1,
DontSetItem = 2, /** If enabled, the indent attributes "before text" and "firstlineindent"areadditionallyresetattheprovidedPaM,
if the list style makes use of the new list level attributes. */
ResetIndentAttrs = 4,
DontSetIfAlreadyApplied = 8
};
/** Set or change numbering rule on text nodes, as direct formatting. @paramsContinuedListIdIfbCreateNewListisfalse,maycontainthe listIdofalistwhichhastobecontinuedbyapplyingthegivenliststyle
// sw_redlinehide: may set rPos to different node (the one with the NumRule) static SwNumRule* GetNumRuleAtPos(SwPosition& rPos, SwRootFrame const* pLayout = nullptr);
// If index is in a table, return TableNode, else 0. static SwTableNode* IsIdxInTable( const SwNodeIndex& rIdx ); static SwTableNode* IsInTable( const SwNode& );
// Create a balanced table out of the selected range. const SwTable* TextToTable( const SwInsertTableOptions& rInsTableOpts, // HeadlineNoBorder, const SwPaM& rRange, sal_Unicode cCh,
sal_Int16 eAdjust, const SwTableAutoFormat* );
// text to table conversion - API support const SwTable* TextToTable( const std::vector< std::vector<SwNodeRange> >& rTableNodes );
// Split table at baseline position, i.e. create a new table. void SplitTable( const SwPosition& rPos, SplitTable_HeadlineOption eMode, bool bCalcNewSize );
/** And vice versa: rPos must be in the table that remains. The flag indicates
whether the current table is merged with the one before or behind it. */ bool MergeTable( const SwPosition& rPos, bool bWithPrev );
// Make charts of given table update. void UpdateCharts( const UIName& rName ) const;
// Update all charts, for that exists any table. void UpdateAllCharts() { DoUpdateAllCharts(); }
// Table is renamed and refreshes charts. void SetTableName( SwFrameFormat& rTableFormat, const UIName &rNewName );
// @return the reference in document that is set for name. const SwFormatRefMark* GetRefMark( const SwMarkName& rName ) const;
// @return RefMark via index - for UNO. const SwFormatRefMark* GetRefMark( sal_uInt16 nIndex ) const;
/** @return names of all references that are set in document.
If array pointer is 0 return only whether a RefMark is set in document. */
SW_DLLPUBLIC sal_uInt16 GetRefMarks( std::vector<OUString>* = nullptr ) const;
SW_DLLPUBLIC void GetRefMarks( std::vector<const SwFormatRefMark*>& ) const; /// Iterate over all SwFormatRefMark, if the function returns false, iteration is stopped
SW_DLLPUBLIC void ForEachRefMark( const std::function<bool(const SwFormatRefMark&)>& ) const;
// Pointer to SfxDocShell from Doc. Can be 0!!
SAL_RET_MAYBENULL SwDocShell* GetDocShell() { return mpDocShell; }
SAL_RET_MAYBENULL const SwDocShell* GetDocShell() const { return mpDocShell; } void SetDocShell( SwDocShell* pDSh );
/** in case during copying of embedded object a new shell is created,
it should be set here and cleaned later */ void SetTmpDocShell(const SfxObjectShellLock& rLock) { mxTmpDocShell = rLock; } const SfxObjectShellLock& GetTmpDocShell() const { return mxTmpDocShell; }
// For Autotexts? (text modules) They have only one SVPersist at their disposal.
SW_DLLPUBLIC SfxObjectShell* GetPersist() const;
// Pointer to storage of SfxDocShells. Can be 0!!!
SW_DLLPUBLIC css::uno::Reference< css::embed::XStorage > GetDocStorage();
// Query / set flag indicating if document is loaded asynchronously at this moment. bool IsInLoadAsynchron() const { return mbInLoadAsynchron; } void SetInLoadAsynchron( bool bFlag ) { mbInLoadAsynchron = bFlag; }
// Query if URL was visited. // Query via Doc, if only a Bookmark has been given. // In this case the document name has to be set in front. bool IsVisitedURL( std::u16string_view rURL );
// Save current values for automatic registration of exceptions in Autocorrection. void SetAutoCorrExceptWord( std::unique_ptr<SwAutoCorrExceptWord> pNew );
SwAutoCorrExceptWord* GetAutoCorrExceptWord() { return mpACEWord.get(); } void DeleteAutoCorrExceptWord();
const SwFormatINetFormat* FindINetAttr( std::u16string_view rName ) const; /// Iterate over all SwFormatINetFormat, if the function returns false, iteration is stopped
SW_DLLPUBLIC void ForEachINetFormat( const std::function<bool(const SwFormatINetFormat&)>& ) const;
/// Iterate over all SwFormatURL, if the function returns false, iteration is stopped
SW_DLLPUBLIC void ForEachFormatURL( const std::function<bool(const SwFormatURL&)>& ) const;
/// Iterate over all SvxOverlineItem, if the function returns false, iteration is stopped
SW_DLLPUBLIC void ForEachOverlineItem( const std::function<bool(const SvxOverlineItem&)>& ) const;
/// Iterate over all SwFormatField, if the function returns false, iteration is stopped void ForEachFormatField( TypedWhichId<SwFormatField> nWhich, const std::function<bool(const SwFormatField&)>& ) const;
/// Iterate over all RES_CHRATR_BOX SvxBoxItem, if the function returns false, iteration is stopped
SW_DLLPUBLIC void ForEachCharacterBoxItem(const std::function<bool(const SvxBoxItem&)>& ) const;
/// Iterate over all RES_CHRATR_COLOR SvxColorItem, if the function returns false, iteration is stopped
SW_DLLPUBLIC void ForEachCharacterColorItem(const std::function<bool(const SvxColorItem&)>& ) const;
/// Iterate over all RES_CHRATR_UNDERLINE SvxUnderlineItem, if the function returns false, iteration is stopped
SW_DLLPUBLIC void ForEachCharacterUnderlineItem(const std::function<bool(const SvxUnderlineItem&)>& ) const;
/// Iterate over all RES_CHRATR_BACKGROUND SvxBrushItem, if the function returns false, iteration is stopped
SW_DLLPUBLIC void ForEachCharacterBackgroundBrushItem(const std::function<bool(constSvxBrushItem&)>& ) const;
/// Iterate over all RES_CHRATR_FONT/RES_CHRATR_CJK_FONT/RES_CHRATR_CTL_FONT SvxFontItem, if the function returns false, iteration is stopped
SW_DLLPUBLIC void ForEachCharacterFontItem(TypedWhichId<SvxFontItem> nWhich, bool bIgnoreAutoStyles, const std::function<bool(const SvxFontItem&)>& );
/// Iterate over all RES_TXTATR_UNKNOWN_CONTAINER SvXMLAttrContainerItem, if the function returns false, iteration is stopped
SW_DLLPUBLIC void ForEachTxtAtrContainerItem(const std::function<bool(const SvXMLAttrContainerItem&)>& ) const;
/// Iterate over all RES_PARATR_TABSTOP SvxTabStopItem, if the function returns false, iteration is stopped
SW_DLLPUBLIC void ForEachParaAtrTabStopItem(const std::function<bool(const SvxTabStopItem&)>& );
/// Iterate over all RES_UNKNOWNATR_CONTAINER SvXMLAttrContainerItem, if the function returns false, iteration is stopped
SW_DLLPUBLIC void ForEachUnknownAtrContainerItem(const std::function<bool(const SvXMLAttrContainerItem&)>& ) const;
/// Iterate over all RES_BOX SvxBoxItem, if the function returns false, iteration is stopped
SW_DLLPUBLIC void ForEachBoxItem(const std::function<bool(const SvxBoxItem&)>& ) const;
/// Iterate over all RES_SHADOW SvxShadowItem, if the function returns false, iteration is stopped
SW_DLLPUBLIC void ForEachShadowItem(const std::function<bool(const SvxShadowItem&)>& ) const;
/// Iterate over all RES_BACKGROUND SvxBrushItem, if the function returns false, iteration is stopped
SW_DLLPUBLIC void ForEachBackgroundBrushItem(const std::function<bool(const SvxBrushItem&)>& ) const;
/// Iterate over all RES_CHRATR_HIGHLIGHT SvxBrushItem, if the function returns false, iteration is stopped
SW_DLLPUBLIC void ForEachCharacterHighlightBrushItem(const std::function<bool(const SvxBrushItem&)>& ) const;
// Call into intransparent Basic; expect possible Return String. void ExecMacro( const SvxMacro& rMacro, OUString* pRet, SbxArray* pArgs );
/** Adjust left margin via object bar (similar to adjustment of numerations). Onecaneitherchangethemargin"by"addingorsubtractingagiven
offset or set it "to" this position (bModulus = true). */ void MoveLeftMargin(const SwPaM& rPam, bool bRight, bool bModulus,
SwRootFrame const* pLayout = nullptr);
bool HasInvisibleContent() const; // delete invisible content, like hidden sections and paragraphs
SW_DLLPUBLIC bool RemoveInvisibleContent(); // restore the invisible content if it's available on the undo stack bool RestoreInvisibleContent();
// Replace fields by text - mailmerge support bool ConvertFieldsToText(SwRootFrame const& rLayout); bool ConvertFieldToText(const SwField& rField, SwRootFrame const& rLayout);
// Create sub-documents according to given collection. // If no collection is given, use chapter styles for 1st level. bool GenerateGlobalDoc( const OUString& rPath, const SwTextFormatColl* pSplitColl ); bool GenerateGlobalDoc( const OUString& rPath, int nOutlineLevel ); bool GenerateHTMLDoc( const OUString& rPath, const SwTextFormatColl* pSplitColl ); bool GenerateHTMLDoc( const OUString& rPath, int nOutlineLevel );
// Compare two documents.
tools::Long CompareDoc( const SwDoc& rDoc );
// Merge two documents.
tools::Long MergeDoc( const SwDoc& rDoc );
// Only for SW-textbloxks! Does not pay any attention to layout! void ClearDoc(); // Deletes all content!
// Query /set data for PagePreview. const SwPagePreviewPrtData* GetPreviewPrtData() const { return m_pPgPViewPrtData.get(); }
// If pointer == 0 destroy pointer in document. // Else copy object. // Pointer is not transferred to ownership by document! void SetPreviewPrtData( const SwPagePreviewPrtData* pData );
/** update all modified OLE-Objects. The modification is called over the
StarOne - Interface */ void SetOLEObjModified();
@remarksApropertyis'set'ifit'ssettothesamevalueoverallboxesinthecurrentselection. Thepropertyvalueisretrievedfromthefirstboxinthecurrentselection.Itisthencomparedto thevaluesofthesamepropertyoveranyotherboxesintheselection;ifanyvalueisdifferentfrom thatofthefirstbox,thepropertyisunset(andfalseisreturned).
*/ staticbool GetBoxAttr( const SwCursor& rCursor, std::unique_ptr<SfxPoolItem>& rToFill ); void SetBoxAlign( const SwCursor& rCursor, sal_uInt16 nAlign ); static sal_uInt16 GetBoxAlign( const SwCursor& rCursor ); /// Adjusts selected cell widths in such a way, that their content does not need to be wrapped (if possible). /// bBalance evenly re-distributes the available space regardless of content or wrapping. /// bNoShrink keeps table size the same by distributing excess space proportionately. void AdjustCellWidth( const SwCursor& rCursor, constbool bBalance, constbool bNoShrink );
/** Checks if any of the text node contains hidden characters. Usedforoptimization.Changingtheviewoption'viewhiddentext' hastotriggerareformattingonlyifsomeofthetextishidden.
*/ bool ContainsHiddenChars() const;
// access container for XForms model; will be NULL if !isXForms() const css::uno::Reference<css::container::XNameContainer>&
getXForms() const { return mxXForms;}
// Remove expired UnoCursor weak pointers the document keeps to notify about document death. void cleanupUnoCursorTable() const
{ auto & rTable = const_cast<SwDoc*>(this)->mvUnoCursorTable; // In most cases we'll remove most of the elements.
std::erase_if(rTable, [] (std::weak_ptr<SwUnoCursor> const & x) { return x.expired(); });
}
/// Use to notify if the dictionary can be found for a single content portion (has to be called for all portions) void SetMissingDictionaries( bool bIsMissing ); /// Returns true if no dictionary can be found for any content bool IsDictionaryMissing() const { return meDictionaryMissing == MissingDictionary::True; }
private: // Copies master header to left / first one, if necessary - used by ChgPageDesc(). void CopyMasterHeader(const SwPageDesc &rChged, const SwFormatHeader &rHead, SwPageDesc &pDesc, bool bLeft, bool bFirst); // Copies master footer to left / first one, if necessary - used by ChgPageDesc(). void CopyMasterFooter(const SwPageDesc &rChged, const SwFormatFooter &rFoot, SwPageDesc &pDesc, bool bLeft, bool bFirst);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.