sw/inc/IDocumentContentOperations.hxx | 2 - sw/source/core/doc/DocumentContentOperationsManager.cxx | 22 ++++++++-------- sw/source/core/doc/doclay.cxx | 2 - sw/source/core/doc/docnum.cxx | 2 - sw/source/core/doc/docsort.cxx | 4 +- sw/source/core/edit/edglbldc.cxx | 2 - sw/source/core/frmedt/tblsel.cxx | 4 +- sw/source/core/inc/DocumentContentOperationsManager.hxx | 2 - sw/source/core/inc/UndoSplitMove.hxx | 4 +- sw/source/core/inc/UndoTable.hxx | 2 - sw/source/core/table/swnewtable.cxx | 6 ++-- sw/source/core/undo/unmove.cxx | 10 +++---- sw/source/core/undo/unsort.cxx | 4 +- sw/source/core/undo/untbl.cxx | 4 +- sw/source/filter/html/htmltab.cxx | 2 - sw/source/uibase/docvw/UnfloatTableButton.cxx | 3 +- 16 files changed, 38 insertions(+), 37 deletions(-)
New commits: commit fe8dfdf6dad15f39f68859b935e7337f1d1fa0eb Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Thu Sep 1 10:09:20 2022 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Thu Sep 1 13:00:20 2022 +0200 use more SwPosition::Assign part of hiding the internals of SwPosition Change-Id: Ia832fec32146c0d323a9a6ee1d8645f713e0371f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139146 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/sw/inc/IDocumentContentOperations.hxx b/sw/inc/IDocumentContentOperations.hxx index 94bb7102dee0..5a95d0ba95b8 100644 --- a/sw/inc/IDocumentContentOperations.hxx +++ b/sw/inc/IDocumentContentOperations.hxx @@ -153,7 +153,7 @@ public: virtual bool MoveRange(SwPaM&, SwPosition&, SwMoveFlags) = 0; - virtual bool MoveNodeRange(SwNodeRange&, SwNodeIndex&, SwMoveFlags) = 0; + virtual bool MoveNodeRange(SwNodeRange&, SwNode&, SwMoveFlags) = 0; /** Move a range. */ diff --git a/sw/source/core/doc/DocumentContentOperationsManager.cxx b/sw/source/core/doc/DocumentContentOperationsManager.cxx index 402325687e01..5011e066eb50 100644 --- a/sw/source/core/doc/DocumentContentOperationsManager.cxx +++ b/sw/source/core/doc/DocumentContentOperationsManager.cxx @@ -960,7 +960,7 @@ namespace } bool lcl_SaveFootnote( const SwNodeIndex& rSttNd, const SwNodeIndex& rEndNd, - const SwNodeIndex& rInsPos, + const SwNode& rInsPos, SwFootnoteIdxs& rFootnoteArr, SwFootnoteIdxs& rSaveArr, const SwContentIndex* pSttCnt = nullptr, const SwContentIndex* pEndCnt = nullptr ) { @@ -2371,7 +2371,7 @@ bool DocumentContentOperationsManager::MoveRange( SwPaM& rPaM, SwPosition& rPos, } else { - bUpdateFootnote = lcl_SaveFootnote( pStt->nNode, pEnd->nNode, rPos.nNode, + bUpdateFootnote = lcl_SaveFootnote( pStt->nNode, pEnd->nNode, rPos.GetNode(), m_rDoc.GetFootnoteIdxs(), aTmpFntIdx, &pStt->nContent, &pEnd->nContent ); } @@ -2551,7 +2551,7 @@ bool DocumentContentOperationsManager::MoveRange( SwPaM& rPaM, SwPosition& rPos, return true; } -bool DocumentContentOperationsManager::MoveNodeRange( SwNodeRange& rRange, SwNodeIndex& rPos, +bool DocumentContentOperationsManager::MoveNodeRange( SwNodeRange& rRange, SwNode& rDestNd, SwMoveFlags eMvFlags ) { // Moves all Nodes to the new position. @@ -2568,11 +2568,11 @@ bool DocumentContentOperationsManager::MoveNodeRange( SwNodeRange& rRange, SwNod std::unique_ptr<SwUndoMove> pUndo; if ((SwMoveFlags::CREATEUNDOOBJ & eMvFlags ) && m_rDoc.GetIDocumentUndoRedo().DoesUndo()) { - pUndo.reset(new SwUndoMove( m_rDoc, rRange, rPos )); + pUndo.reset(new SwUndoMove( m_rDoc, rRange, rDestNd )); } else { - bUpdateFootnote = lcl_SaveFootnote( rRange.aStart, rRange.aEnd, rPos, + bUpdateFootnote = lcl_SaveFootnote( rRange.aStart, rRange.aEnd, rDestNd, m_rDoc.GetFootnoteIdxs(), aTmpFntIdx ); } @@ -2584,7 +2584,7 @@ bool DocumentContentOperationsManager::MoveNodeRange( SwNodeRange& rRange, SwNod // Find all RedLines that end at the InsPos. // These have to be moved back to the "old" position after the Move. - SwRedlineTable::size_type nRedlPos = m_rDoc.getIDocumentRedlineAccess().GetRedlinePos( rPos.GetNode(), RedlineType::Any ); + SwRedlineTable::size_type nRedlPos = m_rDoc.getIDocumentRedlineAccess().GetRedlinePos( rDestNd, RedlineType::Any ); if( SwRedlineTable::npos != nRedlPos ) { const SwPosition *pRStt, *pREnd; @@ -2592,11 +2592,11 @@ bool DocumentContentOperationsManager::MoveNodeRange( SwNodeRange& rRange, SwNod SwRangeRedline* pTmp = m_rDoc.getIDocumentRedlineAccess().GetRedlineTable()[ nRedlPos ]; pRStt = pTmp->Start(); pREnd = pTmp->End(); - if( pREnd->GetNode() == rPos.GetNode() && pRStt->GetNode() < rPos.GetNode() ) + if( pREnd->GetNode() == rDestNd && pRStt->GetNode() < rDestNd ) { aSavRedlInsPosArr.push_back( pTmp ); } - } while( pRStt->GetNode() < rPos.GetNode() && ++nRedlPos < m_rDoc.getIDocumentRedlineAccess().GetRedlineTable().size()); + } while( pRStt->GetNode() < rDestNd && ++nRedlPos < m_rDoc.getIDocumentRedlineAccess().GetRedlineTable().size()); } } @@ -2612,7 +2612,7 @@ bool DocumentContentOperationsManager::MoveNodeRange( SwNodeRange& rRange, SwNod SaveFlyInRange( rRange, aSaveFlyArr ); // Set it to before the Position, so that it cannot be moved further. - SwNodeIndex aIdx( rPos, -1 ); + SwNodeIndex aIdx( rDestNd, -1 ); std::optional<SwNodeIndex> oSaveInsPos; if( pUndo ) @@ -2620,7 +2620,7 @@ bool DocumentContentOperationsManager::MoveNodeRange( SwNodeRange& rRange, SwNod // move the Nodes bool bNoDelFrames = bool(SwMoveFlags::NO_DELFRMS & eMvFlags); - if( m_rDoc.GetNodes().MoveNodes( rRange, m_rDoc.GetNodes(), rPos.GetNode(), !bNoDelFrames ) ) + if( m_rDoc.GetNodes().MoveNodes( rRange, m_rDoc.GetNodes(), rDestNd, !bNoDelFrames ) ) { ++aIdx; // again back to old position if( oSaveInsPos ) @@ -2660,7 +2660,7 @@ bool DocumentContentOperationsManager::MoveNodeRange( SwNodeRange& rRange, SwNod if( pUndo ) { - pUndo->SetDestRange( aIdx, rPos, *oSaveInsPos ); + pUndo->SetDestRange( aIdx.GetNode(), rDestNd, *oSaveInsPos ); m_rDoc.GetIDocumentUndoRedo().AppendUndo(std::move(pUndo)); } diff --git a/sw/source/core/doc/doclay.cxx b/sw/source/core/doc/doclay.cxx index 8caeb37e79db..e1ade4a118ec 100644 --- a/sw/source/core/doc/doclay.cxx +++ b/sw/source/core/doc/doclay.cxx @@ -389,7 +389,7 @@ SwFlyFrameFormat* SwDoc::MakeFlyAndMove( const SwPaM& rPam, const SfxItemSet& rS GetNodes().MakeTextNode( aRg.aStart.GetNode(), GetDfltTextFormatColl() ); - getIDocumentContentOperations().MoveNodeRange( aRg, aPos.nNode, SwMoveFlags::DEFAULT ); + getIDocumentContentOperations().MoveNodeRange( aRg, aPos.GetNode(), SwMoveFlags::DEFAULT ); } else { diff --git a/sw/source/core/doc/docnum.cxx b/sw/source/core/doc/docnum.cxx index e41549d75e83..7462b608df99 100644 --- a/sw/source/core/doc/docnum.cxx +++ b/sw/source/core/doc/docnum.cxx @@ -2354,7 +2354,7 @@ bool SwDoc::MoveParagraphImpl(SwPaM& rPam, SwNodeOffset const nOffset, assert(!pLayout // check not moving *into* delete redline (caller's fault) || aIdx.GetNode().GetRedlineMergeFlag() == SwNode::Merge::None || aIdx.GetNode().GetRedlineMergeFlag() == SwNode::Merge::First); - getIDocumentContentOperations().MoveNodeRange( aMvRg, aIdx, SwMoveFlags::REDLINES ); + getIDocumentContentOperations().MoveNodeRange( aMvRg, aIdx.GetNode(), SwMoveFlags::REDLINES ); if( pUndo ) { diff --git a/sw/source/core/doc/docsort.cxx b/sw/source/core/doc/docsort.cxx index 1252a941e7df..4ebabdc74821 100644 --- a/sw/source/core/doc/docsort.cxx +++ b/sw/source/core/doc/docsort.cxx @@ -396,7 +396,7 @@ bool SwDoc::SortText(const SwPaM& rPaM, const SwSortOptions& rOpt) aRg.aEnd = aRg.aStart.GetIndex() + 1; // Move Nodes - getIDocumentContentOperations().MoveNodeRange( aRg, aStart, + getIDocumentContentOperations().MoveNodeRange( aRg, aStart.GetNode(), SwMoveFlags::DEFAULT ); // Insert Move in Undo @@ -719,7 +719,7 @@ void MoveCell(SwDoc* pDoc, const SwTableBox* pSource, const SwTableBox* pTar, // Insert the Source SwNodeIndex aIns( *pTar->GetSttNd()->EndOfSectionNode() ); - pDoc->getIDocumentContentOperations().MoveNodeRange( aRg, aIns, + pDoc->getIDocumentContentOperations().MoveNodeRange( aRg, aIns.GetNode(), SwMoveFlags::DEFAULT ); // If first Node is empty -> delete it diff --git a/sw/source/core/edit/edglbldc.cxx b/sw/source/core/edit/edglbldc.cxx index 7151939151e1..c538a97b6a96 100644 --- a/sw/source/core/edit/edglbldc.cxx +++ b/sw/source/core/edit/edglbldc.cxx @@ -324,7 +324,7 @@ bool SwEditShell::MoveGlobalDocContent( const SwGlblDocContents& rArr , else aInsPos = pMyDoc->GetNodes().GetEndOfContent(); - bool bRet = pMyDoc->getIDocumentContentOperations().MoveNodeRange( aRg, aInsPos, + bool bRet = pMyDoc->getIDocumentContentOperations().MoveNodeRange( aRg, aInsPos.GetNode(), SwMoveFlags::CREATEUNDOOBJ ); EndAllAction(); diff --git a/sw/source/core/frmedt/tblsel.cxx b/sw/source/core/frmedt/tblsel.cxx index ccbb1219d6fe..fb08054edf8d 100644 --- a/sw/source/core/frmedt/tblsel.cxx +++ b/sw/source/core/frmedt/tblsel.cxx @@ -1376,10 +1376,10 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes, SwNodeRange aRg( aSttNdIdx.GetNode(), aPam.GetPoint()->GetNode() ); ++rInsPosNd; if( pUndo ) - pUndo->MoveBoxContent( *pDoc, aRg, rInsPosNd ); + pUndo->MoveBoxContent( *pDoc, aRg, rInsPosNd.GetNode() ); else { - pDoc->getIDocumentContentOperations().MoveNodeRange( aRg, rInsPosNd, + pDoc->getIDocumentContentOperations().MoveNodeRange( aRg, rInsPosNd.GetNode(), SwMoveFlags::DEFAULT ); } // where is now aInsPos ?? diff --git a/sw/source/core/inc/DocumentContentOperationsManager.hxx b/sw/source/core/inc/DocumentContentOperationsManager.hxx index 6b45e6ca01ae..49473930f7fe 100644 --- a/sw/source/core/inc/DocumentContentOperationsManager.hxx +++ b/sw/source/core/inc/DocumentContentOperationsManager.hxx @@ -48,7 +48,7 @@ public: bool MoveRange(SwPaM&, SwPosition&, SwMoveFlags) override; - bool MoveNodeRange(SwNodeRange&, SwNodeIndex&, SwMoveFlags) override; + bool MoveNodeRange(SwNodeRange&, SwNode&, SwMoveFlags) override; void MoveAndJoin(SwPaM&, SwPosition&) override; diff --git a/sw/source/core/inc/UndoSplitMove.hxx b/sw/source/core/inc/UndoSplitMove.hxx index 9cf2fda25af4..cd8b653df9fa 100644 --- a/sw/source/core/inc/UndoSplitMove.hxx +++ b/sw/source/core/inc/UndoSplitMove.hxx @@ -63,13 +63,13 @@ class SwUndoMove final : public SwUndo, private SwUndRng, private SwUndoSaveCont public: SwUndoMove( const SwPaM&, const SwPosition& ); - SwUndoMove( SwDoc& rDoc, const SwNodeRange&, const SwNodeIndex& ); + SwUndoMove( SwDoc& rDoc, const SwNodeRange&, const SwNode& ); virtual void UndoImpl( ::sw::UndoRedoContext & ) override; virtual void RedoImpl( ::sw::UndoRedoContext & ) override; /// set the destination range after the move - void SetDestRange( const SwNodeIndex& rStt, const SwNodeIndex& rEnd, + void SetDestRange( const SwNode& rStt, const SwNode& rEnd, const SwNodeIndex& rInsPos ); bool IsMoveRange() const { return m_bMoveRange; } diff --git a/sw/source/core/inc/UndoTable.hxx b/sw/source/core/inc/UndoTable.hxx index 749f4873d77b..e43ed4847b3d 100644 --- a/sw/source/core/inc/UndoTable.hxx +++ b/sw/source/core/inc/UndoTable.hxx @@ -234,7 +234,7 @@ public: virtual void UndoImpl( ::sw::UndoRedoContext & ) override; virtual void RedoImpl( ::sw::UndoRedoContext & ) override; - void MoveBoxContent( SwDoc& rDoc, SwNodeRange& rRg, SwNodeIndex& rPos ); + void MoveBoxContent( SwDoc& rDoc, SwNodeRange& rRg, SwNode& rPos ); void SetSelBoxes( const SwSelBoxes& rBoxes ); diff --git a/sw/source/core/table/swnewtable.cxx b/sw/source/core/table/swnewtable.cxx index 2c6122b26aaa..59428ec61f97 100644 --- a/sw/source/core/table/swnewtable.cxx +++ b/sw/source/core/table/swnewtable.cxx @@ -902,10 +902,10 @@ bool SwTable::PrepareMerge( const SwPaM& rPam, SwSelBoxes& rBoxes, } SwNodeRange aRg( aSttNdIdx.GetNode(), aPam.GetPoint()->GetNode() ); if( pUndo ) - pUndo->MoveBoxContent( *pDoc, aRg, rInsPosNd ); + pUndo->MoveBoxContent( *pDoc, aRg, rInsPosNd.GetNode() ); else { - pDoc->getIDocumentContentOperations().MoveNodeRange( aRg, rInsPosNd, + pDoc->getIDocumentContentOperations().MoveNodeRange( aRg, rInsPosNd.GetNode(), SwMoveFlags::NO_DELFRMS ); } } @@ -2208,7 +2208,7 @@ void SwTable::ConvertSubtableBox(sal_uInt16 const nRow, sal_uInt16 const nBox) #if 0 pDoc->GetNodes().MoveNodes(content, pDoc->GetNodes(), insPos, false); #else - pDoc->getIDocumentContentOperations().MoveNodeRange(content, insPos, SwMoveFlags::NO_DELFRMS|SwMoveFlags::REDLINES); + pDoc->getIDocumentContentOperations().MoveNodeRange(content, insPos.GetNode(), SwMoveFlags::NO_DELFRMS|SwMoveFlags::REDLINES); #endif // delete the empty node that was bundled in the new box pDoc->GetNodes().Delete(insPos); diff --git a/sw/source/core/undo/unmove.cxx b/sw/source/core/undo/unmove.cxx index 4ddaca99051e..6776f71b872c 100644 --- a/sw/source/core/undo/unmove.cxx +++ b/sw/source/core/undo/unmove.cxx @@ -92,7 +92,7 @@ SwUndoMove::SwUndoMove( const SwPaM& rRange, const SwPosition& rMvPos ) } SwUndoMove::SwUndoMove( SwDoc& rDoc, const SwNodeRange& rRg, - const SwNodeIndex& rMvPos ) + const SwNode& rMvPos ) : SwUndo(SwUndoId::MOVE, &rDoc) , m_nDestStartNode(0) , m_nDestEndNode(0) @@ -134,8 +134,8 @@ SwUndoMove::SwUndoMove( SwDoc& rDoc, const SwNodeRange& rRg, m_nFootnoteStart = 0; } -void SwUndoMove::SetDestRange( const SwNodeIndex& rStt, - const SwNodeIndex& rEnd, +void SwUndoMove::SetDestRange( const SwNode& rStt, + const SwNode& rEnd, const SwNodeIndex& rInsPos ) { m_nDestStartNode = rStt.GetIndex(); @@ -165,7 +165,7 @@ void SwUndoMove::UndoImpl(::sw::UndoRedoContext & rContext) SwNodeRange aRg( aIdx, aIdx ); aRg.aEnd = m_nDestEndNode; aIdx = m_nInsPosNode; - bool bSuccess = pDoc->getIDocumentContentOperations().MoveNodeRange( aRg, aIdx, + bool bSuccess = pDoc->getIDocumentContentOperations().MoveNodeRange( aRg, aIdx.GetNode(), SwMoveFlags::DEFAULT ); if (!bSuccess) break; @@ -244,7 +244,7 @@ void SwUndoMove::RedoImpl(::sw::UndoRedoContext & rContext) { // only a move with SwRange SwNodeRange aRg( rNds, m_nSttNode, m_nEndNode ); - rDoc.getIDocumentContentOperations().MoveNodeRange( aRg, aIdx, m_bMoveRedlines + rDoc.getIDocumentContentOperations().MoveNodeRange( aRg, aIdx.GetNode(), m_bMoveRedlines ? SwMoveFlags::REDLINES : SwMoveFlags::DEFAULT ); } diff --git a/sw/source/core/undo/unsort.cxx b/sw/source/core/undo/unsort.cxx index 516f341a17a3..39ca01a65c44 100644 --- a/sw/source/core/undo/unsort.cxx +++ b/sw/source/core/undo/unsort.cxx @@ -140,7 +140,7 @@ void SwUndoSort::UndoImpl(::sw::UndoRedoContext & rContext) { SwNodeIndex aIdx( rDoc.GetNodes(), m_nSttNode + SwNodeOffset(i) ); SwNodeRange aRg( aIdxList[i], SwNodeOffset(0), aIdxList[i], SwNodeOffset(1) ); - rDoc.getIDocumentContentOperations().MoveNodeRange(aRg, aIdx, + rDoc.getIDocumentContentOperations().MoveNodeRange(aRg, aIdx.GetNode(), SwMoveFlags::DEFAULT); } // delete indices @@ -213,7 +213,7 @@ void SwUndoSort::RedoImpl(::sw::UndoRedoContext & rContext) { SwNodeIndex aIdx( rDoc.GetNodes(), m_nSttNode + SwNodeOffset(i)); SwNodeRange aRg( aIdxList[i], SwNodeOffset(0), aIdxList[i], SwNodeOffset(1) ); - rDoc.getIDocumentContentOperations().MoveNodeRange(aRg, aIdx, + rDoc.getIDocumentContentOperations().MoveNodeRange(aRg, aIdx.GetNode(), SwMoveFlags::DEFAULT); } // delete indices diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx index 98122704058d..fb7d2eb1e5e9 100644 --- a/sw/source/core/undo/untbl.cxx +++ b/sw/source/core/undo/untbl.cxx @@ -2000,7 +2000,7 @@ void SwUndoTableMerge::RedoImpl(::sw::UndoRedoContext & rContext) rDoc.MergeTable(rPam); } -void SwUndoTableMerge::MoveBoxContent( SwDoc& rDoc, SwNodeRange& rRg, SwNodeIndex& rPos ) +void SwUndoTableMerge::MoveBoxContent( SwDoc& rDoc, SwNodeRange& rRg, SwNode& rPos ) { SwNodeIndex aTmp( rRg.aStart, -1 ), aTmp2( rPos, -1 ); std::unique_ptr<SwUndoMove> pUndo(new SwUndoMove( rDoc, rRg, rPos )); @@ -2010,7 +2010,7 @@ void SwUndoTableMerge::MoveBoxContent( SwDoc& rDoc, SwNodeRange& rRg, SwNodeInde SwMoveFlags::DEFAULT ); ++aTmp; ++aTmp2; - pUndo->SetDestRange( aTmp2, rPos, aTmp ); + pUndo->SetDestRange( aTmp2.GetNode(), rPos, aTmp ); m_vMoves.push_back(std::move(pUndo)); } diff --git a/sw/source/filter/html/htmltab.cxx b/sw/source/filter/html/htmltab.cxx index af4c9fd3d71f..11e2ecbd5bc5 100644 --- a/sw/source/filter/html/htmltab.cxx +++ b/sw/source/filter/html/htmltab.cxx @@ -5156,7 +5156,7 @@ std::shared_ptr<HTMLTable> SwHTMLParser::BuildTable(SvxAdjust eParentAdjust, pNd = pTableStNd->EndOfSectionNode(); SwNodeIndex aDstIdx( *pNd, bTop ? 0 : 1 ); - m_xDoc->getIDocumentContentOperations().MoveNodeRange( aSrcRg, aDstIdx, + m_xDoc->getIDocumentContentOperations().MoveNodeRange( aSrcRg, aDstIdx.GetNode(), SwMoveFlags::DEFAULT ); // If the caption was added before the table, a page style on that table diff --git a/sw/source/uibase/docvw/UnfloatTableButton.cxx b/sw/source/uibase/docvw/UnfloatTableButton.cxx index 49bf9c660771..2f0f596cc3c0 100644 --- a/sw/source/uibase/docvw/UnfloatTableButton.cxx +++ b/sw/source/uibase/docvw/UnfloatTableButton.cxx @@ -173,7 +173,8 @@ void UnfloatTableButton::MouseButtonDown(const MouseEvent& /*rMEvt*/) // Move the table outside of the text frame SwNodeRange aRange(*pTableNode, SwNodeOffset(0), *pTableNode->EndOfSectionNode(), SwNodeOffset(1)); - rDoc.getIDocumentContentOperations().MoveNodeRange(aRange, aInsertPos, SwMoveFlags::DEFAULT); + rDoc.getIDocumentContentOperations().MoveNodeRange(aRange, aInsertPos.GetNode(), + SwMoveFlags::DEFAULT); // Remove the floating table's frame SwFlyFrameFormat* pFrameFormat = pFlyFrame->GetFormat();