18 class QAbstractItemModel;
21 #include <QtCore/QModelIndex>
22 #include <QtCore/QVariant>
23 #include <QtCore/QVector>
30 static bool isValidRow(
31 const QAbstractItemModel* model,
33 const QModelIndex& parent = QModelIndex());
35 static bool isValidColumn(
36 const QAbstractItemModel* model,
38 const QModelIndex& parent = QModelIndex());
40 template<
typename INT_CONTAINER>
41 static bool validRows(
42 const QAbstractItemModel* model,
43 const INT_CONTAINER& rows,
44 const QModelIndex& parent = QModelIndex());
46 static int findDataInRow(
47 const QAbstractItemModel* model,
int col,
const QVariant& value);
49 static QVariant tableData(
50 const QAbstractItemModel* model,
53 int role = Qt::DisplayRole);
55 template<
typename INT_CONTAINER>
56 static void removeRows(
57 QAbstractItemModel* model,
const INT_CONTAINER& rows);
68 #include <QtCore/QAbstractItemModel>
72 template<
typename INT_CONTAINER>
74 const QAbstractItemModel* model,
75 const INT_CONTAINER& rows,
76 const QModelIndex& parent)
78 for (
auto iRow = rows.begin(); iRow != rows.end(); ++iRow) {
82 return !rows.isEmpty();
85 template<
typename INT_CONTAINER>
87 QAbstractItemModel* model,
const INT_CONTAINER& rows)
92 QVector<int> descRows;
93 for (
auto it = rows.begin(); it != rows.end(); ++it) {
97 std::sort(descRows.begin(), descRows.end(), std::greater<int>());
98 foreach (
int row, descRows)
99 model->removeRow(row);
static void removeRows(QAbstractItemModel *model, const INT_CONTAINER &rows)
Definition: item_model_utils.h:86
static bool isValidRow(const QAbstractItemModel *model, int row, const QModelIndex &parent=QModelIndex())
Definition: item_model_utils.cpp:27
#define QTTOOLS_CORE_EXPORT
Definition: core.h:27
Definition: grid_numbering.cpp:19
Provides a collection of tools around QAbstractItemModel.
Definition: item_model_utils.h:27
static bool validRows(const QAbstractItemModel *model, const INT_CONTAINER &rows, const QModelIndex &parent=QModelIndex())
Definition: item_model_utils.h:73