Extension of QSqlQueryModel class and used throughout the application. More...
#include <Database.h>


Public Slots | |
| virtual void | clear () |
| void | reQuery () |
Public Member Functions | |
| SqlQueryModel (QObject *parent=0) | |
| bool | contains (const QString &value, const int column=0) const |
| bool | contains (const QMap< int, QString > &columnToStringMap) const |
Extension of QSqlQueryModel class and used throughout the application.
| SqlQueryModel::SqlQueryModel | ( | QObject * | parent = 0 |
) |
: QSqlQueryModel(parent) { // Required by QSqlHelper because it can not inherit QObject and connect in it's constructor. QObject::connect(Database::instance(), SIGNAL(tableChanged(QString)), this, SLOT(onTableChange(QString)), Qt::QueuedConnection); };
| void SqlQueryModel::clear | ( | ) | [virtual, slot] |
Referenced by ProjectTree::pipe_queryResult(), and SensorChannelCalibrationsView::setConstraint().
{
beginResetModel();
QSqlQueryModel::clear();
endResetModel();
setQuery(QSqlQuery());
}
{
QMap<int, QString>::const_iterator i;
if (!query().isActive()) return false ;
Q_ASSERT(query().isSelect());
query().first();
if (!query().isValid()) return false; //betekent dat de query leeg is waarschijnlijk
do {
bool flag = true;
for (i = columnToStringMap.constBegin(); i != columnToStringMap.constEnd(); i++){
//qDebug() << "COMPARING: " << i.value() << " " << query().value(i.key()).toString();
if (0 != QString::localeAwareCompare(i.value(), query().value(i.key()).toString()))
flag = false;
}
if (flag == true) return true;
} while (query().next());
return false;
}
| bool SqlQueryModel::contains | ( | const QString & | value, | |
| const int | column = 0 | |||
| ) | const |
Referenced by FileSelectionModel::data().
{
QMap<int, QString> columnToStringMap;
columnToStringMap.insert(column, value);
return contains(columnToStringMap);
}
| void SqlQueryModel::reQuery | ( | ) | [slot] |
Reimplemented in CalibrationsModel.
Referenced by SensorUnitEditor::onAddButtonPress().
{
beginResetModel();//crash qlist assert !isempty() wanneer geen reset gebeurt: waarschijnlijk omdat selectie aanblijft en die gebruikmaakt van QList
setQuery(query().lastQuery(), Database::staticCon());
//setQuery(query()) werkt voor een of andere rede niet... er komt geen verandering in de view, nochtans lijkt het een betere manier
//mischien nog eens executen???? query.exec en dan setQuery??
endResetModel();
}
1.7.1