GCC Code Coverage Report


Directory: ./
File: qtpdcom/QtPdCom1/MessageModelFilter.h
Date: 2025-02-23 04:08:29
Exec Total Coverage
Lines: 0 2 0.0%
Branches: 0 0 -%

Line Branch Exec Source
1 /*****************************************************************************
2 *
3 * Copyright (C) 2009 - 2024 Bjarne von Horn <vh@igh.de>
4 *
5 * This file is part of the QtPdCom library.
6 *
7 * The QtPdCom library is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU Lesser General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or (at your
10 * option) any later version.
11 *
12 * The QtPdCom library is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
15 * License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public License
18 * along with the QtPdCom Library. If not, see <http://www.gnu.org/licenses/>.
19 *
20 ****************************************************************************/
21
22 #ifndef QTPDCOM_MESSAGEMODELFILTER_H
23 #define QTPDCOM_MESSAGEMODELFILTER_H
24
25 #include "Export.h"
26 #include <QScopedPointer>
27 #include <QSortFilterProxyModel>
28
29 namespace QtPdCom {
30
31 class MessageModelFilterPrivate;
32
33 /** Proxy model to filter Messages based on their reset time.
34 *
35 * This Proxy model allows to filter out acknowledged messages.
36 * Messages with a non-empty reset timestamp are acknowledged.
37 *
38 * This class is also available in QML.
39 *
40 * Suppy a MessageModel instance as \c sourceModel property.
41 */
42 class QTPDCOM_PUBLIC MessageModelFilter: public QSortFilterProxyModel
43 {
44 Q_OBJECT
45 Q_PROPERTY(bool showOnlyActiveMessages READ getShowOnlyActiveMessages
46 WRITE setShowOnlyActiveMessages)
47 public:
48 explicit MessageModelFilter(QObject *parent = nullptr);
49 ~MessageModelFilter();
50 bool getShowOnlyActiveMessages() const;
51 void setShowOnlyActiveMessages(bool value);
52
53 protected:
54 bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent)
55 const override;
56
57 private:
58 Q_DECLARE_PRIVATE(MessageModelFilter);
59 QScopedPointer<MessageModelFilterPrivate> const d_ptr;
60 };
61
62 } // namespace QtPdCom
63
64 #endif // QTPDCOM_MESSAGEMODELFILTER_H
65