diff options
author | Sandro Knauß <sknauss@kde.org> | 2016-10-18 15:28:45 +0200 |
---|---|---|
committer | Sandro Knauß <sknauss@kde.org> | 2016-10-18 15:28:45 +0200 |
commit | 0fa8aa51aac15233820b9f9c576584e6ff8ee151 (patch) | |
tree | aeea1a5050fc353caaf95ed32c5abdcacf73aefb /framework/domain/modeltest.h | |
parent | d15a02d3c26c24530e8d9360629212e419c81c79 (diff) | |
download | kube-0fa8aa51aac15233820b9f9c576584e6ff8ee151.tar.gz kube-0fa8aa51aac15233820b9f9c576584e6ff8ee151.zip |
use modeltest fromupstream to make sure, we have a valid model
Diffstat (limited to 'framework/domain/modeltest.h')
-rw-r--r-- | framework/domain/modeltest.h | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/framework/domain/modeltest.h b/framework/domain/modeltest.h new file mode 100644 index 00000000..735a4227 --- /dev/null +++ b/framework/domain/modeltest.h | |||
@@ -0,0 +1,83 @@ | |||
1 | /**************************************************************************** | ||
2 | ** | ||
3 | ** Copyright (C) 2016 The Qt Company Ltd. | ||
4 | ** Contact: https://www.qt.io/licensing/ | ||
5 | ** | ||
6 | ** This file is part of the test suite of the Qt Toolkit. | ||
7 | ** | ||
8 | ** $QT_BEGIN_LICENSE:GPL-EXCEPT$ | ||
9 | ** Commercial License Usage | ||
10 | ** Licensees holding valid commercial Qt licenses may use this file in | ||
11 | ** accordance with the commercial license agreement provided with the | ||
12 | ** Software or, alternatively, in accordance with the terms contained in | ||
13 | ** a written agreement between you and The Qt Company. For licensing terms | ||
14 | ** and conditions see https://www.qt.io/terms-conditions. For further | ||
15 | ** information use the contact form at https://www.qt.io/contact-us. | ||
16 | ** | ||
17 | ** GNU General Public License Usage | ||
18 | ** Alternatively, this file may be used under the terms of the GNU | ||
19 | ** General Public License version 3 as published by the Free Software | ||
20 | ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT | ||
21 | ** included in the packaging of this file. Please review the following | ||
22 | ** information to ensure the GNU General Public License requirements will | ||
23 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. | ||
24 | ** | ||
25 | ** $QT_END_LICENSE$ | ||
26 | ** | ||
27 | ****************************************************************************/ | ||
28 | |||
29 | |||
30 | #ifndef MODELTEST_H | ||
31 | #define MODELTEST_H | ||
32 | |||
33 | #include <QtCore/QObject> | ||
34 | #include <QtCore/QAbstractItemModel> | ||
35 | #include <QtCore/QStack> | ||
36 | |||
37 | class ModelTest : public QObject | ||
38 | { | ||
39 | Q_OBJECT | ||
40 | |||
41 | public: | ||
42 | ModelTest( QAbstractItemModel *model, QObject *parent = 0 ); | ||
43 | |||
44 | private Q_SLOTS: | ||
45 | void nonDestructiveBasicTest(); | ||
46 | void rowCount(); | ||
47 | void columnCount(); | ||
48 | void hasIndex(); | ||
49 | void index(); | ||
50 | void parent(); | ||
51 | void data(); | ||
52 | |||
53 | protected Q_SLOTS: | ||
54 | void runAllTests(); | ||
55 | void layoutAboutToBeChanged(); | ||
56 | void layoutChanged(); | ||
57 | void rowsAboutToBeInserted( const QModelIndex &parent, int start, int end ); | ||
58 | void rowsInserted( const QModelIndex & parent, int start, int end ); | ||
59 | void rowsAboutToBeRemoved( const QModelIndex &parent, int start, int end ); | ||
60 | void rowsRemoved( const QModelIndex & parent, int start, int end ); | ||
61 | void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight); | ||
62 | void headerDataChanged(Qt::Orientation orientation, int start, int end); | ||
63 | |||
64 | private: | ||
65 | void checkChildren( const QModelIndex &parent, int currentDepth = 0 ); | ||
66 | |||
67 | QAbstractItemModel *model; | ||
68 | |||
69 | struct Changing { | ||
70 | QModelIndex parent; | ||
71 | int oldSize; | ||
72 | QVariant last; | ||
73 | QVariant next; | ||
74 | }; | ||
75 | QStack<Changing> insert; | ||
76 | QStack<Changing> remove; | ||
77 | |||
78 | bool fetchingMore; | ||
79 | |||
80 | QList<QPersistentModelIndex> changing; | ||
81 | }; | ||
82 | |||
83 | #endif | ||