sw/inc/anchoreddrawobject.hxx | 2 +- sw/source/core/draw/dcontact.cxx | 4 +--- sw/source/core/inc/flyfrm.hxx | 2 +- sw/source/core/layout/flylay.cxx | 24 ++---------------------- sw/source/core/layout/frmtool.cxx | 5 +---- sw/source/core/layout/tabfrm.cxx | 11 ++--------- 6 files changed, 8 insertions(+), 40 deletions(-)
New commits: commit a051601a4cef506bc257c647cbce6288ba8068d4 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Fri Jul 14 21:10:24 2023 +0300 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Fri Jul 14 23:22:09 2023 +0200 Use SwAnchoredObject::RegisterAtPage Change-Id: Icdc8266656bea5b44ce744457ad6a1d0ba87c473 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154447 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/sw/inc/anchoreddrawobject.hxx b/sw/inc/anchoreddrawobject.hxx index eb457701a98d..609582d4d326 100644 --- a/sw/inc/anchoreddrawobject.hxx +++ b/sw/inc/anchoreddrawobject.hxx @@ -94,7 +94,6 @@ class SwAnchoredDrawObject final : public SwAnchoredObject page frame */ virtual void RegisterAtCorrectPage() override; - virtual void RegisterAtPage(SwPageFrame &) override; virtual bool SetObjTop_( const SwTwips _nTop) override; virtual bool SetObjLeft_( const SwTwips _nLeft) override; @@ -109,6 +108,7 @@ class SwAnchoredDrawObject final : public SwAnchoredObject // declaration of pure virtual methods of base class <SwAnchoredObject> virtual void MakeObjPos() override; virtual void InvalidateObjPos() override; + virtual void RegisterAtPage(SwPageFrame&) override; bool IsValidPos() const { return mbValidPos; diff --git a/sw/source/core/draw/dcontact.cxx b/sw/source/core/draw/dcontact.cxx index e5b0c3d50314..2de9544640f3 100644 --- a/sw/source/core/draw/dcontact.cxx +++ b/sw/source/core/draw/dcontact.cxx @@ -2074,9 +2074,7 @@ void SwDrawContact::ChkPage() else { // --> #i28701# - use methods <GetPageFrame()> and <SetPageFrame> - if ( GetPageFrame() ) - GetPageFrame()->RemoveDrawObjFromPage( maAnchoredDrawObj ); - pPg->AppendDrawObjToPage( maAnchoredDrawObj ); + maAnchoredDrawObj.RegisterAtPage(*pPg); maAnchoredDrawObj.SetPageFrame( pPg ); } } diff --git a/sw/source/core/inc/flyfrm.hxx b/sw/source/core/inc/flyfrm.hxx index d3815a82835a..bbcf2845e5d7 100644 --- a/sw/source/core/inc/flyfrm.hxx +++ b/sw/source/core/inc/flyfrm.hxx @@ -156,7 +156,6 @@ protected: page frame */ virtual void RegisterAtCorrectPage() override; - virtual void RegisterAtPage(SwPageFrame &) override; virtual bool SetObjTop_( const SwTwips _nTop ) override; virtual bool SetObjLeft_( const SwTwips _nLeft ) override; @@ -267,6 +266,7 @@ public: // #i26791# - pure virtual methods of base class <SwAnchoredObject> virtual void MakeObjPos() override; virtual void InvalidateObjPos() override; + virtual void RegisterAtPage(SwPageFrame&) override; virtual SwFrameFormat& GetFrameFormat() override; virtual const SwFrameFormat& GetFrameFormat() const override; diff --git a/sw/source/core/layout/flylay.cxx b/sw/source/core/layout/flylay.cxx index 40b8547811fd..8c40a22fe0cd 100644 --- a/sw/source/core/layout/flylay.cxx +++ b/sw/source/core/layout/flylay.cxx @@ -900,11 +900,7 @@ void SwPageFrame::AppendFlyToPage( SwFlyFrame *pNew ) // #i87493# if ( pTmpObj->GetPageFrame() != this ) { - if ( pTmpObj->GetPageFrame() != nullptr ) - { - pTmpObj->GetPageFrame()->RemoveDrawObjFromPage( *pTmpObj ); - } - AppendDrawObjToPage( *pTmpObj ); + pTmpObj->RegisterAtPage(*this); } } } @@ -1057,23 +1053,7 @@ void SwPageFrame::MoveFly( SwFlyFrame *pToMove, SwPageFrame *pDest ) SwSortedObjs &rObjs = *pToMove->GetDrawObjs(); for (SwAnchoredObject* pObj : rObjs) { - if ( auto pFly = pObj->DynCastFlyFrame() ) - { - if ( pFly->IsFlyFreeFrame() ) - { - // #i28701# - use new method <GetPageFrame()> - SwPageFrame* pPageFrame = pFly->GetPageFrame(); - if ( pPageFrame ) - pPageFrame->MoveFly( pFly, pDest ); - else - pDest->AppendFlyToPage( pFly ); - } - } - else if ( dynamic_cast<const SwAnchoredDrawObject*>( pObj) != nullptr ) - { - RemoveDrawObjFromPage( *pObj ); - pDest->AppendDrawObjToPage( *pObj ); - } + pObj->RegisterAtPage(*pDest); } } diff --git a/sw/source/core/layout/frmtool.cxx b/sw/source/core/layout/frmtool.cxx index 6b1cccc647b5..9c8d6cbe85bf 100644 --- a/sw/source/core/layout/frmtool.cxx +++ b/sw/source/core/layout/frmtool.cxx @@ -3209,10 +3209,7 @@ static void lcl_Regist( SwPageFrame *pPage, const SwFrame *pAnch ) // #i87493# if ( pPage != pObj->GetPageFrame() ) { - // #i28701# - if (SwPageFrame *pPg = pObj->GetPageFrame()) - pPg->RemoveDrawObjFromPage( *pObj ); - pPage->AppendDrawObjToPage( *pObj ); + pObj->RegisterAtPage(*pPage); } } diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx index e35d5f693454..174ff7227628 100644 --- a/sw/source/core/layout/tabfrm.cxx +++ b/sw/source/core/layout/tabfrm.cxx @@ -5276,10 +5276,7 @@ static bool lcl_ArrangeLowers( SwLayoutFrame *pLay, tools::Long lYStart, bool bI if ( pPageFrame != pPageOfAnchor ) { pFly->InvalidatePos(); - if ( pPageFrame ) - pPageFrame->MoveFly( pFly, pPageOfAnchor ); - else - pPageOfAnchor->AppendFlyToPage( pFly ); + pFly->RegisterAtPage(*pPageOfAnchor); } } // OD 2004-05-11 #i28701# - Because of the introduction @@ -5314,11 +5311,7 @@ static bool lcl_ArrangeLowers( SwLayoutFrame *pLay, tools::Long lYStart, bool bI if ( pPageFrame != pPageOfAnchor ) { pAnchoredObj->InvalidateObjPos(); - if ( pPageFrame ) - { - pPageFrame->RemoveDrawObjFromPage( *pAnchoredObj ); - } - pPageOfAnchor->AppendDrawObjToPage( *pAnchoredObj ); + pAnchoredObj->RegisterAtPage(*pPageOfAnchor); } } // #i28701# - adjust last character