File indexing completed on 2024-05-12 05:06:15
0001 /* 0002 SPDX-FileCopyrightText: 2017-2018 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com> 0003 SPDX-FileCopyrightText: 2019 Thomas Baumgart <tbaumgart@kde.org> 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef EQUITIESMODEL_H 0008 #define EQUITIESMODEL_H 0009 0010 #include "kmm_models_export.h" 0011 0012 // ---------------------------------------------------------------------------- 0013 // QT Includes 0014 0015 // ---------------------------------------------------------------------------- 0016 // KDE Includes 0017 0018 #include <KExtraColumnsProxyModel> 0019 0020 // ---------------------------------------------------------------------------- 0021 // Project Includes 0022 0023 class EquitiesModelPrivate; 0024 class KMM_MODELS_EXPORT EquitiesModel : public KExtraColumnsProxyModel 0025 { 0026 Q_OBJECT 0027 public: 0028 enum Column { Symbol = 0, Quantity, Price, Value, LastPriceUpdate }; 0029 0030 EquitiesModel(QObject *parent = nullptr); 0031 ~EquitiesModel(); 0032 0033 QVariant extraColumnData(const QModelIndex &parent, int row, int extraColumn, int role = Qt::DisplayRole) const override; 0034 0035 /// @reimp 0036 QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; 0037 0038 public Q_SLOTS: 0039 0040 private: 0041 void init(); 0042 void load(); 0043 0044 private: 0045 EquitiesModelPrivate* d_ptr; 0046 Q_DECLARE_PRIVATE(EquitiesModel); 0047 }; 0048 0049 #endif // EQUITIESMODEL_H