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
qquickaccessiblefactory.cpp
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// Qt-Security score:significant reason:default
4
6
11#include <QtQuick/private/qquickitem_p.h>
12#include <QtQuick/private/qquicktextedit_p.h>
13#include <QtQuick/private/qquicktextinput_p.h>
14
15QT_BEGIN_NAMESPACE
16#if QT_CONFIG(accessibility)
17
18QAccessibleInterface *qQuickAccessibleFactory(const QString &classname, QObject *object)
19{
20 if (classname == QLatin1String("QQuickWindow"))
21 return new QAccessibleQuickWindow(qobject_cast<QQuickWindow *>(object));
22 if (classname == QLatin1String("QQuickTextEdit"))
23 return new QAccessibleQuickTextEdit(qobject_cast<QQuickTextEdit *>(object));
24 if (classname == QLatin1String("QQuickTextInput"))
25 return new QAccessibleQuickTextInput(qobject_cast<QQuickTextInput *>(object));
26 if (classname == QLatin1String("QQuickItem")) {
27 QQuickItem *item = qobject_cast<QQuickItem *>(object);
28 Q_ASSERT(item);
29 QQuickItemPrivate *itemPrivate = QQuickItemPrivate::get(item);
30 if (!itemPrivate->isAccessible)
31 return nullptr;
32 return new QAccessibleQuickItem(item);
33 }
34
35 return nullptr;
36}
37
38#endif
39QT_END_NAMESPACE