diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2024-12-27 15:48:45 +0200 |
---|---|---|
committer | Noel Grandin <noelgrandin@gmail.com> | 2024-12-27 17:07:59 +0100 |
commit | 3642472bea67c6e0c35bee1e6567e1fe9d560e1a (patch) | |
tree | 52da00c2392e03098305e376b3c590098c44a93c | |
parent | 8b492a1f3057d2b6c3daed7405000d0270ea3dd9 (diff) |
merge SwSidebarItem and SwAnnotationItem classes
Because the separation is not doing useful.
Which reveals that SwAnnotationWin::ChangeSidebarItem was
doing some very dodgy object slicing when assigning
to mrSidebarItem.
Fix that by using a pointer in SwAnnotationWin instead.
Change-Id: I516dfaac7066d8f1effe351ef388c03dd1127fd7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179445
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
-rw-r--r-- | compilerplugins/clang/mergeclasses.results | 1 | ||||
-rw-r--r-- | sw/inc/AnnotationWin.hxx | 8 | ||||
-rw-r--r-- | sw/inc/PostItMgr.hxx | 14 | ||||
-rw-r--r-- | sw/inc/postithelper.hxx | 48 | ||||
-rw-r--r-- | sw/qa/extras/uiwriter/uiwriter7.cxx | 2 | ||||
-rw-r--r-- | sw/source/core/fields/postithelper.cxx | 5 | ||||
-rw-r--r-- | sw/source/uibase/docvw/AnnotationWin.cxx | 10 | ||||
-rw-r--r-- | sw/source/uibase/docvw/AnnotationWin2.cxx | 26 | ||||
-rw-r--r-- | sw/source/uibase/docvw/PostItMgr.cxx | 34 | ||||
-rw-r--r-- | sw/source/uibase/docvw/SidebarWinAcc.cxx | 4 | ||||
-rw-r--r-- | sw/source/uibase/docvw/SidebarWinAcc.hxx | 6 | ||||
-rw-r--r-- | sw/source/uibase/sidebar/CommentsPanel.hxx | 2 |
12 files changed, 69 insertions, 91 deletions
diff --git a/compilerplugins/clang/mergeclasses.results b/compilerplugins/clang/mergeclasses.results index 3ed6cdea7300..7d96c32e075e 100644 --- a/compilerplugins/clang/mergeclasses.results +++ b/compilerplugins/clang/mergeclasses.results @@ -248,7 +248,6 @@ merge SwImpBlocks with SwXMLTextBlocks merge SwInterHyphInfo with (anonymous namespace)::SwHyphArgs merge SwNumberTreeNode with SwNodeNum merge SwSelPaintRects with SwShellCursor -merge SwSidebarItem with SwAnnotationItem merge SwTextAdjuster with SwTextCursor merge SwUndoTextFormatCollCreate with SwUndoCondTextFormatCollCreate maybe merge SwXFrame with cppu::ImplInheritanceHelper, in modules sw and cppuhelper diff --git a/sw/inc/AnnotationWin.hxx b/sw/inc/AnnotationWin.hxx index 0a91496bea86..9e5aaeba6aeb 100644 --- a/sw/inc/AnnotationWin.hxx +++ b/sw/inc/AnnotationWin.hxx @@ -61,7 +61,7 @@ class SAL_DLLPUBLIC_RTTI SwAnnotationWin final : public InterimItemWindow public: SwAnnotationWin( SwEditWin& rEditWin, SwPostItMgr& aMgr, - SwSidebarItem& rSidebarItem, + SwAnnotationItem& rSidebarItem, SwFormatField* aField ); virtual ~SwAnnotationWin() override; virtual void dispose() override; @@ -105,7 +105,7 @@ class SAL_DLLPUBLIC_RTTI SwAnnotationWin final : public InterimItemWindow void ResetAnchorRectChanged() { mbAnchorRectChanged = false; } const std::vector<basegfx::B2DRange>& GetAnnotationTextRanges() const { return maAnnotationTextRanges; } SwEditWin& EditWin(); - SwSidebarItem& GetSidebarItem() { return mrSidebarItem; } + SwAnnotationItem& GetSidebarItem() { return *mpSidebarItem; } OutlinerView* GetOutlinerView() { return mpOutlinerView.get();} const OutlinerView* GetOutlinerView() const { return mpOutlinerView.get();} @@ -175,7 +175,7 @@ class SAL_DLLPUBLIC_RTTI SwAnnotationWin final : public InterimItemWindow bool IsMouseOverSidebarWin() const { return mbMouseOver; } - void ChangeSidebarItem( SwSidebarItem const & rSidebarItem ); + void ChangeSidebarItem( SwAnnotationItem & rSidebarItem ); virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible() override; void DrawForPage(OutputDevice* pDev, const Point& rPos); @@ -276,7 +276,7 @@ class SAL_DLLPUBLIC_RTTI SwAnnotationWin final : public InterimItemWindow bool mbReadonly; bool mbIsFollow; - SwSidebarItem& mrSidebarItem; + SwAnnotationItem* mpSidebarItem; const SwFrame* mpAnchorFrame; SwFormatField* mpFormatField; diff --git a/sw/inc/PostItMgr.hxx b/sw/inc/PostItMgr.hxx index 8c25f381641b..a7abeb9514f3 100644 --- a/sw/inc/PostItMgr.hxx +++ b/sw/inc/PostItMgr.hxx @@ -48,7 +48,7 @@ class SfxItemSet; class SvxSearchItem; namespace sw::annotation { class SwAnnotationWin; } namespace sw::sidebarwindows { class SwFrameSidebarWinContainer; } -class SwSidebarItem; +class SwAnnotationItem; class SwFrame; namespace vcl { class Window; } struct ImplSVEvent; @@ -64,7 +64,7 @@ struct SwPostItPageItem sw::sidebarwindows::SidebarPosition eSidebarPosition; tools::Long lOffset; SwRect mPageRect; - std::vector<SwSidebarItem*> mvSidebarItems; + std::vector<SwAnnotationItem*> mvSidebarItems; SwPostItPageItem(): bScrollbar(false), eSidebarPosition( sw::sidebarwindows::SidebarPosition::NONE ), lOffset(0) { } @@ -87,7 +87,7 @@ class SAL_DLLPUBLIC_RTTI SwPostItMgr final : public SfxListener, SwView* mpView; SwWrtShell* mpWrtShell; VclPtr<SwEditWin> mpEditWin; - std::vector<std::unique_ptr<SwSidebarItem>> mvPostItFields; + std::vector<std::unique_ptr<SwAnnotationItem>> mvPostItFields; std::vector<std::unique_ptr<SwPostItPageItem>> mPages; ImplSVEvent * mnEventId; bool mbWaitingForCalcRects; @@ -128,19 +128,19 @@ class SAL_DLLPUBLIC_RTTI SwPostItMgr final : public SfxListener, sw::annotation::SwAnnotationWin* GetSidebarWin(const SfxBroadcaster* pBroadcaster) const; - SwSidebarItem* InsertItem( SfxBroadcaster* pItem, bool bCheckExistence, bool bFocus); + SwAnnotationItem* InsertItem( SfxBroadcaster* pItem, bool bCheckExistence, bool bFocus); void RemoveItem( SfxBroadcaster* pBroadcast ); - VclPtr<sw::annotation::SwAnnotationWin> GetOrCreateAnnotationWindow(SwSidebarItem& rItem); + VclPtr<sw::annotation::SwAnnotationWin> GetOrCreateAnnotationWindow(SwAnnotationItem& rItem); public: SwPostItMgr(SwView* aDoc); virtual ~SwPostItMgr() override; - typedef std::vector< std::unique_ptr<SwSidebarItem> >::const_iterator const_iterator; + typedef std::vector< std::unique_ptr<SwAnnotationItem> >::const_iterator const_iterator; const_iterator begin() const { return mvPostItFields.begin(); } const_iterator end() const { return mvPostItFields.end(); } - const std::vector<std::unique_ptr<SwSidebarItem>>& GetPostItFields() { return mvPostItFields; } + const std::vector<std::unique_ptr<SwAnnotationItem>>& GetPostItFields() { return mvPostItFields; } void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) override; diff --git a/sw/inc/postithelper.hxx b/sw/inc/postithelper.hxx index 174e103231bd..30c9606a0d4d 100644 --- a/sw/inc/postithelper.hxx +++ b/sw/inc/postithelper.hxx @@ -94,63 +94,41 @@ namespace SwPostItHelper void ImportHTML(Outliner& rOutliner, const OUString& rHtml); } -class SAL_DLLPUBLIC_RTTI SwSidebarItem +class SwAnnotationItem final { public: VclPtr<sw::annotation::SwAnnotationWin> mpPostIt; bool mbShow; bool mbFocus; bool mbPendingLayout; - SwPostItHelper::SwLayoutStatus mLayoutStatus; SwLayoutInfo maLayoutInfo; - SwSidebarItem( const bool aFocus); - - virtual ~SwSidebarItem(); - - SwSidebarItem(SwSidebarItem const &) = default; - SwSidebarItem(SwSidebarItem &&) = default; - SwSidebarItem & operator =(SwSidebarItem const &) = default; - SwSidebarItem & operator =(SwSidebarItem &&) = default; - - virtual SwPosition GetAnchorPosition() const = 0; - virtual bool UseElement(SwRootFrame const&, IDocumentRedlineAccess const&) = 0; - virtual const SwFormatField& GetFormatField() const = 0; - virtual SwFormatField& GetFormatField() = 0; - virtual const SfxBroadcaster* GetBroadcaster() const = 0; - virtual VclPtr<sw::annotation::SwAnnotationWin> GetSidebarWindow( SwEditWin& rEditWin, - SwPostItMgr& aMgr) = 0; -}; - -class SwAnnotationItem final : public SwSidebarItem -{ -public: SwAnnotationItem( SwFormatField& rFormatField, - const bool aFocus) - : SwSidebarItem( aFocus ) - , mrFormatField( rFormatField ) - { - } + const bool aFocus); + virtual ~SwAnnotationItem(); + + SwAnnotationItem(SwAnnotationItem const &) = default; + SwAnnotationItem(SwAnnotationItem &&) = default; - virtual SwPosition GetAnchorPosition() const override; - virtual bool UseElement(SwRootFrame const&, IDocumentRedlineAccess const&) override; - virtual const SwFormatField& GetFormatField() const override + SwPosition GetAnchorPosition() const; + bool UseElement(SwRootFrame const&, IDocumentRedlineAccess const&); + const SwFormatField& GetFormatField() const { return mrFormatField; } - SwFormatField& GetFormatField() override + SwFormatField& GetFormatField() { return mrFormatField; } - virtual const SfxBroadcaster* GetBroadcaster() const override + const SfxBroadcaster* GetBroadcaster() const { return &mrFormatField; } - virtual VclPtr<sw::annotation::SwAnnotationWin> GetSidebarWindow( + VclPtr<sw::annotation::SwAnnotationWin> GetSidebarWindow( SwEditWin& rEditWin, - SwPostItMgr& aMgr ) override; + SwPostItMgr& aMgr ); private: SwFormatField& mrFormatField; diff --git a/sw/qa/extras/uiwriter/uiwriter7.cxx b/sw/qa/extras/uiwriter/uiwriter7.cxx index c05b7212dcc9..909d31d70249 100644 --- a/sw/qa/extras/uiwriter/uiwriter7.cxx +++ b/sw/qa/extras/uiwriter/uiwriter7.cxx @@ -2443,7 +2443,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest7, testTdf89720) createSwDoc("tdf89720.odt"); SwView* pView = getSwDocShell()->GetView(); SwPostItMgr* pPostItMgr = pView->GetPostItMgr(); - for (std::unique_ptr<SwSidebarItem> const& pItem : *pPostItMgr) + for (std::unique_ptr<SwAnnotationItem> const& pItem : *pPostItMgr) { if (pItem->mpPostIt->IsFollow()) // This was non-0: reply comments had a text range overlay, diff --git a/sw/source/core/fields/postithelper.cxx b/sw/source/core/fields/postithelper.cxx index 7e0712a42365..9e44c55a797a 100644 --- a/sw/source/core/fields/postithelper.cxx +++ b/sw/source/core/fields/postithelper.cxx @@ -113,16 +113,17 @@ SwAnchoredObject* GetAnchoredObjectOfAnnotationMark(const sw::mark::MarkBase& rA } } -SwSidebarItem::SwSidebarItem(const bool aFocus) +SwAnnotationItem::SwAnnotationItem(SwFormatField& rFormatField, const bool aFocus) : mpPostIt(nullptr) , mbShow(true) , mbFocus(aFocus) , mbPendingLayout(false) , mLayoutStatus(SwPostItHelper::INVISIBLE) + , mrFormatField( rFormatField ) { } -SwSidebarItem::~SwSidebarItem() {} +SwAnnotationItem::~SwAnnotationItem() {} SwPostItHelper::SwLayoutStatus SwPostItHelper::getLayoutInfos( SwLayoutInfo& o_rInfo, diff --git a/sw/source/uibase/docvw/AnnotationWin.cxx b/sw/source/uibase/docvw/AnnotationWin.cxx index ee6561fb01dd..7ca518b6b5f7 100644 --- a/sw/source/uibase/docvw/AnnotationWin.cxx +++ b/sw/source/uibase/docvw/AnnotationWin.cxx @@ -108,7 +108,7 @@ namespace sw::annotation { // see AnnotationContents in sd for something similar SwAnnotationWin::SwAnnotationWin( SwEditWin& rEditWin, SwPostItMgr& aMgr, - SwSidebarItem& rSidebarItem, + SwAnnotationItem& rSidebarItem, SwFormatField* aField ) : InterimItemWindow(&rEditWin, u"modules/swriter/ui/annotation.ui"_ustr, u"Annotation"_ustr) , mrMgr(aMgr) @@ -122,7 +122,7 @@ SwAnnotationWin::SwAnnotationWin( SwEditWin& rEditWin, , mLayoutStatus(SwPostItHelper::INVISIBLE) , mbReadonly(false) , mbIsFollow(false) - , mrSidebarItem(rSidebarItem) + , mpSidebarItem(&rSidebarItem) , mpAnchorFrame(rSidebarItem.maLayoutInfo.mpAnchorFrame) , mpFormatField(aField) , mpField( static_cast<SwPostItField*>(aField->GetField())) @@ -141,7 +141,7 @@ SwAnnotationWin::SwAnnotationWin( SwEditWin& rEditWin, if (rSidebarItem.maLayoutInfo.mpAnchorFrame) { mrMgr.ConnectSidebarWinToFrame( *(rSidebarItem.maLayoutInfo.mpAnchorFrame), - mrSidebarItem.GetFormatField(), + mpSidebarItem->GetFormatField(), *this ); } #endif @@ -160,7 +160,7 @@ SwAnnotationWin::~SwAnnotationWin() void SwAnnotationWin::dispose() { #if !ENABLE_WASM_STRIP_ACCESSIBILITY - mrMgr.DisconnectSidebarWinFromFrame( *(mrSidebarItem.maLayoutInfo.mpAnchorFrame), + mrMgr.DisconnectSidebarWinFromFrame( *(mpSidebarItem->maLayoutInfo.mpAnchorFrame), *this ); #endif Disable(); @@ -241,7 +241,7 @@ void SwAnnotationWin::SetResolved(bool resolved) if (SwWrtShell* pWrtShell = mrView.GetWrtShellPtr()) { const SwViewOption* pVOpt = pWrtShell->GetViewOptions(); - mrSidebarItem.mbShow = !IsResolved() || (pVOpt->IsResolvedPostIts()); + mpSidebarItem->mbShow = !IsResolved() || (pVOpt->IsResolvedPostIts()); } mpTextRangeOverlay.reset(); diff --git a/sw/source/uibase/docvw/AnnotationWin2.cxx b/sw/source/uibase/docvw/AnnotationWin2.cxx index 9eed54376ad0..e01d3e602b4b 100644 --- a/sw/source/uibase/docvw/AnnotationWin2.cxx +++ b/sw/source/uibase/docvw/AnnotationWin2.cxx @@ -677,21 +677,21 @@ void SwAnnotationWin::SetPosAndSize() // text range overlay maAnnotationTextRanges.clear(); - if ( mrSidebarItem.maLayoutInfo.mnStartNodeIdx != SwNodeOffset(0) - && mrSidebarItem.maLayoutInfo.mnStartContent != -1 ) + if ( mpSidebarItem->maLayoutInfo.mnStartNodeIdx != SwNodeOffset(0) + && mpSidebarItem->maLayoutInfo.mnStartContent != -1 ) { const SwTextAnnotationField* pTextAnnotationField = - dynamic_cast< const SwTextAnnotationField* >( mrSidebarItem.GetFormatField().GetTextField() ); + dynamic_cast< const SwTextAnnotationField* >( mpSidebarItem->GetFormatField().GetTextField() ); SwTextNode* pTextNode = pTextAnnotationField ? pTextAnnotationField->GetpTextNode() : nullptr; SwContentNode* pContentNd = nullptr; if (pTextNode) { SwNodes& rNds = pTextNode->GetDoc().GetNodes(); - pContentNd = rNds[mrSidebarItem.maLayoutInfo.mnStartNodeIdx]->GetContentNode(); + pContentNd = rNds[mpSidebarItem->maLayoutInfo.mnStartNodeIdx]->GetContentNode(); } if (pContentNd) { - SwPosition aStartPos( *pContentNd, mrSidebarItem.maLayoutInfo.mnStartContent ); + SwPosition aStartPos( *pContentNd, mpSidebarItem->maLayoutInfo.mnStartContent ); SwShellCursor* pTmpCursor = nullptr; const bool bTableCursorNeeded = pTextNode->FindTableBoxStartNode() != pContentNd->FindTableBoxStartNode(); if ( bTableCursorNeeded ) @@ -717,7 +717,7 @@ void SwAnnotationWin::SetPosAndSize() if (bDisableMapMode) EditWin().EnableMapMode(false); - if (mrSidebarItem.maLayoutInfo.mPositionFromCommentAnchor) + if (mpSidebarItem->maLayoutInfo.mPositionFromCommentAnchor) pTmpCursorForAnnotationTextRange->FillRects(); if (bDisableMapMode) @@ -1421,7 +1421,7 @@ bool SwAnnotationWin::IsScrollbarVisible() const return HasScrollbar() && mxVScrollbar->get_vpolicy() == VclPolicyType::ALWAYS; } -void SwAnnotationWin::ChangeSidebarItem( SwSidebarItem const & rSidebarItem ) +void SwAnnotationWin::ChangeSidebarItem( SwAnnotationItem & rSidebarItem ) { #if !ENABLE_WASM_STRIP_ACCESSIBILITY const bool bAnchorChanged = mpAnchorFrame != rSidebarItem.maLayoutInfo.mpAnchorFrame; @@ -1431,18 +1431,18 @@ void SwAnnotationWin::ChangeSidebarItem( SwSidebarItem const & rSidebarItem ) } #endif - mrSidebarItem = rSidebarItem; - mpAnchorFrame = mrSidebarItem.maLayoutInfo.mpAnchorFrame; + mpSidebarItem = &rSidebarItem; + mpAnchorFrame = mpSidebarItem->maLayoutInfo.mpAnchorFrame; assert(mpAnchorFrame); #if !ENABLE_WASM_STRIP_ACCESSIBILITY if (mxSidebarWinAccessible) - mxSidebarWinAccessible->ChangeSidebarItem( mrSidebarItem ); + mxSidebarWinAccessible->ChangeSidebarItem( *mpSidebarItem ); if ( bAnchorChanged ) { - mrMgr.ConnectSidebarWinToFrame( *(mrSidebarItem.maLayoutInfo.mpAnchorFrame), - mrSidebarItem.GetFormatField(), + mrMgr.ConnectSidebarWinToFrame( *(mpSidebarItem->maLayoutInfo.mpAnchorFrame), + mpSidebarItem->GetFormatField(), *this ); } #endif @@ -1454,7 +1454,7 @@ css::uno::Reference< css::accessibility::XAccessible > SwAnnotationWin::CreateAc if (!mxSidebarWinAccessible) mxSidebarWinAccessible = new SidebarWinAccessible( *this, mrView.GetWrtShell(), - mrSidebarItem ); + *mpSidebarItem ); #endif return mxSidebarWinAccessible; } diff --git a/sw/source/uibase/docvw/PostItMgr.cxx b/sw/source/uibase/docvw/PostItMgr.cxx index 5bcbdee0c061..3c20f0b3a675 100644 --- a/sw/source/uibase/docvw/PostItMgr.cxx +++ b/sw/source/uibase/docvw/PostItMgr.cxx @@ -101,7 +101,7 @@ namespace { enum class CommentNotificationType { Add, Remove, Modify, Resolve, RedlinedDeletion }; - bool comp_pos(const std::unique_ptr<SwSidebarItem>& a, const std::unique_ptr<SwSidebarItem>& b) + bool comp_pos(const std::unique_ptr<SwAnnotationItem>& a, const std::unique_ptr<SwAnnotationItem>& b) { // sort by anchor position SwPosition aPosAnchorA = a->GetAnchorPosition(); @@ -134,7 +134,7 @@ namespace { } /// Emits LOK notification about one addition/removal/change of a comment - void lcl_CommentNotification(const SwView* pView, const CommentNotificationType nType, const SwSidebarItem* pItem, const sal_uInt32 nPostItId) + void lcl_CommentNotification(const SwView* pView, const CommentNotificationType nType, const SwAnnotationItem* pItem, const sal_uInt32 nPostItId) { if (!comphelper::LibreOfficeKit::isActive()) return; @@ -276,7 +276,7 @@ namespace { //Fields more than once. class FieldDocWatchingStack : public SfxListener { - std::vector<std::unique_ptr<SwSidebarItem>>& m_aSidebarItems; + std::vector<std::unique_ptr<SwAnnotationItem>>& m_aSidebarItems; std::vector<const SwFormatField*> m_aFormatFields; SwDocShell& m_rDocShell; FilterFunctor& m_rFilter; @@ -316,7 +316,7 @@ namespace { } public: - FieldDocWatchingStack(std::vector<std::unique_ptr<SwSidebarItem>>& in, SwDocShell &rDocShell, FilterFunctor& rFilter) + FieldDocWatchingStack(std::vector<std::unique_ptr<SwAnnotationItem>>& in, SwDocShell &rDocShell, FilterFunctor& rFilter) : m_aSidebarItems(in) , m_rDocShell(rDocShell) , m_rFilter(rFilter) @@ -427,7 +427,7 @@ bool SwPostItMgr::CheckForRemovedPostIts() if((*it)->mpPostIt && (*it)->mpPostIt->GetPostItField()) lcl_CommentNotification(mpView, CommentNotificationType::Remove, nullptr, (*it)->mpPostIt->GetPostItField()->GetPostItId()); - std::unique_ptr<SwSidebarItem> p = std::move(*it); + std::unique_ptr<SwAnnotationItem> p = std::move(*it); it = mvPostItFields.erase(it); if (GetActiveSidebarWin() == p->mpPostIt) SetActiveSidebarWin(nullptr); @@ -465,7 +465,7 @@ bool SwPostItMgr::CheckForRemovedPostIts() return true; } -SwSidebarItem* SwPostItMgr::InsertItem(SfxBroadcaster* pItem, bool bCheckExistence, bool bFocus) +SwAnnotationItem* SwPostItMgr::InsertItem(SfxBroadcaster* pItem, bool bCheckExistence, bool bFocus) { if (bCheckExistence) { @@ -477,7 +477,7 @@ SwSidebarItem* SwPostItMgr::InsertItem(SfxBroadcaster* pItem, bool bCheckExisten } mbLayout = bFocus; - SwSidebarItem* pAnnotationItem = nullptr; + SwAnnotationItem* pAnnotationItem = nullptr; if (auto pSwFormatField = dynamic_cast< SwFormatField *>( pItem )) { IsPostitField isPostitField; @@ -494,7 +494,7 @@ SwSidebarItem* SwPostItMgr::InsertItem(SfxBroadcaster* pItem, bool bCheckExisten sw::annotation::SwAnnotationWin* SwPostItMgr::GetRemovedAnnotationWin( const SfxBroadcaster* pBroadcast ) { auto i = std::find_if(mvPostItFields.begin(), mvPostItFields.end(), - [&pBroadcast](const std::unique_ptr<SwSidebarItem>& pField) { return pField->GetBroadcaster() == pBroadcast; }); + [&pBroadcast](const std::unique_ptr<SwAnnotationItem>& pField) { return pField->GetBroadcaster() == pBroadcast; }); if (i != mvPostItFields.end()) { return (*i)->mpPostIt; @@ -506,10 +506,10 @@ void SwPostItMgr::RemoveItem( SfxBroadcaster* pBroadcast ) { EndListening(*pBroadcast); auto i = std::find_if(mvPostItFields.begin(), mvPostItFields.end(), - [&pBroadcast](const std::unique_ptr<SwSidebarItem>& pField) { return pField->GetBroadcaster() == pBroadcast; }); + [&pBroadcast](const std::unique_ptr<SwAnnotationItem>& pField) { return pField->GetBroadcaster() == pBroadcast; }); if (i != mvPostItFields.end()) { - std::unique_ptr<SwSidebarItem> p = std::move(*i); + std::unique_ptr<SwAnnotationItem> p = std::move(*i); // tdf#120487 remove from list before dispose, so comment window // won't be recreated due to the entry still in the list if focus // transferring from the pPostIt triggers relayout of postits @@ -555,7 +555,7 @@ void SwPostItMgr::Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) if ( pField->IsFieldInDoc() ) { bool bEmpty = !HasNotes(); - SwSidebarItem* pItem = InsertItem( pField, true, false ); + SwAnnotationItem* pItem = InsertItem( pField, true, false ); if (bEmpty && !mvPostItFields.empty()) PrepareView(true); @@ -882,7 +882,7 @@ void SwPostItMgr::PreparePageContainer() } } -VclPtr<SwAnnotationWin> SwPostItMgr::GetOrCreateAnnotationWindow(SwSidebarItem& rItem) +VclPtr<SwAnnotationWin> SwPostItMgr::GetOrCreateAnnotationWindow(SwAnnotationItem& rItem) { VclPtr<SwAnnotationWin> pPostIt = rItem.mpPostIt; if (!pPostIt) @@ -1194,7 +1194,7 @@ void SwPostItMgr::DrawNotesForPage(OutputDevice *pOutDev, sal_uInt32 nPage) void SwPostItMgr::PaintTile(OutputDevice& rRenderContext) { - for (const std::unique_ptr<SwSidebarItem>& pItem : mvPostItFields) + for (const std::unique_ptr<SwAnnotationItem>& pItem : mvPostItFields) { SwAnnotationWin* pPostIt = pItem->mpPostIt; if (!pPostIt) @@ -1765,9 +1765,9 @@ void SwPostItMgr::PromoteToRoot(sal_uInt32 nPostItId) void SwPostItMgr::MoveSubthreadToRoot(const sw::annotation::SwAnnotationWin* pNewRoot) { - std::vector<std::unique_ptr<SwSidebarItem>>::iterator first, middle, last; + std::vector<std::unique_ptr<SwAnnotationItem>>::iterator first, middle, last; first = std::find_if(mvPostItFields.begin(), mvPostItFields.end(), - [&pNewRoot](const std::unique_ptr<SwSidebarItem>& pField) { + [&pNewRoot](const std::unique_ptr<SwAnnotationItem>& pField) { return pField->mpPostIt == pNewRoot; }); if (first == mvPostItFields.end()) @@ -1942,7 +1942,7 @@ SwAnnotationWin* SwPostItMgr::GetNextPostIt( sal_uInt16 aDirection, if (mvPostItFields.size()>1) { auto i = std::find_if(mvPostItFields.begin(), mvPostItFields.end(), - [&aPostIt](const std::unique_ptr<SwSidebarItem>& pField) { return pField->mpPostIt == aPostIt; }); + [&aPostIt](const std::unique_ptr<SwAnnotationItem>& pField) { return pField->mpPostIt == aPostIt; }); if (i == mvPostItFields.end()) return nullptr; @@ -2109,7 +2109,7 @@ vcl::Window* SwPostItMgr::IsHitSidebarWindow(const Point& rPointLogic) if (bEnableMapMode) mpEditWin->EnableMapMode(); - for (const std::unique_ptr<SwSidebarItem>& pItem : mvPostItFields) + for (const std::unique_ptr<SwAnnotationItem>& pItem : mvPostItFields) { SwAnnotationWin* pPostIt = pItem->mpPostIt; if (!pPostIt) diff --git a/sw/source/uibase/docvw/SidebarWinAcc.cxx b/sw/source/uibase/docvw/SidebarWinAcc.cxx index 646abbb782d6..232bc372880f 100644 --- a/sw/source/uibase/docvw/SidebarWinAcc.cxx +++ b/sw/source/uibase/docvw/SidebarWinAcc.cxx @@ -30,7 +30,7 @@ namespace sw::sidebarwindows { SidebarWinAccessible::SidebarWinAccessible(sw::annotation::SwAnnotationWin& rSidebarWin, SwViewShell& rViewShell, - const SwSidebarItem& rSidebarItem) + const SwAnnotationItem& rSidebarItem) : ImplInheritanceHelper(&rSidebarWin) , mrViewShell(rViewShell) , mpAnchorFrame(rSidebarItem.maLayoutInfo.mpAnchorFrame) @@ -40,7 +40,7 @@ SidebarWinAccessible::SidebarWinAccessible(sw::annotation::SwAnnotationWin& rSid SidebarWinAccessible::~SidebarWinAccessible() {} -void SidebarWinAccessible::ChangeSidebarItem(const SwSidebarItem& rSidebarItem) +void SidebarWinAccessible::ChangeSidebarItem(const SwAnnotationItem& rSidebarItem) { SolarMutexGuard aGuard; diff --git a/sw/source/uibase/docvw/SidebarWinAcc.hxx b/sw/source/uibase/docvw/SidebarWinAcc.hxx index 529d800f0722..e93fd4ebf939 100644 --- a/sw/source/uibase/docvw/SidebarWinAcc.hxx +++ b/sw/source/uibase/docvw/SidebarWinAcc.hxx @@ -23,8 +23,8 @@ #include <vcl/accessibility/vclxaccessiblecomponent.hxx> class SwViewShell; -class SwSidebarItem; class SwFrame; +class SwAnnotationItem; namespace sw::annotation { class SwAnnotationWin; @@ -37,7 +37,7 @@ class SidebarWinAccessible { public: explicit SidebarWinAccessible(sw::annotation::SwAnnotationWin& rSidebarWin, - SwViewShell& rViewShell, const SwSidebarItem& rSidebarItem); + SwViewShell& rViewShell, const SwAnnotationItem& rSidebarItem); virtual ~SidebarWinAccessible() override; virtual css::uno::Reference<css::accessibility::XAccessibleContext> @@ -47,7 +47,7 @@ public: SAL_CALL getAccessibleParent() override; virtual sal_Int64 SAL_CALL getAccessibleIndexInParent() override; - void ChangeSidebarItem(const SwSidebarItem& rSidebarItem); + void ChangeSidebarItem(const SwAnnotationItem& rSidebarItem); private: SwViewShell& mrViewShell; diff --git a/sw/source/uibase/sidebar/CommentsPanel.hxx b/sw/source/uibase/sidebar/CommentsPanel.hxx index cd8eebb0b42a..34814e63fd78 100644 --- a/sw/source/uibase/sidebar/CommentsPanel.hxx +++ b/sw/source/uibase/sidebar/CommentsPanel.hxx @@ -45,7 +45,7 @@ class SwFormatField; class SwAnnotationWin; class SfxBroadcaster; class SwPostItMgr; -class SwSidebarItem; +class SwAnnotationItem; namespace sw::sidebar { |