LibreOffice Module sw (master) 1
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
SwNodes Class Referencefinal

#include <ndarr.hxx>

Inheritance diagram for SwNodes:
[legend]
Collaboration diagram for SwNodes:
[legend]

Public Types

typedef std::vector< SwNodeRangeNodeRanges_t
 
typedef std::vector< NodeRanges_tTableRanges_t
 

Public Member Functions

 ~SwNodes ()
 Destructor. More...
 
SwNodeoperator[] (SwNodeOffset n) const
 
SwNodeOffset Count () const
 
void ForEach (FnForEach_SwNodes fnForEach, void *pArgs=nullptr)
 
void ForEach (SwNodeOffset nStt, SwNodeOffset nEnd, FnForEach_SwNodes fnForEach, void *pArgs)
 
void ForEach (SwNode &rStart, SwNode &rEnd, FnForEach_SwNodes fnForEach, void *pArgs)
 
void ForEach (const SwNodeIndex &rStart, const SwNodeIndex &rEnd, FnForEach_SwNodes fnForEach, void *pArgs)
 
SwNodeGetEndOfPostIts () const
 A still empty section. More...
 
SwNodeGetEndOfInserts () const
 Section for all footnotes. More...
 
SwNodeGetEndOfAutotext () const
 Section for all Flys/Header/Footers. More...
 
SwNodeGetEndOfRedlines () const
 Section for all Redlines. More...
 
SwNodeGetEndOfExtras () const
 This is the last EndNode of a special section. More...
 
SwNodeGetEndOfContent () const
 Regular ContentSection (i.e. the BodyText). More...
 
bool IsDocNodes () const
 Is the NodesArray the regular one of Doc? (and not the UndoNds, ...) Implementation in doc.hxx (because one needs to know Doc for it) ! More...
 
void Delete (const SwNodeIndex &rPos, SwNodeOffset nNodes=SwNodeOffset(1))
 
void Delete (const SwNode &rPos, SwNodeOffset nNodes=SwNodeOffset(1))
 delete nodes More...
 
bool MoveNodes (const SwNodeRange &, SwNodes &rNodes, SwNode &rPos, bool bNewFrames=true)
 move the node pointer More...
 
void MoveRange (SwPaM &, SwPosition &, SwNodes &rNodes)
 move a range More...
 
void Copy_ (const SwNodeRange &rRg, SwNode &rInsPos, bool bNewFrames=true) const
 
void SectionUp (SwNodeRange *)
 increase level of the given range More...
 
void SectionDown (SwNodeRange *pRange, SwStartNodeType=SwNormalStartNode)
 create a start/end section pair More...
 
SwContentNodeGoNext (SwNodeIndex *) const
 
SwContentNodeGoNext (SwPosition *) const
 
SwContentNodeGoNextSection (SwNodeIndex *, bool bSkipHidden=true, bool bSkipProtect=true) const
 Go to next content-node that is not protected or hidden (Both set FALSE ==> GoNext/GoPrevious!!!). More...
 
SwContentNodeGoNextSection (SwPosition *, bool bSkipHidden=true, bool bSkipProtect=true) const
 go to next section that is not protected nor hidden More...
 
SwTextNodeMakeTextNode (SwNode &rWhere, SwTextFormatColl *pColl, bool bNewFrames=true)
 Implementations of "Make...Node" are in the given .cxx-files. More...
 
SwStartNodeMakeTextSection (const SwNode &rWhere, SwStartNodeType eSttNdTyp, SwTextFormatColl *pColl)
 
SwOLENodeMakeOLENode (SwNode &rWhere, const svt::EmbeddedObjectRef &, SwGrfFormatColl *pColl)
 in ndole.cxx More...
 
SwOLENodeMakeOLENode (SwNode &rWhere, const OUString &rName, sal_Int64 nAspect, SwGrfFormatColl *pColl, SwAttrSet const *pAutoAttr)
 in ndole.cxx More...
 
const SwOutlineNodesGetOutLineNds () const
 Array of all OutlineNodes. More...
 
void UpdateOutlineNode (SwNode &rNd)
 Update all Nodes - Rule/Format-Change. More...
 
SwTableNodeTextToTable (const SwNodeRange &rRange, sal_Unicode cCh, SwTableFormat *pTableFormat, SwTableLineFormat *pLineFormat, SwTableBoxFormat *pBoxFormat, SwTextFormatColl *pTextColl, SwUndoTextToTable *pUndo)
 Create balanced table from selected range. More...
 
void ExpandRangeForTableBox (const SwNodeRange &rRange, std::optional< SwNodeRange > &rExpandedRange)
 
SwTableNodeTextToTable (const TableRanges_t &rTableNodes, SwTableFormat *pTableFormat, SwTableLineFormat *pLineFormat, SwTableBoxFormat *pBoxFormat)
 create a table from a vector of NodeRanges - API support More...
 
bool TableToText (const SwNodeRange &rRange, sal_Unicode cCh, SwUndoTableToText *)
 Create regular text from what was table. More...
 
SwTableNodeUndoTableToText (SwNodeOffset nStt, SwNodeOffset nEnd, const SwTableToTextSaves &rSavedData)
 Is in untbl.cxx and may called only by Undo-object. More...
 
bool InsBoxen (SwTableNode *, SwTableLine *, SwTableBoxFormat *, SwTextFormatColl *, const SfxItemSet *pAutoAttr, sal_uInt16 nInsPos, sal_uInt16 nCnt=1)
 Insert a new box in the line before InsPos. More...
 
SwTableNodeSplitTable (SwNode &rPos, bool bAfter=true, bool bCalcNewSize=false)
 Splits a table at the base-line which contains the index. More...
 
bool MergeTable (SwNode &rPos, bool bWithPrev=true)
 Two Tables that are following one another are merged. More...
 
SwSectionNodeInsertTextSection (SwNode &rNd, SwSectionFormat &rSectionFormat, SwSectionData const &, SwTOXBase const *const pTOXBase, SwNode const *pEndNd, bool const bInsAtStart=true, bool const bCreateFrames=true)
 Insert a new SwSection. More...
 
SwDocGetDoc ()
 Which Doc contains the nodes-array? More...
 
const SwDocGetDoc () const
 
SwNodeFindPrvNxtFrameNode (const SwNode &rFrameNd, const SwNode *pEnd, SwRootFrame const *pLayout=nullptr) const
 Search previous / next content node or table node with frames. More...
 
SwNodeDocumentSectionStartNode (SwNode *pNode) const
 
SwNodeDocumentSectionEndNode (SwNode *pNode) const
 
void dumpAsXml (xmlTextWriterPtr pWriter) const
 Dumps the entire nodes structure to the given destination (file nodes.xml in the current directory by default) More...
 

Static Public Member Functions

static sal_uInt16 GetSectionLevel (const SwNode &rIndex)
 get section level at the given position More...
 
static void GoStartOfSection (SwNodeIndex *)
 
static void GoEndOfSection (SwNodeIndex *)
 
static SwContentNodeGoPrevious (SwNodeIndex *)
 
static SwContentNodeGoPrevious (SwPosition *)
 
static SwContentNodeGoPrevSection (SwNodeIndex *, bool bSkipHidden=true, bool bSkipProtect=true)
 
static SwContentNodeGoPrevSection (SwPosition *, bool bSkipHidden=true, bool bSkipProtect=true)
 
static SwStartNodeMakeEmptySection (SwNode &rWhere, SwStartNodeType=SwNormalStartNode)
 Create an empty section of Start- and EndNote. More...
 
