include/svtools/valueset.hxx | 4 +++- svtools/source/control/valueset.cxx | 24 +++++++++--------------- 2 files changed, 12 insertions(+), 16 deletions(-)
New commits: commit 7379decd74f9f66011f0023d8903430293dc0532 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Wed Aug 30 12:46:31 2023 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Wed Aug 30 17:49:47 2023 +0200 use concrete type for ValueSet::mxAccessible avoid some unnecessary casting Change-Id: I2569aafb10431bcf1445efefd277b1aeecf7b404 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156286 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/include/svtools/valueset.hxx b/include/svtools/valueset.hxx index 92c3e4e361cc..e3ff72438003 100644 --- a/include/svtools/valueset.hxx +++ b/include/svtools/valueset.hxx @@ -23,6 +23,7 @@ #include <vcl/wintypes.hxx> #include <vcl/customweld.hxx> #include <vcl/image.hxx> +#include <rtl/ref.hxx> #include <memory> #include <vector> @@ -34,6 +35,7 @@ class DataChangedEvent; class ScrollBar; class UserDrawEvent; class VirtualDevice; +class ValueSetAcc; struct ValueSetItem; @@ -185,7 +187,7 @@ class SVT_DLLPUBLIC ValueSet : public weld::CustomWidgetController { private: ScopedVclPtr<VirtualDevice> maVirDev; - css::uno::Reference<css::accessibility::XAccessible> mxAccessible; + rtl::Reference<ValueSetAcc> mxAccessible; ValueItemList mItemList; std::unique_ptr<ValueSetItem> mpNoneItem; std::unique_ptr<weld::ScrolledWindow> mxScrolledWindow; diff --git a/svtools/source/control/valueset.cxx b/svtools/source/control/valueset.cxx index 71f2f7c5aa0d..e40da6193084 100644 --- a/svtools/source/control/valueset.cxx +++ b/svtools/source/control/valueset.cxx @@ -123,9 +123,8 @@ Reference<XAccessible> ValueSet::CreateAccessible() ValueSet::~ValueSet() { - Reference<XComponent> xComponent(mxAccessible, UNO_QUERY); - if (xComponent.is()) - xComponent->dispose(); + if (mxAccessible) + mxAccessible->dispose(); ImplDeleteItems(); } @@ -228,16 +227,13 @@ sal_uInt16 ValueSet::ImplGetVisibleItemCount() const void ValueSet::ImplFireAccessibleEvent( short nEventId, const Any& rOldValue, const Any& rNewValue ) { - ValueSetAcc* pAcc = ValueSetAcc::getImplementation(mxAccessible); - - if( pAcc ) - pAcc->FireAccessibleEvent( nEventId, rOldValue, rNewValue ); + if( mxAccessible ) + mxAccessible->FireAccessibleEvent( nEventId, rOldValue, rNewValue ); } bool ValueSet::ImplHasAccessibleListeners() const { - ValueSetAcc* pAcc = ValueSetAcc::getImplementation(mxAccessible); - return( pAcc && pAcc->HasAccessibleListeners() ); + return mxAccessible && mxAccessible->HasAccessibleListeners(); } IMPL_LINK(ValueSet, ImplScrollHdl, weld::ScrolledWindow&, rScrollWin, void) @@ -265,9 +261,8 @@ void ValueSet::GetFocus() CustomWidgetController::GetFocus(); // Tell the accessible object that we got the focus. - ValueSetAcc* pAcc = ValueSetAcc::getImplementation(mxAccessible); - if (pAcc) - pAcc->GetFocus(); + if (mxAccessible) + mxAccessible->GetFocus(); } void ValueSet::LoseFocus() @@ -277,9 +272,8 @@ void ValueSet::LoseFocus() CustomWidgetController::LoseFocus(); // Tell the accessible object that we lost the focus. - ValueSetAcc* pAcc = ValueSetAcc::getImplementation(mxAccessible); - if( pAcc ) - pAcc->LoseFocus(); + if( mxAccessible ) + mxAccessible->LoseFocus(); } void ValueSet::Resize()