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
28 // These are independent of column
30 // Type of transaction
31 TypeRole = Qt::UserRole,
32 // Date and time this transaction was created
34 // Long description (HTML format)
36 // Address of transaction
38 // Label of address related to transaction
40 // Absolute net amount of transaction, for filtering
42 // Net amount of transaction
46 // Is transaction confirmed?
48 // Formatted amount, without brackets when unconfirmed
52 int rowCount(const QModelIndex &parent) const;
53 int columnCount(const QModelIndex &parent) const;
54 QVariant data(const QModelIndex &index, int role) const;
55 QVariant headerData(int section, Qt::Orientation orientation, int role) const;
56 Qt::ItemFlags flags(const QModelIndex &index) const;
57 QModelIndex index(int row, int column, const QModelIndex & parent = QModelIndex()) const;
60 WalletModel *walletModel;
62 TransactionTablePriv *priv;
64 QString lookupAddress(const std::string &address, bool tooltip) const;
65 QVariant addressColor(const TransactionRecord *wtx) const;
66 QVariant formatTxStatus(const TransactionRecord *wtx) const;
67 QVariant formatTxDate(const TransactionRecord *wtx) const;
68 QString formatTxType(const TransactionRecord *wtx) const;
69 QString formatTxToAddress(const TransactionRecord *wtx, bool tooltip) const;
70 QVariant formatTxAmount(const TransactionRecord *wtx, bool showUnconfirmed=true) const;
71 QVariant formatTxDecoration(const TransactionRecord *wtx) const;
72 QVariant txAddressDecoration(const TransactionRecord *wtx) const;
77 friend class TransactionTablePriv;