static SwGrfNodeMakeGrfNode (SwNode &rWhere, const OUString &rGrfName, const OUString &rFltName, const Graphic *pGraphic, SwGrfFormatColl *pColl, SwAttrSet const *pAutoAttr=nullptr)
 in ndgrf.cxx More...
 
static SwGrfNodeMakeGrfNode (SwNode &rWhere, const GraphicObject &rGrfObj, SwGrfFormatColl *pColl)
 in ndgrf.cxx More...
 
static SwTableNodeInsertTable (SwNode &rNd, sal_uInt16 nBoxes, SwTextFormatColl *pContentTextColl, sal_uInt16 nLines, sal_uInt16 nRepeat, SwTextFormatColl *pHeadlineTextColl, const SwAttrSet *pAttrSet)
 Insert nodes for tables. More...
 

Private Member Functions

void RemoveNode (SwNodeOffset nDelPos, SwNodeOffset nLen, bool bDel)
 
void InsertNode (SwNode *pNode, const SwNodeIndex &rPos)
 
void InsertNode (SwNode *pNode, SwNodeOffset nPos)
 
void DelNodes (const SwNodeIndex &rStart, SwNodeOffset nCnt=SwNodeOffset(1))
 Delete a number of nodes. More...
 
void ChgNode (SwNodeIndex const &rDelPos, SwNodeOffset nSize, SwNodeIndex &rInsPos, bool bNewFrames)
 
void UpdateOutlineIdx (const SwNode &)
 Update all OutlineNodes starting from Node. More...
 
void CopyNodes (const SwNodeRange &, SwNode &rPos, bool bNewFrames, bool bTableInsDummyNode=false) const
 
void DelDummyNodes (const SwNodeRange &rRg)
 
 SwNodes (SwNodes const &)=delete
 
SwNodesoperator= (SwNodes const &)=delete
 
 SwNodes (SwDoc &rDoc)
 Constructor. More...
 
- Private Member Functions inherited from BigPtrArray
 BigPtrArray ()
 
 ~BigPtrArray ()
 
sal_Int32 Count () const
 
void Insert (BigPtrEntry *p, sal_Int32 pos)
 
void Remove (sal_Int32 pos, sal_Int32 n=1)
 
void Move (sal_Int32 from, sal_Int32 to)
 
void Replace (sal_Int32 pos, BigPtrEntry *p)
 
BigPtrEntryoperator[] (sal_Int32) const
 
sal_uInt16 Index2Block (sal_Int32) const
 block search More...
 
BlockInfoInsBlock (sal_uInt16)
 insert block More...
 
void BlockDel (sal_uInt16)
 some blocks were deleted More...
 
void UpdIndex (sal_uInt16)
 recalculate indices More...
 
sal_uInt16 Compress ()
 Compress the array. More...
 

Static Private Member Functions

static void SectionUpDown (const SwNodeIndex &aStart, const SwNodeIndex &aEnd)
 correct indices after movement More...
 

Private Attributes

SwNodeIndexm_vIndices
 ring of all indices on nodes. More...
 
SwDocm_rMyDoc
 This Doc contains the nodes-array. More...
 
SwNodem_pEndOfPostIts
 
SwNodem_pEndOfInserts
 These are the fixed ranges. More...
 
SwNodem_pEndOfAutotext
 
SwNodem_pEndOfRedlines
 
std::unique_ptr< SwNodem_pEndOfContent
 
SwOutlineNodes m_aOutlineNodes
 Array of all outline nodes. More...
 
bool m_bInNodesDel: 1
 In Case of recursive calling. More...
 
bool m_bInDelUpdOutline: 1
 Flag for updating of Outline. More...
 
- Private Attributes inherited from BigPtrArray
std::unique_ptr< BlockInfo *[]> m_ppInf
 block info More...
 
sal_Int32 m_nSize
 number of elements More...
 
sal_uInt16 m_nMaxBlock
 current max. number of blocks More...
 
sal_uInt16 m_nBlock
 number of blocks More...
 
sal_uInt16 m_nCur
 last used block More...
 

Friends

class SwDoc
 
class SwNode
 
class SwNodeIndex
 
class SwStartNode
 
class ::sw::DocumentContentOperationsManager
 

Detailed Description

Definition at line 89 of file ndarr.hxx.

Member Typedef Documentation

◆ NodeRanges_t

typedef std::vector<SwNodeRange> SwNodes::NodeRanges_t

Definition at line 137 of file ndarr.hxx.

◆ TableRanges_t

typedef std::vector<NodeRanges_t> SwNodes::TableRanges_t

Definition at line 138 of file ndarr.hxx.

Constructor & Destructor Documentation

◆ SwNodes() [1/2]

SwNodes::SwNodes ( SwNodes const &  )
privatedelete

◆ SwNodes() [2/2]

SwNodes::SwNodes ( SwDoc rDocument)
private

Constructor.

creates the base sections (PostIts, Inserts, AutoText, RedLines, Content)

Parameters
rDocumentTODO: provide documentation

Definition at line 60 of file nodes.cxx.

References o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::clear(), m_aOutlineNodes, m_bInDelUpdOutline, m_bInNodesDel, m_pEndOfAutotext, m_pEndOfContent, m_pEndOfInserts, m_pEndOfPostIts, m_pEndOfRedlines, SwNode::m_pStartOfSection, nPos, and SwStartNode.

◆ ~SwNodes()

SwNodes::~SwNodes ( )

Destructor.

Deletes all nodes whose pointer are in a dynamic array. This should be no problem as nodes cannot be created outside this array and, thus, cannot be part of multiple arrays.

Definition at line 93 of file nodes.cxx.

References o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::clear(), SwNodeIndex::GetNode(), m_aOutlineNodes, and m_pEndOfContent.

Member Function Documentation

◆ ChgNode()

void SwNodes::ChgNode ( SwNodeIndex const &  rDelPos,
SwNodeOffset  nSize,
SwNodeIndex rInsPos,
bool  bNewFrames 
)
private

Definition at line 124 of file nodes.cxx.

References SwTextNode::AddToList(), SwTextMeta::ChgTextNode(), SwContentNode::ChkCondColl(), SwpHints::Count(), Dde, SwDDEFieldType::DecRefCnt(), o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::erase(), SwDoc::FindNumRulePtr(), FindPrvNxtFrameNode(), SwpHints::Get(), SwTextAttr::GetAttr(), SwNode::GetContentNode(), IDocumentLayoutAccess::GetCurrentViewShell(), GetDoc(), SwDoc::GetDocShell(), SwFormatField::GetField(), SwTextAttr::GetFormatField(), SwDoc::getIDocumentFieldsAccess(), SwDoc::getIDocumentLayoutAccess(), SwDoc::GetIDocumentUndoRedo(), SwNodeIndex::GetIndex(), SwNumRule::GetName(), SwNodeIndex::GetNode(), SwDoc::GetNodes(), SwNodeIndex::GetNodes(), SwTextNode::GetNumRule(), SwTextNode::GetpSwpHints(), SwTextNode::GetTextColl(), SwNode::GetTextNode(), SwField::GetTyp(), sw::HasNumberingWhichNeedsLayoutUpdate(), i, SwDDEFieldType::IncRefCnt(), IDocumentFieldsAccess::InsDelFieldInFieldLst(), o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::insert(), INSERTED, InsertNode(), SwContentNode::InvalidateNumRule(), SwNode::IsContentNode(), SwFormatField::IsFieldInDoc(), IsInsertOutline(), SwNode::IsNoTextNode(), SwTextNode::IsOutline(), SwNode::IsSectionNode(), SwNode::IsTableNode(), SwNode::IsTextNode(), IDocumentUndoRedo::IsUndoNodes(), m_aOutlineNodes, SwSectionNode::MakeFramesForAdjacentContentNode(), SwDoc::MakeNumRule(), BigPtrArray::Move(), n, Postit, REMOVED, SwTextNode::RemoveFromList(), RemoveNode(), RES_CONDTXTFMTCOLL(), RES_TXTATR_ANNOTATION(), RES_TXTATR_FIELD(), RES_TXTATR_FTN(), RES_TXTATR_INPUTFIELD(), RES_TXTATR_META(), RES_TXTATR_METAFIELD(), RES_TXTATR_REFMARK(), RES_TXTATR_TOXMARK(), IDocumentFieldsAccess::SetFieldsDirty(), SwNumRule::SetInvalidRule(), SwFieldType::Which(), SwFormat::Which(), and SwTextAttr::Which().

