1// Copyright (C) 2017 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#ifndef QQUICKMENUITEM_P_P_H
5#define QQUICKMENUITEM_P_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtQuickTemplates2/private/qquickmenuitem_p.h>
19#include <QtQuickTemplates2/private/qquickabstractbutton_p_p.h>
20
21QT_BEGIN_NAMESPACE
22
23class QQuickMenu;
24
25class QQuickMenuItemPrivate : public QQuickAbstractButtonPrivate
26{
27public:
28 Q_DECLARE_PUBLIC(QQuickMenuItem)
29
30 static QQuickMenuItemPrivate *get(QQuickMenuItem *item)
31 {
32 return item->d_func();
33 }
34
35 void setMenu(QQuickMenu *menu);
36 void setSubMenu(QQuickMenu *subMenu);
37
38 void updateEnabled();
39
40 void cancelArrow();
41 void executeArrow(bool complete = false);
42
43 bool acceptKeyClick(Qt::Key key) const override;
44
45 QPalette defaultPalette() const override;
46
47 bool highlighted = false;
48 QQuickDeferredPointer<QQuickItem> arrow;
49 QQuickMenu *menu = nullptr;
50 QQuickMenu *subMenu = nullptr;
51};
52
53QT_END_NAMESPACE
54
55#endif // QQUICKMENUITEM_P_P_H
56

source code of qtdeclarative/src/quicktemplates/qquickmenuitem_p_p.h