Container model for templates. More...
#include <templatesmodel.h>
Public Types | |
enum | TemplateComponents { TemplateName = Qt::UserRole + 700, TemplateDefinition, TemplateArgCount, TemplateArgNames } |
Public Member Functions | |
TemplatesModel (QObject *parent=0) | |
QVariant | data (const QModelIndex &item, int role) const |
Container model for templates.
De eerste kolom is altijd de naam van de procedure, dus kan het gemakkelijk met QListView gebruikt worden.
{ TemplateName = Qt::UserRole + 700, TemplateDefinition, TemplateArgCount, TemplateArgNames };
TemplatesModel::TemplatesModel | ( | QObject * | parent = 0 |
) |
: SqlQueryModel(parent) { setDependency("vew_templates"); const static QString query = QString("SELECT customname, proname AS \"%1\", prosrc AS \"%2\", pronargs AS \"%3\", proargnames AS \"%4\", proargtypes, pronargs, typname \n" "FROM vew_templates " "WHERE nspname = '" + GlobalConst::TEMPLATES_SCHEMA + "'"); setQuery(Database::execStatic(query.arg(convToNr(TemplateName), convToNr(TemplateDefinition), convToNr(TemplateArgCount), convToNr(TemplateArgNames)))); }
QVariant TemplatesModel::data | ( | const QModelIndex & | item, | |
int | role | |||
) | const |
{ switch (role) { // fall through case TemplatesModel::TemplateDefinition: case TemplatesModel::TemplateArgNames: case TemplatesModel::TemplateName: case TemplatesModel::TemplateArgCount: return index(item.row(), record().indexOf(QString::number(role)), item.parent()).data(Qt::DisplayRole); default: return SqlQueryModel::data(item, role); } }