Referenced by MoveNodes().

◆ Copy_()

void SwNodes::Copy_ ( const SwNodeRange rRg,
SwNode rInsPos,
bool  bNewFrames = true 
) const
inline

◆ CopyNodes()

void SwNodes::CopyNodes ( const SwNodeRange rRange,
SwNode rPos,
bool  bNewFrames,
bool  bTableInsDummyNode = false 
) const
private

◆ Count()

SwNodeOffset SwNodes::Count ( ) const
inline

◆ DelDummyNodes()

void SwNodes::DelDummyNodes ( const SwNodeRange rRg)
private

◆ Delete() [1/2]

void SwNodes::Delete ( const SwNode rIndex,
SwNodeOffset  nNodes = SwNodeOffset(1) 
)

◆ Delete() [2/2]

void SwNodes::Delete ( const SwNodeIndex rPos,
SwNodeOffset  nNodes = SwNodeOffset(1) 
)

◆ DelNodes()

void SwNodes::DelNodes ( const SwNodeIndex rStart,
SwNodeOffset  nCnt = SwNodeOffset(1) 
)
private

◆ DocumentSectionEndNode()

SwNode * SwNodes::DocumentSectionEndNode ( SwNode pNode) const

Definition at line 2526 of file nodes.cxx.

References DocumentSectionStartNode(), and SwNode::EndOfSectionNode().

Referenced by SwUndoCompDoc::UndoImpl().

◆ DocumentSectionStartNode()

SwNode * SwNodes::DocumentSectionStartNode ( SwNode pNode) const

Definition at line 2508 of file nodes.cxx.

References SwNode::StartOfSectionNode().

Referenced by DocumentSectionEndNode().

◆ dumpAsXml()

void SwNodes::dumpAsXml ( xmlTextWriterPtr  pWriter) const

Dumps the entire nodes structure to the given destination (file nodes.xml in the current directory by default)

Definition at line 2536 of file nodes.cxx.

References Count(), and i.

◆ ExpandRangeForTableBox()

void SwNodes::ExpandRangeForTableBox ( const SwNodeRange rRange,
std::optional< SwNodeRange > &  rExpandedRange 
)

◆ FindPrvNxtFrameNode()

SwNode * SwNodes::FindPrvNxtFrameNode ( const SwNode rFrameNd,
const SwNode pEnd,
SwRootFrame const *  pLayout = nullptr 
) const

Search previous / next content node or table node with frames.

find the next/previous ContentNode or table node that should have layout frames that are siblings to the ones of the node at rFrameNd.

Search is started backward with the one before rFrameNd and forward after pEnd. If no valid node is found, return nullptr.

Search is started backward with the one before rFrameNd and forward after pEnd.

Parameters
rFrameNdin: node with frames to search in; out: found node
pEndlast node after rFrameNd that should be excluded from search
Returns
result node; 0 if not found

Definition at line 2192 of file nodes.cxx.

References SwSection::CalcHiddenFlag(), CheckNodesRange(), SwNode::EndOfSectionIndex(), SwNode::EndOfSectionNode(), SwNode::FindSectionNode(), SwNode::FindTableBoxStartNode(), SwNode::FindTableNode(), GetDoc(), SwNode::GetIndex(), SwNodeIndex::GetNode(), SwNode::GetRedlineMergeFlag(), SwSectionNode::GetSection(), GoNextSection(), GoPrevSection(), SwRootFrame::HasMergedParas(), SwNode::Hidden, SwNode::IsContentNode(), SwNode::IsEndNode(), SwSection::IsHiddenFlag(), SwNode::IsSectionNode(), SwNode::IsTableNode(), and SwNode::StartOfSectionNode().

Referenced by ChgNode(), InsertTextSection(), lcl_CheckHiddenSection(), SwTableNode::MakeOwnFrames(), MakeTextNode(), and TableToText().

◆ ForEach() [1/4]

void SwNodes::ForEach ( const SwNodeIndex rStart,
const SwNodeIndex rEnd,
FnForEach_SwNodes  fnForEach,
void *  pArgs 
)

Definition at line 2386 of file nodes.cxx.

References ForEach(), and SwNodeIndex::GetIndex().

◆ ForEach() [2/4]

void SwNodes::ForEach ( FnForEach_SwNodes  fnForEach,
void *  pArgs = nullptr 
)
inline

◆ ForEach() [3/4]

void SwNodes::ForEach ( SwNode rStart,
SwNode rEnd,
FnForEach_SwNodes  fnForEach,
void *  pArgs 
)

Definition at line 2392 of file nodes.cxx.

References ForEach(), and SwNode::GetIndex().

◆ ForEach() [4/4]

void SwNodes::ForEach ( SwNodeOffset  nStt,
SwNodeOffset  nEnd,
FnForEach_SwNodes  fnForEach,
void *  pArgs 
)

Definition at line 2355 of file nodes.cxx.

References BigPtrArray::Index2Block(), BigPtrArray::m_nSize, BigPtrArray::m_ppInf, and p.

◆ GetDoc() [1/2]

SwDoc & SwNodes::GetDoc ( )
inline

◆ GetDoc() [2/2]

const SwDoc & SwNodes::GetDoc ( ) const
inline

Definition at line 312 of file ndarr.hxx.

◆ GetEndOfAutotext()

SwNode & SwNodes::GetEndOfAutotext ( ) const
inline

◆ GetEndOfContent()

SwNode & SwNodes::GetEndOfContent ( ) const
inline

Regular ContentSection (i.e. the BodyText).

Definition at line 165 of file ndarr.hxx.

