File indexing completed on 2026-03-30 08:28:55
0001
0002
0003
0004 #ifndef QACCESSIBLEWIDGET_H
0005 #define QACCESSIBLEWIDGET_H
0006
0007 #include <QtWidgets/qtwidgetsglobal.h>
0008 #include <QtGui/qaccessibleobject.h>
0009 #include <QtCore/qlist.h>
0010
0011 QT_BEGIN_NAMESPACE
0012
0013
0014 #if QT_CONFIG(accessibility)
0015
0016 class QAccessibleWidgetPrivate;
0017
0018 class Q_WIDGETS_EXPORT QAccessibleWidget : public QAccessibleObject,
0019 public QAccessibleActionInterface
0020 {
0021 public:
0022 explicit QAccessibleWidget(QWidget *o, QAccessible::Role r = QAccessible::Client);
0023 explicit QAccessibleWidget(QWidget *o, QAccessible::Role r, const QString& name);
0024 bool isValid() const override;
0025
0026 QWindow *window() const override;
0027 int childCount() const override;
0028 int indexOfChild(const QAccessibleInterface *child) const override;
0029 QList<std::pair<QAccessibleInterface *, QAccessible::Relation>>
0030 relations(QAccessible::Relation match = QAccessible::AllRelations) const override;
0031 QAccessibleInterface *focusChild() const override;
0032
0033 QRect rect() const override;
0034
0035 QAccessibleInterface *parent() const override;
0036 QAccessibleInterface *child(int index) const override;
0037
0038 QString text(QAccessible::Text t) const override;
0039 QAccessible::Role role() const override;
0040 QAccessible::State state() const override;
0041
0042 QColor foregroundColor() const override;
0043 QColor backgroundColor() const override;
0044
0045 void *interface_cast(QAccessible::InterfaceType t) override;
0046
0047
0048 QStringList actionNames() const override;
0049 void doAction(const QString &actionName) override;
0050 QStringList keyBindingsForAction(const QString &actionName) const override;
0051 protected:
0052 ~QAccessibleWidget();
0053 QWidget *widget() const;
0054 QObject *parentObject() const;
0055
0056 void addControllingSignal(const QString &signal);
0057
0058 private:
0059 QAccessibleWidgetPrivate *d;
0060 Q_DISABLE_COPY(QAccessibleWidget)
0061 };
0062
0063 class Q_WIDGETS_EXPORT QAccessibleWidgetV2 : public QAccessibleWidget,
0064 public QAccessibleAttributesInterface
0065 {
0066 #ifdef Q_OS_INTEGRITY
0067
0068 struct error2045 : QList<QAccessible::Attribute> {};
0069 #endif
0070 public:
0071 explicit QAccessibleWidgetV2(QWidget *object, QAccessible::Role role = QAccessible::Client);
0072 explicit QAccessibleWidgetV2(QWidget *object, QAccessible::Role role, const QString &name);
0073
0074 protected:
0075 ~QAccessibleWidgetV2() override;
0076
0077 public:
0078 void *interface_cast(QAccessible::InterfaceType t) override;
0079
0080
0081 QList<QAccessible::Attribute> attributeKeys() const override;
0082 QVariant attributeValue(QAccessible::Attribute key) const override;
0083
0084 private:
0085 Q_DISABLE_COPY(QAccessibleWidgetV2)
0086 };
0087
0088 #endif
0089
0090 QT_END_NAMESPACE
0091
0092 #endif