1 #ifndef TRANSACTIONTABLEMODEL_H
2 #define TRANSACTIONTABLEMODEL_H
4 #include <QAbstractTableModel>
8 class TransactionTablePriv;
9 class TransactionRecord;
12 /** UI model for the transaction table of a wallet.
14 class TransactionTableModel : public QAbstractTableModel
18 explicit TransactionTableModel(CWallet* wallet, WalletModel *parent = 0);
19 ~TransactionTableModel();
29 /** Roles to get specific information from a transaction row.
30 These are independent of column.
33 /** Type of transaction */
34 TypeRole = Qt::UserRole,
35 /** Date and time this transaction was created */
37 /** Long description (HTML format) */
39 /** Address of transaction */
41 /** Label of address related to transaction */
43 /** Net amount of transaction */
45 /** Unique identifier */
47 /** Is transaction confirmed? */
49 /** Formatted amount, without brackets when unconfirmed */
53 int rowCount(const QModelIndex &parent) const;
54 int columnCount(const QModelIndex &parent) const;
55 QVariant data(const QModelIndex &index, int role) const;
56 QVariant headerData(int section, Qt::Orientation orientation, int role) 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 QString formatTxStatus(const TransactionRecord *wtx) const;
67 QString formatTxDate(const TransactionRecord *wtx) const;
68 QString formatTxType(const TransactionRecord *wtx) const;
69 QString formatTxToAddress(const TransactionRecord *wtx, bool tooltip) const;
70 QString formatTxAmount(const TransactionRecord *wtx, bool showUnconfirmed=true) const;
71 QString formatTooltip(const TransactionRecord *rec) const;
72 QVariant txStatusDecoration(const TransactionRecord *wtx) const;
73 QVariant txAddressDecoration(const TransactionRecord *wtx) const;
78 friend class TransactionTablePriv;