Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-26 09:09:51

0001 // Copyright (C) 2016 The Qt Company Ltd.
0002 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0003 // Qt-Security score:significant reason:default
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     // QAccessibleActionInterface
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     // force instantiation to avoid error #2045
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     // QAccessibleAttributesInterface
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 // QT_CONFIG(accessibility)
0090 
0091 QT_END_NAMESPACE
0092 
0093 #endif // QACCESSIBLEWIDGET_H