Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qspiaccessiblebridge_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
5#ifndef QSPIACCESSIBLEBRIDGE_H
6#define QSPIACCESSIBLEBRIDGE_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include <QtGui/private/qtguiglobal_p.h>
20#include <QtDBus/qdbusconnection.h>
21#include <qpa/qplatformaccessibility.h>
22#include <QtCore/qhash.h>
23
25namespace QtGuiPrivate {
26class DeviceEventControllerAdaptor;
27} // namespace QtGuiPrivate
29
31
32QT_BEGIN_NAMESPACE
33
34class QAtSpiDBusConnection;
35class QSpiDBusCache;
36class AtSpiAdaptor;
37struct RoleNames;
38
39class Q_GUI_EXPORT QSpiAccessibleBridge: public QObject, public QPlatformAccessibility
40{
41 Q_OBJECT
42public:
43 using SpiRoleMapping = QHash <QAccessible::Role, RoleNames>;
44
45 QSpiAccessibleBridge();
46
47 virtual ~QSpiAccessibleBridge();
48
49 void notifyAccessibilityUpdate(QAccessibleEvent *event) override;
50 QDBusConnection dBusConnection() const;
51
52 const SpiRoleMapping &spiRoleNames() const { return m_spiRoleMapping; }
53
54 static QSpiAccessibleBridge *instance();
55 static RoleNames namesForRole(QAccessible::Role role);
56
57public Q_SLOTS:
58 void enabledChanged(bool enabled);
59
60private:
61 void initializeConstantMappings();
62 void updateStatus();
63
64 QSpiDBusCache *cache;
65 QtGuiPrivate::DeviceEventControllerAdaptor *dec;
66 AtSpiAdaptor *dbusAdaptor;
67 QAtSpiDBusConnection* dbusConnection;
68 SpiRoleMapping m_spiRoleMapping;
69};
70
71QT_END_NAMESPACE
72
73#endif
QString introspect(const QString &path) const override
This function needs to handle the introspection of the virtual object on path.
static QStringList accessibleInterfaces(QAccessibleInterface *interface)
static QSpiAttributeSet getAttributes(QAccessibleInterface *)
void notify(QAccessibleEvent *event)
void windowActivated(QObject *window, bool active)
void registerApplication()
void eventListenerDeregistered(const QString &bus, const QString &path)
static AtspiRole getRole(QAccessibleInterface *interface)
bool handleMessage(const QDBusMessage &message, const QDBusConnection &connection) override
This function needs to handle all messages to the path of the virtual object, when the SubPath option...
Connects to the accessibility dbus.
QDBusConnection connection() const
Returns the DBus connection that got established.
Combined button and popup list for selecting options.
QT_REQUIRE_CONFIG(liburing)
const QDBusArgument & operator>>(const QDBusArgument &argument, QSpiDeviceEvent &event)
Q_DECLARE_TYPEINFO(QSpiTextRange, Q_RELOCATABLE_TYPE)
QDBusArgument & operator<<(QDBusArgument &argument, const QSpiAction &action)
QList< QSpiAccessibleCacheItem > QSpiAccessibleCacheArray
const QDBusArgument & operator>>(const QDBusArgument &argument, QSpiAction &action)
QDBusArgument & operator<<(QDBusArgument &argument, const QSpiObjectReference &address)
Q_DECLARE_TYPEINFO(QSpiMatchRule, Q_RELOCATABLE_TYPE)
QDBusArgument & operator<<(QDBusArgument &argument, const QSpiAccessibleCacheItem &item)
QList< QSpiTextRange > QSpiTextRangeList
const QDBusArgument & operator>>(const QDBusArgument &argument, QSpiObjectReference &address)
QList< QSpiObjectReference > QSpiObjectReferenceArray
QMap< QString, QString > QSpiAttributeSet
Q_DECLARE_TYPEINFO(QSpiObjectReference, Q_RELOCATABLE_TYPE)
QList< QSpiRelationArrayEntry > QSpiRelationArray
void qSpiInitializeStructTypes()
QDBusArgument & operator<<(QDBusArgument &argument, const QSpiDeviceEvent &event)
const QDBusArgument & operator>>(const QDBusArgument &argument, QSpiEventListener &action)
QDBusArgument & operator<<(QDBusArgument &argument, const QSpiMatchRule &matchRule)
std::pair< unsigned int, QSpiObjectReferenceArray > QSpiRelationArrayEntry
const QDBusArgument & operator>>(const QDBusArgument &argument, QSpiAccessibleCacheItem &item)
QDBusArgument & operator<<(QDBusArgument &argument, const QSpiEventListener &action)
QList< QSpiAction > QSpiActionArray
QList< QSpiEventListener > QSpiEventListenerArray
Q_DECLARE_TYPEINFO(QSpiAction, Q_RELOCATABLE_TYPE)
const QDBusArgument & operator>>(const QDBusArgument &argument, QSpiMatchRule &matchRule)
Q_DECLARE_TYPEINFO(QSpiEventListener, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(QSpiDeviceEvent, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(QSpiAccessibleCacheItem, Q_RELOCATABLE_TYPE)
QSpiObjectReferenceArray children
QSpiAttributeSet attributes
QSpiObjectReference(const QDBusConnection &connection, const QDBusObjectPath &path)