Referenced by SwFmDrawPage::add(), SwDoc::AppendDoc(), SwXFrame::attachToRange(), SwLayHelper::CalcPageCount(), SwChapterField::ChangeExpansion(), CheckNodesRange(), SwAutoCorrDoc::ChgAutoCorrWord(), SwCursorShell::ClearUpCursors(), SwLayoutCache::CompareLayout(), SwHHCWrapper::Convert(), SwFEShell::Copy(), sw::DocumentContentOperationsManager::CopyFlyInFlyImpl(), SwTransferable::CopyGlossary(), CopyNodes(), SwEditShell::CopySelToDoc(), SwWW8ImplReader::CoreLoad(), SwXText::CreateCursor(), SwXBodyText::createParagraphEnumeration(), SwXBodyText::createTextCursorByRange(), SwEditShell::DeleteGlobalDocContent(), DelNodes(), DocxExportFilter::exportDocument(), MSWordExportBase::ExportDocument(), SwCursorShell::ExtendedSelectAll(), SwCursorShell::ExtendedSelectedAll(), SwCursor::FillFindPos(), SwViewShell::FillPrtDoc(), SwTextFrame::FillSelection(), RtfExportFilter::filter(), SwCursor::FindAll(), sw::FindTextImpl(), SwCursorShell::FindValidContentNode(), sw::GetAllValidRanges(), GetFirstTextNode(), SwEditShell::GetGlobalDocContent(), SwXText::GetStartNode(), GoEndDoc(), GoEndSection(), GoStartDoc(), GoStartSection(), SwRangeRedline::HasValidRange(), SwRootFrame::Init(), SwEditShell::InsertGlobalDocContent(), SwDoc::InsertGlossary(), XMLRedlineImportHelper::InsertIntoDocument(), InsertTextSection(), SwWrtShell::IsOutlineContentVisible(), lcl_CopySelToDoc(), lcl_EnsureValidPam(), lcl_FoldedOutlineNodeEndOfParaSplit(), lcl_SetOutlineContentEntriesSensitivities(), WW8Glossary::Load(), SwDOCXReader::MakeEntries(), WW8Glossary::MakeEntries(), SwWrtShell::MakeOutlineContentVisible(), SwCursorShell::MakeOutlineSel(), SwEditShell::MoveGlobalDocContent(), SwDoc::MoveOutlinePara(), MoveRange(), SwHTMLWriter::Out_SwDoc(), MSWordExportBase::OutputSectionBreaks(), MSWordExportBase::OutputTextNode(), SwFEShell::Paste(), SwTransferable::PrepareForCopyTextRange(), SwUndoInserts::RepeatImpl(), sw::DocumentContentOperationsManager::ReplaceRange(), ResolveFlyAnchor(), SwEditShell::SaveGlossaryDoc(), DocxAttributeOutput::SectionBreak(), SwCursorShell::SelectNxtPrvHyperlink(), sw::DocumentLinksAdministrationManager::SelectServerObj(), SwXShape::setPropertyValue(), SwXFrame::setPropertyValue(), SwUndo::SetSaveData(), SwDoc::SplitDoc(), SwDoc::Summary(), SwCursorShell::SwCursorShell(), SwLayHelper::SwLayHelper(), SwList::SwList(), SwUndoDelete::SwUndoDelete(), SwUndoTextToTable::SwUndoTextToTable(), SwUndoInserts::UndoImpl(), SwUndoAttr::UndoImpl(), SwUndoInsert::UndoImpl(), SwUndoInsertLabel::UndoImpl(), SwUndoTextToTable::UndoImpl(), UnHide(), SwTOXBaseSection::Update(), sw::DocumentFieldsManager::UpdateExpFieldsImpl(), SwFootnoteIdxs::UpdateFootnote(), SwDoc::UpdatePagesForPrintingWithPostItData(), SwLayoutCache::Write(), SwWriter::Write(), DocxExport::WriteMainText(), RtfExport::WriteMainText(), WW8Export::WriteMainText(), SwASCWriter::WriteStream(), and MSWordExportBase::WriteText().

◆ GetEndOfExtras()

SwNode & SwNodes::GetEndOfExtras ( ) const
inline

This is the last EndNode of a special section.

After it there is only the regular ContentSection (i.e. the BodyText).

Definition at line 163 of file ndarr.hxx.

Referenced by SwDoc::AppendDoc(), SwLayHelper::CalcPageCount(), SwDoc::Chainable(), SwRefPageGetField::ChangeExpansion(), SwFindNearestNode::CheckNode(), SwAutoCorrDoc::ChgAutoCorrWord(), SwFEShell::Copy(), SwTextFlyCnt::CopyFlyFormat(), SwWW8ImplReader::End_Footnote(), RtfExport::ExportDocument_Impl(), SwContentType::FillMemberList(), SwCursor::FindAll(), SwCursorShell::FindValidContentNode(), SwDocUpdateField::GetBodyNode(), SwDocUpdateField::GetBodyNodeGeneric(), SwEditShell::GetGlobalDocContent(), SwSectionFormat::GetGlobalDocSection(), SwCursorShell::GetOutlinePos(), SwDoc::InsertGlossary(), SwOLENode::IsInGlobalDocSection(), SwCursor::IsNoContent(), lcl_FindChapterNode(), lcl_FindField(), lcl_FoldedOutlineNodeEndOfParaSplit(), lcl_IsOutlineMoveAndCopyable(), SwDocUpdateField::MakeFieldList_(), SwWrtShell::MakeOutlineContentVisible(), SwDoc::MergeDoc(), SwUndoSaveContent::MoveFromUndoNds(), SwUndoSaveContent::MoveToUndoNds(), SwFEShell::Paste(), SwFEShell::PastePages(), SwWW8ImplReader::Read_Footnote(), SwUndoRedline::RedoImpl(), SwEditShell::SaveGlossaryDoc(), SetHTMLTemplate(), SwDoc::SplitDoc(), sw::DocumentContentOperationsManager::SplitNode(), SwCursorShell::StartsWithTable(), SwDoc::Summary(), SwUndoRedline::SwUndoRedline(), SwUndoRedline::UndoImpl(), SwRefPageGetFieldType::UpdateField(), SwFootnoteIdxs::UpdateFootnote(), sw::DocumentFieldsManager::UpdateTableFields(), SwASCWriter::WriteStream(), SwUndoInsert::~SwUndoInsert(), and SwUndoInserts::~SwUndoInserts().

◆ GetEndOfInserts()

SwNode & SwNodes::GetEndOfInserts ( ) const
inline

◆ GetEndOfPostIts()

SwNode & SwNodes::GetEndOfPostIts ( ) const
inline

◆ GetEndOfRedlines()

SwNode & SwNodes::GetEndOfRedlines ( ) const
inline

◆ GetOutLineNds()

const SwOutlineNodes & SwNodes::GetOutLineNds ( ) const
inline

Array of all OutlineNodes.

Definition at line 240 of file ndarr.hxx.

Referenced by SwEnhancedPDFExportHelper::EnhancedPDFExport(), SwContentTree::ExecCommand(), SwContentTree::ExecuteContextMenuAction(), SwContentType::FillMemberList(), SwNode::FindOutlineNodeOfLevel(), SwWrtShell::GetAttrOutlineContentVisible(), SwXLinkNameAccessWrapper::getByName(), SwCursorShell::GetContentAtPos(), SwXLinkNameAccessWrapper::getElementNames(), sw::DocumentOutlineNodesManager::getOutlineLevel(), sw::DocumentOutlineNodesManager::getOutlineNode(), sw::DocumentOutlineNodesManager::getOutlineNodes(), sw::DocumentOutlineNodesManager::getOutlineNodesCount(), SwCursorShell::GetOutlinePos(), sw::DocumentOutlineNodesManager::getOutlineText(), SwDocShell::GetState(), SwCursorShell::GotoNextOutline(), SwCursorShell::GotoOutline(), SwDoc::GotoOutline(), SwCursorShell::GotoPrevOutline(), SwXLinkNameAccessWrapper::hasByName(), SwWrtShell::InvalidateOutlineContentVisibility(), SwContentNode::IsAnyCondition(), IsHeadingContained(), SwWrtShell::IsOutlineContentVisible(), sw::DocumentOutlineNodesManager::isOutlineInLayout(), SwEditShell::IsProtectedOutlinePara(), lcl_CreateOutlineString(), lcl_FoldedOutlineNodeEndOfParaSplit(), lcl_IsOutlineMoveAndCopyable(), lcl_SetOutlineContentEntriesSensitivities(), SwWrtShell::MakeOutlineContentVisible(), SwCursorShell::MakeOutlineSel(), SwEditWin::MouseButtonDown(), SwEditWin::MouseMove(), SwDoc::MoveOutlinePara(), SwDoc::OutlineUpDown(), sw::DocumentLinksAdministrationManager::SelectServerObj(), SwOutlineContentVisibilityWin::Set(), SwDoc::SplitDoc(), SwDoc::Summary(), SwEditWin::ToggleOutlineContentVisibility(), SwFootnoteIdxs::UpdateAllFootnote(), SwFootnoteIdxs::UpdateFootnote(), SwTOXBaseSection::UpdateOutline(), and SwEditWin::UpdatePointer().

