1// Copyright (C) 2024 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#ifndef QTQUICKCONTROLS2BASICFOREIGN_P_H
4#define QTQUICKCONTROLS2BASICFOREIGN_P_H
5
6#include <QtQml/qqml.h>
7#include <QtQuickTemplates2/private/qquickcontextmenu_p.h>
8#include <QtQuickTemplates2/private/qquickoverlay_p.h>
9#if QT_CONFIG(quicktemplates2_container)
10#include <QtQuickTemplates2/private/qquicksplitview_p.h>
11#endif
12
13QT_BEGIN_NAMESPACE
14
15//
16// W A R N I N G
17// -------------
18//
19// This file is not part of the Qt API. It exists purely as an
20// implementation detail. This header file may change from version to
21// version without notice, or even be removed.
22//
23// We mean it.
24//
25
26// These are necessary in order to use C++ types in a file where only QtQuick.Controls has been imported.
27// Control types like Button don't need this done for them, as each style module provides a Button type,
28// and QtQuick.Controls is a sort of alias for the active style import.
29
30struct QQuickOverlayAttachedForeign
31{
32 Q_GADGET
33 QML_NAMED_ELEMENT(Overlay)
34 QML_FOREIGN(QQuickOverlay)
35 QML_UNCREATABLE("")
36 QML_ADDED_IN_VERSION(2, 3)
37};
38
39#if QT_CONFIG(quicktemplates2_container)
40struct QQuickSplitHandleAttachedForeign
41{
42 Q_GADGET
43 QML_NAMED_ELEMENT(SplitHandle)
44 QML_FOREIGN(QQuickSplitHandleAttached)
45 QML_UNCREATABLE("")
46 QML_ADDED_IN_VERSION(2, 13)
47};
48#endif
49
50struct QQuickContextMenuForeign
51{
52 Q_GADGET
53 QML_NAMED_ELEMENT(ContextMenu)
54 QML_FOREIGN(QQuickContextMenu)
55 QML_UNCREATABLE("")
56 QML_ADDED_IN_VERSION(6, 9)
57};
58
59QT_END_NAMESPACE
60
61#endif // QTQUICKCONTROLS2BASICFOREIGN_P_H
62

source code of qtdeclarative/src/quickcontrols/basic/qtquickcontrols2basicforeign_p.h