/*! Return a new modelType. */ QAbstractItemModel *ModelsToTest::createModel(const QString &modelType) { if (modelType == "QStringListModelEmpty") return new QStringListModel(); if (modelType == "QStringListModel") { QStringListModel *model = new QStringListModel(); populateTestArea(model); return model; } if (modelType == "QStandardItemModelEmpty") { return new QStandardItemModel(); } if (modelType == "QStandardItemModel") { QStandardItemModel *model = new QStandardItemModel(); populateTestArea(model); return model; } if (modelType == "QSortFilterProxyModelEmpty") { QSortFilterProxyModel *model = new QSortFilterProxyModel; QStandardItemModel *standardItemModel = new QStandardItemModel; model->setSourceModel(standardItemModel); return model; } if (modelType == "QSortFilterProxyModelRegExp") { QSortFilterProxyModel *model = new QSortFilterProxyModel; QStandardItemModel *standardItemModel = new QStandardItemModel; model->setSourceModel(standardItemModel); populateTestArea(model); model->setFilterRegExp(QRegExp("(^$|0.*)")); return model; } if (modelType == "QSortFilterProxyModel") { QSortFilterProxyModel *model = new QSortFilterProxyModel; QStandardItemModel *standardItemModel = new QStandardItemModel; model->setSourceModel(standardItemModel); populateTestArea(model); return model; } if (modelType == "QDirModel") { QDirModel *model = new QDirModel(); model->setReadOnly(false); return model; } if (modelType == "QSqlQueryModel") { QSqlQueryModel *model = new QSqlQueryModel(); populateTestArea(model); return model; } if (modelType == "QSqlQueryModelEmpty") { QSqlQueryModel *model = new QSqlQueryModel(); return model; } if (modelType == "QSqlTableModel") { QSqlTableModel *model = new QSqlTableModel(); populateTestArea(model); return model; } if (modelType == "QListModelEmpty") return (new QListWidget)->model(); if (modelType == "QListModel") { QListWidget *widget = new QListWidget; populateTestArea(widget->model()); return widget->model(); } if (modelType == "QTableModelEmpty") return (new QTableWidget)->model(); if (modelType == "QTableModel") { QTableWidget *widget = new QTableWidget; populateTestArea(widget->model()); return widget->model(); } if (modelType == "QTreeModelEmpty") { QTreeWidget *widget = new QTreeWidget; return widget->model(); } if (modelType == "QTreeModel") { QTreeWidget *widget = new QTreeWidget; populateTestArea(widget->model()); return widget->model(); } return 0; }