◆ GetSectionLevel()

sal_uInt16 SwNodes::GetSectionLevel ( const SwNode rIdx)
static

get section level at the given position

Note
The first node in an array should always be a start node. Because of this, there is a special treatment here based on the assumption that this is true in this context as well.
Parameters
rIdxposition of the node
Returns
section level at the given position

Definition at line 1268 of file nodes.cxx.

References SwNode::GetIndex(), and SwNode::GetSectionLevel().

Referenced by GoEndSection(), GoStartSection(), and HighestLevel().

◆ GoEndOfSection()

void SwNodes::GoEndOfSection ( SwNodeIndex pIdx)
static

Definition at line 1294 of file nodes.cxx.

References SwNode::EndOfSectionNode(), SwNodeIndex::GetNode(), and SwNode::IsEndNode().

Referenced by GoEndOfSection(), and GoEndSection().

◆ GoNext() [1/2]

SwContentNode * SwNodes::GoNext ( SwNodeIndex pIdx) const

Definition at line 1300 of file nodes.cxx.

References Count(), SwNodeIndex::GetIndex(), and SwNodeIndex::GetNode().

Referenced by SwStartNode::CheckSectionCondColl(), SwAutoCorrDoc::ChgAutoCorrWord(), SwCursorShell::ClearUpCursors(), SwDrawContact::ConnectToLayout(), SwTextFlyCnt::CopyFlyFormat(), SwTransferable::CopyGlossary(), SwXTextFrame::createTextCursor(), SwXRedlineText::createTextCursor(), SwXRedline::createTextCursor(), SwXBodyText::CreateTextCursor(), SwXHeadFootText::CreateTextCursor(), DelBookmarks(), SwChartDataSequence::DeleteBox(), SwFEShell::DeleteRow(), SwDoc::DeleteRow(), SwTextFootnote::DelFrames(), sw::DocumentContentOperationsManager::DelFullPara(), SwCursorShell::ExtendedSelectAll(), SwCursorShell::ExtendedSelectedAll(), SwCursor::FillFindPos(), SwViewShell::FillPrtDoc(), SwGetRefFieldType::FindAnchor(), SwNode::FindPageDesc(), sw::GetAllValidRanges(), SwDocUpdateField::GetBodyNodeGeneric(), GetContentNode(), GetFirstTextNode(), SwFormatFootnote::GetFootnoteText(), SwTable::GetInfo(), SetGetExpField::GetNodeFromContent(), SwDoc::GetTableAutoFormat(), GoNextNds(), GoStartDoc(), SwEditShell::GotoGlobalDocContent(), SwCursorShell::GotoNextTOXBase(), SwCursorShell::GotoNxtPrvTableFormula(), SwCursorShell::GotoPrevTOXBase(), SwXTextCursor::gotoStart(), SwDoc::InsCopyOfTable(), SwDoc::InsertGlossary(), InsTableBox(), SwFEShell::IsAdjustCellWidthAllowed(), IsAtStartOfSection(), SwCursor::IsInProtectTable(), SwNode::IsInVisibleArea(), SwCursorShell::IsStartOfDoc(), lcl_CheckHiddenPara(), lcl_CpyBox(), lcl_FindNextCell(), lcl_GetBoxFrame(), lcl_MakeSelBkwrd(), lcl_MakeSelFwrd(), lcl_SetOutlineContentEntriesSensitivities(), lcl_TCFlags(), WW8Glossary::Load(), SwFlyFrameFormat::MakeFrames(), MoveCell(), Writer::NewUnoCursor(), MSWordExportBase::OutputTextNode(), SwFEShell::Paste(), SwUndoTableToText::RedoImpl(), SwUndoTableNumFormat::RedoImpl(), SwDoc::RemoveInvisibleContent(), SwUndoTableMerge::SaveCollection(), SwEditShell::SaveGlossaryDoc(), SwCursorShell::SetCursorInHdFt(), SetGetExpField::SetGetExpField(), SetHTMLTemplate(), SwTOXBaseSection::SetPosAtStartEnd(), SwCursorShell::StartsWithTable(), sw_BoxSetSplitBoxFormats(), SwFlyLayFrame::SwClientNotify(), SwTOXBaseSection::SwClientNotify(), SwCursorShell::SwCursorShell(), TableToText(), SwDoc::TextToTable(), SwUndoMergeTable::UndoImpl(), SwTOXBaseSection::Update(), SwTOXBaseSection::UpdateContent(), SwTOXBaseSection::UpdateTable(), and sw::DocumentFieldsManager::UpdateTableFields().

◆ GoNext() [2/2]

SwContentNode * SwNodes::GoNext ( SwPosition pIdx) const

◆ GoNextSection() [1/2]

SwContentNode * SwNodes::GoNextSection ( SwNodeIndex pIdx,
bool  bSkipHidden = true,
bool  bSkipProtect = true 
) const

Go to next content-node that is not protected or hidden (Both set FALSE ==> GoNext/GoPrevious!!!).

go to next section that is not protected nor hidden

Note
if !bSkipHidden and !bSkipProtect, use GoNext/GoPrevious
Parameters
pIdx
bSkipHidden
bSkipProtect
Returns
See also
SwNodes::GoNext
SwNodes::GoPrevious
SwNodes::GoNextSection (TODO: seems to be C&P programming here)

Definition at line 1952 of file nodes.cxx.

References ContentMask, Count(), SwNode::EndOfSectionNode(), SwNode::FindSectionNode(), SwNodeIndex::GetNode(), SwNode::GetNodeType(), SwSectionNode::GetSection(), SwSection::IsHiddenFlag(), SwSection::IsProtectFlag(), SwNode::IsSectionNode(), SwNode::m_pStartOfSection, and Section.

Referenced by ChkChartSel(), SwShellTableCursor::Contains(), SwSectionFormat::DelFrames(), SwSectionNode::DelFrames(), SwShellTableCursor::FillRects(), FindPrvNxtFrameNode(), SwCursorShell::FindValidContentNode(), SwCursorShell::GetContentAtPos(), GetNode(), SwCursor::GoPrevNextCell(), GotoCurrRegionAndSkip(), SwCursor::GotoFootnoteText(), GotoNextRegion(), GotoPrevRegion(), SwCursorShell::GotoRedline_(), SwXTextCursor::gotoStart(), SwRootFrame::Init(), SwCursor::IsSelOvr(), SwUnoCursor::IsSelOvr(), lcl_CheckEmptyLayFrame(), lcl_IsInSameTableBox(), SwCursor::LeftRight(), SwTableCursor::MakeBoxSels(), SwSectionNode::MakeFramesForAdjacentContentNode(), sw::DocumentRedlineManager::SelNextRedline(), sw::DocumentRedlineManager::SelPrevRedline(), sw::UpdateFramesForAddDeleteRedline(), and sw::UpdateFramesForRemoveDeleteRedline().

