1/****************************************************************************
2**
3** Copyright (C) 2016 The Qt Company Ltd.
4** Contact: https://www.qt.io/licensing/
5**
6** This file is part of the QtGui module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:LGPL$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The Qt Company. For licensing terms
14** and conditions see https://www.qt.io/terms-conditions. For further
15** information use the contact form at https://www.qt.io/contact-us.
16**
17** GNU Lesser General Public License Usage
18** Alternatively, this file may be used under the terms of the GNU Lesser
19** General Public License version 3 as published by the Free Software
20** Foundation and appearing in the file LICENSE.LGPL3 included in the
21** packaging of this file. Please review the following information to
22** ensure the GNU Lesser General Public License version 3 requirements
23** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
24**
25** GNU General Public License Usage
26** Alternatively, this file may be used under the terms of the GNU
27** General Public License version 2.0 or (at your option) the GNU General
28** Public license version 3 or any later version approved by the KDE Free
29** Qt Foundation. The licenses are as published by the Free Software
30** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
31** included in the packaging of this file. Please review the following
32** information to ensure the GNU General Public License requirements will
33** be met: https://www.gnu.org/licenses/gpl-2.0.html and
34** https://www.gnu.org/licenses/gpl-3.0.html.
35**
36** $QT_END_LICENSE$
37**
38****************************************************************************/
39
40#include "qaccessiblebridge.h"
41
42#ifndef QT_NO_ACCESSIBILITY
43
44QT_BEGIN_NAMESPACE
45
46/*!
47 \class QAccessibleBridge
48 \brief The QAccessibleBridge class is the base class for
49 accessibility back-ends.
50 \internal
51
52 \ingroup accessibility
53 \inmodule QtWidgets
54
55 Qt supports Microsoft Active Accessibility (MSAA), \macos
56 Accessibility, and the Unix/X11 AT-SPI standard. By subclassing
57 QAccessibleBridge, you can support other backends than the
58 predefined ones.
59
60 Currently, custom bridges are only supported on Unix. We might
61 add support for them on other platforms as well if there is
62 enough demand.
63
64 \sa QAccessible, QAccessibleBridgePlugin
65*/
66
67/*!
68 \fn QAccessibleBridge::~QAccessibleBridge()
69
70 Destroys the accessibility bridge object.
71*/
72
73/*!
74 \fn void QAccessibleBridge::setRootObject(QAccessibleInterface *object)
75
76 This function is called by Qt at application startup to set the
77 root accessible object of the application to \a object. All other
78 accessible objects in the application can be reached by the
79 client using object navigation.
80*/
81
82/*!
83 \fn void QAccessibleBridge::notifyAccessibilityUpdate(QAccessibleEvent *event)
84
85 This function is called by Qt to notify the bridge about a change
86 in the accessibility information. The \a event specifies the interface,
87 object, reason and child element that has changed.
88
89 \sa QAccessible::updateAccessibility()
90*/
91
92/*!
93 \class QAccessibleBridgePlugin
94 \brief The QAccessibleBridgePlugin class provides an abstract
95 base for accessibility bridge plugins.
96 \internal
97
98 \ingroup plugins
99 \ingroup accessibility
100 \inmodule QtWidgets
101
102 Writing an accessibility bridge plugin is achieved by subclassing
103 this base class, reimplementing the pure virtual function create(),
104 and exporting the class with the Q_PLUGIN_METADATA() macro.
105
106 \sa QAccessibleBridge, QAccessiblePlugin, {How to Create Qt Plugins}
107*/
108
109/*!
110 Constructs an accessibility bridge plugin with the given \a
111 parent. This is invoked automatically by the plugin loader.
112*/
113QAccessibleBridgePlugin::QAccessibleBridgePlugin(QObject *parent)
114 : QObject(parent)
115{
116
117}
118
119/*!
120 Destroys the accessibility bridge plugin.
121
122 You never have to call this explicitly. Qt destroys a plugin
123 automatically when it is no longer used.
124*/
125QAccessibleBridgePlugin::~QAccessibleBridgePlugin()
126{
127
128}
129
130/*!
131 \fn QAccessibleBridge *QAccessibleBridgePlugin::create(const QString &key)
132
133 Creates and returns the QAccessibleBridge object corresponding to
134 the given \a key. Keys are case sensitive.
135
136 \sa keys()
137*/
138
139QT_END_NAMESPACE
140
141#endif // QT_NO_ACCESSIBILITY
142