DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
dbe
src
object
CustomLineEdit.cpp
Go to the documentation of this file.
1
// DUNE DAQ modification notice:
2
// This file has been modified from the original ATLAS dbe source for the DUNE DAQ project.
3
// Fork baseline commit: dbe-02-12-17 (2022-05-12).
4
// Renamed since fork: no.
5
7
#include <QApplication>
8
#include <QContextMenuEvent>
9
#include <QMenu>
10
#include <QValidator>
12
#include "
dbe/CustomLineEdit.hpp
"
13
#include "
dbe/StyleUtility.hpp
"
14
15
dbe::CustomLineEdit::CustomLineEdit
(QWidget* parent,
bool
IsNull,
bool
IsMulti)
16
: QLineEdit(parent)
17
,
Valid
(false)
18
,
NullCheck
(IsNull)
19
,
CheckDefault
(true)
20
,
PopupMenu
(false)
21
,
IsMultiValue
(IsMulti)
22
,
ContextMenu
(nullptr)
23
,
Dec
(nullptr)
24
,
Oct
(nullptr)
25
,
Hex
(nullptr)
26
,
Validator
(nullptr)
27
{
28
connect(
this
, SIGNAL(textChanged(QString)),
this
, SLOT(
TryValidate
(QString)));
29
this->setFixedHeight(30);
30
// this->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
31
}
32
33
dbe::CustomLineEdit::~CustomLineEdit
()
34
{
35
if
(
Validator
!=
nullptr
) {
36
delete
Validator
;
37
}
38
}
39
40
void
41
dbe::CustomLineEdit::SetNullCheck
(
bool
IsNull)
42
{
43
NullCheck
= IsNull;
44
45
if
(
NullCheck
==
false
) {
46
setPalette(QApplication::palette(
this
));
47
}
48
}
49
50
void
51
dbe::CustomLineEdit::SetMultiCheck
(
bool
IsMulti)
52
{
53
IsMultiValue
= IsMulti;
54
}
55
56
bool
57
dbe::CustomLineEdit::IsNullCheck
()
58
{
59
return
NullCheck
;
60
}
61
62
bool
63
dbe::CustomLineEdit::IsValid
()
64
{
65
return
Valid
;
66
}
67
68
void
69
dbe::CustomLineEdit::SetCheckDefault
(
bool
Default)
70
{
71
CheckDefault
= Default;
72
}
73
74
void
75
dbe::CustomLineEdit::SetDefaultValue
(QString ValueDefault)
76
{
77
DefaultValue
= ValueDefault;
78
}
79
80
void
81
dbe::CustomLineEdit::ValidateText
()
82
{
83
QString Dummy(
"Dummy"
);
84
TryValidate
(Dummy);
85
}
86
87
void
88
dbe::CustomLineEdit::SetLoadedDefaultFlag
(
bool
Loaded)
89
{
90
setProperty(
"loadedDefaults"
, Loaded);
91
}
92
93
void
94
dbe::CustomLineEdit::SetValidator
(QValidator* ValidatorSet)
95
{
96
Validator
= ValidatorSet;
97
}
98
99
void
100
dbe::CustomLineEdit::SetPopupMenu
()
101
{
102
PopupMenu
=
true
;
103
}
104
105
void
106
dbe::CustomLineEdit::CreateActions
()
107
{
108
Dec
=
new
QAction(tr(
"Dec"
),
this
);
109
Dec
->setShortcutContext(Qt::WidgetShortcut);
110
connect(
Dec
, SIGNAL(triggered()),
this
, SLOT(
EmitDecSlot
()));
111
Dec
->setCheckable(
true
);
112
Dec
->setChecked(
false
);
113
ContextMenu
->addAction(
Dec
);
114
115
Oct
=
new
QAction(tr(
"Oct"
),
this
);
116
Oct
->setShortcutContext(Qt::WidgetShortcut);
117
connect(
Oct
, SIGNAL(triggered()),
this
, SLOT(
EmitOctSlot
()));
118
Oct
->setCheckable(
true
);
119
Oct
->setChecked(
false
);
120
ContextMenu
->addAction(
Oct
);
121
122
Hex
=
new
QAction(tr(
"Hex"
),
this
);
123
Hex
->setShortcutContext(Qt::WidgetShortcut);
124
Hex
->setCheckable(
true
);
125
Hex
->setChecked(
false
);
126
connect(
Hex
, SIGNAL(triggered()),
this
, SLOT(
EmitHexSlot
()));
127
ContextMenu
->addAction(
Hex
);
128
}
129
130
void
131
dbe::CustomLineEdit::TryValidate
(QString Dummy)
132
{
133
Q_UNUSED(Dummy)
134
135
QString tmp_st = this->text();
136
int
i = 0;
137
138
if
(tmp_st.isEmpty() &&
NullCheck
) {
139
Valid
=
false
;
140
141
if
(!
IsMultiValue
) {
142
this->setPalette(
StyleUtility::WarningStatusBarPallete
);
143
setToolTip(QString(
"Field cannot be empty!"
));
144
}
145
146
emit
StringValidated
();
// it is caught by EditStringAttrWidget
147
}
else
if
(
Validator
!= 0) {
148
if
((
Validator
->validate(tmp_st, i)) == QValidator::Acceptable) {
149
Valid
=
true
;
150
this->setPalette(QApplication::palette(
this
));
151
setToolTip(QString(
"This new object ID is unique"
));
152
}
else
if
((
Validator
->validate(tmp_st, i)) == QValidator::Intermediate) {
153
Valid
=
false
;
154
this->setPalette(
StyleUtility::AlertStatusBarPallete
);
155
setToolTip(QString(
"This UID is already used"
));
156
}
157
}
else
if
(
Validator
== 0) {
158
Valid
=
true
;
159
setPalette(QApplication::palette(
this
));
160
161
if
(tmp_st ==
DefaultValue
&&
CheckDefault
) {
162
this->setPalette(
StyleUtility::LoadedDefault
);
163
}
else
{
164
this->setPalette(QApplication::palette(
this
));
165
}
166
167
emit
StringValidated
();
168
}
169
}
170
171
void
172
dbe::CustomLineEdit::EmitDecSlot
()
173
{
174
Dec
->setChecked(
true
);
175
Oct
->setChecked(
false
);
176
Hex
->setChecked(
false
);
177
emit
DecChange
();
178
}
179
180
void
181
dbe::CustomLineEdit::EmitOctSlot
()
182
{
183
Dec
->setChecked(
false
);
184
Oct
->setChecked(
true
);
185
Hex
->setChecked(
false
);
186
emit
OctChange
();
187
}
188
189
void
190
dbe::CustomLineEdit::EmitHexSlot
()
191
{
192
Dec
->setChecked(
false
);
193
Oct
->setChecked(
false
);
194
Hex
->setChecked(
true
);
195
emit
HexChange
();
196
}
197
198
void
199
dbe::CustomLineEdit::contextMenuEvent
(QContextMenuEvent* Event)
200
{
201
if
(!
PopupMenu
) {
202
return
;
203
}
204
205
if
(
ContextMenu
==
nullptr
) {
206
ContextMenu
=
new
QMenu(
this
);
207
CreateActions
();
208
}
209
210
ContextMenu
->exec(Event->globalPos());
211
}
CustomLineEdit.hpp
StyleUtility.hpp
dbe::CustomLineEdit::SetValidator
void SetValidator(QValidator *ValidatorSet)
Definition
CustomLineEdit.cpp:94
dbe::CustomLineEdit::StringValidated
void StringValidated()
dbe::CustomLineEdit::SetLoadedDefaultFlag
void SetLoadedDefaultFlag(bool Loaded)
Definition
CustomLineEdit.cpp:88
dbe::CustomLineEdit::SetCheckDefault
void SetCheckDefault(bool Default)
Definition
CustomLineEdit.cpp:69
dbe::CustomLineEdit::CustomLineEdit
CustomLineEdit(QWidget *parent=0, bool IsNull=true, bool IsMulti=false)
Include Qt Headers.
Definition
CustomLineEdit.cpp:15
dbe::CustomLineEdit::Hex
QAction * Hex
Definition
CustomLineEdit.hpp:54
dbe::CustomLineEdit::Dec
QAction * Dec
Definition
CustomLineEdit.hpp:52
dbe::CustomLineEdit::EmitDecSlot
void EmitDecSlot()
Definition
CustomLineEdit.cpp:172
dbe::CustomLineEdit::OctChange
void OctChange()
dbe::CustomLineEdit::IsValid
bool IsValid()
Definition
CustomLineEdit.cpp:63
dbe::CustomLineEdit::EmitHexSlot
void EmitHexSlot()
Definition
CustomLineEdit.cpp:190
dbe::CustomLineEdit::Valid
bool Valid
Definition
CustomLineEdit.hpp:46
dbe::CustomLineEdit::IsMultiValue
bool IsMultiValue
Definition
CustomLineEdit.hpp:50
dbe::CustomLineEdit::SetMultiCheck
void SetMultiCheck(bool IsMulti)
Definition
CustomLineEdit.cpp:51
dbe::CustomLineEdit::ValidateText
void ValidateText()
Definition
CustomLineEdit.cpp:81
dbe::CustomLineEdit::SetNullCheck
void SetNullCheck(bool IsNull)
Definition
CustomLineEdit.cpp:41
dbe::CustomLineEdit::DecChange
void DecChange()
dbe::CustomLineEdit::contextMenuEvent
void contextMenuEvent(QContextMenuEvent *Event)
Definition
CustomLineEdit.cpp:199
dbe::CustomLineEdit::CheckDefault
bool CheckDefault
Definition
CustomLineEdit.hpp:48
dbe::CustomLineEdit::CreateActions
void CreateActions()
Definition
CustomLineEdit.cpp:106
dbe::CustomLineEdit::DefaultValue
QString DefaultValue
Definition
CustomLineEdit.hpp:56
dbe::CustomLineEdit::ContextMenu
QMenu * ContextMenu
Definition
CustomLineEdit.hpp:51
dbe::CustomLineEdit::SetDefaultValue
void SetDefaultValue(QString ValueDefault)
Definition
CustomLineEdit.cpp:75
dbe::CustomLineEdit::TryValidate
void TryValidate(QString Dummy)
Definition
CustomLineEdit.cpp:131
dbe::CustomLineEdit::Validator
QValidator * Validator
Definition
CustomLineEdit.hpp:55
dbe::CustomLineEdit::HexChange
void HexChange()
dbe::CustomLineEdit::~CustomLineEdit
~CustomLineEdit()
Definition
CustomLineEdit.cpp:33
dbe::CustomLineEdit::EmitOctSlot
void EmitOctSlot()
Definition
CustomLineEdit.cpp:181
dbe::CustomLineEdit::NullCheck
bool NullCheck
Definition
CustomLineEdit.hpp:47
dbe::CustomLineEdit::SetPopupMenu
void SetPopupMenu()
Definition
CustomLineEdit.cpp:100
dbe::CustomLineEdit::Oct
QAction * Oct
Definition
CustomLineEdit.hpp:53
dbe::CustomLineEdit::PopupMenu
bool PopupMenu
Definition
CustomLineEdit.hpp:49
dbe::CustomLineEdit::IsNullCheck
bool IsNullCheck()
Definition
CustomLineEdit.cpp:57
dbe::StyleUtility::AlertStatusBarPallete
static QPalette AlertStatusBarPallete
Definition
StyleUtility.hpp:35
dbe::StyleUtility::LoadedDefault
static QPalette LoadedDefault
Definition
StyleUtility.hpp:40
dbe::StyleUtility::WarningStatusBarPallete
static QPalette WarningStatusBarPallete
Definition
StyleUtility.hpp:37
Generated on
for DUNE-DAQ by
1.18.0