summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2024-02-15 20:00:16 +0600
committerMike Kaganski <mike.kaganski@collabora.com>2024-02-16 08:37:33 +0100
commit9bb7d239258133020dea5fb8cd8c3b18f706d4e2 (patch)
tree5ea1c219803bc20f80e29e56a41ea92fd5f4bfc0
parent63562694beb42b86d0f00dd3c18ac47bb094c9fe (diff)
Deduplicate and unify SwNodes::Go(Next|Prev)(Section)
The "Next" methods are made static, just as "Prev" ones. Overloads taking SwNodeIndex and SwPosition are implemented using a common implementation function, to avoid code duplication. Change-Id: I4035188b5c29d19824cd6d031e05d668d5cf1e86 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163443 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
-rw-r--r--sw/inc/ndarr.hxx17
-rw-r--r--sw/qa/extras/odfimport/odfimport.cxx2
-rw-r--r--sw/qa/extras/uiwriter/uiwriter3.cxx4
-rw-r--r--sw/qa/extras/uiwriter/uiwriter6.cxx14
-rw-r--r--sw/qa/extras/uiwriter/uiwriter8.cxx2
-rw-r--r--sw/source/core/crsr/crsrsh.cxx25
-rw-r--r--sw/source/core/crsr/crstrvl.cxx12
-rw-r--r--sw/source/core/crsr/pam.cxx9
-rw-r--r--sw/source/core/crsr/swcrsr.cxx32
-rw-r--r--sw/source/core/crsr/trvlfnfl.cxx2
-rw-r--r--sw/source/core/crsr/trvlreg.cxx8
-rw-r--r--sw/source/core/crsr/trvltbl.cxx5
-rw-r--r--sw/source/core/crsr/viscrs.cxx8
-rw-r--r--sw/source/core/doc/DocumentContentOperationsManager.cxx2
-rw-r--r--sw/source/core/doc/DocumentFieldsManager.cxx2
-rw-r--r--sw/source/core/doc/DocumentRedlineManager.cxx10
-rw-r--r--sw/source/core/doc/doc.cxx2
-rw-r--r--sw/source/core/doc/docbm.cxx6
-rw-r--r--sw/source/core/doc/docfld.cxx8
-rw-r--r--sw/source/core/doc/docglos.cxx2
-rw-r--r--sw/source/core/doc/docredln.cxx4
-rw-r--r--sw/source/core/doc/docsort.cxx4
-rw-r--r--sw/source/core/doc/doctxm.cxx15
-rw-r--r--sw/source/core/doc/tblcpy.cxx2
-rw-r--r--sw/source/core/docnode/ndsect.cxx27
-rw-r--r--sw/source/core/docnode/ndtbl.cxx12
-rw-r--r--sw/source/core/docnode/node.cxx7
-rw-r--r--sw/source/core/docnode/nodes.cxx394
-rw-r--r--sw/source/core/docnode/section.cxx2
-rw-r--r--sw/source/core/draw/dcontact.cxx2
-rw-r--r--sw/source/core/edit/acorrect.cxx2
-rw-r--r--sw/source/core/edit/edatmisc.cxx2
-rw-r--r--sw/source/core/edit/edattr.cxx2
-rw-r--r--sw/source/core/edit/edglbldc.cxx3
-rw-r--r--sw/source/core/edit/edglss.cxx6
-rw-r--r--sw/source/core/edit/editsh.cxx2
-rw-r--r--sw/source/core/fields/cellfml.cxx2
-rw-r--r--sw/source/core/fields/expfld.cxx2
-rw-r--r--sw/source/core/fields/reffld.cxx5
-rw-r--r--sw/source/core/frmedt/fecopy.cxx4
-rw-r--r--sw/source/core/frmedt/fetab.cxx4
-rw-r--r--sw/source/core/frmedt/tblsel.cxx4
-rw-r--r--sw/source/core/layout/atrfrm.cxx2
-rw-r--r--sw/source/core/layout/flylay.cxx2
-rw-r--r--sw/source/core/layout/ftnfrm.cxx6
-rw-r--r--sw/source/core/layout/newfrm.cxx2
-rw-r--r--sw/source/core/table/swtable.cxx2
-rw-r--r--sw/source/core/txtnode/atrflyin.cxx2
-rw-r--r--sw/source/core/txtnode/atrftn.cxx4
-rw-r--r--sw/source/core/txtnode/ndtxt.cxx3
-rw-r--r--sw/source/core/undo/undobj.cxx3
-rw-r--r--sw/source/core/undo/untbl.cxx8
-rw-r--r--sw/source/core/unocore/unochart.cxx2
-rw-r--r--sw/source/core/unocore/unocrsr.cxx2
-rw-r--r--sw/source/core/unocore/unoframe.cxx2
-rw-r--r--sw/source/core/unocore/unoobj.cxx4
-rw-r--r--sw/source/core/unocore/unoredline.cxx4
-rw-r--r--sw/source/core/unocore/unotext.cxx4
-rw-r--r--sw/source/core/view/vprint.cxx4
-rw-r--r--sw/source/filter/basflt/fltshell.cxx47
-rw-r--r--sw/source/filter/basflt/shellio.cxx4
-rw-r--r--sw/source/filter/html/htmltab.cxx2
-rw-r--r--sw/source/filter/html/swhtml.cxx2
-rw-r--r--sw/source/filter/inc/fltshell.hxx4
-rw-r--r--sw/source/filter/writer/writer.cxx2
-rw-r--r--sw/source/filter/ww8/writerhelper.cxx2
-rw-r--r--sw/source/filter/ww8/wrtw8nds.cxx2
-rw-r--r--sw/source/filter/ww8/wrtww8.cxx2
-rw-r--r--sw/source/filter/ww8/ww8atr.cxx2
-rw-r--r--sw/source/filter/ww8/ww8glsy.cxx2
-rw-r--r--sw/source/filter/ww8/ww8par.cxx4
-rw-r--r--sw/source/filter/ww8/ww8par6.cxx2
-rw-r--r--sw/source/uibase/app/docsh.cxx2
-rw-r--r--sw/source/uibase/dochdl/swdtflvr.cxx2
-rw-r--r--sw/source/uibase/utlui/content.cxx10
75 files changed, 335 insertions, 491 deletions
diff --git a/sw/inc/ndarr.hxx b/sw/inc/ndarr.hxx
index 7383c253a2e8..64149366d63c 100644
--- a/sw/inc/ndarr.hxx
+++ b/sw/inc/ndarr.hxx
@@ -131,11 +131,6 @@ class SW_DLLPUBLIC SwNodes final
SwNodes(SwDoc& rDoc);
- // Returns start of the document section (PostIts/Inserts/Autotext/Redlines/Content),
- // or of a specific fly / header / footer / footnote, where this node is, which must not
- // be crossed when moving backwards
- SwNodeOffset StartOfGlobalSection(const SwNode& node) const;
-
public:
~SwNodes();
@@ -191,17 +186,17 @@ public:
static void GoStartOfSection(SwNodeIndex *);
static void GoEndOfSection(SwNodeIndex *);
- SwContentNode* GoNext(SwNodeIndex *) const;
- SwContentNode* GoNext(SwPosition *) const;
+ static SwContentNode* GoNext(SwNodeIndex*);
+ static SwContentNode* GoNext(SwPosition*);
static SwContentNode* GoPrevious(SwNodeIndex *, bool canCrossBoundary = false);
static SwContentNode* GoPrevious(SwPosition *, bool canCrossBoundary = false);
/** Go to next content-node that is not protected or hidden
(Both set FALSE ==> GoNext/GoPrevious!!!). */
- SwContentNode* GoNextSection( SwNodeIndex *, bool bSkipHidden = true,
- bool bSkipProtect = true ) const;
- SwContentNode* GoNextSection( SwPosition *, bool bSkipHidden = true,
- bool bSkipProtect = true ) const;
+ static SwContentNode* GoNextSection( SwNodeIndex *, bool bSkipHidden = true,
+ bool bSkipProtect = true );
+ static SwContentNode* GoNextSection( SwPosition *, bool bSkipHidden = true,
+ bool bSkipProtect = true );
static SwContentNode* GoPrevSection( SwNodeIndex *, bool bSkipHidden = true,
bool bSkipProtect = true );
static SwContentNode* GoPrevSection( SwPosition *, bool bSkipHidden = true,
diff --git a/sw/qa/extras/odfimport/odfimport.cxx b/sw/qa/extras/odfimport/odfimport.cxx
index 115e30b61368..355f4611686b 100644
--- a/sw/qa/extras/odfimport/odfimport.cxx
+++ b/sw/qa/extras/odfimport/odfimport.cxx
@@ -760,7 +760,7 @@ CPPUNIT_TEST_FIXTURE(Test, testFdo37606)
// And make sure the table got deleted as well.
SwNodes& rNodes = pWrtShell->GetDoc()->GetNodes();
SwNodeIndex nNode(rNodes.GetEndOfExtras());
- SwContentNode* pContentNode = rNodes.GoNext(&nNode);
+ SwContentNode* pContentNode = SwNodes::GoNext(&nNode);
// First content node was in a table -> table wasn't deleted.
CPPUNIT_ASSERT(!pContentNode->FindTableNode());
}
diff --git a/sw/qa/extras/uiwriter/uiwriter3.cxx b/sw/qa/extras/uiwriter/uiwriter3.cxx
index db19c52facbf..38b08122c32e 100644
--- a/sw/qa/extras/uiwriter/uiwriter3.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter3.cxx
@@ -1014,7 +1014,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf61154)
// table of contents node shouldn't contain tracked deletion
// This was "Text InsertedDeleted\t1"
- SwTextNode* pNext = static_cast<SwTextNode*>(pDoc->GetNodes().GoNext(&aIdx));
+ SwTextNode* pNext = static_cast<SwTextNode*>(SwNodes::GoNext(&aIdx));
CPPUNIT_ASSERT_EQUAL(OUString("Text Inserted\t1"), pNext->GetText());
}
@@ -1063,7 +1063,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf100691)
// table of contents node shouldn't contain invisible text
// This was "Text Hidden\t1"
- SwTextNode* pNext = static_cast<SwTextNode*>(pDoc->GetNodes().GoNext(&aIdx));
+ SwTextNode* pNext = static_cast<SwTextNode*>(SwNodes::GoNext(&aIdx));
CPPUNIT_ASSERT_EQUAL(OUString("Text\t1"), pNext->GetText());
}
diff --git a/sw/qa/extras/uiwriter/uiwriter6.cxx b/sw/qa/extras/uiwriter/uiwriter6.cxx
index 5b4140e02967..88c8a354d98d 100644
--- a/sw/qa/extras/uiwriter/uiwriter6.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter6.cxx
@@ -579,17 +579,17 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest6, testTdf99689TableOfContents)
SwTextNode* pTitleNode = pShell->GetCursor()->GetPointNode().GetTextNode();
SwNodeIndex aIdx(*pTitleNode);
// skip the title
- pDoc->GetNodes().GoNext(&aIdx);
+ SwNodes::GoNext(&aIdx);
// skip the first header. No attributes there.
// next node should contain superscript
- SwTextNode* pNext = static_cast<SwTextNode*>(pDoc->GetNodes().GoNext(&aIdx));
+ SwTextNode* pNext = static_cast<SwTextNode*>(SwNodes::GoNext(&aIdx));
CPPUNIT_ASSERT(pNext->HasHints());
sal_uInt16 nAttrType = lcl_getAttributeIDFromHints(pNext->GetSwpHints());
CPPUNIT_ASSERT_EQUAL(sal_uInt16(RES_CHRATR_ESCAPEMENT), nAttrType);
// next node should contain subscript
- pNext = static_cast<SwTextNode*>(pDoc->GetNodes().GoNext(&aIdx));
+ pNext = static_cast<SwTextNode*>(SwNodes::GoNext(&aIdx));
CPPUNIT_ASSERT(pNext->HasHints());
nAttrType = lcl_getAttributeIDFromHints(pNext->GetSwpHints());
CPPUNIT_ASSERT_EQUAL(sal_uInt16(RES_CHRATR_ESCAPEMENT), nAttrType);
@@ -609,13 +609,13 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest6, testTdf99689TableOfFigures)
// skip the title
// next node should contain subscript
- SwTextNode* pNext = static_cast<SwTextNode*>(pDoc->GetNodes().GoNext(&aIdx));
+ SwTextNode* pNext = static_cast<SwTextNode*>(SwNodes::GoNext(&aIdx));
CPPUNIT_ASSERT(pNext->HasHints());
sal_uInt16 nAttrType = lcl_getAttributeIDFromHints(pNext->GetSwpHints());
CPPUNIT_ASSERT_EQUAL(sal_uInt16(RES_CHRATR_ESCAPEMENT), nAttrType);
// next node should contain superscript
- pNext = static_cast<SwTextNode*>(pDoc->GetNodes().GoNext(&aIdx));
+ pNext = static_cast<SwTextNode*>(SwNodes::GoNext(&aIdx));
CPPUNIT_ASSERT(pNext->HasHints());
nAttrType = lcl_getAttributeIDFromHints(pNext->GetSwpHints());
CPPUNIT_ASSERT_EQUAL(sal_uInt16(RES_CHRATR_ESCAPEMENT), nAttrType);
@@ -635,13 +635,13 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest6, testTdf99689TableOfTables)
// skip the title
// next node should contain superscript
- SwTextNode* pNext = static_cast<SwTextNode*>(pDoc->GetNodes().GoNext(&aIdx));
+ SwTextNode* pNext = static_cast<SwTextNode*>(SwNodes::GoNext(&aIdx));
CPPUNIT_ASSERT(pNext->HasHints());
sal_uInt16 nAttrType = lcl_getAttributeIDFromHints(pNext->GetSwpHints());
CPPUNIT_ASSERT_EQUAL(sal_uInt16(RES_CHRATR_ESCAPEMENT), nAttrType);
// next node should contain subscript
- pNext = static_cast<SwTextNode*>(pDoc->GetNodes().GoNext(&aIdx));
+ pNext = static_cast<SwTextNode*>(SwNodes::GoNext(&aIdx));
CPPUNIT_ASSERT(pNext->HasHints());
nAttrType = lcl_getAttributeIDFromHints(pNext->GetSwpHints());
CPPUNIT_ASSERT_EQUAL(sal_uInt16(RES_CHRATR_ESCAPEMENT), nAttrType);
diff --git a/sw/qa/extras/uiwriter/uiwriter8.cxx b/sw/qa/extras/uiwriter/uiwriter8.cxx
index 269937141682..e0c97099e1b7 100644
--- a/sw/qa/extras/uiwriter/uiwriter8.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter8.cxx
@@ -2896,7 +2896,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf158459)
SwNodes& rNodes = pDoc->GetNodes();
SwNodeIndex aIdx(rNodes.GetEndOfExtras());
- SwContentNode* pContentNode = rNodes.GoNext(&aIdx);
+ SwContentNode* pContentNode = SwNodes::GoNext(&aIdx);
CPPUNIT_ASSERT(pContentNode);
SwTextNode* pTextNode = pContentNode->GetTextNode();
CPPUNIT_ASSERT(pTextNode);
diff --git a/sw/source/core/crsr/crsrsh.cxx b/sw/source/core/crsr/crsrsh.cxx
index 06cc3a4fd64a..04c904f13905 100644
--- a/sw/source/core/crsr/crsrsh.cxx
+++ b/sw/source/core/crsr/crsrsh.cxx
@@ -682,7 +682,7 @@ bool SwCursorShell::TrySelectOuterTable()
pOuterTable->GetTable().CreateSelection(&firstCell.GetNode(), &lastCell.GetNode(),
aNew, SwTable::SEARCH_NONE, false);
// set table cursor to 1st / last content which may be in inner table
- SwContentNode *const pStart = rNodes.GoNext(&firstCell);
+ SwContentNode* const pStart = SwNodes::GoNext(&firstCell);
assert(pStart); // must at least find the previous point node
lastCell = *lastCell.GetNode().EndOfSectionNode();
SwContentNode *const pEnd = SwNodes::GoPrevious(&lastCell);
@@ -737,7 +737,7 @@ bool SwCursorShell::MoveStartText()
assert(pStartNode);
SwTableNode const*const pTable(pStartNode->FindTableNode());
m_pCurrentCursor->GetPoint()->Assign(*pStartNode);
- GetDoc()->GetNodes().GoNext(m_pCurrentCursor->GetPoint());
+ SwNodes::GoNext(m_pCurrentCursor->GetPoint());
while (m_pCurrentCursor->GetPoint()->GetNode().FindTableNode() != pTable
&& (!pTable || pTable->GetIndex() < m_pCurrentCursor->GetPoint()->GetNode().FindTableNode()->GetIndex())
&& MoveOutOfTable());
@@ -759,7 +759,7 @@ void SwCursorShell::ExtendedSelectAll(bool bFootnotes)
m_pCurrentCursor->Normalize(true);
SwPosition* pPos = m_pCurrentCursor->GetPoint();
pPos->Assign(bFootnotes ? rNodes.GetEndOfPostIts() : static_cast<SwNode const&>(*pStartNode));
- rNodes.GoNext( pPos );
+ SwNodes::GoNext(pPos);
pPos = m_pCurrentCursor->GetMark();
pPos->Assign(bFootnotes ? rNodes.GetEndOfContent() : static_cast<SwNode const&>(*pStartNode->EndOfSectionNode()));
SwContentNode* pCNd = SwNodes::GoPrevious( pPos );
@@ -840,7 +840,7 @@ SwCursorShell::ExtendedSelectedAll() const
SwStartNode const* pStartNode(FindParentText(*pShellCursor));
SwNodeIndex nNode(*pStartNode);
- SwContentNode* pStart = rNodes.GoNext(&nNode);
+ SwContentNode* pStart = SwNodes::GoNext(&nNode);
if (!pStart)
{
return {};
@@ -1865,7 +1865,7 @@ static void lcl_CheckHiddenPara( SwPosition& rPos )
SwTextNode* pTextNd = aTmp.GetNode().GetTextNode();
while( pTextNd && pTextNd->HasHiddenCharAttribute( true ) )
{
- SwContentNode* pContent = aTmp.GetNodes().GoNext( &aTmp );
+ SwContentNode* pContent = SwNodes::GoNext(&aTmp);
if ( pContent && pContent->IsTextNode() )
pTextNd = pContent->GetTextNode();
else
@@ -3117,7 +3117,7 @@ bool SwCursorShell::IsStartOfDoc() const
// after EndOfIcons comes the content selection (EndNd+StNd+ContentNd)
SwNodeIndex aIdx( GetDoc()->GetNodes().GetEndOfExtras(), 2 );
if( !aIdx.GetNode().IsContentNode() )
- GetDoc()->GetNodes().GoNext( &aIdx );
+ SwNodes::GoNext(&aIdx);
return aIdx == m_pCurrentCursor->GetPoint()->GetNode();
}
@@ -3345,7 +3345,7 @@ SwCursorShell::SwCursorShell( SwDoc& rDoc, vcl::Window *pInitWin,
SwNodes& rNds = rDoc.GetNodes();
SwNodeIndex aNodeIdx( *rNds.GetEndOfContent().StartOfSectionNode() );
- SwContentNode* pCNd = rNds.GoNext( &aNodeIdx ); // go to the first ContentNode
+ SwContentNode* pCNd = SwNodes::GoNext(&aNodeIdx); // go to the first ContentNode
m_pCurrentCursor = new SwShellCursor( *this, SwPosition( aNodeIdx, pCNd, 0 ) );
@@ -3518,7 +3518,7 @@ bool SwCursorShell::FindValidContentNode( bool bOnlyText )
{
// set to beginning of document
rNdPos.Assign( mxDoc->GetNodes().GetEndOfExtras() );
- mxDoc->GetNodes().GoNext( &rNdPos );
+ SwNodes::GoNext(&rNdPos);
nNdIdx = rNdPos.GetNodeIndex();
}
@@ -3572,7 +3572,7 @@ bool SwCursorShell::FindValidContentNode( bool bOnlyText )
for (;;)
{
if (bGoNextSection)
- pCNd = rNds.GoNextSection( &rNdPos,
+ pCNd = SwNodes::GoNextSection( &rNdPos,
true, !IsReadOnlyAvailable() );
else
pCNd = SwNodes::GoPrevSection( &rNdPos,
@@ -4002,9 +4002,8 @@ void SwCursorShell::ClearUpCursors()
{
// tdf#106959: When cursor points to start of a table, the proper content
// node is the first one inside the table, not the previous one
- SwNodes& aNodes = GetDoc()->GetNodes();
SwNodeIndex aIdx(pStartCursor->GetPoint()->GetNode());
- if (SwNode* pNode = aNodes.GoNext(&aIdx))
+ if (SwNode* pNode = SwNodes::GoNext(&aIdx))
{
SwPaM aTmpPam(*pNode);
*pStartCursor = aTmpPam;
@@ -4019,14 +4018,14 @@ void SwCursorShell::ClearUpCursors()
SwNode * pNode = SwNodes::GoPrevious(&aIdx);
if( pNode == nullptr || lcl_NodeContext( *pNode ) != pStart )
{
- pNode = aNodes.GoNext( &aIdx );
+ pNode = SwNodes::GoNext(&aIdx);
if( pNode == nullptr || lcl_NodeContext( *pNode ) != pStart )
{
// If the start entry of the ring is invalid replace it with a
// cursor pointing to the beginning of the first content node in the
// document.
aIdx = *(aNodes.GetEndOfContent().StartOfSectionNode());
- pNode = aNodes.GoNext( &aIdx );
+ pNode = SwNodes::GoNext(&aIdx);
}
}
bool bFound = (pNode != nullptr);
diff --git a/sw/source/core/crsr/crstrvl.cxx b/sw/source/core/crsr/crstrvl.cxx
index 9fa8c76adf09..0a2c404ce399 100644
--- a/sw/source/core/crsr/crstrvl.cxx
+++ b/sw/source/core/crsr/crstrvl.cxx
@@ -237,7 +237,7 @@ bool SwCursorShell::SetCursorInHdFt(size_t nDescNo, bool bInHeader, bool bEven,
SwNodeIndex aIdx( *pCnt->GetContentIdx(), 1 );
SwContentNode* pCNd = aIdx.GetNode().GetContentNode();
if( !pCNd )
- pCNd = pMyDoc->GetNodes().GoNext( &aIdx );
+ pCNd = SwNodes::GoNext(&aIdx);
Point aPt( m_pCurrentCursor->GetPtPos() );
@@ -283,7 +283,7 @@ bool SwCursorShell::GotoNextTOXBase( const OUString* pName )
SwNodeIndex aIdx(*pSectNd, 1);
SwContentNode* pCNd = aIdx.GetNode().GetContentNode();
if (!pCNd)
- pCNd = GetDoc()->GetNodes().GoNext( &aIdx );
+ pCNd = SwNodes::GoNext(&aIdx);
if (pCNd &&
pCNd->EndOfSectionIndex() <= pSectNd->EndOfSectionIndex())
{
@@ -330,7 +330,7 @@ bool SwCursorShell::GotoPrevTOXBase( const OUString* pName )
SwNodeIndex aIdx(*pSectNd, 1);
SwContentNode* pCNd = aIdx.GetNode().GetContentNode();
if (!pCNd)
- pCNd = GetDoc()->GetNodes().GoNext( &aIdx );
+ pCNd = SwNodes::GoNext(&aIdx);
if (pCNd &&
pCNd->EndOfSectionIndex() <= pSectNd->EndOfSectionIndex())
{
@@ -437,7 +437,7 @@ bool SwCursorShell::GotoNxtPrvTableFormula( bool bNext, bool bOnlyErrors )
!pFormulaItem->HasValidBoxes() ) )
{
SwNodeIndex aIdx( *pTBox->GetSttNd() );
- const SwContentNode* pCNd = GetDoc()->GetNodes().GoNext( &aIdx );
+ const SwContentNode* pCNd = SwNodes::GoNext(&aIdx);
std::pair<Point, bool> const tmp(aPt, false);
if (pCNd)
{
@@ -1693,7 +1693,7 @@ bool SwCursorShell::GetContentAtPos( const Point& rPt,
SwCallLink aLk( *this ); // watch Cursor-Moves
SwCursorSaveState aSaveState( *m_pCurrentCursor );
m_pCurrentCursor->GetPoint()->Assign( *static_cast<SwTextFootnote*>(pTextAttr)->GetStartNode() );
- SwContentNode* pCNd = GetDoc()->GetNodes().GoNextSection(
+ SwContentNode* pCNd = SwNodes::GoNextSection(
m_pCurrentCursor->GetPoint(),
true, !IsReadOnlyAvailable() );
@@ -2563,7 +2563,7 @@ const SwRangeRedline* SwCursorShell::GotoRedline_( SwRedlineTable::size_type nAr
SwPosition* pPtPos = m_pCurrentCursor->GetPoint();
if( !pPtPos->GetNode().IsContentNode() )
{
- SwContentNode* pCNd = GetDoc()->GetNodes().GoNextSection( pPtPos,
+ SwContentNode* pCNd = SwNodes::GoNextSection(pPtPos,
true, IsReadOnlyAvailable() );
if( pCNd )
{
diff --git a/sw/source/core/crsr/pam.cxx b/sw/source/core/crsr/pam.cxx
index 92f17cbbd24d..79d9718b59fd 100644
--- a/sw/source/core/crsr/pam.cxx
+++ b/sw/source/core/crsr/pam.cxx
@@ -395,7 +395,7 @@ bool GoPrevious( SwNode* pNd, SwContentIndex * pIdx, SwCursorSkipMode nMode )
SwContentNode* GoNextNds( SwNodeIndex* pIdx, bool bChk )
{
SwNodeIndex aIdx( *pIdx );
- SwContentNode* pNd = aIdx.GetNodes().GoNext( &aIdx );
+ SwContentNode* pNd = SwNodes::GoNext(&aIdx);
if( pNd )
{
if( bChk && SwNodeOffset(1) != aIdx.GetIndex() - pIdx->GetIndex() &&
@@ -425,7 +425,7 @@ SwContentNode* GoPreviousNds( SwNodeIndex * pIdx, bool bChk )
SwContentNode* GoNextPos( SwPosition* pIdx, bool bChk )
{
SwNodeIndex aIdx( pIdx->GetNode() );
- SwContentNode* pNd = aIdx.GetNodes().GoNext( &aIdx );
+ SwContentNode* pNd = SwNodes::GoNext(&aIdx);
if( pNd )
{
if( bChk && SwNodeOffset(1) != aIdx.GetIndex() - pIdx->GetNodeIndex() &&
@@ -1076,7 +1076,6 @@ SwContentNode* GetNode( SwPaM & rPam, bool& rbFirst, SwMoveFnCollection const &
{
SwPosition aPos( *rPam.GetPoint() );
bool bSrchForward = &fnMove == &fnMoveForward;
- SwNodes& rNodes = aPos.GetNodes();
// go to next/previous ContentNode
while( true )
@@ -1088,7 +1087,7 @@ SwContentNode* GetNode( SwPaM & rPam, bool& rbFirst, SwMoveFnCollection const &
}
pNd = bSrchForward
- ? rNodes.GoNextSection( &aPos, true, !bInReadOnly )
+ ? SwNodes::GoNextSection( &aPos, true, !bInReadOnly )
: SwNodes::GoPrevSection( &aPos, true, !bInReadOnly );
if( pNd )
{
@@ -1124,7 +1123,7 @@ void GoStartDoc( SwPosition * pPos )
SwNodes& rNodes = pPos->GetNodes();
pPos->Assign( *rNodes.GetEndOfContent().StartOfSectionNode() );
// we always need to find a ContentNode!
- rNodes.GoNext( pPos );
+ SwNodes::GoNext(pPos);
}
void GoEndDoc( SwPosition * pPos )
diff --git a/sw/source/core/crsr/swcrsr.cxx b/sw/source/core/crsr/swcrsr.cxx
index 1c29c2328467..3f31fd037a5c 100644
--- a/sw/source/core/crsr/swcrsr.cxx
+++ b/sw/source/core/crsr/swcrsr.cxx
@@ -255,12 +255,12 @@ bool SwCursor::IsSelOvr(SwCursorSelOverFlags const eFlags)
sal_Int32 nContentPos = m_vSavePos.back().nContent;
bool bGoNxt = m_vSavePos.back().nNode < rPtPos.GetNodeIndex();
SwContentNode* pCNd = bGoNxt
- ? rNds.GoNextSection( &rPtPos, bSkipOverHiddenSections, bSkipOverProtectSections)
+ ? SwNodes::GoNextSection( &rPtPos, bSkipOverHiddenSections, bSkipOverProtectSections)
: SwNodes::GoPrevSection( &rPtPos, bSkipOverHiddenSections, bSkipOverProtectSections);
if( !pCNd && ( SwCursorSelOverFlags::EnableRevDirection & eFlags ))
{
bGoNxt = !bGoNxt;
- pCNd = bGoNxt ? rNds.GoNextSection( &rPtPos, bSkipOverHiddenSections, bSkipOverProtectSections)
+ pCNd = bGoNxt ? SwNodes::GoNextSection( &rPtPos, bSkipOverHiddenSections, bSkipOverProtectSections)
: SwNodes::GoPrevSection( &rPtPos, bSkipOverHiddenSections, bSkipOverProtectSections);
}
@@ -281,7 +281,7 @@ bool SwCursor::IsSelOvr(SwCursorSelOverFlags const eFlags)
{
// then to the beginning of the document
rPtPos.Assign( rNds.GetEndOfExtras() );
- pCNd = rNds.GoNext( &rPtPos );
+ pCNd = SwNodes::GoNext(&rPtPos);
}
}
}
@@ -517,7 +517,7 @@ bool SwCursor::IsSelOvr(SwCursorSelOverFlags const eFlags)
{
pMyNd = bSelTop
? SwNodes::GoPrevSection( GetPoint(),true,false )
- : rNds.GoNextSection( GetPoint(),true,false );
+ : SwNodes::GoNextSection( GetPoint(),true,false );
/* #i12312# Handle failure of Go{Prev|Next}Section */
if ( nullptr == pMyNd)
@@ -623,7 +623,7 @@ GoNextCell:
++aCellStt;
pCNd = aCellStt.GetNode().GetContentNode();
if( !pCNd )
- pCNd = aCellStt.GetNodes().GoNext( &aCellStt );
+ pCNd = SwNodes::GoNext(&aCellStt);
bProt = pCNd->IsProtect();
if( !bProt )
break;
@@ -678,7 +678,7 @@ GoPrevCell:
aCellStt.Assign( *pNd->StartOfSectionNode(), +1 );
pCNd = aCellStt.GetNode().GetContentNode();
if( !pCNd )
- pCNd = pNd->GetNodes().GoNext( &aCellStt );
+ pCNd = SwNodes::GoNext(&aCellStt);
bProt = pCNd->IsProtect();
if( !bProt )
break;
@@ -895,13 +895,12 @@ static bool lcl_MakeSelFwrd( const SwNode& rSttNd, const SwNode& rEndNd,
if( rSttNd.GetIndex() + 1 == rEndNd.GetIndex() )
return false;
- SwNodes& rNds = rPam.GetDoc().GetNodes();
rPam.DeleteMark();
SwContentNode* pCNd;
if( !bFirst )
{
rPam.GetPoint()->Assign(rSttNd);
- pCNd = rNds.GoNext( rPam.GetPoint() );
+ pCNd = SwNodes::GoNext(rPam.GetPoint());
if( !pCNd )
return false;
rPam.GetPoint()->AssignStartIndex(*pCNd);
@@ -927,7 +926,6 @@ static bool lcl_MakeSelBkwrd( const SwNode& rSttNd, const SwNode& rEndNd,
if( rEndNd.GetIndex() + 1 == rSttNd.GetIndex() )
return false;
- SwNodes& rNds = rPam.GetDoc().GetNodes();
rPam.DeleteMark();
SwContentNode* pCNd;
if( !bFirst )
@@ -944,7 +942,7 @@ static bool lcl_MakeSelBkwrd( const SwNode& rSttNd, const SwNode& rEndNd,
rPam.SetMark();
rPam.GetPoint()->Assign(rEndNd);
- pCNd = rNds.GoNext( rPam.GetPoint() );
+ pCNd = SwNodes::GoNext(rPam.GetPoint());
if( !pCNd )
return false;
rPam.GetPoint()->SetContent(0);
@@ -1117,7 +1115,7 @@ void SwCursor::FillFindPos( SwDocPositions ePos, SwPosition& rPos ) const
{
case SwDocPositions::Start:
rPos.Assign(*rNds.GetEndOfContent().StartOfSectionNode());
- pCNd = rNds.GoNext( &rPos );
+ pCNd = SwNodes::GoNext(&rPos);
break;
case SwDocPositions::End:
rPos.Assign(rNds.GetEndOfContent());
@@ -1126,7 +1124,7 @@ void SwCursor::FillFindPos( SwDocPositions ePos, SwPosition& rPos ) const
break;
case SwDocPositions::OtherStart:
rPos.Assign( *rNds[ SwNodeOffset(0) ] );
- pCNd = rNds.GoNext( &rPos );
+ pCNd = SwNodes::GoNext(&rPos);
break;
case SwDocPositions::OtherEnd:
rPos.Assign( *rNds.GetEndOfContent().StartOfSectionNode() );
@@ -1890,7 +1888,7 @@ bool SwCursor::LeftRight( bool bLeft, sal_uInt16 nCnt, SwCursorSkipMode nMode,
SwNodeIndex aNewIdx( *pTableBox->GetSttNd() );
rPtPos.Assign( aNewIdx );
- GetDoc().GetNodes().GoNextSection( &rPtPos, false, false );
+ SwNodes::GoNextSection(&rPtPos, false, false);
SwContentNode* pContentNode = GetPointContentNode();
if ( pContentNode )
{
@@ -1923,7 +1921,7 @@ bool SwCursor::LeftRight( bool bLeft, sal_uInt16 nCnt, SwCursorSkipMode nMode,
SwNodeIndex aNewIdx( *pTableBox->GetSttNd() );
rPtPos.Assign( aNewIdx );
- GetDoc().GetNodes().GoNextSection( &rPtPos, false, false );
+ SwNodes::GoNextSection(&rPtPos, false, false);
SwContentNode* pContentNode = GetPointContentNode();
if ( pContentNode )
{
@@ -2244,7 +2242,7 @@ bool SwCursor::GoPrevNextCell( bool bNext, sal_uInt16 nCnt )
rPtPos.Adjust(SwNodeOffset(1));
if( !rPtPos.GetNode().IsContentNode() )
- GetDoc().GetNodes().GoNextSection( &rPtPos, true, false );
+ SwNodes::GoNextSection(&rPtPos, true, false);
GetPoint()->SetContent( 0 );
return !IsInProtectTable( true );
@@ -2451,7 +2449,7 @@ SwCursor* SwTableCursor::MakeBoxSels( SwCursor* pCurrentCursor )
SwNodeIndex aIdx( *pSttNd, 1 );
const SwNode* pNd = &aIdx.GetNode();
if( !pNd->IsContentNode() )
- pNd = rNds.GoNextSection( &aIdx, true, false );
+ pNd = SwNodes::GoNextSection(&aIdx, true, false);
SwPosition* pPos = pCur->GetMark();
if( pNd != &pPos->GetNode() )
@@ -2496,7 +2494,7 @@ SwCursor* SwTableCursor::MakeBoxSels( SwCursor* pCurrentCursor )
break;
SwNode* pNd = &aIdx.GetNode();
if( !pNd->IsContentNode() )
- pNd = rNds.GoNextSection( &aIdx, true, false );
+ pNd = SwNodes::GoNextSection(&aIdx, true, false);
SwPaM *const pNew = (!pCurrentCursor->IsMultiSelection() && !pCurrentCursor->HasMark())
? pCurrentCursor
diff --git a/sw/source/core/crsr/trvlfnfl.cxx b/sw/source/core/crsr/trvlfnfl.cxx
index 369e6041340f..8cdf807acc55 100644
--- a/sw/source/core/crsr/trvlfnfl.cxx
+++ b/sw/source/core/crsr/trvlfnfl.cxx
@@ -74,7 +74,7 @@ bool SwCursor::GotoFootnoteText()
SwCursorSaveState aSaveState( *this );
GetPoint()->Assign( *static_cast<SwTextFootnote*>(pFootnote)->GetStartNode() );
- SwContentNode* pCNd = GetDoc().GetNodes().GoNextSection(
+ SwContentNode* pCNd = SwNodes::GoNextSection(
GetPoint(),
true, !IsReadOnlyAvailable() );
if( pCNd )
diff --git a/sw/source/core/crsr/trvlreg.cxx b/sw/source/core/crsr/trvlreg.cxx
index 6ae638bd040a..1bcc4e81ea33 100644
--- a/sw/source/core/crsr/trvlreg.cxx
+++ b/sw/source/core/crsr/trvlreg.cxx
@@ -73,8 +73,7 @@ bool GotoPrevRegion( SwPaM& rCurrentCursor, SwMoveFnCollection const & fnPosRegi
else if( &fnPosRegion == &fnMoveForward )
{
aIdx = *pNd;
- SwContentNode* pCNd = pNd->GetNodes().GoNextSection( &aIdx,
- true, !bInReadOnly );
+ SwContentNode* pCNd = SwNodes::GoNextSection(&aIdx, true, !bInReadOnly);
if( !pCNd )
{
--aIdx;
@@ -148,8 +147,7 @@ bool GotoNextRegion( SwPaM& rCurrentCursor, SwMoveFnCollection const & fnPosRegi
else if( &fnPosRegion == &fnMoveForward )
{
aIdx = *pNd;
- SwContentNode* pCNd = pNd->GetNodes().GoNextSection( &aIdx,
- true, !bInReadOnly );
+ SwContentNode* pCNd = SwNodes::GoNextSection(&aIdx, true, !bInReadOnly);
if( !pCNd )
{
aIdx.Assign( *pNd->EndOfSectionNode(), +1 );
@@ -203,7 +201,7 @@ bool GotoCurrRegionAndSkip( SwPaM& rCurrentCursor, SwMoveFnCollection const & fn
else
{
SwNodeIndex aIdx( *pNd );
- pCNd = pNd->GetNodes().GoNextSection( &aIdx, true, !bInReadOnly );
+ pCNd = SwNodes::GoNextSection(&aIdx, true, !bInReadOnly);
if( !pCNd )
return false;
pPos->Assign( aIdx );
diff --git a/sw/source/core/crsr/trvltbl.cxx b/sw/source/core/crsr/trvltbl.cxx
index 689457d02863..b16b40122a26 100644
--- a/sw/source/core/crsr/trvltbl.cxx
+++ b/sw/source/core/crsr/trvltbl.cxx
@@ -359,12 +359,11 @@ static bool lcl_FindNextCell( SwNodeIndex& rIdx, bool bInReadOnly )
const SwNode* pTableEndNode = pTableNd->EndOfSectionNode();
- SwNodes& rNds = aTmp.GetNode().GetNodes();
SwContentNode* pCNd = aTmp.GetNode().GetContentNode();
// no content node => go to next content node
if( !pCNd )
- pCNd = rNds.GoNext( &aTmp );
+ pCNd = SwNodes::GoNext(&aTmp);
// robust
if ( !pCNd )
@@ -395,7 +394,7 @@ static bool lcl_FindNextCell( SwNodeIndex& rIdx, bool bInReadOnly )
// ok, get the next content node:
pCNd = aTmp.GetNode().GetContentNode();
if( nullptr == pCNd )
- pCNd = rNds.GoNext( &aTmp );
+ pCNd = SwNodes::GoNext(&aTmp);
// robust:
if ( !pCNd )
diff --git a/sw/source/core/crsr/viscrs.cxx b/sw/source/core/crsr/viscrs.cxx
index 2dd958b0c42b..0a0f5f186d93 100644
--- a/sw/source/core/crsr/viscrs.cxx
+++ b/sw/source/core/crsr/viscrs.cxx
@@ -1159,7 +1159,6 @@ void SwShellTableCursor::FillRects()
SwRegionRects aReg( comphelper::LibreOfficeKit::isActive()
? GetShell()->getIDocumentLayoutAccess().GetCurrentLayout()->getFrameArea()
: GetShell()->VisArea() );
- SwNodes& rNds = GetDoc().GetNodes();
SwFrame* pEndFrame = nullptr;
for (size_t n = 0; n < m_SelectedBoxes.size(); ++n)
{
@@ -1167,7 +1166,7 @@ void SwShellTableCursor::FillRects()
const SwTableNode* pSelTableNd = pSttNd->FindTableNode();
SwNodeIndex aIdx( *pSttNd );
- SwContentNode* pCNd = rNds.GoNextSection( &aIdx, true, false );
+ SwContentNode* pCNd = SwNodes::GoNextSection(&aIdx, true, false);
// table in table
// (see also lcl_FindTopLevelTable in unoobj2.cxx for a different
@@ -1176,7 +1175,7 @@ void SwShellTableCursor::FillRects()
while ( pSelTableNd != pCurTableNd && pCurTableNd )
{
aIdx = pCurTableNd->EndOfSectionIndex();
- pCNd = rNds.GoNextSection( &aIdx, true, false );
+ pCNd = SwNodes::GoNextSection(&aIdx, true, false);
pCurTableNd = pCNd->FindTableNode();
}
@@ -1225,11 +1224,10 @@ bool SwShellTableCursor::Contains( const Point& rPt ) const
if (m_SelectedBoxes.empty() || m_bParked || !GetPoint()->GetNodeIndex())
return false;
- SwNodes& rNds = GetDoc().GetNodes();
for (size_t n = 0; n < m_SelectedBoxes.size(); ++n)
{
SwNodeIndex aIdx( *m_SelectedBoxes[n]->GetSttNd() );
- SwContentNode* pCNd = rNds.GoNextSection( &aIdx, true, false );
+ SwContentNode* pCNd = SwNodes::GoNextSection(&aIdx, true, false);
if( !pCNd )
continue;
diff --git a/sw/source/core/doc/DocumentContentOperationsManager.cxx b/sw/source/core/doc/DocumentContentOperationsManager.cxx
index b78b6b66daef..4c6de6aed92f 100644
--- a/sw/source/core/doc/DocumentContentOperationsManager.cxx
+++ b/sw/source/core/doc/DocumentContentOperationsManager.cxx
@@ -2253,7 +2253,7 @@ bool DocumentContentOperationsManager::DelFullPara( SwPaM& rPam )
SwPosition aTmpPos( *aDelPam.GetPoint() );
if( bGoNext )
{
- m_rDoc.GetNodes().GoNext( &aTmpPos );
+ SwNodes::GoNext(&aTmpPos);
}
::PaMCorrAbs( aDelPam, aTmpPos );
}
diff --git a/sw/source/core/doc/DocumentFieldsManager.cxx b/sw/source/core/doc/DocumentFieldsManager.cxx
index aaf26ce9eb46..3b5888b34122 100644
--- a/sw/source/core/doc/DocumentFieldsManager.cxx
+++ b/sw/source/core/doc/DocumentFieldsManager.cxx
@@ -742,7 +742,7 @@ void DocumentFieldsManager::UpdateTableFields(const SwTable* pTable)
SwNodeIndex aCNdIdx( *pTableNd, +2 );
SwContentNode* pCNd = aCNdIdx.GetNode().GetContentNode();
if( !pCNd )
- pCNd = m_rDoc.GetNodes().GoNext( &aCNdIdx );
+ pCNd = SwNodes::GoNext(&aCNdIdx);
if (pCNd)
{
diff --git a/sw/source/core/doc/DocumentRedlineManager.cxx b/sw/source/core/doc/DocumentRedlineManager.cxx
index fe7b22049a4c..3f5ccfc0ec5c 100644
--- a/sw/source/core/doc/DocumentRedlineManager.cxx
+++ b/sw/source/core/doc/DocumentRedlineManager.cxx
@@ -238,7 +238,7 @@ void UpdateFramesForAddDeleteRedline(SwDoc & rDoc, SwPaM const& rPam)
}
SwNodeIndex tmp(*pLast);
// skip over hidden sections!
- pNode = static_cast<SwTextNode*>(pLast->GetNodes().GoNextSection(&tmp, /*bSkipHidden=*/true, /*bSkipProtect=*/false));
+ pNode = static_cast<SwTextNode*>(SwNodes::GoNextSection(&tmp, /*bSkipHidden=*/true, /*bSkipProtect=*/false));
}
while (pNode && pNode->GetIndex() <= rPam.End()->GetNodeIndex());
}
@@ -364,7 +364,7 @@ void UpdateFramesForRemoveDeleteRedline(SwDoc & rDoc, SwPaM const& rPam)
}
SwNodeIndex tmp(*pLast);
// skip over hidden sections!
- pNode = static_cast<SwTextNode*>(pLast->GetNodes().GoNextSection(&tmp, /*bSkipHidden=*/true, /*bSkipProtect=*/false));
+ pNode = static_cast<SwTextNode*>(SwNodes::GoNextSection(&tmp, /*bSkipHidden=*/true, /*bSkipProtect=*/false));
}
while (pNode && pNode->GetIndex() <= rPam.End()->GetNodeIndex());
}
@@ -3624,7 +3624,7 @@ const SwRangeRedline* DocumentRedlineManager::SelNextRedline( SwPaM& rPam ) cons
SwPosition* pPos = rPam.GetMark();
if( !pPos->GetNode().IsContentNode() )
{
- pCNd = m_rDoc.GetNodes().GoNextSection( pPos );
+ pCNd = SwNodes::GoNextSection(pPos);
if( pCNd )
{
if( pPos->GetNode() <= rPam.GetPoint()->GetNode() )
@@ -3691,7 +3691,7 @@ const SwRangeRedline* DocumentRedlineManager::SelPrevRedline( SwPaM& rPam ) cons
if( !pStt->GetNode().IsContentNode() )
{
SwNodeIndex aTmp( pStt->GetNode() );
- SwContentNode* pCNd = m_rDoc.GetNodes().GoNextSection( &aTmp );
+ SwContentNode* pCNd = SwNodes::GoNextSection(&aTmp);
if( !pCNd || ( aTmp == rSttPos.GetNode() &&
!rSttPos.GetContentIndex() ))
pFnd = nullptr;
@@ -3766,7 +3766,7 @@ const SwRangeRedline* DocumentRedlineManager::SelPrevRedline( SwPaM& rPam ) cons
pPos = rPam.GetPoint();
if( !pPos->GetNode().IsContentNode() )
{
- pCNd = m_rDoc.GetNodes().GoNextSection( pPos );
+ pCNd = SwNodes::GoNextSection(pPos);
if( pCNd )
{
if( pPos->GetNode() <= rPam.GetMark()->GetNode() )
diff --git a/sw/source/core/doc/doc.cxx b/sw/source/core/doc/doc.cxx
index 048478f194d4..62add1d5bae5 100644
--- a/sw/source/core/doc/doc.cxx
+++ b/sw/source/core/doc/doc.cxx
@@ -1559,7 +1559,7 @@ bool SwDoc::RemoveInvisibleContent()
pSectNd->EndOfSectionIndex() + 1 )
{
// only delete the content
- SwContentNode* pCNd = GetNodes().GoNext( aPam.GetPoint() );
+ SwContentNode* pCNd = SwNodes::GoNext(aPam.GetPoint());
aPam.SetMark();
aPam.GetPoint()->Assign( *pSectNd->EndOfSectionNode() );
pCNd = SwNodes::GoPrevious( aPam.GetPoint() );
diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx
index 730da32625d4..fb741e749fb5 100644
--- a/sw/source/core/doc/docbm.cxx
+++ b/sw/source/core/doc/docbm.cxx
@@ -281,7 +281,7 @@ namespace
if ( pNode == nullptr)
{
SwNodeIndex aEnd(rEnd);
- pNode = rEnd.GetNodes().GoNext( &aEnd );
+ pNode = SwNodes::GoNext(&aEnd);
bPosAtEndOfNode = false;
}
if ( pNode == nullptr )
@@ -2058,7 +2058,7 @@ void DelBookmarks(
bool bStt = true;
SwContentNode* pCNd = pRStt->GetNode().GetContentNode();
if( !pCNd )
- pCNd = rDoc.GetNodes().GoNext( pRStt );
+ pCNd = SwNodes::GoNext(pRStt);
if (!pCNd)
{
bStt = false;
@@ -2089,7 +2089,7 @@ void DelBookmarks(
{
bStt = true;
pREnd->Assign(rEnd);
- pCNd = rDoc.GetNodes().GoNext( pREnd );
+ pCNd = SwNodes::GoNext(pREnd);
if( !pCNd )
{
*pREnd = *pRStt;
diff --git a/sw/source/core/doc/docfld.cxx b/sw/source/core/doc/docfld.cxx
index be30bb34bc30..c3ee9cfbf17b 100644
--- a/sw/source/core/doc/docfld.cxx
+++ b/sw/source/core/doc/docfld.cxx
@@ -144,7 +144,7 @@ SetGetExpField::SetGetExpField( const SwTableBox& rTBox )
if( rTBox.GetSttNd() )
{
SwNodeIndex aIdx( *rTBox.GetSttNd() );
- const SwContentNode* pNd = aIdx.GetNode().GetNodes().GoNext( &aIdx );
+ const SwContentNode* pNd = SwNodes::GoNext(&aIdx);
if( pNd )
m_nNode = pNd->GetIndex();
}
@@ -326,14 +326,14 @@ const SwNode* SetGetExpField::GetNodeFromContent() const
if( m_CNTNT.pTBox->GetSttNd() )
{
SwNodeIndex aIdx( *m_CNTNT.pTBox->GetSttNd() );
- pRet = aIdx.GetNode().GetNodes().GoNext( &aIdx );
+ pRet = SwNodes::GoNext(&aIdx);
}
break;
case FLYFRAME:
{
SwNodeIndex aIdx( *m_CNTNT.pFlyFormat->GetContent().GetContentIdx() );
- pRet = aIdx.GetNode().GetNodes().GoNext( &aIdx );
+ pRet = SwNodes::GoNext(&aIdx);
}
break;
}
@@ -1138,7 +1138,7 @@ void SwDocUpdateField::GetBodyNodeGeneric(SwNode const& rNode, T const& rCond)
// create index to determine the TextNode
SwPosition aPos(rNode);
SwContentNode const*const pCNd = rNode.IsSectionNode()
- ? rDoc.GetNodes().GoNext(&aPos.nNode) // to the next ContentNode
+ ? SwNodes::GoNext(&aPos.nNode) // to the next ContentNode
: rNode.GetContentNode();
if( !pCNd || !pCNd->IsTextNode() )
diff --git a/sw/source/core/doc/docglos.cxx b/sw/source/core/doc/docglos.cxx
index 2993a774ad25..dae24d1cdfd6 100644
--- a/sw/source/core/doc/docglos.cxx
+++ b/sw/source/core/doc/docglos.cxx
@@ -165,7 +165,7 @@ bool SwDoc::InsertGlossary( SwTextBlocks& rBlock, const OUString& rEntry,
getIDocumentFieldsAccess().LockExpFields();
SwNodeIndex aStt( pGDoc->GetNodes().GetEndOfExtras(), 1 );
- SwContentNode* pContentNd = pGDoc->GetNodes().GoNext( &aStt );
+ SwContentNode* pContentNd = SwNodes::GoNext(&aStt);
const SwTableNode* pTableNd = pContentNd->FindTableNode();
SwPaM aCpyPam( pTableNd ? *const_cast<SwNode*>(static_cast<SwNode const *>(pTableNd)) : *static_cast<SwNode*>(pContentNd) );
aCpyPam.SetMark();
diff --git a/sw/source/core/doc/docredln.cxx b/sw/source/core/doc/docredln.cxx
index 45af1e8e3f85..2c4ba6096c48 100644
--- a/sw/source/core/doc/docredln.cxx
+++ b/sw/source/core/doc/docredln.cxx
@@ -497,7 +497,7 @@ std::vector<std::unique_ptr<SwRangeRedline>> GetAllValidRanges(std::unique_ptr<S
if( !aNewStt.GetNode().IsContentNode() )
{
- pC = rNds.GoNext( &aNewStt );
+ pC = SwNodes::GoNext(&aNewStt);
if( !pC )
aNewStt.Assign(rNds.GetEndOfContent());
}
@@ -588,7 +588,7 @@ std::vector<std::unique_ptr<SwRangeRedline>> GetAllValidRanges(std::unique_ptr<S
if( aNewStt >= *pEnd )
break;
- pC = rNds.GoNext( &aNewStt );
+ pC = SwNodes::GoNext(&aNewStt);
if( !pC )
break;
} while( aNewStt < *pEnd );
diff --git a/sw/source/core/doc/docsort.cxx b/sw/source/core/doc/docsort.cxx
index d22ab372e323..ed1ffdad0d3b 100644
--- a/sw/source/core/doc/docsort.cxx
+++ b/sw/source/core/doc/docsort.cxx
@@ -684,7 +684,7 @@ void MoveCell(SwDoc* pDoc, const SwTableBox* pSource, const SwTableBox* pTar,
// Set Pam source to the first ContentNode
SwNodeRange aRg( *pSource->GetSttNd(), SwNodeOffset(0), *pSource->GetSttNd() );
- SwNode* pNd = pDoc->GetNodes().GoNext( &aRg.aStart );
+ SwNode* pNd = SwNodes::GoNext(&aRg.aStart);
// If the Cell (Source) wasn't moved
// -> insert an empty Node and move the rest or the Mark
@@ -697,7 +697,7 @@ void MoveCell(SwDoc* pDoc, const SwTableBox* pSource, const SwTableBox* pTar,
// If the Target is empty (there is one empty Node)
// -> move and delete it
SwNodeIndex aTar( *pTar->GetSttNd() );
- pNd = pDoc->GetNodes().GoNext( &aTar ); // next ContentNode
+ pNd = SwNodes::GoNext(&aTar); // next ContentNode
SwNodeOffset nCount = pNd->EndOfSectionIndex() - pNd->StartOfSectionIndex();
bool bDelFirst = false;
diff --git a/sw/source/core/doc/doctxm.cxx b/sw/source/core/doc/doctxm.cxx
index 746da06379df..4b0ca5d323f1 100644
--- a/sw/source/core/doc/doctxm.cxx
+++ b/sw/source/core/doc/doctxm.cxx
@@ -846,7 +846,7 @@ bool SwTOXBaseSection::SetPosAtStartEnd( SwPosition& rPos ) const
if( pSectNd )
{
rPos.Assign(*pSectNd);
- pSectNd->GetDoc().GetNodes().GoNext( &rPos );
+ SwNodes::GoNext(&rPos);
bRet = true;
}
return bRet;
@@ -903,7 +903,7 @@ void SwTOXBaseSection::Update(const SfxItemSet* pAttr,
{
// determine page description of content after table-of-content
SwNodeIndex aIdx( *(pSectNd->EndOfSectionNode()) );
- const SwContentNode* pNdAfterTOX = pSectNd->GetNodes().GoNext( &aIdx );
+ const SwContentNode* pNdAfterTOX = SwNodes::GoNext(&aIdx);
const SwAttrSet& aNdAttrSet = pNdAfterTOX->GetSwAttrSet();
const SvxBreak eBreak = aNdAttrSet.GetBreak().GetBreak();
if ( eBreak != SvxBreak::PageBefore && eBreak != SvxBreak::PageBoth )
@@ -1008,7 +1008,7 @@ void SwTOXBaseSection::Update(const SfxItemSet* pAttr,
SwNodeIndex aNxtIdx( aSttIdx );
const SwContentNode* pCNd = aNxtIdx.GetNode().GetContentNode();
if( !pCNd )
- pCNd = rDoc.GetNodes().GoNext( &aNxtIdx );
+ pCNd = SwNodes::GoNext(&aNxtIdx);
assert(pCNd != pFirstEmptyNd);
assert(pCNd->GetIndex() < pFirstEmptyNd->GetIndex());
if( pCNd->HasSwAttrSet() )
@@ -1141,7 +1141,7 @@ void SwTOXBaseSection::Update(const SfxItemSet* pAttr,
aEndIdx = *pSectNd;
else
aEndIdx = *pFirstEmptyNd;
- SwContentNode* pCNd = rDoc.GetNodes().GoNext( &aEndIdx );
+ SwContentNode* pCNd = SwNodes::GoNext(&aEndIdx);
if( pCNd ) // Robust against defect documents, e.g. i60336
pCNd->SetAttr( *pFirstEmptyNd->GetpSwAttrSet() );
}
@@ -1270,7 +1270,7 @@ void SwTOXBaseSection::SwClientNotify(const SwModify& rModify, const SfxHint& rH
SwNodeIndex aIdx(*pSectNd, 1);
SwContentNode* pCNd = aIdx.GetNode().GetContentNode();
if(!pCNd)
- pCNd = pFindHint->m_rDoc.GetNodes().GoNext(&aIdx);
+ pCNd = SwNodes::GoNext(&aIdx);
if(!pCNd)
return;
if(pCNd->EndOfSectionIndex() >= pSectNd->EndOfSectionIndex())
@@ -1537,7 +1537,7 @@ void SwTOXBaseSection::UpdateContent( SwTOXElement eMyType,
if( !pCNd )
{
SwNodeIndex aTmp( *pNd );
- pCNd = rNds.GoNext( &aTmp );
+ pCNd = SwNodes::GoNext(&aTmp);
}
}
break;
@@ -1621,7 +1621,6 @@ void SwTOXBaseSection::UpdateTable(const SwTextNode* pOwnChapterNode,
SwRootFrame const*const pLayout)
{
SwDoc* pDoc = GetFormat()->GetDoc();
- SwNodes& rNds = pDoc->GetNodes();
for(SwTableFormat* pFrameFormat: *pDoc->GetTableFrameFormats())
{
@@ -1636,7 +1635,7 @@ void SwTOXBaseSection::UpdateTable(const SwTextNode* pOwnChapterNode,
SwNodeIndex aContentIdx( *pTableNd, 1 );
SwContentNode* pCNd;
- while( nullptr != ( pCNd = rNds.GoNext( &aContentIdx ) ) &&
+ while( nullptr != ( pCNd = SwNodes::GoNext( &aContentIdx ) ) &&
aContentIdx.GetIndex() < pTableNd->EndOfSectionIndex() )
{
if (pCNd->getLayoutFrame(pLayout)
diff --git a/sw/source/core/doc/tblcpy.cxx b/sw/source/core/doc/tblcpy.cxx
index 0b11ea6c80d2..f1ff236fd60c 100644
--- a/sw/source/core/doc/tblcpy.cxx
+++ b/sw/source/core/doc/tblcpy.cxx
@@ -562,7 +562,7 @@ static void lcl_CpyBox( const SwTable& rCpyTable, const SwTableBox* pCpyBox,
if( !pCNd )
{
SwNodeIndex aTmp( aInsIdx );
- pCNd = pDoc->GetNodes().GoNext( &aTmp );
+ pCNd = SwNodes::GoNext(&aTmp);
}
if( pCNd &&
diff --git a/sw/source/core/docnode/ndsect.cxx b/sw/source/core/docnode/ndsect.cxx
index 1da9ecb43ed6..856447d4d8d2 100644
--- a/sw/source/core/docnode/ndsect.cxx
+++ b/sw/source/core/docnode/ndsect.cxx
@@ -63,9 +63,7 @@
// #i21457# - new implementation of local method <lcl_IsInSameTableBox(..)>.
// Method now determines the previous/next on its own. Thus, it can be controlled,
// for which previous/next is checked, if it's visible.
-static bool lcl_IsInSameTableBox( SwNodes const & _rNds,
- const SwNode& _rNd,
- const bool _bPrev )
+static bool lcl_IsInSameTableBox(const SwNode& _rNd, const bool _bPrev)
{
const SwTableNode* pTableNd = _rNd.FindTableNode();
if ( !pTableNd )
@@ -84,7 +82,7 @@ static bool lcl_IsInSameTableBox( SwNodes const & _rNds,
{
if ( _bPrev
? !SwNodes::GoPrevSection( &aChkIdx, false, false )
- : !_rNds.GoNextSection( &aChkIdx, false, false ) )
+ : !SwNodes::GoNextSection( &aChkIdx, false, false ) )
{
OSL_FAIL( "<lcl_IsInSameTableBox(..)> - no previous/next!" );
return false;
@@ -124,20 +122,20 @@ static bool lcl_IsInSameTableBox( SwNodes const & _rNds,
return true;
}
-static void lcl_CheckEmptyLayFrame( SwNodes const & rNds, SwSectionData& rSectionData,
+static void lcl_CheckEmptyLayFrame( SwSectionData& rSectionData,
const SwNode& rStt, const SwNode& rEnd )
{
SwNodeIndex aIdx( rStt );
if( !SwNodes::GoPrevSection( &aIdx, true, false ) ||
!CheckNodesRange( rStt, aIdx.GetNode(), true ) ||
// #i21457#
- !lcl_IsInSameTableBox( rNds, rStt, true ))
+ !lcl_IsInSameTableBox( rStt, true ))
{
aIdx = rEnd;
- if( !rNds.GoNextSection( &aIdx, true, false ) ||
+ if( !SwNodes::GoNextSection( &aIdx, true, false ) ||
!CheckNodesRange( rEnd, aIdx.GetNode(), true ) ||
// #i21457#
- !lcl_IsInSameTableBox( rNds, rEnd, false ))
+ !lcl_IsInSameTableBox( rEnd, false ))
{
rSectionData.SetHidden( false );
}
@@ -171,7 +169,7 @@ SwDoc::InsertSwSection(SwPaM const& rRange, SwSectionData & rNewData,
pEnd->GetNode().GetContentNode()->Len() ==
pEnd->GetContentIndex() )
{
- ::lcl_CheckEmptyLayFrame( GetNodes(),
+ ::lcl_CheckEmptyLayFrame(
rNewData,
pStt->GetNode(),
pEnd->GetNode() );
@@ -650,7 +648,7 @@ void SwDoc::UpdateSection( size_t const nPos, SwSectionData & rNewData,
pIdx->GetNode().GetSectionNode();
if (pSectNd)
{
- ::lcl_CheckEmptyLayFrame( GetNodes(), rNewData,
+ ::lcl_CheckEmptyLayFrame( rNewData,
*pSectNd, *pSectNd->EndOfSectionNode() );
}
}
@@ -1040,7 +1038,7 @@ void SwSectionNode::MakeFramesForAdjacentContentNode(const SwNodeIndex & rIdx)
if (GetSection().IsHiddenFlag() || IsContentHidden())
{
SwNodeIndex aIdx( *EndOfSectionNode() );
- SwContentNode* pCNd = rNds.GoNextSection( &aIdx, true, false );
+ SwContentNode* pCNd = SwNodes::GoNextSection(&aIdx, true, false);
if( !pCNd )
{
aIdx = *this;
@@ -1180,7 +1178,6 @@ void SwSectionNode::DelFrames(SwRootFrame const*const /*FIXME TODO*/, bool const
return ;
}
- SwNodes& rNds = GetNodes();
m_pSection->GetFormat()->DelFrames();
// Update our Flag
@@ -1196,13 +1193,13 @@ void SwSectionNode::DelFrames(SwRootFrame const*const /*FIXME TODO*/, bool const
if( !SwNodes::GoPrevSection( &aIdx, true, false ) ||
!CheckNodesRange( *this, aIdx.GetNode(), true ) ||
// #i21457#
- !lcl_IsInSameTableBox( rNds, *this, true ))
+ !lcl_IsInSameTableBox( *this, true ))
{
aIdx = *EndOfSectionNode();
- if( !rNds.GoNextSection( &aIdx, true, false ) ||
+ if( !SwNodes::GoNextSection( &aIdx, true, false ) ||
!CheckNodesRange( *EndOfSectionNode(), aIdx.GetNode(), true ) ||
// #i21457#
- !lcl_IsInSameTableBox( rNds, *EndOfSectionNode(), false ))
+ !lcl_IsInSameTableBox( *EndOfSectionNode(), false ))
{
m_pSection->m_Data.SetHiddenFlag(false);
}
diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx
index a7a2bee478da..592e8914ae8c 100644
--- a/sw/source/core/docnode/ndtbl.cxx
+++ b/sw/source/core/docnode/ndtbl.cxx
@@ -874,7 +874,7 @@ const SwTable* SwDoc::TextToTable( const SwInsertTableOptions& rInsTableOpts,
SwPaM& rTmp = const_cast<SwPaM&>(rRange); // Point always at the Start
rTmp.DeleteMark();
rTmp.GetPoint()->Assign( *pTableNd );
- GetNodes().GoNext( rTmp.GetPoint() );
+ SwNodes::GoNext(rTmp.GetPoint());
}
if( pUndo )
@@ -1883,7 +1883,7 @@ void SwDoc::DeleteRow( const SwCursor& rCursor )
SwNodeIndex aIdx( GetNodes(), nIdx );
SwContentNode* pCNd = aIdx.GetNode().GetContentNode();
if( !pCNd )
- pCNd = GetNodes().GoNext( &aIdx );
+ pCNd = SwNodes::GoNext(&aIdx);
if( pCNd )
{
@@ -3098,9 +3098,9 @@ void sw_BoxSetSplitBoxFormats( SwTableBox* pBox, SwCollectTableLineBoxes* pSplPa
SwNodeIndex aIdx( *pSrcBox->GetSttNd(), 1 );
SwContentNode* pCNd = aIdx.GetNode().GetContentNode();
if( !pCNd )
- pCNd = aIdx.GetNodes().GoNext( &aIdx );
+ pCNd = SwNodes::GoNext(&aIdx);
aIdx = *pBox->GetSttNd();
- SwContentNode* pDNd = aIdx.GetNodes().GoNext( &aIdx );
+ SwContentNode* pDNd = SwNodes::GoNext(&aIdx);
// If the Node is alone in the Section
if( SwNodeOffset(2) == pDNd->EndOfSectionIndex() -
@@ -3880,7 +3880,7 @@ bool SwDoc::GetTableAutoFormat( const SwSelBoxes& rBoxes, SwTableAutoFormat& rGe
SwNodeIndex aIdx( *pFBox->GetSttNd(), 1 );
SwContentNode* pCNd = aIdx.GetNode().GetContentNode();
if( !pCNd )
- pCNd = GetNodes().GoNext( &aIdx );
+ pCNd = SwNodes::GoNext(&aIdx);
if( pCNd )
rGet.UpdateFromSet( nPos, pCNd->GetSwAttrSet(),
@@ -4402,7 +4402,7 @@ bool SwDoc::InsCopyOfTable( SwPosition& rInsPos, const SwSelBoxes& rBoxes,
if( bCorrPos )
{
rInsPos.Assign( *pSttNd );
- GetNodes().GoNext( &rInsPos );
+ SwNodes::GoNext(&rInsPos);
}
getIDocumentRedlineAccess().SetRedlineFlags( eOld );
}
diff --git a/sw/source/core/docnode/node.cxx b/sw/source/core/docnode/node.cxx
index dd4ffbcec57c..8338fd001f52 100644
--- a/sw/source/core/docnode/node.cxx
+++ b/sw/source/core/docnode/node.cxx
@@ -394,7 +394,7 @@ bool SwNode::IsInVisibleArea( SwViewShell const * pSh ) const
if( SwNodeType::Start & m_nNodeType )
{
SwNodeIndex aIdx( *this );
- pNd = GetNodes().GoNext( &aIdx );
+ pNd = SwNodes::GoNext(&aIdx);
}
else if( SwNodeType::End & m_nNodeType )
{
@@ -504,7 +504,7 @@ const SwPageDesc* SwNode::FindPageDesc( SwNodeOffset* pPgDescNdIdx ) const
if( SwNodeType::Start & m_nNodeType )
{
SwNodeIndex aIdx( *this );
- pNode = GetNodes().GoNext( &aIdx );
+ pNode = SwNodes::GoNext(&aIdx);
}
else if( SwNodeType::End & m_nNodeType )
{
@@ -994,9 +994,8 @@ void SwStartNode::CheckSectionCondColl() const
{
SwNodeIndex aIdx( *this );
SwNodeOffset nEndIdx = EndOfSectionIndex();
- const SwNodes& rNds = GetNodes();
SwContentNode* pCNd;
- while( nullptr != ( pCNd = rNds.GoNext( &aIdx )) && pCNd->GetIndex() < nEndIdx )
+ while (nullptr != (pCNd = SwNodes::GoNext(&aIdx)) && pCNd->GetIndex() < nEndIdx)
pCNd->ChkCondColl();
}
diff --git a/sw/source/core/docnode/nodes.cxx b/sw/source/core/docnode/nodes.cxx
index f61a2c0be77d..d180a3a584c6 100644
--- a/sw/source/core/docnode/nodes.cxx
+++ b/sw/source/core/docnode/nodes.cxx
@@ -1302,50 +1302,44 @@ void SwNodes::GoEndOfSection(SwNodeIndex *pIdx)
(*pIdx) = *pIdx->GetNode().EndOfSectionNode();
}
-SwContentNode* SwNodes::GoNext(SwNodeIndex *pIdx) const
+static SwContentNode* goNext(const SwNodeIndex& rIdx)
{
- if( pIdx->GetIndex() >= Count() - 1 )
- return nullptr;
-
- SwNodeIndex aTmp(*pIdx, +1);
- SwNode* pNd = nullptr;
- while( aTmp < Count()-1 && !( pNd = &aTmp.GetNode())->IsContentNode() )
- ++aTmp;
+ const SwNodes& rNodes = rIdx.GetNodes();
+ const SwNodeOffset last = rNodes.Count() - 1;
+ for (SwNodeOffset i(rIdx.GetIndex() + 1); i < last; ++i)
+ if (SwContentNode* pNd = rNodes[i]->GetContentNode())
+ return pNd;
- if( aTmp == Count()-1 )
- pNd = nullptr;
- else
- (*pIdx) = aTmp;
- return static_cast<SwContentNode*>(pNd);
+ return nullptr;
}
-SwContentNode* SwNodes::GoNext(SwPosition *pIdx) const
+SwContentNode* SwNodes::GoNext(SwNodeIndex *pIdx)
{
- if( pIdx->GetNodeIndex() >= Count() - 1 )
- return nullptr;
-
- SwNodeIndex aTmp(pIdx->GetNode(), +1);
- SwNode* pNd = nullptr;
- while( aTmp < Count()-1 && !( pNd = &aTmp.GetNode())->IsContentNode() )
- ++aTmp;
+ SwContentNode* pNd = goNext(*pIdx);
+ if (pNd)
+ *pIdx = *pNd;
+ return pNd;
+}
- if( aTmp == Count()-1 )
- pNd = nullptr;
- else
- pIdx->Assign(aTmp);
- return static_cast<SwContentNode*>(pNd);
+SwContentNode* SwNodes::GoNext(SwPosition *pIdx)
+{
+ SwContentNode* pNd = goNext(pIdx->nNode);
+ if (pNd)
+ pIdx->AssignStartIndex(*pNd);
+ return pNd;
}
-SwNodeOffset SwNodes::StartOfGlobalSection(const SwNode& node) const
+static SwNodeOffset startOfGlobalSection(const SwNode& node)
{
+ const SwNodes& rNodes = node.GetNodes();
const SwNodeOffset pos = node.GetIndex();
- if (GetEndOfExtras().GetIndex() < pos)
+ if (rNodes.GetEndOfExtras().GetIndex() < pos)
// Regular ContentSection
- return GetEndOfExtras().GetIndex() + SwNodeOffset(1);
- if (GetEndOfAutotext().GetIndex() < pos)
+ return rNodes.GetEndOfExtras().GetIndex() + SwNodeOffset(1);
+ if (rNodes.GetEndOfAutotext().GetIndex() < pos)
// Redlines
- return GetEndOfAutotext().GetIndex() + SwNodeOffset(1);
- if (GetEndOfInserts().GetIndex() < pos)
+ return rNodes.GetEndOfAutotext().GetIndex() + SwNodeOffset(1);
+ if (rNodes.GetEndOfInserts().GetIndex() < pos)
{
// Flys/Headers/Footers
if (auto* p = node.FindFlyStartNode())
@@ -1354,54 +1348,44 @@ SwNodeOffset SwNodes::StartOfGlobalSection(const SwNode& node) const
return p->GetIndex();
if (auto* p = node.FindFooterStartNode())
return p->GetIndex();
- return GetEndOfInserts().GetIndex() + SwNodeOffset(1);
+ return rNodes.GetEndOfInserts().GetIndex() + SwNodeOffset(1);
}
- if (GetEndOfPostIts().GetIndex() < pos)
+ if (rNodes.GetEndOfPostIts().GetIndex() < pos)
{
// Footnotes
if (auto* p = node.FindFootnoteStartNode())
return p->GetIndex();
- return GetEndOfPostIts().GetIndex() + SwNodeOffset(1);
+ return rNodes.GetEndOfPostIts().GetIndex() + SwNodeOffset(1);
}
return SwNodeOffset(0);
}
-SwContentNode* SwNodes::GoPrevious(SwNodeIndex* pIdx, bool canCrossBoundary)
+static SwContentNode* goPrevious(const SwNodeIndex& rIdx, bool canCrossBoundary)
{
- if( !pIdx->GetIndex() )
- return nullptr;
+ const SwNodes& rNodes = rIdx.GetNodes();
+ const SwNodeOffset first(canCrossBoundary ? SwNodeOffset(0)
+ : startOfGlobalSection(rIdx.GetNode()));
+ for (SwNodeOffset i(rIdx.GetIndex() - 1); i > first; --i)
+ if (SwContentNode* pNd = rNodes[i]->GetContentNode())
+ return pNd;
- SwNodeIndex aTmp( *pIdx, -1 );
- SwNodeOffset aGlobalStart(
- canCrossBoundary ? SwNodeOffset(0) : aTmp.GetNodes().StartOfGlobalSection(pIdx->GetNode()));
- SwNode* pNd = nullptr;
- while (aTmp > aGlobalStart && !(pNd = &aTmp.GetNode())->IsContentNode())
- --aTmp;
+ return nullptr;
+}
- if (aTmp <= aGlobalStart)
- pNd = nullptr;
- else
- (*pIdx) = aTmp;
- return static_cast<SwContentNode*>(pNd);
+SwContentNode* SwNodes::GoPrevious(SwNodeIndex* pIdx, bool canCrossBoundary)
+{
+ SwContentNode* pNd = goPrevious(*pIdx, canCrossBoundary);
+ if (pNd)
+ *pIdx = *pNd;
+ return pNd;
}
SwContentNode* SwNodes::GoPrevious(SwPosition* pIdx, bool canCrossBoundary)
{
- if( !pIdx->GetNodeIndex() )
- return nullptr;
-
- SwNodeIndex aTmp( pIdx->GetNode(), -1 );
- SwNodeOffset aGlobalStart(
- canCrossBoundary ? SwNodeOffset(0) : aTmp.GetNodes().StartOfGlobalSection(pIdx->GetNode()));
- SwNode* pNd = nullptr;
- while( aTmp > aGlobalStart && !( pNd = &aTmp.GetNode())->IsContentNode() )
- --aTmp;
-
- if (aTmp <= aGlobalStart)
- pNd = nullptr;
- else
- pIdx->Assign(aTmp);
- return static_cast<SwContentNode*>(pNd);
+ SwContentNode* pNd = goPrevious(pIdx->nNode, canCrossBoundary);
+ if (pNd)
+ pIdx->AssignStartIndex(*pNd);
+ return pNd;
}
/** Delete a number of nodes
@@ -1972,6 +1956,47 @@ SwStartNode* SwNodes::MakeTextSection( const SwNode & rWhere,
return pSttNd;
}
+static bool shouldSkipSection(const SwSectionNode& rSectNode, bool bSkipHidden, bool bSkipProtect)
+{
+ const SwSection& rSect = rSectNode.GetSection();
+ return (bSkipHidden && rSect.CalcHiddenFlag()) || (bSkipProtect && rSect.IsProtectFlag());
+}
+
+static SwContentNode* goNextSection(const SwNode& rNode, bool bSkipHidden, bool bSkipProtect)
+{
+ const SwNodes& rNodes = rNode.GetNodes();
+ const SwNodeOffset last = rNodes.Count() - 1;
+ for (SwNodeOffset i(rNode.GetIndex()); i < last; ++i)
+ {
+ SwNode* pNd = rNodes[i];
+ if (SwSectionNode* pSectNd = pNd->GetSectionNode())
+ {
+ if (shouldSkipSection(*pSectNd, bSkipHidden, bSkipProtect))
+ // than skip the section
+ i = pSectNd->EndOfSectionIndex();
+ }
+ else if (i == rNode.GetIndex()) // The first iteration
+ {
+ if ((pSectNd = pNd->StartOfSectionNode()->GetSectionNode()))
+ if (shouldSkipSection(*pSectNd, bSkipHidden, bSkipProtect))
+ // than skip the section
+ i = pSectNd->EndOfSectionIndex();
+ }
+ else if (SwContentNode* pContentNode = pNd->GetContentNode())
+ {
+ if (bSkipHidden || bSkipProtect)
+ if ((pSectNd = pNd->FindSectionNode()))
+ if (shouldSkipSection(*pSectNd, bSkipHidden, bSkipProtect))
+ {
+ i = pSectNd->EndOfSectionIndex();
+ continue;
+ }
+ return pContentNode;
+ }
+ }
+ return nullptr;
+}
+
//TODO: provide better documentation
/** go to next section that is not protected nor hidden
*
@@ -1985,55 +2010,12 @@ SwStartNode* SwNodes::MakeTextSection( const SwNode & rWhere,
* @see SwNodes::GoPrevious
* @see SwNodes::GoNextSection (TODO: seems to be C&P programming here)
*/
-SwContentNode* SwNodes::GoNextSection( SwNodeIndex * pIdx,
- bool bSkipHidden, bool bSkipProtect ) const
+SwContentNode* SwNodes::GoNextSection(SwNodeIndex* pIdx, bool bSkipHidden, bool bSkipProtect)
{
- bool bFirst = true;
- SwNodeIndex aTmp( *pIdx );
- const SwNode* pNd;
- while( aTmp < Count() - 1 )
- {
- pNd = & aTmp.GetNode();
- if (SwNodeType::Section == pNd->GetNodeType())
- {
- const SwSection& rSect = static_cast<const SwSectionNode*>(pNd)->GetSection();
- if( (bSkipHidden && rSect.CalcHiddenFlag()) ||
- (bSkipProtect && rSect.IsProtectFlag()) )
- // than skip the section
- aTmp = *pNd->EndOfSectionNode();
- }
- else if( bFirst )
- {
- if( pNd->m_pStartOfSection->IsSectionNode() )
- {
- const SwSection& rSect = static_cast<SwSectionNode*>(pNd->
- m_pStartOfSection)->GetSection();
- if( (bSkipHidden && rSect.CalcHiddenFlag()) ||
- (bSkipProtect && rSect.IsProtectFlag()) )
- // than skip the section
- aTmp = *pNd->EndOfSectionNode();
- }
- }
- else if( SwNodeType::ContentMask & pNd->GetNodeType() )
- {
- const SwSectionNode* pSectNd;
- if( ( bSkipHidden || bSkipProtect ) &&
- nullptr != (pSectNd = pNd->FindSectionNode() ) &&
- ( ( bSkipHidden && pSectNd->GetSection().CalcHiddenFlag() ) ||
- ( bSkipProtect && pSectNd->GetSection().IsProtectFlag() )) )
- {
- aTmp = *pSectNd->EndOfSectionNode();
- }
- else
- {
- (*pIdx) = aTmp;
- return const_cast<SwContentNode*>(static_cast<const SwContentNode*>(pNd));
- }
- }
- ++aTmp;
- bFirst = false;
- }
- return nullptr;
+ SwContentNode* pNd = goNextSection(pIdx->GetNode(), bSkipHidden, bSkipProtect);
+ if (pNd)
+ *pIdx = *pNd;
+ return pNd;
}
//TODO: provide better documentation
@@ -2049,171 +2031,61 @@ SwContentNode* SwNodes::GoNextSection( SwNodeIndex * pIdx,
* @see SwNodes::GoPrevious
* @see SwNodes::GoNextSection (TODO: seems to be C&P programming here)
*/
-SwContentNode* SwNodes::GoNextSection( SwPosition * pIdx,
- bool bSkipHidden, bool bSkipProtect ) const
+SwContentNode* SwNodes::GoNextSection(SwPosition* pIdx, bool bSkipHidden, bool bSkipProtect)
{
- bool bFirst = true;
- SwNodeIndex aTmp( pIdx->GetNode() );
- const SwNode* pNd;
- while( aTmp < Count() - 1 )
- {
- pNd = & aTmp.GetNode();
- if (SwNodeType::Section == pNd->GetNodeType())
- {
- const SwSection& rSect = static_cast<const SwSectionNode*>(pNd)->GetSection();
- if( (bSkipHidden && rSect.IsHiddenFlag()) ||
- (bSkipProtect && rSect.IsProtectFlag()) )
- // than skip the section
- aTmp = *pNd->EndOfSectionNode();
- }
- else if( bFirst )
- {
- if( pNd->m_pStartOfSection->IsSectionNode() )
- {
- const SwSection& rSect = static_cast<SwSectionNode*>(pNd->
- m_pStartOfSection)->GetSection();
- if( (bSkipHidden && rSect.IsHiddenFlag()) ||
- (bSkipProtect && rSect.IsProtectFlag()) )
- // than skip the section
- aTmp = *pNd->EndOfSectionNode();
- }
- }
- else if( SwNodeType::ContentMask & pNd->GetNodeType() )
- {
- const SwSectionNode* pSectNd;
- if( ( bSkipHidden || bSkipProtect ) &&
- nullptr != (pSectNd = pNd->FindSectionNode() ) &&
- ( ( bSkipHidden && pSectNd->GetSection().IsHiddenFlag() ) ||
- ( bSkipProtect && pSectNd->GetSection().IsProtectFlag() )) )
- {
- aTmp = *pSectNd->EndOfSectionNode();
- }
- else
- {
- pIdx->Assign(aTmp);
- return const_cast<SwContentNode*>(static_cast<const SwContentNode*>(pNd));
- }
- }
- ++aTmp;
- bFirst = false;
- }
- return nullptr;
+ SwContentNode* pNd = goNextSection(pIdx->GetNode(), bSkipHidden, bSkipProtect);
+ if (pNd)
+ pIdx->AssignStartIndex(*pNd);
+ return pNd;
}
-///@see SwNodes::GoNextSection (TODO: seems to be C&P programming here)
-SwContentNode* SwNodes::GoPrevSection( SwNodeIndex * pIdx,
- bool bSkipHidden, bool bSkipProtect )
+static SwContentNode* goPrevSection(const SwNode& rNode, bool bSkipHidden, bool bSkipProtect)
{
- bool bFirst = true;
- SwNodeIndex aTmp( *pIdx );
- SwNodeOffset aGlobalStart(aTmp.GetNodes().StartOfGlobalSection(pIdx->GetNode()));
- const SwNode* pNd;
- while (aTmp > aGlobalStart)
+ const SwNodes& rNodes = rNode.GetNodes();
+ SwNodeOffset first(startOfGlobalSection(rNode));
+ for (SwNodeOffset i(rNode.GetIndex()); i > first; --i)
{
- pNd = & aTmp.GetNode();
- if (SwNodeType::End == pNd->GetNodeType())
+ SwNode* pNd = rNodes[i];
+ if (pNd->IsEndNode() || i == rNode.GetIndex() /* the first iteration */)
{
- if( pNd->m_pStartOfSection->IsSectionNode() )
+ if (SwSectionNode* pSectNd = pNd->StartOfSectionNode()->GetSectionNode())
{
- const SwSection& rSect = static_cast<SwSectionNode*>(pNd->
- m_pStartOfSection)->GetSection();
- if( (bSkipHidden && rSect.IsHiddenFlag()) ||
- (bSkipProtect && rSect.IsProtectFlag()) )
- // than skip section
- aTmp = *pNd->StartOfSectionNode();
+ if (shouldSkipSection(*pSectNd, bSkipHidden, bSkipProtect))
+ // then skip section
+ i = pSectNd->GetIndex();
}
- bFirst = false;
}
- else if( bFirst )
+ else if (SwContentNode* pContentNode = pNd->GetContentNode())
{
- bFirst = false;
- if( pNd->m_pStartOfSection->IsSectionNode() )
- {
- const SwSection& rSect = static_cast<SwSectionNode*>(pNd->
- m_pStartOfSection)->GetSection();
- if( (bSkipHidden && rSect.IsHiddenFlag()) ||
- (bSkipProtect && rSect.IsProtectFlag()) )
- // than skip section
- aTmp = *pNd->StartOfSectionNode();
- }
- }
- else if( SwNodeType::ContentMask & pNd->GetNodeType() )
- {
- const SwSectionNode* pSectNd;
- if( ( bSkipHidden || bSkipProtect ) &&
- nullptr != (pSectNd = pNd->FindSectionNode() ) &&
- ( ( bSkipHidden && pSectNd->GetSection().IsHiddenFlag() ) ||
- ( bSkipProtect && pSectNd->GetSection().IsProtectFlag() )) )
- {
- aTmp = *pSectNd;
- }
- else
- {
- (*pIdx) = aTmp;
- return const_cast<SwContentNode*>(static_cast<const SwContentNode*>(pNd));
- }
+ if (bSkipHidden || bSkipProtect)
+ if (const SwSectionNode* pSectNd = pNd->FindSectionNode())
+ if (shouldSkipSection(*pSectNd, bSkipHidden, bSkipProtect))
+ {
+ i = pSectNd->GetIndex();
+ continue;
+ }
+ return pContentNode;
}
- --aTmp;
}
return nullptr;
}
-///@see SwNodes::GoNextSection (TODO: seems to be C&P programming here)
-SwContentNode* SwNodes::GoPrevSection( SwPosition * pIdx,
- bool bSkipHidden, bool bSkipProtect )
+///@see SwNodes::GoNextSection
+SwContentNode* SwNodes::GoPrevSection(SwNodeIndex* pIdx, bool bSkipHidden, bool bSkipProtect)
{
- bool bFirst = true;
- SwNodeIndex aTmp( pIdx->GetNode() );
- SwNodeOffset aGlobalStart(aTmp.GetNodes().StartOfGlobalSection(pIdx->GetNode()));
- const SwNode* pNd;
- while (aTmp > aGlobalStart)
- {
- pNd = & aTmp.GetNode();
- if (SwNodeType::End == pNd->GetNodeType())
- {
- if( pNd->m_pStartOfSection->IsSectionNode() )
- {
- const SwSection& rSect = static_cast<SwSectionNode*>(pNd->
- m_pStartOfSection)->GetSection();
- if( (bSkipHidden && rSect.IsHiddenFlag()) ||
- (bSkipProtect && rSect.IsProtectFlag()) )
- // than skip section
- aTmp = *pNd->StartOfSectionNode();
- }
- bFirst = false;
- }
- else if( bFirst )
- {
- bFirst = false;
- if( pNd->m_pStartOfSection->IsSectionNode() )
- {
- const SwSection& rSect = static_cast<SwSectionNode*>(pNd->
- m_pStartOfSection)->GetSection();
- if( (bSkipHidden && rSect.IsHiddenFlag()) ||
- (bSkipProtect && rSect.IsProtectFlag()) )
- // than skip section
- aTmp = *pNd->StartOfSectionNode();
- }
- }
- else if( SwNodeType::ContentMask & pNd->GetNodeType() )
- {
- const SwSectionNode* pSectNd;
- if( ( bSkipHidden || bSkipProtect ) &&
- nullptr != (pSectNd = pNd->FindSectionNode() ) &&
- ( ( bSkipHidden && pSectNd->GetSection().IsHiddenFlag() ) ||
- ( bSkipProtect && pSectNd->GetSection().IsProtectFlag() )) )
- {
- aTmp = *pSectNd;
- }
- else
- {
- pIdx->Assign(aTmp);
- return const_cast<SwContentNode*>(static_cast<const SwContentNode*>(pNd));
- }
- }
- --aTmp;
- }
- return nullptr;
+ SwContentNode* pNd = goPrevSection(pIdx->GetNode(), bSkipHidden, bSkipProtect);
+ if (pNd)
+ *pIdx = *pNd;
+ return pNd;
+}
+
+///@see SwNodes::GoNextSection
+SwContentNode* SwNodes::GoPrevSection(SwPosition* pIdx, bool bSkipHidden, bool bSkipProtect)
+{
+ SwContentNode* pNd = goPrevSection(pIdx->GetNode(), bSkipHidden, bSkipProtect);
+ if (pNd)
+ pIdx->AssignStartIndex(*pNd);
+ return pNd;
}
//TODO: The inventor of the "single responsibility principle" will be crying if you ever show this code to him!
diff --git a/sw/source/core/docnode/section.cxx b/sw/source/core/docnode/section.cxx
index d655cf4acc8a..dd3dcdb9e98c 100644
--- a/sw/source/core/docnode/section.cxx
+++ b/sw/source/core/docnode/section.cxx
@@ -676,7 +676,7 @@ void SwSectionFormat::DelFrames()
// Paste of the Frame itself would need to do this. But that leads
// to subsequent errors, which we'd need to solve at run-time.
SwNodeIndex aNextNd( *pIdx );
- SwContentNode* pCNd = GetDoc()->GetNodes().GoNextSection( &aNextNd, true, false );
+ SwContentNode* pCNd = SwNodes::GoNextSection(&aNextNd, true, false);
if( pCNd )
{
const SfxPoolItem& rItem = pCNd->GetSwAttrSet().Get(RES_PAGEDESC);
diff --git a/sw/source/core/draw/dcontact.cxx b/sw/source/core/draw/dcontact.cxx
index 67af9dc54b5e..9ccd019181ea 100644
--- a/sw/source/core/draw/dcontact.cxx
+++ b/sw/source/core/draw/dcontact.cxx
@@ -1874,7 +1874,7 @@ void SwDrawContact::ConnectToLayout( const SwFormatAnchor* pAnch )
if ( pAnch->GetAnchorId() == RndStdIds::FLY_AT_FLY )
{
SwNodeIndex aIdx( *pAnch->GetAnchorNode() );
- SwContentNode* pCNd = pDrawFrameFormat->GetDoc()->GetNodes().GoNext( &aIdx );
+ SwContentNode* pCNd = SwNodes::GoNext(&aIdx);
if (SwIterator<SwFrame, SwContentNode, sw::IteratorMode::UnwrapMulti>(*pCNd).First())
pModify = pCNd;
else
diff --git a/sw/source/core/edit/acorrect.cxx b/sw/source/core/edit/acorrect.cxx
index 06ab1231ff40..75eaf62ee8e0 100644
--- a/sw/source/core/edit/acorrect.cxx
+++ b/sw/source/core/edit/acorrect.cxx
@@ -465,7 +465,7 @@ bool SwAutoCorrDoc::ChgAutoCorrWord( sal_Int32& rSttPos, sal_Int32 nEndPos,
SwDoc* pAutoDoc = aTBlks.GetDoc();
SwNodeIndex aSttIdx( pAutoDoc->GetNodes().GetEndOfExtras(), 1 );
- SwContentNode* pContentNd = pAutoDoc->GetNodes().GoNext( &aSttIdx );
+ SwContentNode* pContentNd = SwNodes::GoNext(&aSttIdx);
SwPaM aCpyPam( aSttIdx );
const SwTableNode* pTableNd = pContentNd->FindTableNode();
diff --git a/sw/source/core/edit/edatmisc.cxx b/sw/source/core/edit/edatmisc.cxx
index cfc465fce837..7cdd4c228546 100644
--- a/sw/source/core/edit/edatmisc.cxx
+++ b/sw/source/core/edit/edatmisc.cxx
@@ -74,7 +74,7 @@ void SwEditShell::GCAttr()
if( pNd->IsTextNode() )
static_cast<SwTextNode*>(pNd)->GCAttr();
}
- while( nullptr != ( pNd = GetDoc()->GetNodes().GoNext( &aIdx )) &&
+ while( nullptr != ( pNd = SwNodes::GoNext( &aIdx )) &&
aIdx <= rEnd );
}
}
diff --git a/sw/source/core/edit/edattr.cxx b/sw/source/core/edit/edattr.cxx
index c1137b499471..dc79e9c3c9d0 100644
--- a/sw/source/core/edit/edattr.cxx
+++ b/sw/source/core/edit/edattr.cxx
@@ -461,7 +461,7 @@ size_t SwEditShell::GetSeqFootnoteList( SwSeqFieldList& rList, bool bEndNotes )
SwNodeIndex aIdx( *pIdx, 1 );
SwTextNode* pTextNd = aIdx.GetNode().GetTextNode();
if( !pTextNd )
- pTextNd = static_cast<SwTextNode*>(mxDoc->GetNodes().GoNext( &aIdx ));
+ pTextNd = static_cast<SwTextNode*>(SwNodes::GoNext(&aIdx));
if( pTextNd )
{
diff --git a/sw/source/core/edit/edglbldc.cxx b/sw/source/core/edit/edglbldc.cxx
index 9e71db2fd62d..4f186680d049 100644
--- a/sw/source/core/edit/edglbldc.cxx
+++ b/sw/source/core/edit/edglbldc.cxx
@@ -338,10 +338,9 @@ void SwEditShell::GotoGlobalDocContent( const SwGlblDocContent& rPos )
SwPosition& rCursorPos = *pCursor->GetPoint();
rCursorPos.Assign(rPos.GetDocPos());
- SwDoc* pMyDoc = GetDoc();
SwContentNode * pCNd = rCursorPos.GetNode().GetContentNode();
if( !pCNd )
- pCNd = pMyDoc->GetNodes().GoNext( &rCursorPos );
+ pCNd = SwNodes::GoNext(&rCursorPos);
EndCursorMove();
}
diff --git a/sw/source/core/edit/edglss.cxx b/sw/source/core/edit/edglss.cxx
index 80310bab4f47..ea82906b18d2 100644
--- a/sw/source/core/edit/edglss.cxx
+++ b/sw/source/core/edit/edglss.cxx
@@ -99,7 +99,7 @@ sal_uInt16 SwEditShell::SaveGlossaryDoc( SwTextBlocks& rBlock,
SwPaM* pCursor = GetCursor();
SwNodeIndex aStt( pMyDoc->GetNodes().GetEndOfExtras(), 1 );
- SwContentNode* pContentNd = pMyDoc->GetNodes().GoNext( &aStt );
+ SwContentNode* pContentNd = SwNodes::GoNext(&aStt);
const SwNode* pNd = pContentNd->FindTableNode();
if( !pNd )
pNd = pContentNd;
@@ -124,7 +124,7 @@ sal_uInt16 SwEditShell::SaveGlossaryDoc( SwTextBlocks& rBlock,
if( rBlock.BeginPutDoc( rShortName, rName ) )
{
SwNodeIndex aStt( pMyDoc->GetNodes().GetEndOfExtras(), 1 );
- SwContentNode* pContentNd = pMyDoc->GetNodes().GoNext( &aStt );
+ SwContentNode* pContentNd = SwNodes::GoNext(&aStt);
const SwNode* pNd = pContentNd->FindTableNode();
if( !pNd ) pNd = pContentNd;
SwPaM aCpyPam( *pNd );
@@ -137,7 +137,7 @@ sal_uInt16 SwEditShell::SaveGlossaryDoc( SwTextBlocks& rBlock,
aCpyPam.GetPoint()->SetContent( pContentNd->Len() );
aStt = pGDoc->GetNodes().GetEndOfExtras();
- pContentNd = pGDoc->GetNodes().GoNext( &aStt );
+ pContentNd = SwNodes::GoNext(&aStt);
SwPosition aInsPos( aStt );
pMyDoc->getIDocumentContentOperations().CopyRange(aCpyPam, aInsPos, SwCopyFlags::CheckPosInFly);
diff --git a/sw/source/core/edit/editsh.cxx b/sw/source/core/edit/editsh.cxx
index 0400dc887169..5927681128f2 100644
--- a/sw/source/core/edit/editsh.cxx
+++ b/sw/source/core/edit/editsh.cxx
@@ -863,7 +863,7 @@ sal_Int32 SwEditShell::GetLineCount()
aStart = SwNodeOffset(0);
- while( nullptr != ( pCNd = GetDoc()->GetNodes().GoNextSection(
+ while (nullptr != (pCNd = SwNodes::GoNextSection(
&aStart, true, false )) )
{
if( nullptr != ( pContentFrame = pCNd->getLayoutFrame( GetLayout() ) ) && pContentFrame->IsTextFrame() )
diff --git a/sw/source/core/fields/cellfml.cxx b/sw/source/core/fields/cellfml.cxx
index 7c8179f672cb..7a43f9a5e7cc 100644
--- a/sw/source/core/fields/cellfml.cxx
+++ b/sw/source/core/fields/cellfml.cxx
@@ -772,7 +772,7 @@ const SwTable* SwTableFormula::FindTable( SwDoc& rDoc, std::u16string_view rNm )
static const SwFrame* lcl_GetBoxFrame( const SwTableBox& rBox )
{
SwNodeIndex aIdx( *rBox.GetSttNd() );
- SwContentNode* pCNd = aIdx.GetNodes().GoNext( &aIdx );
+ SwContentNode* pCNd = SwNodes::GoNext(&aIdx);
OSL_ENSURE( pCNd, "Box has no TextNode" );
Point aPt; // get the first frame of the layout - table headline
std::pair<Point, bool> const tmp(aPt, false);
diff --git a/sw/source/core/fields/expfld.cxx b/sw/source/core/fields/expfld.cxx
index 6ed4cdb7c125..c764f898d93f 100644
--- a/sw/source/core/fields/expfld.cxx
+++ b/sw/source/core/fields/expfld.cxx
@@ -142,7 +142,7 @@ static SwTextNode* GetFirstTextNode( const SwDoc& rDoc, SwPosition& rPos,
const SwNodes& rNodes = rDoc.GetNodes();
rPos.Assign( *rNodes.GetEndOfContent().StartOfSectionNode() );
SwContentNode* pCNd;
- while( nullptr != (pCNd = rNodes.GoNext( &rPos ) ) &&
+ while( nullptr != (pCNd = SwNodes::GoNext( &rPos ) ) &&
nullptr == ( pTextNode = pCNd->GetTextNode() ) )
;
OSL_ENSURE( pTextNode, "Where is the 1. TextNode?" );
diff --git a/sw/source/core/fields/reffld.cxx b/sw/source/core/fields/reffld.cxx
index 0ee26771bb2c..0ee5b7c9fb62 100644
--- a/sw/source/core/fields/reffld.cxx
+++ b/sw/source/core/fields/reffld.cxx
@@ -1360,7 +1360,7 @@ SwTextNode* SwGetRefFieldType::FindAnchor(SwDoc* pDoc, const OUString& rRefMark,
SwNodeIndex aIdx( *pIdx, 1 );
pTextNd = aIdx.GetNode().GetTextNode();
if( nullptr == pTextNd )
- pTextNd = static_cast<SwTextNode*>(pDoc->GetNodes().GoNext( &aIdx ));
+ pTextNd = static_cast<SwTextNode*>(SwNodes::GoNext(&aIdx));
}
*pStt = 0;
if( pEnd )
@@ -1391,8 +1391,7 @@ SwTextNode* SwGetRefFieldType::FindAnchor(SwDoc* pDoc, const OUString& rRefMark,
SwNodeIndex aIdx(*pIdx, 1);
SwTextNode* pFootnoteNode = aIdx.GetNode().GetTextNode();
if (nullptr == pFootnoteNode)
- pFootnoteNode
- = static_cast<SwTextNode*>(pDoc->GetNodes().GoNext(&aIdx));
+ pFootnoteNode = static_cast<SwTextNode*>(SwNodes::GoNext(&aIdx));
if (*pSelf == *pFootnoteNode)
{
diff --git a/sw/source/core/frmedt/fecopy.cxx b/sw/source/core/frmedt/fecopy.cxx
index b8f6c45c5bb6..784c6bf84023 100644
--- a/sw/source/core/frmedt/fecopy.cxx
+++ b/sw/source/core/frmedt/fecopy.cxx
@@ -1009,7 +1009,7 @@ bool SwFEShell::Paste(SwDoc& rClpDoc, bool bNestedTable)
{
// exit first the complete table
// ???? what about only table in a frame ?????
- SwContentNode* pCNd = GetDoc()->GetNodes().GoNext( &aNdIdx );
+ SwContentNode* pCNd = SwNodes::GoNext(&aNdIdx);
SwPosition aPos( aNdIdx, pCNd, 0 );
// #i59539: Don't remove all redline
SwPaM const tmpPaM(*pDestNd, *pDestNd->EndOfSectionNode());
@@ -1024,7 +1024,7 @@ bool SwFEShell::Paste(SwDoc& rClpDoc, bool bNestedTable)
{
// return to the box
aNdIdx = *pSttNd;
- SwContentNode* pCNd = GetDoc()->GetNodes().GoNext( &aNdIdx );
+ SwContentNode* pCNd = SwNodes::GoNext(&aNdIdx);
SwPosition aPos( aNdIdx, pCNd, 0 );
// #i59539: Don't remove all redline
SwNode & rNode(rPaM.GetPoint()->GetNode());
diff --git a/sw/source/core/frmedt/fetab.cxx b/sw/source/core/frmedt/fetab.cxx
index 33b9c9327b6d..7bf0ccc7fa72 100644
--- a/sw/source/core/frmedt/fetab.cxx
+++ b/sw/source/core/frmedt/fetab.cxx
@@ -583,7 +583,7 @@ bool SwFEShell::DeleteRow(bool bCompleteTable)
SwNodeIndex aIdx( GetDoc()->GetNodes(), nIdx );
SwContentNode* pCNd = aIdx.GetNode().GetContentNode();
if( !pCNd )
- pCNd = GetDoc()->GetNodes().GoNext( &aIdx );
+ pCNd = SwNodes::GoNext(&aIdx);
// remove row frames in Hide Changes mode (and table frames, if needed)
if ( bRecordAndHideChanges )
@@ -1361,7 +1361,7 @@ bool SwFEShell::IsAdjustCellWidthAllowed( bool bBalance ) const
SwNodeIndex aIdx( *pBox->GetSttNd(), 1 );
SwTextNode* pCNd = aIdx.GetNode().GetTextNode();
if( !pCNd )
- pCNd = static_cast<SwTextNode*>(GetDoc()->GetNodes().GoNext( &aIdx ));
+ pCNd = static_cast<SwTextNode*>(SwNodes::GoNext(&aIdx));
while ( pCNd )
{
diff --git a/sw/source/core/frmedt/tblsel.cxx b/sw/source/core/frmedt/tblsel.cxx
index 095fc767224c..669762ffacc3 100644
--- a/sw/source/core/frmedt/tblsel.cxx
+++ b/sw/source/core/frmedt/tblsel.cxx
@@ -433,7 +433,7 @@ bool ChkChartSel( const SwNode& rSttNd, const SwNode& rEndNd )
SwNodeIndex aIdx( rSttNd );
const SwContentNode* pCNd = aIdx.GetNode().GetContentNode();
if( !pCNd )
- pCNd = aIdx.GetNodes().GoNextSection( &aIdx, false, false );
+ pCNd = SwNodes::GoNextSection(&aIdx, false, false);
// if table is invisible, return
// (layout needed for forming table selection further down, so we can't
@@ -453,7 +453,7 @@ bool ChkChartSel( const SwNode& rSttNd, const SwNode& rEndNd )
aIdx = rEndNd;
pCNd = aIdx.GetNode().GetContentNode();
if( !pCNd )
- pCNd = aIdx.GetNodes().GoNextSection( &aIdx, false, false );
+ pCNd = SwNodes::GoNextSection(&aIdx, false, false);
// #i22135# - Robust: check, if content was found and if it's visible
if ( !pCNd || pCNd->getLayoutFrame( pCNd->GetDoc().getIDocumentLayoutAccess().GetCurrentLayout() ) == nullptr )
diff --git a/sw/source/core/layout/atrfrm.cxx b/sw/source/core/layout/atrfrm.cxx
index f657aa195066..663da028cb15 100644
--- a/sw/source/core/layout/atrfrm.cxx
+++ b/sw/source/core/layout/atrfrm.cxx
@@ -3014,7 +3014,7 @@ void SwFlyFrameFormat::MakeFrames()
//In such a situation we also need to search from StartNode to
//FrameFormat.
SwNodeIndex aIdx( *aAnchorAttr.GetAnchorNode() );
- SwContentNode *pCNd = GetDoc()->GetNodes().GoNext( &aIdx );
+ SwContentNode* pCNd = SwNodes::GoNext(&aIdx);
// #i105535#
if ( pCNd == nullptr )
{
diff --git a/sw/source/core/layout/flylay.cxx b/sw/source/core/layout/flylay.cxx
index 7ac95d65e0d8..11d40892ab35 100644
--- a/sw/source/core/layout/flylay.cxx
+++ b/sw/source/core/layout/flylay.cxx
@@ -787,7 +787,7 @@ void SwFlyLayFrame::SwClientNotify(const SwModify& rMod, const SfxHint& rHint)
else
{
SwNodeIndex aIdx(*pAnch->GetAnchorNode());
- SwContentFrame* pContent = GetFormat()->GetDoc()->GetNodes().GoNext(&aIdx)->
+ SwContentFrame* pContent = SwNodes::GoNext(&aIdx)->
GetContentNode()->getLayoutFrame(getRootFrame(), nullptr, nullptr);
if(pContent)
{
diff --git a/sw/source/core/layout/ftnfrm.cxx b/sw/source/core/layout/ftnfrm.cxx
index 2c8583f85b65..e3b3adf819eb 100644
--- a/sw/source/core/layout/ftnfrm.cxx
+++ b/sw/source/core/layout/ftnfrm.cxx
@@ -1235,8 +1235,7 @@ void SwFootnoteBossFrame::ResetFootnote( const SwFootnoteFrame *pCheck )
SwNodeIndex aIdx( *pCheck->GetAttr()->GetStartNode(), 1 );
SwContentNode *pNd = aIdx.GetNode().GetContentNode();
if ( !pNd )
- pNd = pCheck->GetFormat()->GetDoc()->
- GetNodes().GoNextSection( &aIdx, true, false );
+ pNd = SwNodes::GoNextSection(&aIdx, true, false);
SwIterator<SwFrame, SwContentNode, sw::IteratorMode::UnwrapMulti> aIter(*pNd);
SwFrame* pFrame = aIter.First();
while( pFrame )
@@ -1735,8 +1734,7 @@ SwFootnoteFrame *SwFootnoteBossFrame::FindFootnote( const SwContentFrame *pRef,
SwNodeIndex aIdx( *pAttr->GetStartNode(), 1 );
SwContentNode *pNd = aIdx.GetNode().GetContentNode();
if ( !pNd )
- pNd = pRef->GetAttrSet()->GetDoc()->
- GetNodes().GoNextSection( &aIdx, true, false );
+ pNd = SwNodes::GoNextSection(&aIdx, true, false);
if ( !pNd )
return nullptr;
SwIterator<SwFrame, SwContentNode, sw::IteratorMode::UnwrapMulti> aIter(*pNd);
diff --git a/sw/source/core/layout/newfrm.cxx b/sw/source/core/layout/newfrm.cxx
index 8965441cc068..ef0701bf7e1e 100644
--- a/sw/source/core/layout/newfrm.cxx
+++ b/sw/source/core/layout/newfrm.cxx
@@ -465,7 +465,7 @@ void SwRootFrame::Init( SwFrameFormat* pFormat )
SwDoc* pDoc = pFormat->GetDoc();
SwNodeIndex aIndex( *pDoc->GetNodes().GetEndOfContent().StartOfSectionNode() );
- SwContentNode *pNode = pDoc->GetNodes().GoNextSection( &aIndex, true, false );
+ SwContentNode* pNode = SwNodes::GoNextSection(&aIndex, true, false);
// #123067# pNode = 0 can really happen
SwTableNode *pTableNd= pNode ? pNode->FindTableNode() : nullptr;
diff --git a/sw/source/core/table/swtable.cxx b/sw/source/core/table/swtable.cxx
index 6646737aeb03..bc32a108d792 100644
--- a/sw/source/core/table/swtable.cxx
+++ b/sw/source/core/table/swtable.cxx
@@ -137,7 +137,7 @@ void InsTableBox( SwDoc& rDoc, SwTableNode* pTableNd,
SwNodeIndex aIdx( *pBox->GetSttNd(), +1 );
SwContentNode* pCNd = aIdx.GetNode().GetContentNode();
if( !pCNd )
- pCNd = rDoc.GetNodes().GoNext( &aIdx );
+ pCNd = SwNodes::GoNext(&aIdx);
OSL_ENSURE( pCNd, "Box with no content node" );
if( pCNd->IsTextNode() )
diff --git a/sw/source/core/txtnode/atrflyin.cxx b/sw/source/core/txtnode/atrflyin.cxx
index 8b5d1b6352f9..46eadd373506 100644
--- a/sw/source/core/txtnode/atrflyin.cxx
+++ b/sw/source/core/txtnode/atrflyin.cxx
@@ -124,7 +124,7 @@ void SwTextFlyCnt::CopyFlyFormat( SwDoc& rDoc )
SwNodeIndex aIdx( rDoc.GetNodes().GetEndOfExtras(), +2 );
SwContentNode* pCNd = aIdx.GetNode().GetContentNode();
if( !pCNd )
- pCNd = rDoc.GetNodes().GoNext( &aIdx );
+ pCNd = SwNodes::GoNext(&aIdx);
SwPosition pos(aIdx.GetNode());
aAnchor.SetAnchor( &pos );
diff --git a/sw/source/core/txtnode/atrftn.cxx b/sw/source/core/txtnode/atrftn.cxx
index a4c9e05fc063..abc7ba89d114 100644
--- a/sw/source/core/txtnode/atrftn.cxx
+++ b/sw/source/core/txtnode/atrftn.cxx
@@ -197,7 +197,7 @@ OUString SwFormatFootnote::GetFootnoteText(SwRootFrame const& rLayout) const
SwNodeIndex aIdx( *m_pTextAttr->GetStartNode(), 1 );
SwContentNode* pCNd = aIdx.GetNode().GetTextNode();
if( !pCNd )
- pCNd = aIdx.GetNodes().GoNext( &aIdx );
+ pCNd = SwNodes::GoNext(&aIdx);
if( pCNd->IsTextNode() ) {
buf.append(static_cast<SwTextNode*>(pCNd)->GetExpandText(&rLayout));
@@ -508,7 +508,7 @@ void SwTextFootnote::DelFrames(SwRootFrame const*const pRoot)
return;
SwNodeIndex aIdx( *m_oStartNode );
- SwContentNode* pCNd = m_pTextNode->GetNodes().GoNext( &aIdx );
+ SwContentNode* pCNd = SwNodes::GoNext(&aIdx);
if( !pCNd )
return;
diff --git a/sw/source/core/txtnode/ndtxt.cxx b/sw/source/core/txtnode/ndtxt.cxx
index 45a4177fc67c..0a54b140b68c 100644
--- a/sw/source/core/txtnode/ndtxt.cxx
+++ b/sw/source/core/txtnode/ndtxt.cxx
@@ -324,8 +324,7 @@ static void lcl_ChangeFootnoteRef( SwTextNode &rNode )
SwNodeIndex aIdx( *pAttr->GetStartNode(), 1 );
SwContentNode *pNd = aIdx.GetNode().GetContentNode();
if ( !pNd )
- pNd = pFrame->GetAttrSet()->GetDoc()->
- GetNodes().GoNextSection( &aIdx, true, false );
+ pNd = SwNodes::GoNextSection(&aIdx, true, false);
if ( !pNd )
continue;
diff --git a/sw/source/core/undo/undobj.cxx b/sw/source/core/undo/undobj.cxx
index ce27962aa3ec..9e057d73e256 100644
--- a/sw/source/core/undo/undobj.cxx
+++ b/sw/source/core/undo/undobj.cxx
@@ -1617,9 +1617,8 @@ static bool IsAtEndOfSection(SwPosition const& rAnchorPos)
static bool IsAtStartOfSection(SwPosition const& rAnchorPos)
{
- SwNodes const& rNodes(rAnchorPos.GetNodes());
SwNodeIndex node(*rAnchorPos.GetNode().StartOfSectionNode());
- SwContentNode *const pNode(rNodes.GoNext(&node));
+ SwContentNode* const pNode(SwNodes::GoNext(&node));
assert(pNode);
(void) pNode;
assert(node <= rAnchorPos.GetNode());
diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx
index 72f1c809e227..e38abcecd000 100644
--- a/sw/source/core/undo/untbl.cxx
+++ b/sw/source/core/undo/untbl.cxx
@@ -674,7 +674,7 @@ void SwUndoTableToText::RedoImpl(::sw::UndoRedoContext & rContext)
++aSaveIdx;
SwContentNode* pCNd = aSaveIdx.GetNode().GetContentNode();
- if( !pCNd && nullptr == ( pCNd = rDoc.GetNodes().GoNext( &aSaveIdx ) ) &&
+ if( !pCNd && nullptr == ( pCNd = SwNodes::GoNext( &aSaveIdx ) ) &&
nullptr == ( pCNd = SwNodes::GoPrevious( &aSaveIdx )) )
{
OSL_FAIL( "Where is the TextNode now?" );
@@ -2041,7 +2041,7 @@ void SwUndoTableMerge::SaveCollection( const SwTableBox& rBox )
SwNodeIndex aIdx( *rBox.GetSttNd(), 1 );
SwContentNode* pCNd = aIdx.GetNode().GetContentNode();
if( !pCNd )
- pCNd = aIdx.GetNodes().GoNext( &aIdx );
+ pCNd = SwNodes::GoNext(&aIdx);
m_pHistory->AddColl(pCNd->GetFormatColl(), aIdx.GetIndex(), pCNd->GetNodeType());
if( pCNd->HasSwAttrSet() )
@@ -2300,7 +2300,7 @@ void SwUndoTableNumFormat::RedoImpl(::sw::UndoRedoContext & rContext)
}
if( !pNd->IsContentNode() )
- pNd = rDoc.GetNodes().GoNext( pPam->GetPoint() );
+ pNd = SwNodes::GoNext(pPam->GetPoint());
}
void SwUndoTableNumFormat::SetBox( const SwTableBox& rBox )
@@ -3002,7 +3002,7 @@ void SwUndoMergeTable::UndoImpl(::sw::UndoRedoContext & rContext)
pNew->MakeOwnFrames();
// position cursor somewhere in content
- pDoc->GetNodes().GoNext( &rPtPos );
+ SwNodes::GoNext(&rPtPos);
ClearFEShellTabCols(*pDoc, nullptr);
diff --git a/sw/source/core/unocore/unochart.cxx b/sw/source/core/unocore/unochart.cxx
index cf75c108c83d..0d2b2614d788 100644
--- a/sw/source/core/unocore/unochart.cxx
+++ b/sw/source/core/unocore/unochart.cxx
@@ -2352,7 +2352,7 @@ bool SwChartDataSequence::DeleteBox( const SwTableBox &rBox )
// therefore call GoNext
SwContentNode *pCNd = aIdx.GetNode().GetContentNode();
if (!pCNd)
- pCNd = GetFrameFormat()->GetDoc()->GetNodes().GoNext( &aIdx );
+ pCNd = SwNodes::GoNext(&aIdx);
// and then one can e.g. create a SwPosition:
SwPosition aNewPos( *pCNd ); // new position to be used with cursor
diff --git a/sw/source/core/unocore/unocrsr.cxx b/sw/source/core/unocore/unocrsr.cxx
index 6c1006673283..c5258b5790c7 100644
--- a/sw/source/core/unocore/unocrsr.cxx
+++ b/sw/source/core/unocore/unocrsr.cxx
@@ -118,7 +118,7 @@ bool SwUnoCursor::IsSelOvr( SwCursorSelOverFlags eFlags )
rPtPos.Assign( *pInvalidNode->EndOfSectionNode(), 1 );
if( !rPtPos.GetNode().IsContentNode() &&
- ( !rDoc.GetNodes().GoNextSection( &rPtPos ) ||
+ ( !SwNodes::GoNextSection( &rPtPos ) ||
rPtPos.GetNode() > *pOldSttNd->EndOfSectionNode() ) )
break;
}
diff --git a/sw/source/core/unocore/unoframe.cxx b/sw/source/core/unocore/unoframe.cxx
index e2b8930fa889..8e3132d2e8b8 100644
--- a/sw/source/core/unocore/unoframe.cxx
+++ b/sw/source/core/unocore/unoframe.cxx
@@ -3309,7 +3309,7 @@ rtl::Reference<SwXTextCursor> SwXTextFrame::createXTextCursor()
while( pTableNode )
{
aPam.GetPoint()->Assign( *pTableNode->EndOfSectionNode() );
- SwContentNode* pCont = GetDoc()->GetNodes().GoNext(aPam.GetPoint());
+ SwContentNode* pCont = SwNodes::GoNext(aPam.GetPoint());
pTableNode = pCont->FindTableNode();
}
diff --git a/sw/source/core/unocore/unoobj.cxx b/sw/source/core/unocore/unoobj.cxx
index 878f4765dd70..3c5f34f1940a 100644
--- a/sw/source/core/unocore/unoobj.cxx
+++ b/sw/source/core/unocore/unoobj.cxx
@@ -1075,7 +1075,7 @@ SwXTextCursor::gotoStart(sal_Bool Expand)
while (pTableNode)
{
rUnoCursor.GetPoint()->Assign( *pTableNode->EndOfSectionNode() );
- SwContentNode* pCNode = GetDoc()->GetNodes().GoNext(rUnoCursor.GetPoint());
+ SwContentNode* pCNode = SwNodes::GoNext(rUnoCursor.GetPoint());
pTableNode = pCNode ? pCNode->FindTableNode() : nullptr;
}
SwStartNode const*const pTmp =
@@ -1086,7 +1086,7 @@ SwXTextCursor::gotoStart(sal_Bool Expand)
static_cast<SwSectionNode const*>(pTmp);
if (pSectionStartNode->GetSection().IsHiddenFlag())
{
- GetDoc()->GetNodes().GoNextSection(
+ SwNodes::GoNextSection(
rUnoCursor.GetPoint(), true, false);
}
}
diff --git a/sw/source/core/unocore/unoredline.cxx b/sw/source/core/unocore/unoredline.cxx
index 2ac7eebf5695..86c7d3da1154 100644
--- a/sw/source/core/unocore/unoredline.cxx
+++ b/sw/source/core/unocore/unoredline.cxx
@@ -111,7 +111,7 @@ rtl::Reference< SwXTextCursor > SwXRedlineText::createXTextCursor()
while( pTableNode != nullptr )
{
rUnoCursor.GetPoint()->Assign( *pTableNode->EndOfSectionNode() );
- SwContentNode* pContentNode = GetDoc()->GetNodes().GoNext(rUnoCursor.GetPoint());
+ SwContentNode* pContentNode = SwNodes::GoNext(rUnoCursor.GetPoint());
pTableNode = pContentNode->FindTableNode();
}
if( bTable && rUnoCursor.GetPointNode().FindSttNodeByType( SwNormalStartNode )
@@ -544,7 +544,7 @@ rtl::Reference< SwXTextCursor > SwXRedline::createXTextCursor()
while( pTableNode )
{
rUnoCursor.GetPoint()->Assign( *pTableNode->EndOfSectionNode() );
- SwContentNode* pCont = GetDoc()->GetNodes().GoNext(rUnoCursor.GetPoint());
+ SwContentNode* pCont = SwNodes::GoNext(rUnoCursor.GetPoint());
pTableNode = pCont->FindTableNode();
}
diff --git a/sw/source/core/unocore/unotext.cxx b/sw/source/core/unocore/unotext.cxx
index 93603d6d407d..1d2da4140eab 100644
--- a/sw/source/core/unocore/unotext.cxx
+++ b/sw/source/core/unocore/unotext.cxx
@@ -2410,7 +2410,7 @@ rtl::Reference<SwXTextCursor> SwXBodyText::CreateTextCursor(const bool bIgnoreTa
while (pTableNode)
{
aPam.GetPoint()->Assign( *pTableNode->EndOfSectionNode() );
- SwContentNode* pCont = GetDoc()->GetNodes().GoNext(aPam.GetPoint());
+ SwContentNode* pCont = SwNodes::GoNext(aPam.GetPoint());
pTableNode = pCont->FindTableNode();
}
}
@@ -2633,7 +2633,7 @@ rtl::Reference<SwXTextCursor> SwXHeadFootText::CreateTextCursor(const bool bIgno
while (pTableNode)
{
rUnoCursor.GetPoint()->Assign(*pTableNode->EndOfSectionNode());
- SwContentNode* pCont = GetDoc()->GetNodes().GoNext(rUnoCursor.GetPoint());
+ SwContentNode* pCont = SwNodes::GoNext(rUnoCursor.GetPoint());
pTableNode = pCont->FindTableNode();
}
}
diff --git a/sw/source/core/view/vprint.cxx b/sw/source/core/view/vprint.cxx
index 5975cf498b9b..f59273799ca7 100644
--- a/sw/source/core/view/vprint.cxx
+++ b/sw/source/core/view/vprint.cxx
@@ -366,7 +366,7 @@ void SwViewShell::FillPrtDoc( SwDoc& rPrtDoc, const SfxPrinter* pPrt)
if( !pFESh->IsTableMode() && pActCursor && pActCursor->HasMark() )
{ // Tweak paragraph attributes of last paragraph
SwNodeIndex aNodeIdx( *rPrtDoc.GetNodes().GetEndOfContent().StartOfSectionNode() );
- SwTextNode* pTextNd = rPrtDoc.GetNodes().GoNext( &aNodeIdx )->GetTextNode();
+ SwTextNode* pTextNd = SwNodes::GoNext(&aNodeIdx)->GetTextNode();
SwContentNode *pLastNd =
(*pActCursor->GetMark()) <= (*pActCursor->GetPoint())
? pActCursor->GetPointContentNode()
@@ -382,7 +382,7 @@ void SwViewShell::FillPrtDoc( SwDoc& rPrtDoc, const SfxPrinter* pPrt)
// set the page style at the first paragraph
{
SwNodeIndex aNodeIdx( *rPrtDoc.GetNodes().GetEndOfContent().StartOfSectionNode() );
- SwContentNode* pCNd = rPrtDoc.GetNodes().GoNext( &aNodeIdx ); // go to 1st ContentNode
+ SwContentNode* pCNd = SwNodes::GoNext(&aNodeIdx); // go to 1st ContentNode
if( pFESh->IsTableMode() )
{
SwTableNode* pTNd = pCNd->FindTableNode();
diff --git a/sw/source/filter/basflt/fltshell.cxx b/sw/source/filter/basflt/fltshell.cxx
index 901614897f18..aa11df926e9e 100644
--- a/sw/source/filter/basflt/fltshell.cxx
+++ b/sw/source/filter/basflt/fltshell.cxx
@@ -51,14 +51,13 @@
using namespace com::sun::star;
-static SwContentNode* GetContentNode(SwDoc& rDoc, SwPosition& rPos, bool bNext)
+static SwContentNode* GetContentNode(SwPosition& rPos, bool bNext)
{
SwContentNode * pCNd = rPos.GetNode().GetContentNode();
- if(!pCNd && nullptr == (pCNd = bNext ? rDoc.GetNodes().GoNext(&rPos)
+ if (!pCNd && nullptr == (pCNd = bNext ? SwNodes::GoNext(&rPos)
: SwNodes::GoPrevious(&rPos)))
{
- pCNd = bNext ? SwNodes::GoPrevious(&rPos)
- : rDoc.GetNodes().GoNext(&rPos);
+ pCNd = bNext ? SwNodes::GoPrevious(&rPos) : SwNodes::GoNext(&rPos);
OSL_ENSURE(pCNd, "no ContentNode found");
}
return pCNd;
@@ -102,7 +101,7 @@ void SwFltStackEntry::SetEndPos(const SwPosition& rEndPos)
m_aPtPos.FromSwPosition(rEndPos);
}
-bool SwFltStackEntry::MakeRegion(SwDoc& rDoc, SwPaM& rRegion, RegionMode const eCheck,
+bool SwFltStackEntry::MakeRegion(SwPaM& rRegion, RegionMode const eCheck,
const SwFltPosition &rMkPos, const SwFltPosition &rPtPos,
sal_uInt16 nWhich)
{
@@ -124,7 +123,7 @@ bool SwFltStackEntry::MakeRegion(SwDoc& rDoc, SwPaM& rRegion, RegionMode const e
}
// The content indices always apply to the node!
rRegion.GetPoint()->Assign( rMkPos.m_nNode.GetIndex() + 1 );
- SwContentNode* pCNd = GetContentNode(rDoc, *rRegion.GetPoint(), true);
+ SwContentNode* pCNd = GetContentNode(*rRegion.GetPoint(), true);
SAL_WARN_IF(pCNd->Len() < rMkPos.m_nContent, "sw.ww8",
"invalid content index " << rMkPos.m_nContent << " but text node has only " << pCNd->Len());
@@ -137,7 +136,7 @@ bool SwFltStackEntry::MakeRegion(SwDoc& rDoc, SwPaM& rRegion, RegionMode const e
if (n >= rNodes.Count())
return false;
rRegion.GetPoint()->Assign(n);
- pCNd = GetContentNode(rDoc, *rRegion.GetPoint(), false);
+ pCNd = GetContentNode(*rRegion.GetPoint(), false);
}
SAL_WARN_IF(pCNd->Len() < rPtPos.m_nContent, "sw.ww8",
"invalid content index " << rPtPos.m_nContent << " but text node has only " << pCNd->Len());
@@ -158,9 +157,9 @@ bool SwFltStackEntry::MakeRegion(SwDoc& rDoc, SwPaM& rRegion, RegionMode const e
return bRet;
}
-bool SwFltStackEntry::MakeRegion(SwDoc& rDoc, SwPaM& rRegion, RegionMode eCheck) const
+bool SwFltStackEntry::MakeRegion(SwPaM& rRegion, RegionMode eCheck) const
{
- return MakeRegion(rDoc, rRegion, eCheck, m_aMkPos, m_aPtPos, m_pAttr->Which());
+ return MakeRegion(rRegion, eCheck, m_aMkPos, m_aPtPos, m_pAttr->Which());
}
SwFltControlStack::SwFltControlStack(SwDoc& rDo, sal_uLong nFieldFl)
@@ -423,8 +422,7 @@ SwFltStackEntry* SwFltControlStack::SetAttr(const SwPosition& rPos,
return pRet;
}
-static bool MakePoint(const SwFltStackEntry& rEntry, SwDoc& rDoc,
- SwPaM& rRegion)
+static bool MakePoint(const SwFltStackEntry& rEntry, SwPaM& rRegion)
{
// the anchor is the Pam's Point. It's modified when inserting
// text, etc.; therefore it is kept on the stack. Only the
@@ -437,7 +435,7 @@ static bool MakePoint(const SwFltStackEntry& rEntry, SwDoc& rDoc,
return false;
rRegion.GetPoint()->Assign(nMk);
- GetContentNode(rDoc, *rRegion.GetPoint(), true);
+ GetContentNode(*rRegion.GetPoint(), true);
rRegion.GetPoint()->SetContent(rEntry.m_aMkPos.m_nContent);
return true;
}
@@ -445,10 +443,9 @@ static bool MakePoint(const SwFltStackEntry& rEntry, SwDoc& rDoc,
// MakeBookRegionOrPoint() behaves like MakeRegionOrPoint, except that
// it adheres to certain restrictions on bookmarks in tables (cannot
// span more than one cell)
-static bool MakeBookRegionOrPoint(const SwFltStackEntry& rEntry, SwDoc& rDoc,
- SwPaM& rRegion )
+static bool MakeBookRegionOrPoint(const SwFltStackEntry& rEntry, SwPaM& rRegion )
{
- if (rEntry.MakeRegion(rDoc, rRegion, SwFltStackEntry::RegionMode::CheckNodes))
+ if (rEntry.MakeRegion(rRegion, SwFltStackEntry::RegionMode::CheckNodes))
{
if (rRegion.GetPoint()->GetNode().FindTableBoxStartNode()
!= rRegion.GetMark()->GetNode().FindTableBoxStartNode())
@@ -458,7 +455,7 @@ static bool MakeBookRegionOrPoint(const SwFltStackEntry& rEntry, SwDoc& rDoc,
}
return true;
}
- return MakePoint(rEntry, rDoc, rRegion);
+ return MakePoint(rEntry, rRegion);
}
// IterateNumrulePiece() looks for the first range valid for Numrules
@@ -499,7 +496,7 @@ void SwFltControlStack::SetAttrInDoc(const SwPosition& rTmpPos,
SwFrameFormat* pFormat = static_cast<SwFltAnchor*>(rEntry.m_pAttr.get())->GetFrameFormat();
if (pFormat != nullptr)
{
- MakePoint(rEntry, m_rDoc, aRegion);
+ MakePoint(rEntry, aRegion);
SwFormatAnchor aAnchor(pFormat->GetAnchor());
aAnchor.SetAnchor(aRegion.GetPoint());
pFormat->SetFormatAttr(aAnchor);
@@ -528,7 +525,7 @@ void SwFltControlStack::SetAttrInDoc(const SwPosition& rTmpPos,
SwNumRule* pNumRule = m_rDoc.FindNumRulePtr( rNumNm );
if( pNumRule )
{
- if (rEntry.MakeRegion(m_rDoc, aRegion, SwFltStackEntry::RegionMode::CheckNodes))
+ if (rEntry.MakeRegion(aRegion, SwFltStackEntry::RegionMode::CheckNodes))
{
SwNodeIndex aTmpStart( aRegion.Start()->GetNode() );
SwNodeIndex aTmpEnd( aTmpStart );
@@ -565,14 +562,14 @@ void SwFltControlStack::SetAttrInDoc(const SwPosition& rTmpPos,
}
SwSetExpField aField(static_cast<SwSetExpFieldType*>(pFT), pB->GetValSys());
aField.SetSubType( nsSwExtendedSubType::SUB_INVISIBLE );
- MakePoint(rEntry, m_rDoc, aRegion);
+ MakePoint(rEntry, aRegion);
m_rDoc.getIDocumentContentOperations().InsertPoolItem(aRegion, SwFormatField(aField));
MoveAttrs( *(aRegion.GetPoint()) );
}
if ( ( !IsFlagSet(HYPO) || IsFlagSet(BOOK_AND_REF) ) &&
!rEntry.m_bConsumedByField )
{
- MakeBookRegionOrPoint(rEntry, m_rDoc, aRegion);
+ MakeBookRegionOrPoint(rEntry, aRegion);
// #i120879# - create a cross reference heading bookmark if appropriate.
const IDocumentMarkAccess::MarkType eBookmarkType =
( pB->IsTOCBookmark() &&
@@ -585,7 +582,7 @@ void SwFltControlStack::SetAttrInDoc(const SwPosition& rTmpPos,
break;
case RES_FLTR_ANNOTATIONMARK:
{
- if (MakeBookRegionOrPoint(rEntry, m_rDoc, aRegion))
+ if (MakeBookRegionOrPoint(rEntry, aRegion))
{
SwTextNode const*const pTextNode(
aRegion.End()->GetNode().GetTextNode());
@@ -627,7 +624,7 @@ void SwFltControlStack::SetAttrInDoc(const SwPosition& rTmpPos,
break;
case RES_FLTR_RDFMARK:
{
- if (MakeBookRegionOrPoint(rEntry, m_rDoc, aRegion))
+ if (MakeBookRegionOrPoint(rEntry, aRegion))
{
SwFltRDFMark* pMark = static_cast<SwFltRDFMark*>(rEntry.m_pAttr.get());
if (aRegion.GetPointNode().IsTextNode())
@@ -651,7 +648,7 @@ void SwFltControlStack::SetAttrInDoc(const SwPosition& rTmpPos,
break;
case RES_FLTR_TOX:
{
- MakePoint(rEntry, m_rDoc, aRegion);
+ MakePoint(rEntry, aRegion);
SwPosition* pPoint = aRegion.GetPoint();
@@ -693,7 +690,7 @@ void SwFltControlStack::SetAttrInDoc(const SwPosition& rTmpPos,
break;
case RES_FLTR_REDLINE:
{
- if (rEntry.MakeRegion(m_rDoc, aRegion,
+ if (rEntry.MakeRegion(aRegion,
SwFltStackEntry::RegionMode::CheckNodes|SwFltStackEntry::RegionMode::CheckFieldmark))
{
m_rDoc.getIDocumentRedlineAccess().SetRedlineFlags( RedlineFlags::On
@@ -717,7 +714,7 @@ void SwFltControlStack::SetAttrInDoc(const SwPosition& rTmpPos,
break;
default:
{
- if (rEntry.MakeRegion(m_rDoc, aRegion, SwFltStackEntry::RegionMode::NoCheck))
+ if (rEntry.MakeRegion(aRegion, SwFltStackEntry::RegionMode::NoCheck))
{
m_rDoc.getIDocumentContentOperations().InsertPoolItem(aRegion, *rEntry.m_pAttr);
}
diff --git a/sw/source/filter/basflt/shellio.cxx b/sw/source/filter/basflt/shellio.cxx
index 715a183105ae..2870be965950 100644
--- a/sw/source/filter/basflt/shellio.cxx
+++ b/sw/source/filter/basflt/shellio.cxx
@@ -212,7 +212,7 @@ ErrCodeMsg SwReader::Read( const Reader& rOptions )
--aEndPos;
pCNd = aEndPos.GetNode().GetContentNode();
if( !pCNd && nullptr == ( pCNd = SwNodes::GoPrevious( &aEndPos ) ))
- pCNd = mxDoc->GetNodes().GoNext( &aEndPos );
+ pCNd = SwNodes::GoNext(&aEndPos);
const sal_Int32 nLen = pCNd->Len();
if( nLen < nEndContent )
@@ -913,7 +913,7 @@ bool SetHTMLTemplate( SwDoc & rDoc )
SwNodes& rNds = rDoc.GetNodes();
SwNodeIndex aIdx( rNds.GetEndOfExtras(), 1 );
- SwContentNode* pCNd = rNds.GoNext( &aIdx );
+ SwContentNode* pCNd = SwNodes::GoNext(&aIdx);
if( pCNd )
{
pCNd->SetAttr
diff --git a/sw/source/filter/html/htmltab.cxx b/sw/source/filter/html/htmltab.cxx
index cb566fb4289e..1719347fe5dd 100644
--- a/sw/source/filter/html/htmltab.cxx
+++ b/sw/source/filter/html/htmltab.cxx
@@ -3473,7 +3473,7 @@ void SwHTMLParser::BuildTableCell( HTMLTable *pCurTable, bool bReadOptions,
pTCntxt->SetFrameFormat( pFrameFormat );
const SwFormatContent& rFlyContent = pFrameFormat->GetContent();
m_pPam->GetPoint()->Assign( *rFlyContent.GetContentIdx() );
- m_xDoc->GetNodes().GoNext( m_pPam->GetPoint() );
+ SwNodes::GoNext(m_pPam->GetPoint());
}
// create a SwTable with a box and set the PaM to the content of
diff --git a/sw/source/filter/html/swhtml.cxx b/sw/source/filter/html/swhtml.cxx
index 072d6a2b23c7..dbbbc7cc0207 100644
--- a/sw/source/filter/html/swhtml.cxx
+++ b/sw/source/filter/html/swhtml.cxx
@@ -2825,7 +2825,7 @@ void SwHTMLParser::SetAttr_( bool bChkEnd, bool bBeforeTable,
pAttr = pPrev;
continue;
}
- pCNd = m_xDoc->GetNodes().GoNext( &(pAttr->m_nStartPara) );
+ pCNd = SwNodes::GoNext(&(pAttr->m_nStartPara));
if( pCNd )
pAttr->m_nStartContent = 0;
else
diff --git a/sw/source/filter/inc/fltshell.hxx b/sw/source/filter/inc/fltshell.hxx
index 12ec446bf081..717b79ce8cd1 100644
--- a/sw/source/filter/inc/fltshell.hxx
+++ b/sw/source/filter/inc/fltshell.hxx
@@ -99,8 +99,8 @@ public:
enum class RegionMode { NoCheck = 0, CheckNodes = 1<<0, CheckFieldmark = 1<<1 };
SW_DLLPUBLIC void SetEndPos( const SwPosition & rEndPos);
- SW_DLLPUBLIC bool MakeRegion(SwDoc& rDoc, SwPaM& rRegion, RegionMode eCheck) const;
- SW_DLLPUBLIC static bool MakeRegion(SwDoc& rDoc, SwPaM& rRegion,
+ SW_DLLPUBLIC bool MakeRegion(SwPaM& rRegion, RegionMode eCheck) const;
+ SW_DLLPUBLIC static bool MakeRegion(SwPaM& rRegion,
RegionMode eCheck, const SwFltPosition &rMkPos, const SwFltPosition &rPtPos,
sal_uInt16 nWhich=0);
};
diff --git a/sw/source/filter/writer/writer.cxx b/sw/source/filter/writer/writer.cxx
index e21e81e5239c..ded3ea80d9d2 100644
--- a/sw/source/filter/writer/writer.cxx
+++ b/sw/source/filter/writer/writer.cxx
@@ -170,7 +170,7 @@ Writer::NewUnoCursor(SwDoc & rDoc, SwNodeOffset const nStartIdx, SwNodeOffset co
SwNodeIndex aStt( *pNds, nStartIdx );
SwContentNode* pCNode = aStt.GetNode().GetContentNode();
- if( !pCNode && nullptr == pNds->GoNext( &aStt ) )
+ if (!pCNode && nullptr == SwNodes::GoNext(&aStt))
{
OSL_FAIL( "No more ContentNode at StartPos" );
}
diff --git a/sw/source/filter/ww8/writerhelper.cxx b/sw/source/filter/ww8/writerhelper.cxx
index 6746264854cc..3336b7df9b70 100644
--- a/sw/source/filter/ww8/writerhelper.cxx
+++ b/sw/source/filter/ww8/writerhelper.cxx
@@ -790,7 +790,7 @@ namespace sw
void SetInDocAndDelete::operator()(std::unique_ptr<SwFltStackEntry>& pEntry)
{
SwPaM aRegion(pEntry->m_aMkPos.m_nNode);
- if (pEntry->MakeRegion(mrDoc, aRegion,
+ if (pEntry->MakeRegion(aRegion,
SwFltStackEntry::RegionMode::CheckNodes|SwFltStackEntry::RegionMode::CheckFieldmark) &&
(*aRegion.GetPoint() != *aRegion.GetMark())
)
diff --git a/sw/source/filter/ww8/wrtw8nds.cxx b/sw/source/filter/ww8/wrtw8nds.cxx
index ff3b4e5c049f..062bbe4edfb8 100644
--- a/sw/source/filter/ww8/wrtw8nds.cxx
+++ b/sw/source/filter/ww8/wrtw8nds.cxx
@@ -2439,7 +2439,7 @@ void MSWordExportBase::OutputTextNode( SwTextNode& rNode )
{
pTOXSect = &pTOXSectNd->GetSection();
- const SwNode* pNxt = rNode.GetNodes().GoNext( &aIdx );
+ const SwNode* pNxt = SwNodes::GoNext(&aIdx);
if( pNxt && pNxt->FindSectionNode() == pTOXSectNd )
pTOXSect = nullptr;
}
diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx
index d9f17936efe4..e471f64a0afa 100644
--- a/sw/source/filter/ww8/wrtww8.cxx
+++ b/sw/source/filter/ww8/wrtww8.cxx
@@ -2078,7 +2078,7 @@ static sal_uInt16 lcl_TCFlags(SwDoc &rDoc, const SwTableBox * pBox, sal_Int32 nR
if(pSttNd)
{
SwNodeIndex aIdx( *pSttNd );
- const SwContentNode * pCNd = pSttNd->GetNodes().GoNext( &aIdx );
+ const SwContentNode* pCNd = SwNodes::GoNext(&aIdx);
if( pCNd && pCNd->IsTextNode())
{
SfxItemSetFixed<RES_CHRATR_ROTATE, RES_CHRATR_ROTATE> aCoreSet(rDoc.GetAttrPool());
diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx
index fa6531caed92..30fbebc4fbc3 100644
--- a/sw/source/filter/ww8/ww8atr.cxx
+++ b/sw/source/filter/ww8/ww8atr.cxx
@@ -542,7 +542,7 @@ void MSWordExportBase::OutputSectionBreaks( const SfxItemSet *pSet, const SwNode
SwNodeIndex aDocEnd(m_rDoc.GetNodes().GetEndOfContent());
SwNodeIndex aStart(*aDocEnd.GetNode().StartOfSectionNode());
// Set aStart to the first content node in the section
- m_rDoc.GetNodes().GoNext(&aStart);
+ SwNodes::GoNext(&aStart);
assert(aStart <= aDocEnd && "impossible: end section must have one content node");
if (rNd.GetIndex() > aStart.GetNode().GetIndex())
AttrOutput().OutputItem(SvxFormatBreakItem(SvxBreak::PageBefore, RES_BREAK));
diff --git a/sw/source/filter/ww8/ww8glsy.cxx b/sw/source/filter/ww8/ww8glsy.cxx
index 838102e68cc0..4b50d48b7742 100644
--- a/sw/source/filter/ww8/ww8glsy.cxx
+++ b/sw/source/filter/ww8/ww8glsy.cxx
@@ -217,7 +217,7 @@ bool WW8Glossary::Load( SwTextBlocks &rBlocks, bool bSaveRelFile )
if( !aIdx.GetNode().IsTextNode() )
{
OSL_ENSURE( false, "Where is the TextNode?" );
- pD->GetNodes().GoNext( &aIdx );
+ SwNodes::GoNext(&aIdx);
}
SwPaM aPamo( aIdx );
std::unique_ptr<SwWW8ImplReader> xRdr(new SwWW8ImplReader(
diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx
index c831e5956bce..827fe755a003 100644
--- a/sw/source/filter/ww8/ww8par.cxx
+++ b/sw/source/filter/ww8/ww8par.cxx
@@ -1355,7 +1355,7 @@ void SwWW8FltControlStack::SetAttrInDoc(const SwPosition& rTmpPos,
paragraph indent to be relative to the new paragraph indent
*/
SwPaM aRegion(rTmpPos);
- if (rEntry.MakeRegion(m_rDoc, aRegion, SwFltStackEntry::RegionMode::NoCheck))
+ if (rEntry.MakeRegion(aRegion, SwFltStackEntry::RegionMode::NoCheck))
{
SvxFirstLineIndentItem firstLineNew(RES_MARGIN_FIRSTLINE);
SvxTextLeftMarginItem leftMarginNew(RES_MARGIN_TEXTLEFT);
@@ -1449,7 +1449,7 @@ void SwWW8FltControlStack::SetAttrInDoc(const SwPosition& rTmpPos,
case RES_TXTATR_INETFMT:
{
SwPaM aRegion(rTmpPos);
- if (rEntry.MakeRegion(m_rDoc, aRegion, SwFltStackEntry::RegionMode::NoCheck))
+ if (rEntry.MakeRegion(aRegion, SwFltStackEntry::RegionMode::NoCheck))
{
SwFrameFormat *pFrame;
// If we have just one single inline graphic then
diff --git a/sw/source/filter/ww8/ww8par6.cxx b/sw/source/filter/ww8/ww8par6.cxx
index a82dffcc9d5d..6b33ac0d5bd6 100644
--- a/sw/source/filter/ww8/ww8par6.cxx
+++ b/sw/source/filter/ww8/ww8par6.cxx
@@ -3536,7 +3536,7 @@ bool SwWW8ImplReader::ConvertSubToGraphicPlacement()
SwFltPosition aPtPos(*m_pPaM->GetPoint());
SwFrameFormat *pFlyFormat = nullptr;
- if (SwFltStackEntry::MakeRegion(m_rDoc, aRegion, SwFltStackEntry::RegionMode::NoCheck, aMkPos, aPtPos)
+ if (SwFltStackEntry::MakeRegion(aRegion, SwFltStackEntry::RegionMode::NoCheck, aMkPos, aPtPos)
&& nullptr != (pFlyFormat = ContainsSingleInlineGraphic(aRegion)))
{
m_xCtrlStck->DeleteAndDestroy(nPos);
diff --git a/sw/source/uibase/app/docsh.cxx b/sw/source/uibase/app/docsh.cxx
index 45047e701d56..7f69029bebb4 100644
--- a/sw/source/uibase/app/docsh.cxx
+++ b/sw/source/uibase/app/docsh.cxx
@@ -919,7 +919,7 @@ tools::Rectangle SwDocShell::GetVisArea( sal_uInt16 nAspect ) const
{
// Preview: set VisArea to the first page.
SwNodeIndex aIdx( m_xDoc->GetNodes().GetEndOfExtras(), 1 );
- SwContentNode* pNd = m_xDoc->GetNodes().GoNext( &aIdx );
+ SwContentNode* pNd = SwNodes::GoNext(&aIdx);
const SwRect aPageRect = pNd->FindPageFrameRect();
if (aPageRect.IsEmpty())
diff --git a/sw/source/uibase/dochdl/swdtflvr.cxx b/sw/source/uibase/dochdl/swdtflvr.cxx
index 8a3ead1a033c..cb8748a73cd0 100644
--- a/sw/source/uibase/dochdl/swdtflvr.cxx
+++ b/sw/source/uibase/dochdl/swdtflvr.cxx
@@ -1233,7 +1233,7 @@ bool SwTransferable::CopyGlossary( SwTextBlocks& rGlossary, const OUString& rStr
SwNodes& rNds = rCDoc.GetNodes();
SwNodeIndex aNodeIdx( *rNds.GetEndOfContent().StartOfSectionNode() );
- SwContentNode* pCNd = rNds.GoNext( &aNodeIdx ); // go to 1st ContentNode
+ SwContentNode* pCNd = SwNodes::GoNext(&aNodeIdx); // go to 1st ContentNode
SwPaM aPam( *pCNd );
rCDoc.getIDocumentFieldsAccess().LockExpFields(); // never update fields - leave text as it is
diff --git a/sw/source/uibase/utlui/content.cxx b/sw/source/uibase/utlui/content.cxx
index b058cf46c464..fa1c7e10d447 100644
--- a/sw/source/uibase/utlui/content.cxx
+++ b/sw/source/uibase/utlui/content.cxx
@@ -203,7 +203,7 @@ namespace
SwNodeIndex aIdx(*rTextFootnote.GetStartNode(), 1);
SwContentNode* pCNd = aIdx.GetNode().GetTextNode();
if(!pCNd)
- pCNd = aIdx.GetNodes().GoNext(&aIdx);
+ pCNd = SwNodes::GoNext(&aIdx);
return pCNd->IsTextNode() ? static_cast<SwTextNode*>(pCNd)->GetText() : OUString();
}
@@ -1488,7 +1488,7 @@ static void lcl_SetOutlineContentEntriesSensitivities(SwContentTree* pThis, cons
// selected
SwNodeIndex aIdx(*pSttNd);
- if (rNodes.GoNext(&aIdx) != pEndNd)
+ if (SwNodes::GoNext(&aIdx) != pEndNd)
bHasContent = true;
// descendants
@@ -1504,7 +1504,7 @@ static void lcl_SetOutlineContentEntriesSensitivities(SwContentTree* pThis, cons
// test for content in outline node
aIdx.Assign(*pSttNd);
- if (rNodes.GoNext(&aIdx) != pEndNd)
+ if (SwNodes::GoNext(&aIdx) != pEndNd)
{
bHasContent = true;
break;
@@ -1530,7 +1530,7 @@ static void lcl_SetOutlineContentEntriesSensitivities(SwContentTree* pThis, cons
pEndNd = rOutlineNodes[nPos + 1];
SwNodeIndex aIdx(*pSttNd);
- if (rNodes.GoNext(&aIdx) != pEndNd)
+ if (SwNodes::GoNext(&aIdx) != pEndNd)
break;
nPos++;
}
@@ -1548,7 +1548,7 @@ static void lcl_SetOutlineContentEntriesSensitivities(SwContentTree* pThis, cons
pEndNd = rOutlineNodes[nPos + 1];
SwNodeIndex aIdx(*pSttNd);
- if (rNodes.GoNext(&aIdx) == pEndNd)
+ if (SwNodes::GoNext(&aIdx) == pEndNd)
continue; // skip if no content
if (!pThis->GetWrtShell()->IsOutlineContentVisible(nPos))