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