◆ GoNextSection() [2/2]

SwContentNode * SwNodes::GoNextSection ( SwPosition pIdx,
bool  bSkipHidden = true,
bool  bSkipProtect = true 
) const

go to next section that is not protected nor hidden

Note
if !bSkipHidden and !bSkipProtect, use GoNext/GoPrevious
Parameters
pIdx
bSkipHidden
bSkipProtect
Returns
See also
SwNodes::GoNext
SwNodes::GoPrevious
SwNodes::GoNextSection (TODO: seems to be C&P programming here)

Definition at line 2016 of file nodes.cxx.

References SwPosition::Assign(), ContentMask, Count(), SwNode::EndOfSectionNode(), SwNode::FindSectionNode(), SwNodeIndex::GetNode(), SwPosition::GetNode(), SwNode::GetNodeType(), SwSectionNode::GetSection(), SwSection::IsHiddenFlag(), SwSection::IsProtectFlag(), SwNode::IsSectionNode(), SwNode::m_pStartOfSection, and Section.

◆ GoPrevious() [1/2]

SwContentNode * SwNodes::GoPrevious ( SwNodeIndex pIdx)
static

◆ GoPrevious() [2/2]

SwContentNode * SwNodes::GoPrevious ( SwPosition pIdx)
static

◆ GoPrevSection() [1/2]

SwContentNode * SwNodes::GoPrevSection ( SwNodeIndex pIdx,
bool  bSkipHidden = true,
bool  bSkipProtect = true 
)
static

◆ GoPrevSection() [2/2]

SwContentNode * SwNodes::GoPrevSection ( SwPosition pIdx,
bool  bSkipHidden = true,
bool  bSkipProtect = true 
)
static

◆ GoStartOfSection()

void SwNodes::GoStartOfSection ( SwNodeIndex pIdx)
static

◆ InsBoxen()

bool SwNodes::InsBoxen ( SwTableNode pTableNd,
SwTableLine pLine,
SwTableBoxFormat pBoxFormat,
SwTextFormatColl pTextColl,
const SfxItemSet pAutoAttr,
sal_uInt16  nInsPos,
sal_uInt16  nCnt = 1 
)

◆ InsertNode() [1/2]

void SwNodes::InsertNode ( SwNode pNode,
const SwNodeIndex rPos 
)
private

◆ InsertNode() [2/2]

void SwNodes::InsertNode ( SwNode pNode,
SwNodeOffset  nPos 
)
private

Definition at line 2501 of file nodes.cxx.

References BigPtrArray::Insert(), and nPos.

◆ InsertTable()

SwTableNode * SwNodes::InsertTable ( SwNode rNd,
sal_uInt16  nBoxes,
SwTextFormatColl pContentTextColl,
sal_uInt16  nLines,
sal_uInt16  nRepeat,
SwTextFormatColl pHeadlineTextColl,
const SwAttrSet pAttrSet 
)
static

Insert nodes for tables.

If Lines is given, create the matrix from lines and boxes, else only the count of boxes.

New parameter pAttrSet: If pAttrSet is non-null and contains an adjust item it is propagated to the table cells. If there is an adjust in pContentTextColl or pHeadlineTextColl this adjust item overrides the item in pAttrSet.

Definition at line 562 of file ndtbl.cxx.

References SfxItemSet::GetItemState(), SwContentNode::GetSwAttrSet(), SwNode::m_pStartOfSection, RES_CHRATR_CJK_FONT(), RES_CHRATR_CJK_FONTSIZE(), RES_CHRATR_CTL_FONT(), RES_CHRATR_CTL_FONTSIZE(), RES_CHRATR_FONT(), RES_CHRATR_FONTSIZE(), RES_PARATR_ADJUST(), SetAttr, Start, SwStartNode, and SwTableBoxStartNode.

Referenced by SwDoc::InsertTable().

◆ InsertTextSection()

SwSectionNode * SwNodes::InsertTextSection ( SwNode rNd,
SwSectionFormat rSectionFormat,
SwSectionData const &  rSectionData,
SwTOXBase const *const  pTOXBase,
SwNode const *  pEndNd,
bool const  bInsAtStart = true,
bool const  bCreateFrames = true 
)

◆ IsDocNodes()

bool SwNodes::IsDocNodes ( ) const

Is the NodesArray the regular one of Doc? (and not the UndoNds, ...) Implementation in doc.hxx (because one needs to know Doc for it) !

Definition at line 2531 of file nodes.cxx.

References SwDoc::GetNodes(), and m_rMyDoc.

Referenced by SwDoc::ChangeDBFields(), SwTextNode::ChgTextCollUpdateNum(), SwHTMLWriter::CollectLinkTargets(), MSWordExportBase::CollectOutlineBookmarks(), SwDoc::ConvertFieldsToText(), SwFmDrawPage::CreateShape(), SwpHints::DeleteAtPos(), SwDoc::FindFlyByName(), SwTableFormula::FindTable(), SwDoc::GetAllUsedDB(), SwXDocumentIndex::getAnchor(), SwXTextSection::getAnchor(), SwDoc::GetFlyCount(), SwDoc::GetFlyFrameFormats(), SwDoc::GetFlyNum(), SwEditShell::GetINetAttrs(), SwXTextRange::GetPositions(), SwXTextField::getPropertyValue(), SwAuthorityFieldType::GetSequencePos(), SwDoc::GetTOIKeys(), SwCursorShell::GotoNxtPrvTableFormula(), SwCursorShell::GotoNxtPrvTOXMark(), SwCursorShell::GotoRefMark(), SwCursor::GotoRegion(), SwPaM::HasReadonlySel(), IMPL_LINK(), SwViewShell::IsAnyFieldInDoc(), SwTextField::IsFieldInDoc(), IsInsertOutline(), SwDocUpdateField::MakeFieldList_(), SwSectionNode::MakeFramesForAdjacentContentNode(), SwTextNode::MakeNewTextNode(), SwSectionNode::MakeOwnFrames(), MoveNodes(), MoveRange(), SwDDETable::NoDDETable(), SwSectionNode::NodesArrChgd(), SwTextField::NotifyContentChange(), SwCursorShell::SelectNxtPrvHyperlink(), SwDoc::SetAllUniqueFlyNames(), SwTextFlyCnt::SetAnchor(), SwDoc::SetFlyName(), SwDDETable::SwClientNotify(), SwFormatField::SwClientNotify(), SwDDETable::SwDDETable(), SwpHints::TryInsertHint(), SwDoc::UnProtectTables(), SwTOXBaseSection::Update(), SwViewShell::UpdateOleObjectPreviews(), UpdateOutlineIdx(), UpdateOutlineNode(), SwTOXBaseSection::UpdateTable(), sw::DocumentFieldsManager::UpdateTableFields(), and SwDDETable::~SwDDETable().

◆ MakeEmptySection()

SwStartNode * SwNodes::MakeEmptySection ( SwNode rWhere,
SwStartNodeType  eSttNdTyp = SwNormalStartNode 
)
static

Create an empty section of Start- and EndNote.

It may be called only if a new section with content is to be created, e.g. at filters/Undo/...

Definition at line 1921 of file nodes.cxx.

References Start, and SwStartNode.

