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