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
44 // Is transaction confirmed?
46 // Formatted amount, without brackets when unconfirmed
50 int rowCount(const QModelIndex &parent) const;
51 int columnCount(const QModelIndex &parent) const;
52 QVariant data(const QModelIndex &index, int role) const;
53 QVariant headerData(int section, Qt::Orientation orientation, int role) const;
54 Qt::ItemFlags flags(const QModelIndex &index) const;
55 QModelIndex index(int row, int column, const QModelIndex & parent = QModelIndex()) const;
58 WalletModel *walletModel;
60 TransactionTablePriv *priv;
62 QString lookupAddress(const std::string &address, bool tooltip) const;
63 QVariant addressColor(const TransactionRecord *wtx) const;
64 QVariant formatTxStatus(const TransactionRecord *wtx) const;
65 QVariant formatTxDate(const TransactionRecord *wtx) const;
66 QString formatTxType(const TransactionRecord *wtx) const;
67 QString formatTxToAddress(const TransactionRecord *wtx, bool tooltip) const;
68 QVariant formatTxAmount(const TransactionRecord *wtx, bool showUnconfirmed=true) const;
69 QVariant formatTxDecoration(const TransactionRecord *wtx) const;
70 QVariant txAddressDecoration(const TransactionRecord *wtx) const;
75 friend class TransactionTablePriv;