summaryrefslogtreecommitdiff
path: root/accessibility
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2023-09-05 16:15:48 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2023-09-05 22:00:15 +0200
commit277c651875604a98032b70d6b0bd0f274cfe5d12 (patch)
tree22ee0600ccf568afea65459e0615a69a4a816fb7 /accessibility
parent0c5deed0c5e1ca1e9a2a9315a38ab7b035d88bb9 (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.hxx6
-rw-r--r--accessibility/source/standard/vclxaccessiblebox.cxx24
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)