Referenced by sw::DocumentLayoutManager::CopyLayoutFormat(), SwDoc::CopyMasterFooter(), SwDoc::CopyMasterHeader(), SwDoc::CopyPageDescHeaderFooterImpl(), SwRangeRedline::CopyToSection(), SwRangeRedline::MoveToSection(), and SwUndoSaveSection::RestoreSection().

◆ MakeGrfNode() [1/2]

SwGrfNode * SwNodes::MakeGrfNode ( SwNode rWhere,
const GraphicObject rGrfObj,
SwGrfFormatColl pColl 
)
static

in ndgrf.cxx

Definition at line 424 of file ndgrf.cxx.

◆ MakeGrfNode() [2/2]

SwGrfNode * SwNodes::MakeGrfNode ( SwNode rWhere,
const OUString &  rGrfName,
const OUString &  rFltName,
const Graphic pGraphic,
SwGrfFormatColl pColl,
SwAttrSet const *  pAutoAttr = nullptr 
)
static

◆ MakeOLENode() [1/2]

SwOLENode * SwNodes::MakeOLENode ( SwNode rWhere,
const OUString &  rName,
sal_Int64  nAspect,
SwGrfFormatColl pColl,
SwAttrSet const *  pAutoAttr 
)

in ndole.cxx

! needed to supply Math objects with a valid reference device

Definition at line 403 of file ndole.cxx.

References GetDoc(), SwDoc::GetDocShell(), SfxObjectShell::GetModel(), SwOLEObj::GetObject(), svt::EmbeddedObjectRef::GetObject(), and SwOLENode::GetOLEObj().

◆ MakeOLENode() [2/2]

SwOLENode * SwNodes::MakeOLENode ( SwNode rWhere,
const svt::EmbeddedObjectRef xObj,
SwGrfFormatColl pColl 
)

◆ MakeTextNode()

SwTextNode * SwNodes::MakeTextNode ( SwNode rWhere,
SwTextFormatColl pColl,
bool  bNewFrames = true 
)

◆ MakeTextSection()

SwStartNode * SwNodes::MakeTextSection ( const SwNode rWhere,
SwStartNodeType  eSttNdTyp,
SwTextFormatColl pColl 
)

◆ MergeTable()

bool SwNodes::MergeTable ( SwNode rPos,
bool  bWithPrev = true 
)

◆ MoveNodes()

bool SwNodes::MoveNodes ( const SwNodeRange aRange,
SwNodes rNodes,
SwNode rPos,
bool  bNewFrames = true 
)

move the node pointer

Move the node pointer from "(inclusive) start position to (exclusive) end position" to target position. If the target is in front of the first or in the area between first and last element to move, nothing happens. If the area to move is empty or the end position is before the start position, nothing happens.

Parameters
aRangerange to move (excluding end node)
Returns

Definition at line 405 of file nodes.cxx.

References SwNodeRange::aEnd, SwNodeRange::aStart, SvtBroadcaster::Broadcast(), ChgNode(), SwDDEFieldType::DecRefCnt(), SwContentNode::DelFrames(), SwTableNode::DelFrames(), SwSectionNode::DelFrames(), DelNodes(), End, o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::erase(), SwNode::GetContentNode(), GetDoc(), SwNode::GetEndNode(), SwTable::GetFrameFormat(), SwDoc::GetIDocumentUndoRedo(), SwNodeIndex::GetIndex(), SwNode::GetIndex(), SwNodeIndex::GetNode(), SwNode::GetNodeType(), sw::BroadcasterMixin::GetNotifier(), SwNode::GetSectionNode(), GetStartNode(), SwStartNode::GetStartNodeType(), SwTableNode::GetTable(), SwNode::GetTextNode(), Grf, SwDDEFieldType::IncRefCnt(), o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::insert(), InsertNode(), SwNode::IsContentNode(), IsDocNodes(), SwNode::IsEndNode(), IsInsertOutline(), SwTextNode::IsOutline(), SwNode::IsSectionNode(), SwNode::IsStartNode(), SwNode::IsTableNode(), SwNode::IsTextNode(), IDocumentUndoRedo::IsUndoNodes(), m_aOutlineNodes, SwStartNode::m_pEndOfSection, SwNode::m_pStartOfSection, SwSectionNode::MakeOwnFrames(), SwTableNode::MakeOwnFrames(), BigPtrArray::Move(), n, SwSectionNode::NodesArrChgd(), Ole, PlaceHolder, SwTextNode::RemoveFromList(), RemoveNode(), Section, Start, SwNode::StartOfSectionIndex(), SwNode::StartOfSectionNode(), SwNormalStartNode, SwStartNode, Table, Text, and UpdateOutlineIdx().

Referenced by SwTable::ConvertSubtableBox(), SwUndoSaveContent::MoveFromUndoNds(), sw::DocumentContentOperationsManager::MoveNodeRange(), MoveRange(), SwUndoSaveContent::MoveToUndoNds(), SwTable::OldSplitRow(), SwDoc::SplitDoc(), SwUndoDelete::SwUndoDelete(), SwUndoDelete::UndoImpl(), and SwUndoTableNdsChg::UndoImpl().

◆ MoveRange()

void SwNodes::MoveRange ( SwPaM rPam,
SwPosition rPos,
SwNodes rNodes 
)

◆ operator=()

SwNodes & SwNodes::operator= ( SwNodes const &  )
privatedelete

◆ operator[]()

SwNode * SwNodes::operator[] ( SwNodeOffset  n) const
inline

Definition at line 760 of file node.hxx.

References n, and BigPtrArray::operator[]().

◆ RemoveNode()

void SwNodes::RemoveNode ( SwNodeOffset  nDelPos,
SwNodeOffset  nLen,
bool  bDel 
)
private

◆ SectionDown()

void SwNodes::SectionDown ( SwNodeRange pRange,
SwStartNodeType  eSttNdTyp = SwNormalStartNode 
)

create a start/end section pair

Other nodes might be in between.

After this method call, the start node of pRange will be pointing to the first node after the start section node and the end node will be the index of the end section node. If this method is called multiple times with the same input, multiple sections containing the previous ones will be created (no content nodes between start or end node).

Note
Start and end node of the range must be on the same level but MUST NOT be on the top level.
Parameters
[IN,OUT]pRange the range (excl. end)
eSttNdTyptype of the start node

Definition at line 907 of file nodes.cxx.

References SwNodeRange::aEnd, SwNodeRange::aStart, CheckNodesRange(), Count(), DelNodes(), SwNode::GetEndNode(), SwNodeIndex::GetNode(), SwNode::GetStartNode(), SectionUpDown(), Start, SwNode::StartOfSectionNode(), and SwStartNode.

Referenced by CopyNodes(), SwTableNode::MakeCopy(), SwDoc::MakeFlySection_(), and MoveCell().

◆ SectionUp()

void SwNodes::SectionUp ( SwNodeRange pRange)

increase level of the given range

The range contained in pRange will be lifted to the next higher level. This is done by adding an end node at pRange.start and a start node at pRange.end. Furthermore all indices for this range will be updated.

After this method call, the start node of pRange will be pointing to the first node inside the lifted range and the end node will be pointing to the last position inside the lifted range.

Parameters
[IN,OUT]pRange the range of nodes where the level should be increased

Definition at line 961 of file nodes.cxx.

References SwNodeRange::aEnd, SwNodeRange::aStart, CheckNodesRange(), Count(), DelNodes(), SwNode::EndOfSectionIndex(), SwNode::EndOfSectionNode(), SwNode::GetEndNode(), SwNodeIndex::GetIndex(), SwNodeIndex::GetNode(), SwNode::GetStartNode(), HighestLevel(), SwNode::IsEndNode(), SwNode::IsStartNode(), SwNode::m_pStartOfSection, RemoveNode(), SectionUpDown(), SwNode::StartOfSectionNode(), and SwStartNode.

