1 #ifndef TRANSACTIONTABLEMODEL_H
2 #define TRANSACTIONTABLEMODEL_H
4 #include <QAbstractTableModel>
8 class TransactionTablePriv;
9 class TransactionRecord;
12 class TransactionTableModel : public QAbstractTableModel
16 explicit TransactionTableModel(CWallet* wallet, WalletModel *parent = 0);
17 ~TransactionTableModel();
27 // Roles to get specific information from a transaction row
29 // Type of transaction
30 TypeRole = Qt::UserRole,
31 // Date and time this transaction was created
33 // Long description (HTML format)
35 // Address of transaction
37 // Label of address related to transaction
39 // Absolute net amount of transaction
43 int rowCount(const QModelIndex &parent) const;
44 int columnCount(const QModelIndex &parent) const;
45 QVariant data(const QModelIndex &index, int role) const;
46 QVariant headerData(int section, Qt::Orientation orientation, int role) const;
47 Qt::ItemFlags flags(const QModelIndex &index) const;
48 QModelIndex index(int row, int column, const QModelIndex & parent = QModelIndex()) const;
51 WalletModel *walletModel;
53 TransactionTablePriv *priv;
55 QString lookupAddress(const std::string &address) const;
56 QVariant formatTxStatus(const TransactionRecord *wtx) const;
57 QVariant formatTxDate(const TransactionRecord *wtx) const;
58 QVariant formatTxType(const TransactionRecord *wtx) const;
59 QVariant formatTxToAddress(const TransactionRecord *wtx) const;
60 QVariant formatTxAmount(const TransactionRecord *wtx) const;
61 QVariant formatTxDecoration(const TransactionRecord *wtx) const;
66 friend class TransactionTablePriv;