File indexing completed on 2024-05-12 05:06:16
0001 /* 0002 SPDX-FileCopyrightText: 2019 Thomas Baumgart <tbaumgart@kde.org> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 0007 #ifndef ONLINEBALANCEPROXYMODEL_H 0008 #define ONLINEBALANCEPROXYMODEL_H 0009 0010 #include "kmm_models_export.h" 0011 0012 // ---------------------------------------------------------------------------- 0013 // QT Includes 0014 0015 #include <QSortFilterProxyModel> 0016 0017 // ---------------------------------------------------------------------------- 0018 // KDE Includes 0019 0020 0021 // ---------------------------------------------------------------------------- 0022 // Project Includes 0023 0024 class OnlineBalanceProxyModelPrivate; 0025 class KMM_MODELS_EXPORT OnlineBalanceProxyModel : public QSortFilterProxyModel 0026 { 0027 Q_OBJECT 0028 public: 0029 enum Column { 0030 Symbol = 0, 0031 Quantity, 0032 Price, 0033 Value, 0034 }; 0035 0036 OnlineBalanceProxyModel(QObject *parent = nullptr); 0037 ~OnlineBalanceProxyModel(); 0038 0039 void setSourceModel ( QAbstractItemModel* sourceModel ) override; 0040 0041 QVariant data(const QModelIndex& idx, int role) const override; 0042 0043 int columnCount ( const QModelIndex& parent = QModelIndex() ) const override; 0044 0045 Qt::ItemFlags flags(const QModelIndex& idx) const override; 0046 0047 QModelIndex index ( int row, int column, const QModelIndex & parent ) const override; 0048 0049 protected: 0050 bool filterAcceptsRow ( int source_row, const QModelIndex& source_parent ) const override; 0051 0052 private: 0053 void init(); 0054 void load(); 0055 0056 private: 0057 OnlineBalanceProxyModelPrivate* d_ptr; 0058 Q_DECLARE_PRIVATE(OnlineBalanceProxyModel); 0059 }; 0060 0061 #endif // ONLINEBALANCEPROXYMODEL_H