summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2022-08-25 15:11:08 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-08-25 17:59:10 +0200
commite0db029cd33fce069d168853fd07c801162aef5a (patch)
treecd0bc6f28b220b4d1e7a002fb01726a1eb94205d
parentuse more SwPosition::AdjustContent (diff)
downloadcore-e0db029cd33fce069d168853fd07c801162aef5a.tar.gz
core-e0db029cd33fce069d168853fd07c801162aef5a.zip
use SwNode instead of SwNodeIndex in CorrAbs/CorrRel
part of the process of hiding the internals of SwPosition Change-Id: Id00dc63fd30ea9cf015b9d5f69ee8eb82dc52228 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138834 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--sw/inc/IDocumentMarkAccess.hxx4
-rw-r--r--sw/inc/doc.hxx4
-rw-r--r--sw/source/core/doc/DocumentContentOperationsManager.cxx4
-rw-r--r--sw/source/core/doc/docbm.cxx8
-rw-r--r--sw/source/core/doc/doccorr.cxx12
-rw-r--r--sw/source/core/doc/docedt.cxx4
-rw-r--r--sw/source/core/doc/docnum.cxx2
-rw-r--r--sw/source/core/docnode/section.cxx2
-rw-r--r--sw/source/core/inc/MarkManager.hxx4
-rw-r--r--sw/source/core/inc/mvsave.hxx2
-rw-r--r--sw/source/core/txtnode/ndtxt.cxx4
-rw-r--r--sw/source/core/undo/undobj.cxx3
12 files changed, 26 insertions, 27 deletions
diff --git a/sw/inc/IDocumentMarkAccess.hxx b/sw/inc/IDocumentMarkAccess.hxx
index ca63a45c7ce8..93690fb2b305 100644
--- a/sw/inc/IDocumentMarkAccess.hxx
+++ b/sw/inc/IDocumentMarkAccess.hxx
@@ -197,7 +197,7 @@ class IDocumentMarkAccess
@param nOffset
[in] the offset by which the mark gets positioned of rNewPos
*/
- virtual void correctMarksAbsolute(const SwNodeIndex& rOldNode,
+ virtual void correctMarksAbsolute(const SwNode& rOldNode,
const SwPosition& rNewPos,
const sal_Int32 nOffset) =0;
@@ -215,7 +215,7 @@ class IDocumentMarkAccess
[in] the offset by which the mark gets positioned of rNewPos in addition to
its old position in the paragraph
*/
- virtual void correctMarksRelative(const SwNodeIndex& rOldNode,
+ virtual void correctMarksRelative(const SwNode& rOldNode,
const SwPosition& rNewPos,
const sal_Int32 nOffset) =0;
diff --git a/sw/inc/doc.hxx b/sw/inc/doc.hxx
index 5f2cf5d2bd12..f6e31d3d7d57 100644
--- a/sw/inc/doc.hxx
+++ b/sw/inc/doc.hxx
@@ -999,7 +999,7 @@ public:
// Set everything in rOldNode on rNewPos + Offset.
void CorrAbs(
- const SwNodeIndex& rOldNode,
+ const SwNode& rOldNode,
const SwPosition& rNewPos,
const sal_Int32 nOffset = 0,
bool bMoveCursor = false );
@@ -1019,7 +1019,7 @@ public:
// Set everything in rOldNode to relative Pos.
void CorrRel(
- const SwNodeIndex& rOldNode,
+ const SwNode& rOldNode,
const SwPosition& rNewPos,
const sal_Int32 nOffset = 0,
bool bMoveCursor = false );
diff --git a/sw/source/core/doc/DocumentContentOperationsManager.cxx b/sw/source/core/doc/DocumentContentOperationsManager.cxx
index 2ce53a29ea9c..d751ac3d19f9 100644
--- a/sw/source/core/doc/DocumentContentOperationsManager.cxx
+++ b/sw/source/core/doc/DocumentContentOperationsManager.cxx
@@ -2279,7 +2279,7 @@ bool DocumentContentOperationsManager::DelFullPara( SwPaM& rPam )
// move bookmarks, redlines etc.
if (aRg.aStart == aRg.aEnd) // only first CorrAbs variant handles this
{
- m_rDoc.CorrAbs( aRg.aStart, *rPam.GetPoint(), 0, true );
+ m_rDoc.CorrAbs( aRg.aStart.GetNode(), *rPam.GetPoint(), 0, true );
}
else
{
@@ -2705,7 +2705,7 @@ void DocumentContentOperationsManager::MoveAndJoin( SwPaM& rPaM, SwPosition& rPo
if( pTextNd && pTextNd->CanJoinNext( &aNxtIdx ) )
{
{ // Block so SwContentIndex into node is deleted before Join
- m_rDoc.CorrRel( aNxtIdx,
+ m_rDoc.CorrRel( aNxtIdx.GetNode(),
SwPosition( *pTextNd, pTextNd->GetText().getLength() ),
0, true );
}
diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx
index 027cc884ce08..8e2f0868c560 100644
--- a/sw/source/core/doc/docbm.cxx
+++ b/sw/source/core/doc/docbm.cxx
@@ -877,11 +877,11 @@ namespace sw::mark
}
void MarkManager::correctMarksAbsolute(
- const SwNodeIndex& rOldNode,
+ const SwNode& rOldNode,
const SwPosition& rNewPos,
const sal_Int32 nOffset)
{
- const SwNode* const pOldNode = &rOldNode.GetNode();
+ const SwNode* const pOldNode = &rOldNode;
SwPosition aNewPos(rNewPos);
aNewPos.nContent += nOffset;
bool isSortingNeeded = false;
@@ -922,9 +922,9 @@ namespace sw::mark
lcl_DebugMarks(m_vAllMarks);
}
- void MarkManager::correctMarksRelative(const SwNodeIndex& rOldNode, const SwPosition& rNewPos, const sal_Int32 nOffset)
+ void MarkManager::correctMarksRelative(const SwNode& rOldNode, const SwPosition& rNewPos, const sal_Int32 nOffset)
{
- const SwNode* const pOldNode = &rOldNode.GetNode();
+ const SwNode* const pOldNode = &rOldNode;
SwPosition aNewPos(rNewPos);
aNewPos.nContent += nOffset;
bool isSortingNeeded = false;
diff --git a/sw/source/core/doc/doccorr.cxx b/sw/source/core/doc/doccorr.cxx
index fea2385108d3..2af89d1cdf37 100644
--- a/sw/source/core/doc/doccorr.cxx
+++ b/sw/source/core/doc/doccorr.cxx
@@ -165,12 +165,12 @@ void PaMCorrAbs( const SwPaM& rRange,
}
}
-void SwDoc::CorrAbs(const SwNodeIndex& rOldNode,
+void SwDoc::CorrAbs(const SwNode& rOldNode,
const SwPosition& rNewPos,
const sal_Int32 nOffset,
bool bMoveCursor)
{
- SwContentNode *const pContentNode( rOldNode.GetNode().GetContentNode() );
+ const SwContentNode *const pContentNode( rOldNode.GetContentNode() );
SwPaM const aPam(rOldNode, 0,
rOldNode, pContentNode ? pContentNode->Len() : 0);
SwPosition aNewPos(rNewPos);
@@ -238,11 +238,11 @@ void SwDoc::CorrAbs(
}
}
-void PaMCorrRel( const SwNodeIndex &rOldNode,
+void PaMCorrRel( const SwNode &rOldNode,
const SwPosition &rNewPos,
const sal_Int32 nOffset )
{
- const SwNode* pOldNode = &rOldNode.GetNode();
+ const SwNode* pOldNode = &rOldNode;
SwPosition aNewPos( rNewPos );
const SwDoc& rDoc = pOldNode->GetDoc();
@@ -302,7 +302,7 @@ void PaMCorrRel( const SwNodeIndex &rOldNode,
}
}
-void SwDoc::CorrRel(const SwNodeIndex& rOldNode,
+void SwDoc::CorrRel(const SwNode& rOldNode,
const SwPosition& rNewPos,
const sal_Int32 nOffset,
bool bMoveCursor)
@@ -315,7 +315,7 @@ void SwDoc::CorrRel(const SwNodeIndex& rOldNode,
for(SwRangeRedline* p : rTable)
{
// lies on the position ??
- lcl_PaMCorrRel1( p, &rOldNode.GetNode(), aNewPos, aNewPos.GetContentIndex() + nOffset );
+ lcl_PaMCorrRel1( p, &rOldNode, aNewPos, aNewPos.GetContentIndex() + nOffset );
}
// To-Do - need to add here 'SwExtraRedlineTable' also ?
diff --git a/sw/source/core/doc/docedt.cxx b/sw/source/core/doc/docedt.cxx
index 439ea42a1173..9be8bcccae63 100644
--- a/sw/source/core/doc/docedt.cxx
+++ b/sw/source/core/doc/docedt.cxx
@@ -414,7 +414,7 @@ bool sw_JoinText( SwPaM& rPam, bool bJoinPrev )
pOldTextNd->CutText( pTextNd, aAlphaIdx, SwContentIndex(pOldTextNd),
pOldTextNd->Len() );
SwPosition aAlphaPos( aIdx, aAlphaIdx );
- rDoc.CorrRel( rPam.GetPoint()->nNode, aAlphaPos, 0, true );
+ rDoc.CorrRel( rPam.GetPoint()->GetNode(), aAlphaPos, 0, true );
// move all Bookmarks/TOXMarks
if( !pContentStore->Empty() )
@@ -471,7 +471,7 @@ bool sw_JoinText( SwPaM& rPam, bool bJoinPrev )
}
}
- rDoc.CorrRel( aIdx, *rPam.GetPoint(), 0, true );
+ rDoc.CorrRel( aIdx.GetNode(), *rPam.GetPoint(), 0, true );
// #i100466# adjust given <rPam>, if it does not belong to the cursors
if ( pDelNd == rPam.GetBound().GetContentNode() )
{
diff --git a/sw/source/core/doc/docnum.cxx b/sw/source/core/doc/docnum.cxx
index c468d526249b..e41549d75e83 100644
--- a/sw/source/core/doc/docnum.cxx
+++ b/sw/source/core/doc/docnum.cxx
@@ -2232,7 +2232,7 @@ bool SwDoc::MoveParagraphImpl(SwPaM& rPam, SwNodeOffset const nOffset,
pPos->Adjust(SwNodeOffset(1));
}
}
- CorrRel( aIdx, aInsPos );
+ CorrRel( aIdx.GetNode(), aInsPos );
if (pCNd)
pCNd->JoinNext();
diff --git a/sw/source/core/docnode/section.cxx b/sw/source/core/docnode/section.cxx
index f6a1297fb704..a2f7d37ef581 100644
--- a/sw/source/core/docnode/section.cxx
+++ b/sw/source/core/docnode/section.cxx
@@ -1282,7 +1282,7 @@ static void lcl_UpdateLinksInSect( const SwBaseLink& rUpdLnk, SwSectionNode& rSe
pPam->Move( fnMoveBackward, GoInNode );
pPam->SetMark(); // Rewire both SwPositions
- pDoc->CorrAbs( aSave, *pPam->GetPoint(), 0, true );
+ pDoc->CorrAbs( aSave.GetNode(), *pPam->GetPoint(), 0, true );
pDoc->GetNodes().Delete( aSave );
}
oCpyRg.reset();
diff --git a/sw/source/core/inc/MarkManager.hxx b/sw/source/core/inc/MarkManager.hxx
index 9aaf7c352e58..d362036b5464 100644
--- a/sw/source/core/inc/MarkManager.hxx
+++ b/sw/source/core/inc/MarkManager.hxx
@@ -60,8 +60,8 @@ namespace sw::mark {
virtual void repositionMark(::sw::mark::IMark* io_pMark, const SwPaM& rPaM) override;
virtual bool renameMark(::sw::mark::IMark* io_pMark, const OUString& rNewName) override;
- virtual void correctMarksAbsolute(const SwNodeIndex& rOldNode, const SwPosition& rNewPos, const sal_Int32 nOffset) override;
- virtual void correctMarksRelative(const SwNodeIndex& rOldNode, const SwPosition& rNewPos, const sal_Int32 nOffset) override;
+ virtual void correctMarksAbsolute(const SwNode& rOldNode, const SwPosition& rNewPos, const sal_Int32 nOffset) override;
+ virtual void correctMarksRelative(const SwNode& rOldNode, const SwPosition& rNewPos, const sal_Int32 nOffset) override;
virtual void deleteMarks(const SwNode& rStt,
const SwNode& rEnd,
diff --git a/sw/source/core/inc/mvsave.hxx b/sw/source/core/inc/mvsave.hxx
index 43f996816ebb..024276b78ccd 100644
--- a/sw/source/core/inc/mvsave.hxx
+++ b/sw/source/core/inc/mvsave.hxx
@@ -151,7 +151,7 @@ void PaMCorrAbs( const SwPaM& rRange,
const SwPosition& rNewPos );
/// Sets all PaMs in OldNode to relative Pos
-void PaMCorrRel( const SwNodeIndex &rOldNode,
+void PaMCorrRel( const SwNode &rOldNode,
const SwPosition &rNewPos,
const sal_Int32 nOffset = 0 );
diff --git a/sw/source/core/txtnode/ndtxt.cxx b/sw/source/core/txtnode/ndtxt.cxx
index ecaecb08f30f..ec9ce2f88756 100644
--- a/sw/source/core/txtnode/ndtxt.cxx
+++ b/sw/source/core/txtnode/ndtxt.cxx
@@ -1050,7 +1050,7 @@ SwContentNode *SwTextNode::JoinNext()
if( pTextNode->HasAnyIndex() )
{
// move all ShellCursor/StackCursor/UnoCursor out of delete range
- rDoc.CorrAbs( aIdx, SwPosition( *this ), nOldLen, true );
+ rDoc.CorrAbs( aIdx.GetNode(), SwPosition( *this ), nOldLen, true );
}
SwNode::Merge const eOldMergeFlag(pTextNode->GetRedlineMergeFlag());
auto eRecreateMerged(eOldMergeFlag == SwNode::Merge::First
@@ -1165,7 +1165,7 @@ void SwTextNode::JoinPrev()
if( pTextNode->HasAnyIndex() )
{
// move all ShellCursor/StackCursor/UnoCursor out of delete range
- rDoc.CorrAbs( aIdx, SwPosition( *this ), nLen, true );
+ rDoc.CorrAbs( aIdx.GetNode(), SwPosition( *this ), nLen, true );
}
SwNode::Merge const eOldMergeFlag(pTextNode->GetRedlineMergeFlag());
if (eOldMergeFlag == SwNode::Merge::First
diff --git a/sw/source/core/undo/undobj.cxx b/sw/source/core/undo/undobj.cxx
index 909860f3bb46..ea154db35016 100644
--- a/sw/source/core/undo/undobj.cxx
+++ b/sw/source/core/undo/undobj.cxx
@@ -153,8 +153,7 @@ void SwUndo::RemoveIdxRel( SwNodeOffset nIdx, const SwPosition& rPos )
{
// Move only the Cursor. Bookmarks/TOXMarks/etc. are done by the corresponding
// JoinNext/JoinPrev
- SwNodeIndex aIdx( rPos.GetNode().GetNodes(), nIdx );
- ::PaMCorrRel( aIdx, rPos );
+ ::PaMCorrRel( *rPos.GetNode().GetNodes()[nIdx], rPos );
}
SwUndo::SwUndo(SwUndoId const nId, const SwDoc* pDoc)