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