File indexing completed on 2024-03-24 03:58:55
0001 /* 0002 SPDX-FileCopyrightText: 2009 Stephen Kelly <steveire@gmail.com> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef MODELSELECTOR_H 0008 #define MODELSELECTOR_H 0009 0010 #include <QItemSelectionModel> 0011 0012 //#include <kselectionproxymodel.h> 0013 0014 #include "proxymodeltest.h" 0015 0016 #include "proxymodeltestsuite_export.h" 0017 0018 class ModelSpy; 0019 0020 class OnlySelectedChildrenTest; 0021 0022 class PROXYMODELTESTSUITE_EXPORT ModelSelector : public ProxyModelTestData 0023 { 0024 Q_OBJECT 0025 public: 0026 ModelSelector(ProxyModelTest *ProxyModelTest = nullptr); 0027 0028 void setWatchedModel(QAbstractItemModel *model); 0029 0030 void setSelectionModel(QItemSelectionModel *selectionModel); 0031 0032 void setRootModel(DynamicTreeModel *rootModel); 0033 0034 QItemSelectionModel *selectionModel() const 0035 { 0036 return m_selectionModel; 0037 } 0038 QAbstractItemModel *watchedModel() 0039 { 0040 return m_model; 0041 } 0042 0043 void setWatch(bool watch); 0044 0045 // virtual KSelectionProxyModel::FilterBehavior filterBehaviour() = 0; 0046 0047 public Q_SLOTS: 0048 void rowsInserted(const QModelIndex &parent, int start, int end); 0049 0050 void testInsertWhenEmptyData() override 0051 { 0052 dummyTestData(); 0053 } 0054 0055 void testInsertInRootData() override 0056 { 0057 dummyTestData(); 0058 } 0059 0060 void testInsertInTopLevelData() override 0061 { 0062 dummyTestData(); 0063 } 0064 0065 void testInsertInSecondLevelData() override 0066 { 0067 dummyTestData(); 0068 } 0069 0070 void testRemoveFromRootData() override 0071 { 0072 dummyTestData(); 0073 } 0074 0075 void testRemoveFromTopLevelData() override 0076 { 0077 dummyTestData(); 0078 } 0079 0080 void testRemoveFromSecondLevelData() override 0081 { 0082 dummyTestData(); 0083 } 0084 0085 void testMoveFromRootData() override 0086 { 0087 dummyTestData(); 0088 } 0089 0090 void testMoveFromTopLevelData() override 0091 { 0092 dummyTestData(); 0093 } 0094 0095 void testMoveFromSecondLevelData() override 0096 { 0097 dummyTestData(); 0098 } 0099 0100 void testModifyInRootData() override 0101 { 0102 dummyTestData(); 0103 } 0104 0105 void testModifyInTopLevelData() override 0106 { 0107 dummyTestData(); 0108 } 0109 0110 void testModifyInSecondLevelData() override 0111 { 0112 dummyTestData(); 0113 } 0114 0115 protected Q_SLOTS: 0116 void modelDestroyed() 0117 { 0118 m_model = nullptr; 0119 m_selectionModel = nullptr; 0120 } 0121 0122 protected: 0123 QAbstractItemModel *m_model; 0124 QItemSelectionModel *m_selectionModel; 0125 DynamicTreeModel *m_rootModel; 0126 ModelSpy *m_modelSpy; 0127 0128 QList<int> m_selectedRows; 0129 }; 0130 0131 #endif