-
Notifications
You must be signed in to change notification settings - Fork 0
/
utilities.cpp
105 lines (89 loc) · 2.81 KB
/
utilities.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include "utilities.h"
#include <QMessageBox>
#include <QHeaderView>
Utilities::Utilities()
{
}
bool Utilities::QueryToUpdateTableWidget(QSqlQuery *query, QTableWidget *tableWidget)
{
if(query->exec())
{
tableWidget->clearSelection();
QueryToInsertFieldsIntoTableWidget(query, tableWidget);
return true;
}
return false;
}
void Utilities::QueryToInsertFieldsIntoTableWidget(QSqlQuery *query, QTableWidget *tableWidget)
{
int line = 0;
CleanTableWidget(tableWidget);
while(query->next())
{
tableWidget->insertRow(line);
for(int i = 0; i < tableWidget->columnCount(); i++)
{
tableWidget->setItem(line, i, new QTableWidgetItem(query->value(i).toString()));
}
tableWidget->setRowHeight(line, 20);
line++;
}
tableWidget->setCurrentCell(-1, -1);
}
void Utilities::CleanTableWidget(QTableWidget *tableWidget)
{
while(tableWidget->rowCount())
{
tableWidget->removeRow(0);
}
}
bool Utilities::QueryToInsertComboBoxElements(QSqlQuery *query, QComboBox *comboBox)
{
if(query->exec())
{
comboBox->clear();
comboBox->clearEditText();
while(query->next())
{
comboBox->addItem(query->value(1).toString());
}
return true;
}
return false;
}
void Utilities::TableWidgetBasicConfigurations(QTableWidget *tableWidget, QStringList &headerLabels)
{
tableWidget->setColumnCount(headerLabels.size());
tableWidget->setHorizontalHeaderLabels(headerLabels);
tableWidget->horizontalHeader()->setStyleSheet("QHeaderView::section { background-color: #535455; }");
tableWidget->setStyleSheet("QTableView { selection-background-color: #535455; }");
tableWidget->verticalHeader()->setVisible(false);
tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
tableWidget->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
}
void Utilities::ConfigureRegexLineEdit(QLineEdit *lineEdit, int type)
{
QString regex;
switch (type)
{
case 1: // string
regex = "[a-zA-ZÀ-ÖØ-öø-ÿ]+(?: [a-zA-ZÀ-ÖØ-öø-ÿ]+)*";
break;
case 2: // int
regex = "[0-9]*";
break;
case 3: // float
regex = "[0-9]*\\.?[0-9]*";
break;
case 4: // string without spaces
regex = "^[a-zA-ZÀ-ÖØ-öø-ÿ]+$";
break;
default: // unknown
return;
}
QValidator *validator = new QRegularExpressionValidator(QRegularExpression(regex));
lineEdit->setValidator(validator);
}