svx/source/accessibility/charmapacc.cxx | 8 +- svx/source/accessibility/svxpixelctlaccessiblecontext.cxx | 43 +++++--------- svx/source/dialog/charmap.cxx | 9 +- svx/source/inc/charmapacc.hxx | 4 - svx/source/inc/svxpixelctlaccessiblecontext.hxx | 4 - 5 files changed, 32 insertions(+), 36 deletions(-)
New commits: commit 1fb467ae240de07bc381385ec0589a6e99ca7042 Author: Noel Grandin <[email protected]> AuthorDate: Thu Aug 31 08:46:39 2023 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Thu Aug 31 15:10:56 2023 +0200 use concrete type for SvxShowCharSetAcc::m_aChildren avoid some unnecessary casting Change-Id: I73338c00b90357fe939e38a53f87a4ef9f13e86c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156322 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/svx/source/accessibility/charmapacc.cxx b/svx/source/accessibility/charmapacc.cxx index 61cf9ca853e1..b5a0544d75b5 100644 --- a/svx/source/accessibility/charmapacc.cxx +++ b/svx/source/accessibility/charmapacc.cxx @@ -56,7 +56,7 @@ SvxShowCharSetItem::~SvxShowCharSetItem() } } -uno::Reference< css::accessibility::XAccessible > SvxShowCharSetItem::GetAccessible() +rtl::Reference<SvxShowCharSetItemAcc> SvxShowCharSetItem::GetAccessible() { if( !m_xItem.is() ) { @@ -84,8 +84,8 @@ SvxShowCharSetAcc::~SvxShowCharSetAcc() void SAL_CALL SvxShowCharSetAcc::disposing() { OAccessibleSelectionHelper::disposing(); - for (auto& rChild : m_aChildren) - ::comphelper::disposeComponent(rChild); + for (auto& rxChild : m_aChildren) + rxChild->dispose(); m_aChildren.clear(); m_pParent = nullptr; @@ -146,7 +146,7 @@ uno::Reference< css::accessibility::XAccessible > SAL_CALL SvxShowCharSetAcc::ge { OExternalLockGuard aGuard( this ); - uno::Reference< css::accessibility::XAccessible > xRet; + rtl::Reference< SvxShowCharSetItemAcc > xRet; SvxShowCharSetItem* pItem = m_pParent->ImplGetItem( static_cast< sal_uInt16 >( i ) ); if( !pItem ) diff --git a/svx/source/dialog/charmap.cxx b/svx/source/dialog/charmap.cxx index 18a31b5f7a74..a9806505d8c8 100644 --- a/svx/source/dialog/charmap.cxx +++ b/svx/source/dialog/charmap.cxx @@ -767,11 +767,14 @@ void SvxShowCharSet::SelectIndex(int nNewIndex, bool bFocus) if( m_xAccessible.is() ) { svx::SvxShowCharSetItem* pItem = ImplGetItem(nSelectedIndex); + rtl::Reference<svx::SvxShowCharSetItemAcc> xItemAcc = pItem->GetAccessible(); // Don't fire the focus event. if ( bFocus ) - m_xAccessible->fireEvent( AccessibleEventId::ACTIVE_DESCENDANT_CHANGED, Any(), Any(pItem->GetAccessible()) ); // this call assures that m_pItem is set + m_xAccessible->fireEvent( AccessibleEventId::ACTIVE_DESCENDANT_CHANGED, Any(), + Any(uno::Reference<XAccessible>(xItemAcc)) ); // this call assures that m_pItem is set else - m_xAccessible->fireEvent( AccessibleEventId::ACTIVE_DESCENDANT_CHANGED_NOFOCUS, Any(), Any(pItem->GetAccessible()) ); // this call assures that m_pItem is set + m_xAccessible->fireEvent( AccessibleEventId::ACTIVE_DESCENDANT_CHANGED_NOFOCUS, Any(), + Any(uno::Reference<XAccessible>(xItemAcc)) ); // this call assures that m_pItem is set assert(pItem->m_xItem.is() && "No accessible created!"); Any aOldAny, aNewAny; @@ -826,7 +829,7 @@ IMPL_LINK_NOARG(SvxShowCharSet, VscrollHdl, weld::ScrolledWindow&, void) int nLast = LastInView(); for ( ; nLast != nSelectedIndex; ++nLast) { - aOldAny <<= ImplGetItem(nLast)->GetAccessible(); + aOldAny <<= uno::Reference<XAccessible>(ImplGetItem(nLast)->GetAccessible()); m_xAccessible ->fireEvent( AccessibleEventId::CHILD, aOldAny, aNewAny ); } } diff --git a/svx/source/inc/charmapacc.hxx b/svx/source/inc/charmapacc.hxx index c909756c22d1..43ab846d5b6f 100644 --- a/svx/source/inc/charmapacc.hxx +++ b/svx/source/inc/charmapacc.hxx @@ -52,7 +52,7 @@ namespace svx SvxShowCharSetItem( SvxShowCharSet& rParent, SvxShowCharSetAcc* _pParent, sal_uInt16 _nPos ); ~SvxShowCharSetItem(); - css::uno::Reference< css::accessibility::XAccessible > GetAccessible(); + rtl::Reference< SvxShowCharSetItemAcc > GetAccessible(); }; @@ -66,7 +66,7 @@ namespace svx css::accessibility::XAccessible, css::accessibility::XAccessibleTable> { - ::std::vector< css::uno::Reference< css::accessibility::XAccessible > > m_aChildren; + ::std::vector< rtl::Reference< SvxShowCharSetItemAcc > > m_aChildren; SvxShowCharSet* m_pParent; // the vcl control virtual void SAL_CALL disposing() override; public: commit d2c61ed43006066902984c37e6bd6b28a15968c9 Author: Noel Grandin <[email protected]> AuthorDate: Thu Aug 31 08:40:43 2023 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Thu Aug 31 15:10:48 2023 +0200 use concrete type for SvxPixelCtlAccessible::m_xCurChild avoid some unnecessary casting Change-Id: I83ee8605052c8635b643f9c163b2b6b69b154884 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156321 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/svx/source/accessibility/svxpixelctlaccessiblecontext.cxx b/svx/source/accessibility/svxpixelctlaccessiblecontext.cxx index af34fd21de72..8c0e0ca1c0c1 100644 --- a/svx/source/accessibility/svxpixelctlaccessiblecontext.cxx +++ b/svx/source/accessibility/svxpixelctlaccessiblecontext.cxx @@ -222,32 +222,25 @@ void SvxPixelCtlAccessible::NotifyChild(tools::Long nIndex,bool bSelect ,bool bC { DBG_ASSERT( !(!bSelect && !bCheck),"" );//non is false - SvxPixelCtlAccessibleChild *pChild= nullptr; - - if (m_xCurChild.is()) + rtl::Reference<SvxPixelCtlAccessibleChild> pChild = m_xCurChild; + if (pChild && pChild->getAccessibleIndexInParent() == nIndex ) { - pChild= static_cast<SvxPixelCtlAccessibleChild*>(m_xCurChild.get()); - DBG_ASSERT(pChild,"Child Must be Valid"); - if (pChild->getAccessibleIndexInParent() == nIndex ) + if (bSelect) + { + pChild->SelectChild(true); + } + if (bCheck) { - if (bSelect) - { - pChild->SelectChild(true); - } - if (bCheck) - { - pChild->ChangePixelColorOrBG(mpPixelCtl->GetBitmapPixel(sal_uInt16(nIndex)) != 0); - pChild->CheckChild(); - } - return ; + pChild->ChangePixelColorOrBG(mpPixelCtl->GetBitmapPixel(sal_uInt16(nIndex)) != 0); + pChild->CheckChild(); } + return; } - uno::Reference <XAccessible> xNewChild =CreateChild(nIndex, mpPixelCtl->IndexToPoint(nIndex)); - SvxPixelCtlAccessibleChild *pNewChild= static_cast<SvxPixelCtlAccessibleChild*>(xNewChild.get()); - DBG_ASSERT(pNewChild,"Child Must be Valid"); + rtl::Reference<SvxPixelCtlAccessibleChild> xNewChild = CreateChild(nIndex, mpPixelCtl->IndexToPoint(nIndex)); + DBG_ASSERT(xNewChild,"Child Must be Valid"); Any aNewValue,aOldValue; - aNewValue<<= xNewChild; + aNewValue <<= uno::Reference<XAccessible>(xNewChild); NotifyAccessibleEvent(AccessibleEventId::ACTIVE_DESCENDANT_CHANGED, aOldValue, aNewValue); if (bSelect) @@ -256,20 +249,20 @@ void SvxPixelCtlAccessible::NotifyChild(tools::Long nIndex,bool bSelect ,bool bC { pChild->SelectChild(false); } - pNewChild->SelectChild(true); + xNewChild->SelectChild(true); } if (bCheck) { - pNewChild->CheckChild(); + xNewChild->CheckChild(); } - m_xCurChild= xNewChild; + m_xCurChild = xNewChild; } -uno::Reference<XAccessible> SvxPixelCtlAccessible::CreateChild (tools::Long nIndex,Point mPoint) +rtl::Reference<SvxPixelCtlAccessibleChild> SvxPixelCtlAccessible::CreateChild (tools::Long nIndex,Point mPoint) { bool bPixelColorOrBG = mpPixelCtl->GetBitmapPixel(sal_uInt16(nIndex)) != 0; Size size(mpPixelCtl->GetWidth() / SvxPixelCtl::GetLineCount(), mpPixelCtl->GetHeight() / SvxPixelCtl::GetLineCount()); - uno::Reference<XAccessible> xChild = new SvxPixelCtlAccessibleChild(*mpPixelCtl, + rtl::Reference<SvxPixelCtlAccessibleChild> xChild = new SvxPixelCtlAccessibleChild(*mpPixelCtl, bPixelColorOrBG, tools::Rectangle(mPoint,size), this, diff --git a/svx/source/inc/svxpixelctlaccessiblecontext.hxx b/svx/source/inc/svxpixelctlaccessiblecontext.hxx index 5ae6a9b92828..ae79b36f7b1d 100644 --- a/svx/source/inc/svxpixelctlaccessiblecontext.hxx +++ b/svx/source/inc/svxpixelctlaccessiblecontext.hxx @@ -119,7 +119,7 @@ public: virtual sal_Int32 SAL_CALL getForeground( ) override; virtual sal_Int32 SAL_CALL getBackground( ) override; - css::uno::Reference< css::accessibility::XAccessible > + rtl::Reference<SvxPixelCtlAccessibleChild> CreateChild (tools::Long nIndex, Point mPoint); private: @@ -138,7 +138,7 @@ private: virtual void SAL_CALL disposing() override; SvxPixelCtl* mpPixelCtl; - css::uno::Reference< css::accessibility::XAccessible> m_xCurChild; + rtl::Reference<SvxPixelCtlAccessibleChild> m_xCurChild; public: void NotifyChild(tools::Long nIndex, bool bSelect, bool bCheck);
