DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dbe::CustomLineEdit Class Reference

#include <CustomLineEdit.hpp>

Inheritance diagram for dbe::CustomLineEdit:
[legend]
Collaboration diagram for dbe::CustomLineEdit:
[legend]

Public Slots

void TryValidate (QString Dummy)
void EmitDecSlot ()
void EmitOctSlot ()
void EmitHexSlot ()

Signals

void StringValidated ()
void ValueChanged ()
void DecChange ()
void HexChange ()
void OctChange ()

Public Member Functions

 CustomLineEdit (QWidget *parent=0, bool IsNull=true, bool IsMulti=false)
 Include Qt Headers.
 ~CustomLineEdit ()
void SetNullCheck (bool IsNull)
void SetMultiCheck (bool IsMulti)
bool IsNullCheck ()
bool IsValid ()
void SetCheckDefault (bool Default)
void SetDefaultValue (QString ValueDefault)
void ValidateText ()
void SetLoadedDefaultFlag (bool Loaded)
void SetValidator (QValidator *ValidatorSet)
void SetPopupMenu ()
void CreateActions ()

Protected Member Functions

void contextMenuEvent (QContextMenuEvent *Event)

Private Attributes

bool Valid
bool NullCheck
bool CheckDefault
bool PopupMenu
bool IsMultiValue
QMenu * ContextMenu
QAction * Dec
QAction * Oct
QAction * Hex
QValidator * Validator
QString DefaultValue

Detailed Description

Definition at line 13 of file CustomLineEdit.hpp.

Constructor & Destructor Documentation

◆ CustomLineEdit()

dbe::CustomLineEdit::CustomLineEdit ( QWidget * parent = 0,
bool IsNull = true,
bool IsMulti = false )
explicit

Include Qt Headers.

Include DBE

Definition at line 15 of file CustomLineEdit.cpp.

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}
void TryValidate(QString Dummy)

◆ ~CustomLineEdit()

dbe::CustomLineEdit::~CustomLineEdit ( )

Definition at line 33 of file CustomLineEdit.cpp.

34{
35 if (Validator != nullptr) {
36 delete Validator;
37 }
38}

Member Function Documentation

◆ contextMenuEvent()

void dbe::CustomLineEdit::contextMenuEvent ( QContextMenuEvent * Event)
protected

Definition at line 199 of file CustomLineEdit.cpp.

200{
201 if (!PopupMenu) {
202 return;
203 }
204
205 if (ContextMenu == nullptr) {
206 ContextMenu = new QMenu(this);
208 }
209
210 ContextMenu->exec(Event->globalPos());
211}

◆ CreateActions()

void dbe::CustomLineEdit::CreateActions ( )

Definition at line 106 of file CustomLineEdit.cpp.

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}

◆ DecChange

void dbe::CustomLineEdit::DecChange ( )
signal

◆ EmitDecSlot

void dbe::CustomLineEdit::EmitDecSlot ( )
slot

Definition at line 172 of file CustomLineEdit.cpp.

173{
174 Dec->setChecked(true);
175 Oct->setChecked(false);
176 Hex->setChecked(false);
177 emit DecChange();
178}

◆ EmitHexSlot

void dbe::CustomLineEdit::EmitHexSlot ( )
slot

Definition at line 190 of file CustomLineEdit.cpp.

191{
192 Dec->setChecked(false);
193 Oct->setChecked(false);
194 Hex->setChecked(true);
195 emit HexChange();
196}

◆ EmitOctSlot

void dbe::CustomLineEdit::EmitOctSlot ( )
slot

Definition at line 181 of file CustomLineEdit.cpp.

182{
183 Dec->setChecked(false);
184 Oct->setChecked(true);
185 Hex->setChecked(false);
186 emit OctChange();
187}

◆ HexChange

void dbe::CustomLineEdit::HexChange ( )
signal

◆ IsNullCheck()

bool dbe::CustomLineEdit::IsNullCheck ( )

Definition at line 57 of file CustomLineEdit.cpp.

58{
59 return NullCheck;
60}

◆ IsValid()

bool dbe::CustomLineEdit::IsValid ( )

Definition at line 63 of file CustomLineEdit.cpp.

