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
43 static const QString Sent;
44 static const QString Received;
45 static const QString Other;
47 int rowCount(const QModelIndex &parent) const;
48 int columnCount(const QModelIndex &parent) const;
49 QVariant data(const QModelIndex &index, int role) const;
50 QVariant headerData(int section, Qt::Orientation orientation, int role) const;
51 Qt::ItemFlags flags(const QModelIndex &index) const;
52 QModelIndex index(int row, int column, const QModelIndex & parent = QModelIndex()) const;
56 TransactionTablePriv *priv;
58 QString labelForAddress(const std::string &address) const;
59 QString lookupAddress(const std::string &address) const;
60 QVariant formatTxStatus(const TransactionRecord *wtx) const;
61 QVariant formatTxDate(const TransactionRecord *wtx) const;
62 QVariant formatTxType(const TransactionRecord *wtx) const;
63 QVariant formatTxToAddress(const TransactionRecord *wtx) const;
64 QVariant formatTxAmount(const TransactionRecord *wtx) const;
65 QVariant formatTxDecoration(const TransactionRecord *wtx) const;
70 friend class TransactionTablePriv;