#include <QtGui>
#include <QtSql>
#include "../connection.h"
Include dependency graph for relationaltablemodel.cpp:

Go to the source code of this file.
Functions | |
| void | initializeModel (QSqlRelationalTableModel *model) |
| QTableView * | createView (const QString &title, QSqlTableModel *model) |
| void | createRelationalTables () |
| int | main (int argc, char *argv[]) |
| void createRelationalTables | ( | ) |
Definition at line 54 of file relationaltablemodel.cpp.
References QSqlQuery::exec().
Referenced by main().
00055 { 00056 QSqlQuery query; 00057 query.exec("create table employee(id int, name varchar(20), city int, country int)"); 00058 query.exec("insert into employee values(1, 'Espen', 5000, 47)"); 00059 query.exec("insert into employee values(2, 'Harald', 80000, 49)"); 00060 query.exec("insert into employee values(3, 'Sam', 100, 1)"); 00061 00062 query.exec("create table city(id int, name varchar(20))"); 00063 query.exec("insert into city values(100, 'San Jose')"); 00064 query.exec("insert into city values(5000, 'Oslo')"); 00065 query.exec("insert into city values(80000, 'Munich')"); 00066 00067 query.exec("create table country(id int, name varchar(20))"); 00068 query.exec("insert into country values(1, 'USA')"); 00069 query.exec("insert into country values(47, 'Norway')"); 00070 query.exec("insert into country values(49, 'Germany')"); 00071 }
Here is the call graph for this function:

| QTableView* createView | ( | const QString & | title, | |
| QSqlTableModel * | model | |||
| ) |
Definition at line 45 of file relationaltablemodel.cpp.
References QAbstractItemView::setItemDelegate(), and QTableView::setModel().
00046 { 00047 QTableView *view = new QTableView; 00048 view->setModel(model); 00049 view->setItemDelegate(new QSqlRelationalDelegate(view)); 00050 view->setWindowTitle(title); 00051 return view; 00052 }
Here is the call graph for this function:

| void initializeModel | ( | QSqlRelationalTableModel * | model | ) |
Definition at line 29 of file relationaltablemodel.cpp.
References Qt::Horizontal, QSqlTableModel::OnManualSubmit, QSqlRelationalTableModel::select(), QSqlTableModel::setEditStrategy(), QSqlQueryModel::setHeaderData(), QSqlRelationalTableModel::setRelation(), and QSqlRelationalTableModel::setTable().
00030 { 00031 model->setTable("employee"); 00032 00033 model->setEditStrategy(QSqlTableModel::OnManualSubmit); 00034 model->setRelation(2, QSqlRelation("city", "id", "name")); 00035 model->setRelation(3, QSqlRelation("country", "id", "name")); 00036 00037 model->setHeaderData(0, Qt::Horizontal, QObject::tr("ID")); 00038 model->setHeaderData(1, Qt::Horizontal, QObject::tr("Name")); 00039 model->setHeaderData(2, Qt::Horizontal, QObject::tr("City")); 00040 model->setHeaderData(3, Qt::Horizontal, QObject::tr("Country")); 00041 00042 model->select(); 00043 }
Here is the call graph for this function:

| int main | ( | int | argc, | |
| char * | argv[] | |||
| ) |
Definition at line 73 of file relationaltablemodel.cpp.
References createConnection(), createRelationalTables(), createView(), QApplication::exec(), initializeModel(), and QWidget::show().
00074 { 00075 QApplication app(argc, argv); 00076 if (!createConnection()) 00077 return 1; 00078 createRelationalTables(); 00079 00080 QSqlRelationalTableModel model; 00081 00082 initializeModel(&model); 00083 00084 QTableView *view = createView(QObject::tr("Relational Table Model"), &model); 00085 view->show(); 00086 00087 return app.exec(); 00088 }
Here is the call graph for this function:

1.5.1