Medical Imaging Interaction Toolkit  2021.10.99-9c07a326
Medical Imaging Interaction Toolkit
QmitkDataStorageFilterProxyModel.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef QMITKDATASTORAGEFILTERPROXYMODEL_H_
14 #define QMITKDATASTORAGEFILTERPROXYMODEL_H_
15 
16 #include <MitkQtWidgetsExports.h>
17 
18 #include <mitkDataStorage.h>
19 #include <mitkNodePredicateBase.h>
20 
21 #include <QSortFilterProxyModel>
22 
23 #include <set>
24 
26 class MITKQTWIDGETS_EXPORT QmitkDataStorageFilterProxyModel : public QSortFilterProxyModel
27 {
28  //# CTORS,DTOR
29 public:
30  QmitkDataStorageFilterProxyModel(QObject *parent = nullptr);
32 
33 public:
37  void AddFilterPredicate(mitk::NodePredicateBase::Pointer pred);
38 
42  bool RemoveFilterPredicate(mitk::NodePredicateBase::Pointer pred);
43 
47  bool HasFilterPredicate(mitk::NodePredicateBase::Pointer pred);
48 
49  //#
50 protected:
51  bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override;
52 
53 protected:
54  typedef std::set<mitk::NodePredicateBase::Pointer> FilterPredicatesCollection;
55  FilterPredicatesCollection m_Predicates;
56 };
57 
58 #endif /* QMITKDATASTORAGEFILTERPROXYMODEL_H_ */
#define MITKQTWIDGETS_EXPORT
std::set< mitk::NodePredicateBase::Pointer > FilterPredicatesCollection