summaryrefslogtreecommitdiffstats
path: root/src/widgets/accessible
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@nokia.com>2011-08-24 16:16:14 +0200
committerQt by Nokia <qt-info@nokia.com>2011-09-15 01:53:07 +0200
commit92be18bfd0cfff5af49f70d786db4d76980d710a (patch)
treeddce8b0f609faa605b581b45b77275bdd91c2db7 /src/widgets/accessible
parent86765166b9d219f6af8c69c41794ce2dfd224a63 (diff)
Add a function to get all relations of an accessible.
Add a default implementation for RelationTo. Usually this should be empty and it is pointless to return the parent-child releations in this function. Instead we will have proper parent-child functions and also remove this functionallity from navigate. Having default implementations for these removes the necessity to reimplement them to return Unrelated in many places. Change-Id: I13b7ad3256533681e5a0548ae15da98ca0d16b94 Reviewed-on: http://codereview.qt-project.org/4785 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Diffstat (limited to 'src/widgets/accessible')
-rw-r--r--src/widgets/accessible/qaccessible.cpp25
-rw-r--r--src/widgets/accessible/qaccessible.h4
2 files changed, 25 insertions, 4 deletions
diff --git a/src/widgets/accessible/qaccessible.cpp b/src/widgets/accessible/qaccessible.cpp
index 10e5785cd5..e657cd0db1 100644
--- a/src/widgets/accessible/qaccessible.cpp
+++ b/src/widgets/accessible/qaccessible.cpp
@@ -822,16 +822,35 @@ const QAccessibleInterface *other, int otherChild) const
is returned.
The returned value indicates the relation of the called object to
- the \a other object, e.g. if this object is a child of \a other
- the return value will be \c Child.
+ the \a other object, e.g. if this object is a label for \a other
+ the return value will be \c Label.
+
+ Usually parent-child relations are not returned.
The return value is a combination of the bit flags in the
QAccessible::Relation enumeration.
All objects provide this information.
- \sa indexOfChild(), navigate()
+ \sa relations(), indexOfChild(), navigate()
*/
+QAccessible::Relation QAccessibleInterface::relationTo(int,
+ const QAccessibleInterface *, int) const
+{
+ return Unrelated;
+}
+
+/*!
+ Returns the meaningful relations to other widgets. Usually this will not return parent/child
+ relations, unless they are handled in a specific way such as in tree views.
+ It will typically return the labelled-by and label relations.
+
+ \sa relationTo(), navigate()
+*/
+QVector<QPair<QAccessibleInterface*, QAccessible::Relation> > QAccessibleInterface::relations() const
+{
+ return QVector<QPair<QAccessibleInterface*, Relation> >();
+}
/*!
\fn int QAccessibleInterface::childAt(int x, int y) const
diff --git a/src/widgets/accessible/qaccessible.h b/src/widgets/accessible/qaccessible.h
index 3a59810866..f03f86ce7a 100644
--- a/src/widgets/accessible/qaccessible.h
+++ b/src/widgets/accessible/qaccessible.h
@@ -379,7 +379,9 @@ public:
// relations
virtual Relation relationTo(int child, const QAccessibleInterface *other,
- int otherChild) const = 0;
+ int otherChild) const;
+ virtual QVector<QPair<QAccessibleInterface*, Relation> > relations() const;
+
virtual int childAt(int x, int y) const = 0;
// navigation