Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
signalslotdialog_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
SIGNALSLOTDIALOG_H
17
#
define
SIGNALSLOTDIALOG_H
18
19
#
include
"shared_global_p.h"
20
#
include
<
QtCore
/
qstringlist
.
h
>
21
#
include
<
QtWidgets
/
qdialog
.
h
>
22
#
include
<
QtGui
/
qstandarditemmodel
.
h
>
23
24
QT_BEGIN_NAMESPACE
25
26
class
QDesignerFormEditorInterface;
27
class
QDesignerFormWindowInterface;
28
class
QDesignerDialogGuiInterface;
29
class
QDesignerMemberSheet;
30
class
QListView;
31
class
QToolButton;
32
class
QItemSelection;
33
34
namespace
Ui
{
35
class
SignalSlotDialogClass;
36
}
37
38
namespace
qdesigner_internal
{
39
40
// Dialog data
41
struct
SignalSlotDialogData
{
42
void
clear
();
43
QStringList
m_existingMethods
;
44
QStringList
m_fakeMethods
;
45
};
46
47
// Internal helper class: A model for signatures that allows for verifying duplicates
48
// (checking signals versus slots and vice versa).
49
class
SignatureModel
:
public
QStandardItemModel
{
50
Q_OBJECT
51
52
public
:
53
SignatureModel
(
QObject
*
parent
=
nullptr
);
54
bool
setData
(
const
QModelIndex &index,
const
QVariant &value,
int
role =
Qt
::
EditRole
)
override
;
55
56
signals
:
57
void
checkSignature
(
const
QString
&
signature
,
bool
*
ok
);
58
};
59
60
// Internal helper class: Panel for editing method signatures. List view with validator,
61
// add and remove button
62
class
SignaturePanel
:
public
QObject
{
63
Q_OBJECT
64
65
public
:
66
SignaturePanel
(
QObject
*
parent
,
QListView
*
listView
,
QToolButton
*
addButton
,
QToolButton
*
removeButton
,
const
QString
&
newPrefix
);
67
68
QStringList
fakeMethods
()
const
;
69
void
setData
(
const
SignalSlotDialogData
&d);
70
int
count
(
const
QString &signature)
const
;
71
72
signals
:
73
void
checkSignature
(
const
QString
&
signature
,
bool
*
ok
);
74
75
private
slots
:
76
void
slotAdd
();
77
void
slotRemove();
78
void
slotSelectionChanged(
const
QItemSelection &,
const
QItemSelection &);
79
80
private
:
81
void
closeEditor();
82
83
const
QString m_newPrefix;
84
SignatureModel
*m_model;
85
QListView *m_listView;
86
QToolButton *m_removeButton;
87
};
88
89
// Dialog for editing signals and slots.
90
// Provides static convenience function
91
// to modify fake signals and slots. They are
92
// handled in 2 ways:
93
// 1) For the MainContainer: Fake signals and slots are stored
94
// in the meta database (per-instance)
95
// 2) For promoted widgets: Fake signals and slots are stored
96
// in the widget database (per-class)
97
// Arguably, we could require the MainContainer to be promoted for that, too,
98
// but that would require entering a header.
99
100
class
QDESIGNER_SHARED_EXPORT
SignalSlotDialog
:
public
QDialog
{
101
Q_OBJECT
102
103
public
:
104
enum
FocusMode
{
FocusSlots
,
FocusSignals
};
105
106
explicit
SignalSlotDialog
(
QDesignerDialogGuiInterface
*
dialogGui
,
QWidget
*
parent
=
nullptr
,
FocusMode
m
=
FocusSlots
);
107
~
SignalSlotDialog
()
override
;
108
109
DialogCode
showDialog
(
SignalSlotDialogData
&
slotData
,
SignalSlotDialogData
&
signalData
);
110
111
// Edit fake methods stored in MetaDataBase (per instance, used for main containers)
112
static
bool
editMetaDataBase
(
QDesignerFormWindowInterface
*
fw
,
QObject
*
object
,
QWidget
*
parent
=
nullptr
,
FocusMode
m
=
FocusSlots
);
113
114
// Edit fake methods of a promoted class stored in WidgetDataBase (synthesizes a widget to obtain existing members).
115
static
bool
editPromotedClass
(
QDesignerFormEditorInterface
*
core
,
const
QString
&
promotedClassName
,
QWidget
*
parent
=
nullptr
,
FocusMode
m
=
FocusSlots
);
116
// Edit fake methods of a promoted class stored in WidgetDataBase on a base class instance.
117
static
bool
editPromotedClass
(
QDesignerFormEditorInterface
*
core
,
QObject
*
baseObject
,
QWidget
*
parent
=
nullptr
,
FocusMode
m
=
FocusSlots
);
118
119
static
void
fakeMethodsFromMetaDataBase
(
QDesignerFormEditorInterface
*
core
,
QObject
*
o
,
120
QStringList
&
slotList
,
QStringList
&
signalList
);
121
static
void
fakeMethodsToMetaDataBase
(
QDesignerFormEditorInterface
*
core
,
QObject
*
o
,
122
const
QStringList
&
slotList
,
const
QStringList
&
signalList
);
123
static
void
existingMethodsFromMemberSheet
(
QDesignerFormEditorInterface
*
core
,
QObject
*
o
,
124
QStringList
&
slotList
,
QStringList
&
signalList
);
125
126
127
private
slots
:
128
void
slotCheckSignature
(
const
QString
&
signature
,
bool
*
ok
);
129
130
private
:
131
// Edit fake methods of a promoted class stored in WidgetDataBase using an instance of the base class.
132
static
bool
editPromotedClass
(
QDesignerFormEditorInterface
*
core
,
const
QString
&
promotedClassName
,
QObject
*
baseObject
,
QWidget
*
parent
,
FocusMode
m
);
133
134
const
FocusMode
m_focusMode
;
135
QT_PREPEND_NAMESPACE
(
Ui
)::
SignalSlotDialogClass
*
m_ui
;
136
QDesignerDialogGuiInterface
*
m_dialogGui
;
137
SignaturePanel
*
m_slotPanel
;
138
SignaturePanel
*
m_signalPanel
;
139
};
140
}
141
142
QT_END_NAMESPACE
143
144
#
endif
qdesigner_internal::ConnectDialog
Definition
connectdialog_p.h:30
qdesigner_internal::ConnectDialog::showAllSignalsSlots
bool showAllSignalsSlots() const
Definition
connectdialog.cpp:132
qdesigner_internal::ConnectDialog::signal
QString signal() const
Definition
connectdialog.cpp:167
qdesigner_internal::ConnectDialog::slot
QString slot() const
Definition
connectdialog.cpp:175
qdesigner_internal::ConnectDialog::setShowAllSignalsSlots
void setShowAllSignalsSlots(bool showIt)
Definition
connectdialog.cpp:137
qdesigner_internal::ConnectDialog::setSignalSlot
void setSignalSlot(const QString &signal, const QString &slot)
Definition
connectdialog.cpp:111
qdesigner_internal::SignalSlotDialog
Definition
signalslotdialog_p.h:100
qdesigner_internal::SignatureModel
Definition
signalslotdialog_p.h:49
qdesigner_internal::SignatureModel::setData
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
\reimp
Definition
signalslotdialog.cpp:165
qdesigner_internal::SignaturePanel
Definition
signalslotdialog_p.h:62
qdesigner_internal::SignaturePanel::setData
void setData(const SignalSlotDialogData &d)
Definition
signalslotdialog.cpp:251
qdesigner_internal::SignaturePanel::count
int count(const QString &signature) const
Definition
signalslotdialog.cpp:226
qdesigner_internal::SignaturePanel::fakeMethods
QStringList fakeMethods() const
Definition
signalslotdialog.cpp:266
widgetLabel
static QString widgetLabel(QDesignerFormEditorInterface *core, QWidget *widget)
Definition
connectdialog.cpp:33
realClassName
static QString realClassName(QDesignerFormEditorInterface *core, QWidget *widget)
Definition
connectdialog.cpp:23
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
Ui
Definition
deviceprofiledialog.h:24
qdesigner_internal
Auxiliary methods to store/retrieve settings.
Definition
buddyeditor.cpp:67
qdesigner_internal::MemberType
MemberType
Definition
signalslot_utils_p.h:31
qdesigner_internal::SignalMember
@ SignalMember
Definition
signalslot_utils_p.h:31
qdesigner_internal::SlotMember
@ SlotMember
Definition
signalslot_utils_p.h:31
qdesigner_internal::signalMatchesSlot
bool signalMatchesSlot(QDesignerFormEditorInterface *core, const QString &signal, const QString &slot)
Definition
signalslot_utils.cpp:200
qdesigner_internal::memberFunctionListContains
bool memberFunctionListContains(QDesignerFormEditorInterface *core, QObject *object, MemberType type, const QString &signature)
Definition
signalslot_utils.cpp:241
qdesigner_internal::reverseClassesMemberFunctions
ClassesMemberFunctions reverseClassesMemberFunctions(const QString &obj_name, MemberType member_type, const QString &peer, QDesignerFormWindowInterface *form)
Definition
signalslot_utils.cpp:208
qdesigner_internal::getMatchingSlots
QMap< QString, QString > getMatchingSlots(QDesignerFormEditorInterface *core, QObject *object, const QString &signalSignature, bool showAll)
Definition
signalslot_utils.cpp:234
qdesigner_internal::realObjectName
QString realObjectName(QDesignerFormEditorInterface *core, QObject *object)
Definition
signalslot_utils.cpp:249
qdesigner_internal::getSignals
QMap< QString, QString > getSignals(QDesignerFormEditorInterface *core, QObject *object, bool showAll)
Definition
signalslot_utils.cpp:227
QDESIGNER_SHARED_EXPORT
#define QDESIGNER_SHARED_EXPORT
Definition
shared_global_p.h:33
qdesigner_internal::ClassMemberFunctions
Definition
signalslot_utils_p.h:42
qdesigner_internal::ClassMemberFunctions::m_memberList
QStringList m_memberList
Definition
signalslot_utils_p.h:47
qdesigner_internal::ClassMemberFunctions::m_className
QString m_className
Definition
signalslot_utils_p.h:46
qdesigner_internal::ClassMemberFunctions::ClassMemberFunctions
ClassMemberFunctions(const QString &_class_name)
Definition
signalslot_utils.cpp:195
qdesigner_internal::ClassMemberFunctions::ClassMemberFunctions
ClassMemberFunctions()=default
qdesigner_internal::SignalSlotDialogData
Definition
signalslotdialog_p.h:41
qdesigner_internal::SignalSlotDialogData::clear
void clear()
Definition
signalslotdialog.cpp:153
qdesigner_internal::SignalSlotDialogData::m_existingMethods
QStringList m_existingMethods
Definition
signalslotdialog_p.h:43
qdesigner_internal::SignalSlotDialogData::m_fakeMethods
QStringList m_fakeMethods
Definition
signalslotdialog_p.h:44
qttools
src
designer
src
lib
shared
signalslotdialog_p.h
Generated on
for Qt by
1.18.0