Referenced by sw::DocumentContentOperationsManager::DeleteRangeImplImpl(), TableToText(), and SwSectionFormat::~SwSectionFormat().

◆ SectionUpDown()

void SwNodes::SectionUpDown ( const SwNodeIndex aStart,
const SwNodeIndex aEnd 
)
staticprivate

correct indices after movement

Update all indices after movement so that the levels are consistent again.

Parameters
aStartindex of the start node
aEndindex of the end point
See also
SwNodes::SectionUp
SwNodes::SectionDown

Definition at line 1032 of file nodes.cxx.

References SwNode::GetEndNode(), SwNodeIndex::GetNode(), SwNode::GetStartNode(), SwStartNode::m_pEndOfSection, and SwNode::m_pStartOfSection.

Referenced by SectionDown(), and SectionUp().

◆ SplitTable()

SwTableNode * SwNodes::SplitTable ( SwNode rPos,
bool  bAfter = true,
bool  bCalcNewSize = false 
)

Splits a table at the base-line which contains the index.

All base lines behind it are moved to a new table/ -node. Is the flag bCalcNewSize set to TRUE, the new SSize for both tables is calculated from the Maximum of the boxes, provided SSize is set "absolute" (LONG_MAX). (Momentarily this is needed only for the RTF-parser.)

Definition at line 3346 of file ndtbl.cxx.

References SwTableLines::begin(), SwTable::CleanUpBottomRowSpan(), SwChartDataProvider::DeleteBox(), SwTableLines::end(), SwNode::EndOfSectionIndex(), SwNode::EndOfSectionNode(), SwTableLines::erase(), SwNode::FindTableBoxStartNode(), SwNode::FindTableNode(), IDocumentChartDataProviderAccess::GetChartDataProvider(), SwDoc::GetDfltFrameFormat(), SwFormat::GetDoc(), SwNode::GetEndNode(), SwTable::GetFrameFormat(), SwFormat::getIDocumentChartDataProviderAccess(), SwNode::GetIndex(), SwTableLines::GetPos(), SwNode::GetStartNode(), SwTableBox::GetSttNd(), SwTableLine::GetTabBoxes(), SwTableNode::GetTable(), SwTable::GetTableBox(), SwTable::GetTableStyleName(), SwTable::GetTabLines(), SwTableBox::GetTabLines(), SwDoc::GetUniqueTableName(), SwTableLine::GetUpper(), SwTableBox::GetUpper(), SwTableLines::insert(), SwTable::IsNewModel(), SwNode::IsStartNode(), SwNode::IsTableNode(), lcl_ChgTableSize(), lcl_SplitTable_CpyLine(), SwStartNode::m_pEndOfSection, SwNode::m_pStartOfSection, SwDoc::MakeTableFrameFormat(), SwTable::RegisterToFormat(), SwTable::SetTableModel(), SwTable::SetTableStyleName(), size, SwTableLines::size(), and SwTable::UpdateCharts().

Referenced by SwDoc::SplitTable(), and SwUndoMergeTable::UndoImpl().

◆ TableToText()

bool SwNodes::TableToText ( const SwNodeRange rRange,
sal_Unicode  cCh,
SwUndoTableToText pUndo 
)

◆ TextToTable() [1/2]

SwTableNode * SwNodes::TextToTable ( const SwNodeRange rRange,
sal_Unicode  cCh,
SwTableFormat pTableFormat,
SwTableLineFormat pLineFormat,
SwTableBoxFormat pBoxFormat,
SwTextFormatColl pTextColl,
SwUndoTextToTable pUndo 
)

◆ TextToTable() [2/2]

SwTableNode * SwNodes::TextToTable ( const TableRanges_t rTableNodes,
SwTableFormat pTableFormat,
SwTableLineFormat pLineFormat,
SwTableBoxFormat pBoxFormat 
)

◆ UndoTableToText()

SwTableNode * SwNodes::UndoTableToText ( SwNodeOffset  nStt,
SwNodeOffset  nEnd,
const SwTableToTextSaves rSavedData 
)

◆ UpdateOutlineIdx()

void SwNodes::UpdateOutlineIdx ( const SwNode rNd)
private

◆ UpdateOutlineNode()

void SwNodes::UpdateOutlineNode ( SwNode rNd)

Friends And Related Function Documentation

◆ ::sw::DocumentContentOperationsManager

Definition at line 96 of file ndarr.hxx.

◆ SwDoc

friend class SwDoc
friend

Definition at line 92 of file ndarr.hxx.

◆ SwNode

friend class SwNode
friend

Definition at line 93 of file ndarr.hxx.

◆ SwNodeIndex

friend class SwNodeIndex
friend

Definition at line 94 of file ndarr.hxx.

Referenced by MakeTextSection().

◆ SwStartNode

friend class SwStartNode
friend

Member Data Documentation

◆ m_aOutlineNodes

SwOutlineNodes SwNodes::m_aOutlineNodes
mutableprivate

Array of all outline nodes.

Definition at line 110 of file ndarr.hxx.

Referenced by ChgNode(), Delete(), DelNodes(), MoveNodes(), SwNodes(), UpdateOutlineIdx(), UpdateOutlineNode(), SwDoc::~SwDoc(), and ~SwNodes().

◆ m_bInDelUpdOutline

bool SwNodes::m_bInDelUpdOutline
private

Flag for updating of Outline.

Definition at line 114 of file ndarr.hxx.

Referenced by Delete(), and SwNodes().

◆ m_bInNodesDel

bool SwNodes::m_bInNodesDel
private

In Case of recursive calling.

Do not update Num/Outline.

Definition at line 112 of file ndarr.hxx.

Referenced by Delete(), and SwNodes().

◆ m_pEndOfAutotext

SwNode * SwNodes::m_pEndOfAutotext
private

Definition at line 107 of file ndarr.hxx.

Referenced by DelNodes(), and SwNodes().

◆ m_pEndOfContent

std::unique_ptr<SwNode> SwNodes::m_pEndOfContent
private

Definition at line 108 of file ndarr.hxx.

Referenced by DelNodes(), SwNodes(), and ~SwNodes().

◆ m_pEndOfInserts

SwNode * SwNodes::m_pEndOfInserts
private

These are the fixed ranges.

Definition at line 106 of file ndarr.hxx.

Referenced by DelNodes(), and SwNodes().

◆ m_pEndOfPostIts

SwNode* SwNodes::m_pEndOfPostIts
private

Definition at line 106 of file ndarr.hxx.

Referenced by DelNodes(), and SwNodes().

◆ m_pEndOfRedlines

SwNode * SwNodes::m_pEndOfRedlines
private

Definition at line 107 of file ndarr.hxx.

Referenced by DelNodes(), and SwNodes().

◆ m_rMyDoc

SwDoc& SwNodes::m_rMyDoc
private

This Doc contains the nodes-array.

Definition at line 104 of file ndarr.hxx.

Referenced by IsDocNodes().

◆ m_vIndices

SwNodeIndex* SwNodes::m_vIndices
private

ring of all indices on nodes.

Definition at line 98 of file ndarr.hxx.

Referenced by SwNodeIndex::DeRegisterIndex(), SwNodeIndex::RegisterIndex(), and RemoveNode().


The documentation for this class was generated from the following files: