From beb72b2fbf17a20b4a9d51d75d79f9c3c69bb357 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Sat, 22 Oct 2011 22:38:14 +0200 Subject: Remove virtual child integers. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This makes the accessibility apis much simpler and less error prone. Disable the itemviews implementation that is in complex widgets. The itemviews will use the new code from itemviews.h/cpp everywhere now. QToolBox was broken before, now at least it simply exposes all its children. The children are the buttons (tabs of the toolbox) and their contents. Change-Id: I45e218f49f02aebbd678ddfe29f94c2a112a2125 Reviewed-by: Jan-Arve Sæther --- src/gui/accessible/qaccessible.cpp | 6 ++---- src/gui/accessible/qaccessible.h | 24 ++++++++++-------------- src/gui/accessible/qaccessible2.cpp | 18 +++++++++--------- src/gui/accessible/qaccessibleobject.cpp | 20 +++++++------------- src/gui/accessible/qaccessibleobject.h | 12 ++++++------ 5 files changed, 34 insertions(+), 46 deletions(-) (limited to 'src/gui/accessible') diff --git a/src/gui/accessible/qaccessible.cpp b/src/gui/accessible/qaccessible.cpp index 2aaf66973a..34484ad352 100644 --- a/src/gui/accessible/qaccessible.cpp +++ b/src/gui/accessible/qaccessible.cpp @@ -871,8 +871,7 @@ const QAccessibleInterface *other, int otherChild) const \sa relations(), indexOfChild(), navigate() */ -QAccessible::Relation QAccessibleInterface::relationTo(int, - const QAccessibleInterface *, int) const +QAccessible::Relation QAccessibleInterface::relationTo(const QAccessibleInterface *) const { return Unrelated; } @@ -1206,10 +1205,9 @@ QWindow *QAccessibleInterface::window() const Returns an invalid QVariant if the object doesn't support the action. */ -QVariant QAccessibleInterface::invokeMethod(Method method, int child, const QVariantList ¶ms) +QVariant QAccessibleInterface::invokeMethod(Method method, const QVariantList ¶ms) { Q_UNUSED(method) - Q_UNUSED(child) Q_UNUSED(params) return QVariant(); } diff --git a/src/gui/accessible/qaccessible.h b/src/gui/accessible/qaccessible.h index 7b9b9e12a4..0835793418 100644 --- a/src/gui/accessible/qaccessible.h +++ b/src/gui/accessible/qaccessible.h @@ -369,8 +369,7 @@ public: virtual QWindow *window() const; // relations - virtual Relation relationTo(int child, const QAccessibleInterface *other, - int otherChild) const; + virtual Relation relationTo(const QAccessibleInterface *other) const; virtual QVector > relations() const; virtual int childAt(int x, int y) const = 0; @@ -383,17 +382,16 @@ public: virtual int navigate(RelationFlag relation, int index, QAccessibleInterface **iface) const = 0; // properties and state - virtual QString text(Text t, int child = 0) const = 0; - virtual void setText(Text t, int child, const QString &text) = 0; - virtual QRect rect(int child = 0) const = 0; - virtual Role role(int child = 0) const = 0; - virtual State state(int child = 0) const = 0; + virtual QString text(Text t) const = 0; + virtual void setText(Text t, const QString &text) = 0; + virtual QRect rect() const = 0; + virtual Role role() const = 0; + virtual State state() const = 0; virtual QColor foregroundColor() const; virtual QColor backgroundColor() const; - virtual QVariant invokeMethod(Method method, int child = 0, - const QVariantList ¶ms = QVariantList()); + virtual QVariant invokeMethod(Method method, const QVariantList ¶ms = QVariantList()); inline QSet supportedMethods() { return qvariant_cast >(invokeMethod(ListSupportedMethods)); } @@ -431,18 +429,16 @@ private: class QAccessibleEvent : public QEvent { public: - inline QAccessibleEvent(Type type, int child); - inline int child() const { return c; } + inline QAccessibleEvent(Type type); inline QString value() const { return val; } inline void setValue(const QString &aText) { val = aText; } private: - int c; QString val; }; -inline QAccessibleEvent::QAccessibleEvent(Type atype, int achild) - : QEvent(atype), c(achild) {} +inline QAccessibleEvent::QAccessibleEvent(Type atype) + : QEvent(atype) {} #define QAccessibleInterface_iid "com.trolltech.Qt.QAccessibleInterface" Q_DECLARE_INTERFACE(QAccessibleInterface, QAccessibleInterface_iid) diff --git a/src/gui/accessible/qaccessible2.cpp b/src/gui/accessible/qaccessible2.cpp index f8d06da160..d8bebdc697 100644 --- a/src/gui/accessible/qaccessible2.cpp +++ b/src/gui/accessible/qaccessible2.cpp @@ -401,7 +401,7 @@ QAccessibleSimpleEditableTextInterface::QAccessibleSimpleEditableTextInterface( #ifndef QT_NO_CLIPBOARD static QString textForRange(QAccessibleInterface *iface, int startOffset, int endOffset) { - return iface->text(QAccessible::Value, 0).mid(startOffset, endOffset - startOffset); + return iface->text(QAccessible::Value).mid(startOffset, endOffset - startOffset); } #endif @@ -417,16 +417,16 @@ void QAccessibleSimpleEditableTextInterface::copyText(int startOffset, int endOf void QAccessibleSimpleEditableTextInterface::deleteText(int startOffset, int endOffset) { - QString txt = iface->text(QAccessible::Value, 0); + QString txt = iface->text(QAccessible::Value); txt.remove(startOffset, endOffset - startOffset); - iface->setText(QAccessible::Value, 0, txt); + iface->setText(QAccessible::Value, txt); } void QAccessibleSimpleEditableTextInterface::insertText(int offset, const QString &text) { - QString txt = iface->text(QAccessible::Value, 0); + QString txt = iface->text(QAccessible::Value); txt.insert(offset, text); - iface->setText(QAccessible::Value, 0, txt); + iface->setText(QAccessible::Value, txt); } void QAccessibleSimpleEditableTextInterface::cutText(int startOffset, int endOffset) @@ -446,17 +446,17 @@ void QAccessibleSimpleEditableTextInterface::pasteText(int offset) #ifdef QT_NO_CLIPBOARD Q_UNUSED(offset); #else - QString txt = iface->text(QAccessible::Value, 0); + QString txt = iface->text(QAccessible::Value); txt.insert(offset, QGuiApplication::clipboard()->text()); - iface->setText(QAccessible::Value, 0, txt); + iface->setText(QAccessible::Value, txt); #endif } void QAccessibleSimpleEditableTextInterface::replaceText(int startOffset, int endOffset, const QString &text) { - QString txt = iface->text(QAccessible::Value, 0); + QString txt = iface->text(QAccessible::Value); txt.replace(startOffset, endOffset - startOffset, text); - iface->setText(QAccessible::Value, 0, txt); + iface->setText(QAccessible::Value, txt); } QT_END_NAMESPACE diff --git a/src/gui/accessible/qaccessibleobject.cpp b/src/gui/accessible/qaccessibleobject.cpp index da68579809..695c66654e 100644 --- a/src/gui/accessible/qaccessibleobject.cpp +++ b/src/gui/accessible/qaccessibleobject.cpp @@ -144,13 +144,13 @@ bool QAccessibleObject::isValid() const } /*! \reimp */ -QRect QAccessibleObject::rect(int) const +QRect QAccessibleObject::rect() const { return QRect(); } /*! \reimp */ -void QAccessibleObject::setText(Text, int, const QString &) +void QAccessibleObject::setText(Text, const QString &) { } @@ -227,20 +227,14 @@ int QAccessibleApplication::childAt(int x, int y) const } /*! \reimp */ -QAccessible::Relation QAccessibleApplication::relationTo(int child, const - QAccessibleInterface *other, int otherChild) const +QAccessible::Relation QAccessibleApplication::relationTo(const QAccessibleInterface *other) const { QObject *o = other ? other->object() : 0; if (!o) return Unrelated; if(o == object()) { - if (child && !otherChild) - return Child; - if (!child && otherChild) - return Ancestor; - if (!child && !otherChild) - return Self; + return Self; } return Unrelated; @@ -290,7 +284,7 @@ int QAccessibleApplication::navigate(RelationFlag relation, int, } /*! \reimp */ -QString QAccessibleApplication::text(Text t, int) const +QString QAccessibleApplication::text(Text t) const { switch (t) { case Name: @@ -304,13 +298,13 @@ QString QAccessibleApplication::text(Text t, int) const } /*! \reimp */ -QAccessible::Role QAccessibleApplication::role(int) const +QAccessible::Role QAccessibleApplication::role() const { return Application; } /*! \reimp */ -QAccessible::State QAccessibleApplication::state(int) const +QAccessible::State QAccessibleApplication::state() const { return QGuiApplication::activeWindow() ? Focused : Normal; } diff --git a/src/gui/accessible/qaccessibleobject.h b/src/gui/accessible/qaccessibleobject.h index d562960554..6a02dc86c7 100644 --- a/src/gui/accessible/qaccessibleobject.h +++ b/src/gui/accessible/qaccessibleobject.h @@ -65,8 +65,8 @@ public: QObject *object() const; // properties - QRect rect(int child = 0) const; - void setText(Text t, int child, const QString &text); + QRect rect() const; + void setText(Text t, const QString &text); protected: virtual ~QAccessibleObject(); @@ -86,7 +86,7 @@ public: // relations int childCount() const; int indexOfChild(const QAccessibleInterface*) const; - Relation relationTo(int, const QAccessibleInterface *, int) const; + Relation relationTo(const QAccessibleInterface *other) const; // navigation QAccessibleInterface *parent() const; @@ -95,9 +95,9 @@ public: int navigate(RelationFlag, int, QAccessibleInterface **) const; // properties and state - QString text(Text t, int child = 0) const; - Role role(int child = 0) const; - State state(int child = 0) const; + QString text(Text t) const; + Role role() const; + State state() const; }; #endif // QT_NO_ACCESSIBILITY -- cgit v1.2.3