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