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