svtools a11y: Return OAccessible in BrowseBox::getAccessible*
Return the more concrete OAccessible class instead of the abstract XAccessible UNO interface. Change-Id: I6e8b74c9bc06a72ab316ba97d76172529e9ab85b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206729 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
This commit is contained in:
@@ -381,17 +381,16 @@ private:
|
||||
SAL_DLLPRIVATE void SetToggledSelectedColumn(sal_uInt16 _nSelectedColumnId);
|
||||
|
||||
/// @see AccessibleBrowseBox::getHeaderBar
|
||||
css::uno::Reference<css::accessibility::XAccessible>
|
||||
rtl::Reference<comphelper::OAccessible>
|
||||
getAccessibleHeaderBar(AccessibleBrowseBoxObjType _eObjType);
|
||||
|
||||
css::uno::Reference<css::accessibility::XAccessible>
|
||||
rtl::Reference<comphelper::OAccessible>
|
||||
getAccessibleHeaderCell(BrowseBox::THeaderCellMap& _raHeaderCells, sal_Int32 _nPos,
|
||||
AccessibleBrowseBoxObjType _eType,
|
||||
const css::uno::Reference<css::accessibility::XAccessible>& _rParent);
|
||||
|
||||
/// @see AccessibleBrowseBox::getTable
|
||||
css::uno::Reference<css::accessibility::XAccessible>
|
||||
getAccessibleTable();
|
||||
rtl::Reference<comphelper::OAccessible> getAccessibleTable();
|
||||
|
||||
protected:
|
||||
bool m_bNavigationBar;
|
||||
|
||||
@@ -824,18 +824,15 @@ void BrowseBox::RemoveColumns()
|
||||
|
||||
// all columns should be removed, so we remove the column header bar and append it again
|
||||
// to avoid to notify every column remove
|
||||
commitBrowseBoxEvent(
|
||||
AccessibleEventId::CHILD,
|
||||
Any(),
|
||||
Any(getAccessibleHeaderBar(AccessibleBrowseBoxObjType::ColumnHeaderBar))
|
||||
);
|
||||
commitBrowseBoxEvent(AccessibleEventId::CHILD, Any(),
|
||||
Any(css::uno::Reference<XAccessible>(
|
||||
getAccessibleHeaderBar(AccessibleBrowseBoxObjType::ColumnHeaderBar))));
|
||||
|
||||
// and now append it again
|
||||
commitBrowseBoxEvent(
|
||||
AccessibleEventId::CHILD,
|
||||
Any(getAccessibleHeaderBar(AccessibleBrowseBoxObjType::ColumnHeaderBar)),
|
||||
Any()
|
||||
);
|
||||
commitBrowseBoxEvent(AccessibleEventId::CHILD,
|
||||
Any(css::uno::Reference<XAccessible>(
|
||||
getAccessibleHeaderBar(AccessibleBrowseBoxObjType::ColumnHeaderBar))),
|
||||
Any());
|
||||
|
||||
// notify a table model change
|
||||
commitTableEvent(
|
||||
@@ -1144,18 +1141,15 @@ void BrowseBox::Clear()
|
||||
if ( nOldRowCount == nRowCount )
|
||||
return;
|
||||
|
||||
commitBrowseBoxEvent(
|
||||
AccessibleEventId::CHILD,
|
||||
Any(),
|
||||
Any(getAccessibleHeaderBar( AccessibleBrowseBoxObjType::RowHeaderBar))
|
||||
);
|
||||
commitBrowseBoxEvent(AccessibleEventId::CHILD, Any(),
|
||||
Any(css::uno::Reference<XAccessible>(
|
||||
getAccessibleHeaderBar(AccessibleBrowseBoxObjType::RowHeaderBar))));
|
||||
|
||||
// and now append it again
|
||||
commitBrowseBoxEvent(
|
||||
AccessibleEventId::CHILD,
|
||||
Any(getAccessibleHeaderBar(AccessibleBrowseBoxObjType::RowHeaderBar)),
|
||||
Any()
|
||||
);
|
||||
commitBrowseBoxEvent(AccessibleEventId::CHILD,
|
||||
Any(css::uno::Reference<XAccessible>(
|
||||
getAccessibleHeaderBar(AccessibleBrowseBoxObjType::RowHeaderBar))),
|
||||
Any());
|
||||
|
||||
// notify a table model change
|
||||
commitTableEvent(
|
||||
@@ -1387,30 +1381,22 @@ void BrowseBox::RowRemoved( sal_Int32 nRow, sal_Int32 nNumRows, bool bDoPaint )
|
||||
{
|
||||
// all columns should be removed, so we remove the column header bar and append it again
|
||||
// to avoid to notify every column remove
|
||||
commitBrowseBoxEvent(
|
||||
AccessibleEventId::CHILD,
|
||||
Any(),
|
||||
Any(getAccessibleHeaderBar(AccessibleBrowseBoxObjType::RowHeaderBar))
|
||||
);
|
||||
commitBrowseBoxEvent(AccessibleEventId::CHILD, Any(),
|
||||
Any(css::uno::Reference<XAccessible>(getAccessibleHeaderBar(
|
||||
AccessibleBrowseBoxObjType::RowHeaderBar))));
|
||||
|
||||
// and now append it again
|
||||
commitBrowseBoxEvent(
|
||||
AccessibleEventId::CHILD,
|
||||
Any(getAccessibleHeaderBar(AccessibleBrowseBoxObjType::RowHeaderBar)),
|
||||
Any()
|
||||
);
|
||||
commitBrowseBoxEvent(
|
||||
AccessibleEventId::CHILD,
|
||||
Any(),
|
||||
Any(getAccessibleTable())
|
||||
);
|
||||
commitBrowseBoxEvent(AccessibleEventId::CHILD,
|
||||
Any(css::uno::Reference<XAccessible>(getAccessibleHeaderBar(
|
||||
AccessibleBrowseBoxObjType::RowHeaderBar))),
|
||||
Any());
|
||||
commitBrowseBoxEvent(AccessibleEventId::CHILD, Any(),
|
||||
Any(css::uno::Reference<XAccessible>(getAccessibleTable())));
|
||||
|
||||
// and now append it again
|
||||
commitBrowseBoxEvent(
|
||||
AccessibleEventId::CHILD,
|
||||
Any(getAccessibleTable()),
|
||||
Any()
|
||||
);
|
||||
commitBrowseBoxEvent(AccessibleEventId::CHILD,
|
||||
Any(css::uno::Reference<XAccessible>(getAccessibleTable())),
|
||||
Any());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -34,12 +34,12 @@ using namespace ::com::sun::star::uno;
|
||||
using ::com::sun::star::accessibility::XAccessible;
|
||||
using namespace ::com::sun::star::accessibility;
|
||||
|
||||
Reference<XAccessible> BrowseBox::getAccessibleHeaderCell(BrowseBox::THeaderCellMap& _raHeaderCells,
|
||||
sal_Int32 _nPos,
|
||||
AccessibleBrowseBoxObjType _eType,
|
||||
const Reference<XAccessible>& _rParent)
|
||||
rtl::Reference<comphelper::OAccessible>
|
||||
BrowseBox::getAccessibleHeaderCell(BrowseBox::THeaderCellMap& _raHeaderCells, sal_Int32 _nPos,
|
||||
AccessibleBrowseBoxObjType _eType,
|
||||
const Reference<XAccessible>& _rParent)
|
||||
{
|
||||
Reference<XAccessible> xRet;
|
||||
rtl::Reference<comphelper::OAccessible> pRet;
|
||||
BrowseBox::THeaderCellMap::iterator aFind = _raHeaderCells.find(_nPos);
|
||||
if (aFind == _raHeaderCells.end())
|
||||
{
|
||||
@@ -48,18 +48,19 @@ Reference<XAccessible> BrowseBox::getAccessibleHeaderCell(BrowseBox::THeaderCell
|
||||
aFind = _raHeaderCells.emplace(_nPos, pAccessible).first;
|
||||
}
|
||||
if (aFind != _raHeaderCells.end())
|
||||
xRet = aFind->second;
|
||||
return xRet;
|
||||
pRet = aFind->second;
|
||||
return pRet;
|
||||
}
|
||||
|
||||
Reference<XAccessible> BrowseBox::getAccessibleHeaderBar(AccessibleBrowseBoxObjType _eObjType)
|
||||
rtl::Reference<comphelper::OAccessible>
|
||||
BrowseBox::getAccessibleHeaderBar(AccessibleBrowseBoxObjType _eObjType)
|
||||
{
|
||||
if (m_xAccessible && m_xAccessible->isAlive())
|
||||
return m_xAccessible->getHeaderBar(_eObjType);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Reference<XAccessible> BrowseBox::getAccessibleTable()
|
||||
rtl::Reference<comphelper::OAccessible> BrowseBox::getAccessibleTable()
|
||||
{
|
||||
if (m_xAccessible && m_xAccessible->isAlive())
|
||||
return m_xAccessible->getTable();
|
||||
|
||||
Reference in New Issue
Block a user