LibreOffice Module test (master) 1
|
#include <AccessibilityTools.hxx>
Static Public Member Functions | |
static css::uno::Reference< css::accessibility::XAccessibleContext > | getAccessibleObjectForPredicate (const css::uno::Reference< css::accessibility::XAccessibleContext > &xCtx, const std::function< bool(const css::uno::Reference< css::accessibility::XAccessibleContext > &)> &cPredicate) |
static css::uno::Reference< css::accessibility::XAccessibleContext > | getAccessibleObjectForPredicate (const css::uno::Reference< css::accessibility::XAccessible > &xAcc, const std::function< bool(const css::uno::Reference< css::accessibility::XAccessibleContext > &)> &cPredicate) |
static css::uno::Reference< css::accessibility::XAccessibleContext > | getAccessibleObjectForRole (const css::uno::Reference< css::accessibility::XAccessibleContext > &xCtx, sal_Int16 role) |
static css::uno::Reference< css::accessibility::XAccessibleContext > | getAccessibleObjectForRole (const css::uno::Reference< css::accessibility::XAccessible > &xacc, sal_Int16 role) |
static css::uno::Reference< css::accessibility::XAccessibleContext > | getAccessibleObjectForName (const css::uno::Reference< css::accessibility::XAccessibleContext > &xCtx, const sal_Int16 role, std::u16string_view name) |
Gets a descendant of xCtx (or xCtx itself) that matches the given role and name. More... | |
static css::uno::Reference< css::accessibility::XAccessibleContext > | getAccessibleObjectForName (const css::uno::Reference< css::accessibility::XAccessible > &xAcc, const sal_Int16 role, std::u16string_view name) |
template<typename... Ts> | |
static css::uno::Reference< css::accessibility::XAccessibleContext > | getAccessibleObjectForName (const css::uno::Reference< css::accessibility::XAccessibleContext > &xCtx, const sal_Int16 role, std::u16string_view name, Ts... args) |
Gets a descendant of xCtx (or xCtx itself) that matches the last given role and name pair, and has ancestors matching the leading pairs in the given order. More... | |
template<typename... Ts> | |
static css::uno::Reference< css::accessibility::XAccessibleContext > | getAccessibleObjectForName (const css::uno::Reference< css::accessibility::XAccessible > &xAcc, const sal_Int16 role, std::u16string_view name, Ts... args) |
static bool | equals (const css::uno::Reference< css::accessibility::XAccessible > &xacc1, const css::uno::Reference< css::accessibility::XAccessible > &xacc2) |
static bool | equals (const css::uno::Reference< css::accessibility::XAccessibleContext > &xctx1, const css::uno::Reference< css::accessibility::XAccessibleContext > &xctx2) |
static bool | nameEquals (const css::uno::Reference< css::accessibility::XAccessibleContext > &xCtx, const std::u16string_view name) |
Compares the accessible name against a string. More... | |
static bool | nameEquals (const css::uno::Reference< css::accessibility::XAccessible > &xAcc, const std::u16string_view name) |
static OUString | getRoleName (const sal_Int16 role) |
static OUString | getEventIdName (const sal_Int16 event_id) |
static OUString | getRelationTypeName (const sal_Int16 rel_type) |
template<typename T > | |
static std::string | debugString (const css::uno::Reference< T > &x) |
template<typename T > | |
static std::string | debugString (const T &x) |
template<typename T > | |
static std::string | debugString (const T *p) |
template<typename T > | |
static std::string | debugString (T *p) |
static OUString | debugAccessibleStateSet (sal_Int64 p) |
static bool | Await (const std::function< bool()> &cUntilCallback, sal_uInt64 nTimeoutMs=3000) |
Process events until a condition or a timeout. More... | |
static void | Wait (sal_uInt64 nTimeoutMs) |
Process events for a given time. More... | |
Static Public Attributes | |
static const sal_Int32 | MAX_CHILDREN = 500 |
Maximum number of children to work on. More... | |
Static Private Member Functions | |
static OUString | debugName (css::accessibility::XAccessibleContext *xctx) |
static OUString | debugName (css::accessibility::XAccessible *xacc) |
static OUString | debugName (const css::accessibility::AccessibleEventObject *evobj) |
static OUString | debugName (css::accessibility::XAccessibleAction *xAct) |
static OUString | debugName (css::accessibility::XAccessibleText *xTxt) |
Definition at line 35 of file AccessibilityTools.hxx.
|
static |
Process events until a condition or a timeout.
cUntilCallback | Callback condition |
nTimeoutMs | Maximum time in ms to wait for condition |
true
if the condition was met, or false
if the timeout has been reached.Processes events until idle, and either until the given condition becomes true
or a timeout is reached.
This is similar to Scheduler::ProcessEventsToIdle() but awaits a condition up to a timeout. This is useful if the waited-on condition might happen after the first idle time. The timeout helps in case the condition is not satisfied in reasonable time.
cUntilCallback
is called each time the scheduler reaches idle to check whether the condition is met.
Example:
Definition at line 716 of file AccessibilityTools.cxx.
References Task::IsActive(), Scheduler::ProcessEventsToIdle(), SAL_WARN_IF, Timer::SetTimeout(), and Timer::Start().
|
static |
Definition at line 393 of file AccessibilityTools.cxx.
References i, name, and unknownName().
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
inlinestatic |
Definition at line 183 of file AccessibilityTools.hxx.
References x.
Referenced by test::AccessibleTestBase::dumpA11YTree(), and test::AccessibleEventPosterHelper::setWindow().
|
inlinestatic |
Definition at line 188 of file AccessibilityTools.hxx.
References debugString(), and x.
Referenced by debugString().
|
inlinestatic |
Definition at line 190 of file AccessibilityTools.hxx.
References p.
|
inlinestatic |
Definition at line 201 of file AccessibilityTools.hxx.
References p.
|
static |
Referenced by test::SwAccessibleTestBase::getAllChildren().
|
static |
|
inlinestatic |
Definition at line 76 of file AccessibilityTools.hxx.
References name.
|
inlinestatic |
Definition at line 149 of file AccessibilityTools.hxx.
|
static |
Gets a descendant of xCtx
(or xCtx
itself) that matches the given role and name.
xCtx | An accessible context object to start the search from |
role | The role of the object to look up. |
name | The name of the object to look up. |
nullptr
if not found.Finds a descendant of xCtx
(or xCtx
itself) that matches role
and name
.
Definition at line 94 of file AccessibilityTools.cxx.
References getAccessibleObjectForName(), i, MAX_CHILDREN, name, and nameEquals().
Referenced by getAccessibleObjectForName().
|
inlinestatic |
Gets a descendant of xCtx
(or xCtx
itself) that matches the last given role and name pair, and has ancestors matching the leading pairs in the given order.
xCtx | An accessible context to start the search from. |
role | The role of the first ancestor to match. |
name | The name of the first ancestor to match. |
Ts...args | Additional role and name pairs of ancestors, ending with the role and name pair of the target object to match. |
nullptr
if not found.Specialized version allowing specifying arbitrary objects on the path to the target one. Not all objects have to be matched, but there have to be ancestors matching in the given order. This is useful to easily solve conflicts if there are more than one possible match.
This can be used to find an "Insert" push button inside a panel named "Some group" for example, as shown below:
getAccessibleObjectForPredicate()
call, or successive lookups interleaved with specific child lookups are likely the best solution.Definition at line 119 of file AccessibilityTools.hxx.
|
static |
|
static |
Referenced by test::AccessibleTestBase::getDocumentAccessibleContext().
|
static |
Definition at line 85 of file AccessibilityTools.cxx.
References getAccessibleObjectForRole().
|
static |
Referenced by test::AccessibleTestBase::activateMenuItem(), and getAccessibleObjectForRole().
|
static |
Definition at line 524 of file AccessibilityTools.cxx.
References unknownName().
|
static |
Definition at line 614 of file AccessibilityTools.cxx.
References unknownName().
Referenced by test::AccessibleTestBase::dumpA11YTree().
|
static |
Definition at line 211 of file AccessibilityTools.cxx.
References unknownName().
|
inlinestatic |
Definition at line 173 of file AccessibilityTools.hxx.
References name.
|
static |
Compares the accessible name against a string.
xCtx | A XAccessibleContext on which compare the name |
name | The string to compare to |
true
if xCtx
name matches name
.This is conceptually equivalent to
, but handles the case OSL debugging is active and inserts a type suffix. Unless you know for sure the accessible you are comparing is not subject to those suffixes under debugging, always use this function instead of direct comparison.
Referenced by getAccessibleObjectForName().
|
static |
Process events for a given time.
nTimeoutMs | Time to dispatch events for |
Process events for a given time. This can be useful if waiting is in order but there is no actual condition to wait on (e.g. expect something not to happen). This similar in spirit to sleep(nTimeoutMs)
, but dispatches events during the wait.
This function should be used sparsely because waiting a given time is rarely a good solution for a problem, but in some specific situations there is no better alternative (like, again, waiting for something not to happen).
Definition at line 731 of file AccessibilityTools.cxx.
References Task::IsActive(), Scheduler::ProcessEventsToIdle(), Timer::SetTimeout(), and Timer::Start().
|
static |
Maximum number of children to work on.
This is especially useful for Calc which has a million elements, if not more.
Definition at line 40 of file AccessibilityTools.hxx.
Referenced by getAccessibleObjectForName(), test::AccessibleTestBase::getAllChildren(), and test::SwAccessibleTestBase::getAllChildren().