Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qquickmenu_p_p.h
Go to the documentation of this file.
1
// Copyright (C) 2020 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 QQUICKMENU_P_P_H
5
#define QQUICKMENU_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 <QtCore/qlist.h>
19
#include <QtCore/qpointer.h>
20
21
#include <QtQuickTemplates2/private/qquickmenu_p.h>
22
#include <QtQuickTemplates2/private/qquickpopup_p_p.h>
23
24
QT_BEGIN_NAMESPACE
25
26
class
QQuickAction
;
27
class
QQmlComponent
;
28
class
QQmlObjectModel
;
29
class
QQuickMenuItem
;
30
31
class
Q_QUICKTEMPLATES2_EXPORT
QQuickMenuPrivate
:
public
QQuickPopupPrivate
32
{
33
public
:
34
Q_DECLARE_PUBLIC(
QQuickMenu
)
35
36
QQuickMenuPrivate
();
37
38
static
QQuickMenuPrivate
*
get
(
QQuickMenu
*
menu
)
39
{
40
return
menu
->d_func();
41
}
42
43
void
init
();
44
45
QQuickItem
*itemAt(
int
index
)
const
;
46
void
insertItem(
int
index
,
QQuickItem
*
item
);
47
void
moveItem(
int
from,
int
to);
48
void
removeItem(
int
index
,
QQuickItem
*
item
);
49
50
QQuickItem
*beginCreateItem();
51
void
completeCreateItem();
52
53
QQuickItem
*createItem(
QQuickMenu
*
menu
);
54
QQuickItem
*createItem(
QQuickAction
*action);
55
56
void
resizeItem(
QQuickItem
*
item
);
57
void
resizeItems();
58
59
void
itemChildAdded(
QQuickItem
*
item
,
QQuickItem
*
child
)
override
;
60
void
itemSiblingOrderChanged(
QQuickItem
*
item
)
override
;
61
void
itemParentChanged(
QQuickItem
*
item
,
QQuickItem
*parent)
override
;
62
void
itemDestroyed(
QQuickItem
*
item
)
override
;
63
void
itemGeometryChanged(
QQuickItem
*,
QQuickGeometryChange
change,
const
QRectF
&diff)
override
;
64
65
QQuickPopupPositioner
*getPositioner()
override
;
66
bool
prepareEnterTransition()
override
;
67
bool
prepareExitTransition()
override
;
68
bool
blockInput(
QQuickItem
*
item
,
const
QPointF
&point)
const override
;
69
70
void
onItemHovered();
71
void
onItemTriggered();
72
void
onItemActiveFocusChanged();
73
74
QQuickMenu
*currentSubMenu()
const
;
75
void
setParentMenu(
QQuickMenu
*parent);
76
void
resolveParentItem();
77
78
void
propagateKeyEvent(
QKeyEvent
*
event
);
79
80
void
startHoverTimer();
81
void
stopHoverTimer();
82
83
void
setCurrentIndex(
int
index
,
Qt::FocusReason
reason);
84
bool
activateNextItem();
85
bool
activatePreviousItem();
86
87
QQuickMenuItem
*firstEnabledMenuItem()
const
;
88
89
static
void
contentData_append(QQmlListProperty<QObject> *prop,
QObject
*
obj
);
90
static
qsizetype
contentData_count(QQmlListProperty<QObject> *prop);
91
static
QObject
*contentData_at(QQmlListProperty<QObject> *prop,
qsizetype
index
);
92
static
void
contentData_clear(QQmlListProperty<QObject> *prop);
93
94
QPalette
defaultPalette()
const override
;
95
96
bool
cascade =
false
;
97
int
hoverTimer = 0;
98
int
currentIndex = -1;
99
qreal
overlap = 0;
100
QPointer<QQuickMenu>
parentMenu
;
101
QPointer<QQuickMenuItem>
currentItem
;
102
QQuickItem
*contentItem =
nullptr
;
// TODO: cleanup
103
QList<QObject *>
contentData
;
104
QQmlObjectModel
*
contentModel
;
105
QQmlComponent
*delegate =
nullptr
;
106
QString
title
;
107
QQuickIcon
icon
;
108
};
109
110
QT_END_NAMESPACE
111
112
#endif
// QQUICKMENU_P_P_H
QKeyEvent
The QKeyEvent class describes a key event.
Definition
qevent.h:424
QObject
\inmodule QtCore
Definition
qobject.h:103
QPalette
The QPalette class contains color groups for each widget state.
Definition
qpalette.h:19
QPointF
\inmodule QtCore\reentrant
Definition
qpoint.h:217
QQmlComponent
The QQmlComponent class encapsulates a QML component definition.
Definition
qqmlcomponent.h:32
QQmlObjectModel
Definition
qqmlobjectmodel_p.h:86
QQuickAction
Definition
qquickaction_p.h:29
QQuickGeometryChange
Definition
qquickitemchangelistener_p.h:27
QQuickIcon
Definition
qquickicon_p.h:31
QQuickItem
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
Definition
qquickitem.h:63
QQuickMenuItem
Definition
qquickmenuitem_p.h:29
QQuickMenuPrivate
Definition
qquickmenu_p_p.h:32
QQuickMenuPrivate::contentModel
QQmlObjectModel * contentModel
Definition
qquickmenu_p_p.h:104
QQuickMenuPrivate::title
QString title
Definition
qquickmenu_p_p.h:106
QQuickMenuPrivate::contentData
QList< QObject * > contentData
Definition
qquickmenu_p_p.h:103
QQuickMenuPrivate::parentMenu
QPointer< QQuickMenu > parentMenu
Definition
qquickmenu_p_p.h:100
QQuickMenuPrivate::currentItem
QPointer< QQuickMenuItem > currentItem
Definition
qquickmenu_p_p.h:101
QQuickMenuPrivate::get
static QQuickMenuPrivate * get(QQuickMenu *menu)
Definition
qquickmenu_p_p.h:38
QQuickMenuPrivate::icon
QQuickIcon icon
Definition
qquickmenu_p_p.h:107
QQuickMenu
Definition
qquickmenu_p.h:35
QQuickPopupPositioner
Definition
qquickpopuppositioner_p_p.h:27
QQuickPopupPrivate
Definition
qquickpopup_p_p.h:59
QRectF
\inmodule QtCore\reentrant
Definition
qrect.h:484
QString
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition
qstring.h:129
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1590
Qt::FocusReason
FocusReason
Definition
qnamespace.h:1339
index
GLuint index
[2]
Definition
qopengles2ext.h:331
event
struct _cl_event * event
Definition
qopenglext.h:2998
obj
GLhandleARB obj
[2]
Definition
qopenglext.h:4164
init
static QT_BEGIN_NAMESPACE void init(QTextBoundaryFinder::BoundaryType type, QStringView str, QCharAttributes *attributes)
Definition
qtextboundaryfinder.cpp:10
qsizetype
ptrdiff_t qsizetype
Definition
qtypes.h:165
qreal
double qreal
Definition
qtypes.h:187
item
QGraphicsItem * item
Definition
src_gui_graphicsview_qgraphicsitem.cpp:107
child
QLayoutItem * child
[0]
Definition
src_gui_kernel_qlayout.cpp:25
menu
QMenu menu
[5]
Definition
src_gui_widgets_qmenu.cpp:35
qtdeclarative
src
quicktemplates
qquickmenu_p_p.h
Generated by
1.10.0