diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2023-09-05 16:15:48 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2023-09-05 22:00:15 +0200 |
commit | 277c651875604a98032b70d6b0bd0f274cfe5d12 (patch) | |
tree | 22ee0600ccf568afea65459e0615a69a4a816fb7 /accessibility | |
parent | 0c5deed0c5e1ca1e9a2a9315a38ab7b035d88bb9 (diff) |
use more concrete type in VCLXAccessibleBox
and avoid some casting
Change-Id: I755caf9ba5a333862d1a89a054359781544930f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156570
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'accessibility')
-rw-r--r-- | accessibility/inc/standard/vclxaccessiblebox.hxx | 6 | ||||
-rw-r--r-- | accessibility/source/standard/vclxaccessiblebox.cxx | 24 |
2 files changed, 16 insertions, 14 deletions
diff --git a/accessibility/inc/standard/vclxaccessiblebox.hxx b/accessibility/inc/standard/vclxaccessiblebox.hxx index 6c86491a5422..3825be0d4f22 100644 --- a/accessibility/inc/standard/vclxaccessiblebox.hxx +++ b/accessibility/inc/standard/vclxaccessiblebox.hxx @@ -26,6 +26,7 @@ #include <toolkit/awt/vclxaccessiblecomponent.hxx> #include <cppuhelper/implbase.hxx> +class VCLXAccessibleList; /** Base class for list- and combo boxes. This class manages the box' children. The classed derived from this one have only to implement the @@ -102,7 +103,7 @@ public: virtual css::uno::Any SAL_CALL getMinimumIncrement( ) override; protected: - virtual ~VCLXAccessibleBox() override = default; + virtual ~VCLXAccessibleBox() override; /** Returns true when the object is valid. */ @@ -129,8 +130,7 @@ private: m_xText; /// The child that contains the items of this box. - css::uno::Reference< css::accessibility::XAccessible> - m_xList; + rtl::Reference<VCLXAccessibleList> m_xList; /** This flag specifies whether an object has a text field as child regardless of whether that child being currently instantiated or diff --git a/accessibility/source/standard/vclxaccessiblebox.cxx b/accessibility/source/standard/vclxaccessiblebox.cxx index 4f4972a04477..cbc68fb2d19a 100644 --- a/accessibility/source/standard/vclxaccessiblebox.cxx +++ b/accessibility/source/standard/vclxaccessiblebox.cxx @@ -52,6 +52,8 @@ VCLXAccessibleBox::VCLXAccessibleBox (VCLXWindow* pVCLWindow, BoxType aType, boo m_bHasTextChild = true; } +VCLXAccessibleBox::~VCLXAccessibleBox() {} + void VCLXAccessibleBox::ProcessWindowChildEvent( const VclWindowEvent& rVclWindowEvent ) { uno::Any aOldValue, aNewValue; @@ -106,11 +108,11 @@ void VCLXAccessibleBox::ProcessWindowEvent (const VclWindowEvent& rVclWindowEven case VclEventId::ListboxSelect: { // Forward the call to the list child. - VCLXAccessibleList* pList = static_cast<VCLXAccessibleList*>(m_xList.get()); + VCLXAccessibleList* pList = m_xList.get(); if ( pList == nullptr ) { getAccessibleChild ( m_bHasTextChild ? 1 : 0 ); - pList = static_cast<VCLXAccessibleList*>(m_xList.get()); + pList = m_xList.get(); } if ( pList != nullptr ) { @@ -126,11 +128,11 @@ void VCLXAccessibleBox::ProcessWindowEvent (const VclWindowEvent& rVclWindowEven } case VclEventId::DropdownOpen: { - VCLXAccessibleList* pList = static_cast<VCLXAccessibleList*>(m_xList.get()); + VCLXAccessibleList* pList = m_xList.get(); if ( pList == nullptr ) { getAccessibleChild ( m_bHasTextChild ? 1 : 0 ); - pList = static_cast<VCLXAccessibleList*>(m_xList.get()); + pList = m_xList.get(); } if ( pList != nullptr ) { @@ -141,11 +143,11 @@ void VCLXAccessibleBox::ProcessWindowEvent (const VclWindowEvent& rVclWindowEven } case VclEventId::DropdownClose: { - VCLXAccessibleList* pList = static_cast<VCLXAccessibleList*>(m_xList.get()); + VCLXAccessibleList* pList = m_xList.get(); if ( pList == nullptr ) { getAccessibleChild ( m_bHasTextChild ? 1 : 0 ); - pList = static_cast<VCLXAccessibleList*>(m_xList.get()); + pList = m_xList.get(); } if ( pList != nullptr ) { @@ -162,7 +164,7 @@ void VCLXAccessibleBox::ProcessWindowEvent (const VclWindowEvent& rVclWindowEven } case VclEventId::ComboboxSelect: { - VCLXAccessibleList* pList = static_cast<VCLXAccessibleList*>(m_xList.get()); + VCLXAccessibleList* pList = m_xList.get(); if (pList != nullptr && m_xText.is()) { Reference<XAccessibleText> xText (m_xText->getAccessibleContext(), UNO_QUERY); @@ -191,11 +193,11 @@ void VCLXAccessibleBox::ProcessWindowEvent (const VclWindowEvent& rVclWindowEven case VclEventId::ComboboxItemRemoved: { // Forward the call to the list child. - VCLXAccessibleList* pList = static_cast<VCLXAccessibleList*>(m_xList.get()); + VCLXAccessibleList* pList = m_xList.get(); if ( pList == nullptr ) { getAccessibleChild ( m_bHasTextChild ? 1 : 0 ); - pList = static_cast<VCLXAccessibleList*>(m_xList.get()); + pList = m_xList.get(); } if ( pList != nullptr ) pList->ProcessWindowEvent (rVclWindowEvent); @@ -209,7 +211,7 @@ void VCLXAccessibleBox::ProcessWindowEvent (const VclWindowEvent& rVclWindowEven // the same VCL object as this box does. In case of the // combobox, however, we have to help by providing the list with // the text of the currently selected item. - VCLXAccessibleList* pList = static_cast<VCLXAccessibleList*>(m_xList.get()); + VCLXAccessibleList* pList = m_xList.get(); if (pList != nullptr && m_xText.is()) { Reference<XAccessibleText> xText (m_xText->getAccessibleContext(), UNO_QUERY); @@ -442,7 +444,7 @@ Any VCLXAccessibleBox::getCurrentValue( ) if (m_aBoxType == LISTBOX && m_bIsDropDownBox && m_xList.is() ) { - VCLXAccessibleList* pList = static_cast<VCLXAccessibleList*>(m_xList.get()); + VCLXAccessibleList* pList = m_xList.get(); if(pList->IsInDropDown()) { if(pList->getSelectedAccessibleChildCount()>0) |