diff options
-rw-r--r-- | include/svtools/valueset.hxx | 4 | ||||
-rw-r--r-- | svtools/source/control/valueset.cxx | 24 |
2 files changed, 12 insertions, 16 deletions
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() |