64{
65 return Valid;
66}

◆ OctChange

void dbe::CustomLineEdit::OctChange ( )
signal

◆ SetCheckDefault()

void dbe::CustomLineEdit::SetCheckDefault ( bool Default)

Definition at line 69 of file CustomLineEdit.cpp.

70{
71 CheckDefault = Default;
72}

◆ SetDefaultValue()

void dbe::CustomLineEdit::SetDefaultValue ( QString ValueDefault)

Definition at line 75 of file CustomLineEdit.cpp.

76{
77 DefaultValue = ValueDefault;
78}

◆ SetLoadedDefaultFlag()

void dbe::CustomLineEdit::SetLoadedDefaultFlag ( bool Loaded)

Definition at line 88 of file CustomLineEdit.cpp.

89{
90 setProperty("loadedDefaults", Loaded);
91}

◆ SetMultiCheck()

void dbe::CustomLineEdit::SetMultiCheck ( bool IsMulti)

Definition at line 51 of file CustomLineEdit.cpp.

52{
53 IsMultiValue = IsMulti;
54}

◆ SetNullCheck()

void dbe::CustomLineEdit::SetNullCheck ( bool IsNull)

Definition at line 41 of file CustomLineEdit.cpp.

42{
43 NullCheck = IsNull;
44
45 if (NullCheck == false) {
46 setPalette(QApplication::palette(this));
47 }
48}

◆ SetPopupMenu()

void dbe::CustomLineEdit::SetPopupMenu ( )

Definition at line 100 of file CustomLineEdit.cpp.

101{
102 PopupMenu = true;
103}

◆ SetValidator()

void dbe::CustomLineEdit::SetValidator ( QValidator * ValidatorSet)

Definition at line 94 of file CustomLineEdit.cpp.

95{
96 Validator = ValidatorSet;
97}

◆ StringValidated

void dbe::CustomLineEdit::StringValidated ( )
signal

◆ TryValidate

void dbe::CustomLineEdit::TryValidate ( QString Dummy)
slot

Definition at line 131 of file CustomLineEdit.cpp.

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) {
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}
static QPalette AlertStatusBarPallete
static QPalette LoadedDefault
static QPalette WarningStatusBarPallete

◆ ValidateText()

void dbe::CustomLineEdit::ValidateText ( )

Definition at line 81 of file CustomLineEdit.cpp.

82{
83 QString Dummy("Dummy");
84 TryValidate(Dummy);
85}

◆ ValueChanged

void dbe::CustomLineEdit::ValueChanged ( )
signal

Member Data Documentation

◆ CheckDefault

bool dbe::CustomLineEdit::CheckDefault
private

Definition at line 48 of file CustomLineEdit.hpp.

◆ ContextMenu

QMenu* dbe::CustomLineEdit::ContextMenu
private

Definition at line 51 of file CustomLineEdit.hpp.

◆ Dec

QAction* dbe::CustomLineEdit::Dec
private

Definition at line 52 of file CustomLineEdit.hpp.

◆ DefaultValue

QString dbe::CustomLineEdit::DefaultValue
private

Definition at line 56 of file CustomLineEdit.hpp.

◆ Hex

QAction* dbe::CustomLineEdit::Hex
private

Definition at line 54 of file CustomLineEdit.hpp.

◆ IsMultiValue

bool dbe::CustomLineEdit::IsMultiValue
private

Definition at line 50 of file CustomLineEdit.hpp.

◆ NullCheck

bool dbe::CustomLineEdit::NullCheck
private

Definition at line 47 of file CustomLineEdit.hpp.

◆ Oct

QAction* dbe::CustomLineEdit::Oct
private

Definition at line 53 of file CustomLineEdit.hpp.

◆ PopupMenu

bool dbe::CustomLineEdit::PopupMenu
private

Definition at line 49 of file CustomLineEdit.hpp.

◆ Valid

bool dbe::CustomLineEdit::Valid
private

Definition at line 46 of file CustomLineEdit.hpp.

◆ Validator

QValidator* dbe::CustomLineEdit::Validator
private

Definition at line 55 of file CustomLineEdit.hpp.


The documentation for this class was generated from the following files: