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
promotiontaskmenu_p.h
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
// Qt-Security score:significant reason:default
4
5
//
6
// W A R N I N G
7
// -------------
8
//
9
// This file is not part of the Qt API. It exists for the convenience
10
// of Qt Designer. This header
11
// file may change from version to version without notice, or even be removed.
12
//
13
// We mean it.
14
//
15
16
#
ifndef
PROMOTIONTASKMENU_H
17
#
define
PROMOTIONTASKMENU_H
18
19
#
include
"shared_global_p.h"
20
21
#
include
<
QtCore
/
qlist
.
h
>
22
#
include
<
QtCore
/
qobject
.
h
>
23
#
include
<
QtCore
/
qpointer
.
h
>
24
25
QT_BEGIN_NAMESPACE
26
27
class
QDesignerFormWindowInterface;
28
class
QDesignerFormEditorInterface;
29
30
class
QAction;
31
class
QMenu;
32
class
QWidget
;
33
34
namespace
qdesigner_internal
{
35
36
// A helper class for creating promotion context menus and handling promotion actions.
37
38
class
QDESIGNER_SHARED_EXPORT
PromotionTaskMenu
:
public
QObject
39
{
40
Q_OBJECT
41
public
:
42
enum
Mode
{
43
ModeSingleWidget
,
44
ModeManagedMultiSelection
,
45
ModeUnmanagedMultiSelection
46
};
47
48
explicit
PromotionTaskMenu
(
QWidget
*
widget
,
Mode
mode
=
ModeManagedMultiSelection
,
QObject
*
parent
=
nullptr
);
49
50
Mode
mode
()
const
;
51
void
setMode
(
Mode
m
);
52
53
void
setWidget
(
QWidget
*
widget
);
54
55
// Set menu labels
56
void
setPromoteLabel
(
const
QString
&
promoteLabel
);
57
void
setEditPromoteToLabel
(
const
QString
&
promoteEditLabel
);
58
// Defaults to "Demote to %1".arg(class).
59
void
setDemoteLabel
(
const
QString
&
demoteLabel
);
60
61
using
ActionList
=
QList
<
QAction
*>;
62
63
enum
AddFlags
{
LeadingSeparator
= 1,
TrailingSeparator
= 2,
SuppressGlobalEdit
= 4};
64
65
// Adds a list of promotion actions according to the current promotion state of the widget.
66
void
addActions
(
QDesignerFormWindowInterface
*
fw
,
unsigned
flags
,
ActionList
&
actionList
);
67
// Convenience that finds the form window.
68
void
addActions
(
unsigned
flags
,
ActionList
&
actionList
);
69
70
void
addActions
(
QDesignerFormWindowInterface
*
fw
,
unsigned
flags
,
QMenu
*
menu
);
71
void
addActions
(
unsigned
flags
,
QMenu
*
menu
);
72
73
// Pop up the editor in a global context.
74
static
void
editPromotedWidgets
(
QDesignerFormEditorInterface
*
core
,
QWidget
*
parent
);
75
76
private
slots
:
77
void
slotPromoteToCustomWidget
(
const
QString
&
customClassName
);
78
void
slotDemoteFromCustomWidget
();
79
void
slotEditPromotedWidgets
();
80
void
slotEditPromoteTo
();
81
void
slotEditSignalsSlots
();
82
83
private
:
84
void
promoteTo
(
QDesignerFormWindowInterface
*
fw
,
const
QString
&
customClassName
);
85
86
enum
PromotionState
{
NotApplicable
,
NoHomogenousSelection
,
CanPromote
,
CanDemote
};
87
PromotionState
createPromotionActions
(
QDesignerFormWindowInterface
*
formWindow
);
88
QDesignerFormWindowInterface
*
formWindow
()
const
;
89
90
using
PromotionSelectionList
=
QList
<
QPointer
<
QWidget
> >;
91
PromotionSelectionList
promotionSelectionList
(
QDesignerFormWindowInterface
*
formWindow
)
const
;
92
93
Mode
m_mode
;
94
95
QPointer
<
QWidget
>
m_widget
;
96
97
// Per-Widget actions
98
QList
<
QAction
*>
m_promotionActions
;
99
100
QAction
*
m_globalEditAction
;
101
QAction
*
m_EditPromoteToAction
;
102
QAction
*
m_EditSignalsSlotsAction
;
103
104
QString
m_promoteLabel
;
105
QString
m_demoteLabel
;
106
};
107
108
}
// namespace qdesigner_internal
109
110
QT_END_NAMESPACE
111
112
#
endif
// PROMOTIONTASKMENU_H
QDesignerContainerExtension
Definition
container.h:16
QPainter::QWidget
friend class QWidget
Definition
qpainter.h:432
qdesigner_internal::ContainerWidgetTaskMenuFactory
Definition
containerwidget_taskmenu.h:104
qdesigner_internal::ContainerWidgetTaskMenuFactory::createExtension
QObject * createExtension(QObject *object, const QString &iid, QObject *parent) const override
Creates an extension specified by iid for the given object.
Definition
containerwidget_taskmenu.cpp:271
qdesigner_internal::ContainerWidgetTaskMenu
Definition
containerwidget_taskmenu.h:32
qdesigner_internal::ContainerWidgetTaskMenu::preferredEditAction
QAction * preferredEditAction() const override
Definition
containerwidget_taskmenu.cpp:93
qdesigner_internal::ContainerWidgetTaskMenu::~ContainerWidgetTaskMenu
~ContainerWidgetTaskMenu() override
qdesigner_internal::ContainerWidgetTaskMenu::containerActions
QList< QAction * > & containerActions()
Definition
containerwidget_taskmenu.h:48
qdesigner_internal::ContainerWidgetTaskMenu::containerExtension
QDesignerContainerExtension * containerExtension() const
Definition
containerwidget_taskmenu.cpp:159
qdesigner_internal::ContainerWidgetTaskMenu::pageCount
int pageCount() const
Definition
containerwidget_taskmenu.cpp:111
qdesigner_internal::ContainerWidgetTaskMenu::taskActions
QList< QAction * > taskActions() const override
Definition
containerwidget_taskmenu.cpp:127
qdesigner_internal::MdiContainerWidgetTaskMenu
Definition
containerwidget_taskmenu.h:88
qdesigner_internal::MdiContainerWidgetTaskMenu::taskActions
QList< QAction * > taskActions() const override
Definition
containerwidget_taskmenu.cpp:251
qdesigner_internal::PromotionTaskMenu
Definition
promotiontaskmenu_p.h:39
qdesigner_internal::WizardContainerWidgetTaskMenu
Definition
containerwidget_taskmenu.h:73
qdesigner_internal::WizardContainerWidgetTaskMenu::taskActions
QList< QAction * > taskActions() const override
Definition
containerwidget_taskmenu.cpp:213
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qdesigner_internal
Auxiliary methods to store/retrieve settings.
Definition
buddyeditor.cpp:67
qdesigner_internal::ContainerType
ContainerType
Definition
shared_enums_p.h:44
qdesigner_internal::WizardContainer
@ WizardContainer
Definition
shared_enums_p.h:50
qdesigner_internal::PageContainer
@ PageContainer
Definition
shared_enums_p.h:46
qdesigner_internal::MdiContainer
@ MdiContainer
Definition
shared_enums_p.h:48
QDESIGNER_SHARED_EXPORT
#define QDESIGNER_SHARED_EXPORT
Definition
shared_global_p.h:33
qttools
src
designer
src
lib
shared
promotiontaskmenu_p.h
Generated on
for Qt by
1.16.1