PRCYCoin  2.0.0.7rc1
P2P Digital Currency
peertablemodel.h
Go to the documentation of this file.
1 // Copyright (c) 2011-2013 The Bitcoin developers
2 // Distributed under the MIT/X11 software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #ifndef BITCOIN_QT_PEERTABLEMODEL_H
6 #define BITCOIN_QT_PEERTABLEMODEL_H
7 
8 #include "main.h"
9 #include "net.h"
10 
11 #include <QAbstractTableModel>
12 #include <QStringList>
13 
14 class ClientModel;
15 class PeerTablePriv;
16 
17 QT_BEGIN_NAMESPACE
18 class QTimer;
19 QT_END_NAMESPACE
20 
25 };
26 
28 {
29 public:
30  NodeLessThan(int nColumn, Qt::SortOrder fOrder) : column(nColumn), order(fOrder) {}
31  bool operator()(const CNodeCombinedStats& left, const CNodeCombinedStats& right) const;
32 
33 private:
34  int column;
35  Qt::SortOrder order;
36 };
37 
42 class PeerTableModel : public QAbstractTableModel
43 {
44  Q_OBJECT
45 
46 public:
47  explicit PeerTableModel(ClientModel* parent = 0);
49  const CNodeCombinedStats* getNodeStats(int idx);
50  int getRowByNodeId(NodeId nodeid);
51  void startAutoRefresh();
52  void stopAutoRefresh();
53 
54  enum ColumnIndex {
55  NetNodeId = 0,
56  Address = 1,
57  Ping = 2,
58  Sent = 3,
59  Received = 4,
61  };
62 
65  int rowCount(const QModelIndex& parent) const;
66  int columnCount(const QModelIndex& parent) const;
67  QVariant data(const QModelIndex& index, int role) const;
68  QVariant headerData(int section, Qt::Orientation orientation, int role) const;
69  QModelIndex index(int row, int column, const QModelIndex& parent) const;
70  Qt::ItemFlags flags(const QModelIndex& index) const;
71  void sort(int column, Qt::SortOrder order);
74 public Q_SLOTS:
75  void refresh();
76 
77 private:
79  QStringList columns;
81  QTimer* timer;
82 };
83 
84 #endif // BITCOIN_QT_PEERTABLEMODEL_H
PeerTableModel::Received
@ Received
Definition: peertablemodel.h:59
NodeId
int64_t NodeId
Definition: net.h:92
PeerTableModel::NetNodeId
@ NetNodeId
Definition: peertablemodel.h:55
CNodeCombinedStats::nodeStats
CNodeStats nodeStats
Definition: peertablemodel.h:22
NodeLessThan::NodeLessThan
NodeLessThan(int nColumn, Qt::SortOrder fOrder)
Definition: peertablemodel.h:30
PeerTableModel::data
QVariant data(const QModelIndex &index, int role) const
Definition: peertablemodel.cpp:161
PeerTableModel::columns
QStringList columns
Definition: peertablemodel.h:79
NodeLessThan::operator()
bool operator()(const CNodeCombinedStats &left, const CNodeCombinedStats &right) const
Definition: peertablemodel.cpp:20
PeerTableModel::Subversion
@ Subversion
Definition: peertablemodel.h:60
NodeLessThan::column
int column
Definition: peertablemodel.h:34
PeerTableModel::flags
Qt::ItemFlags flags(const QModelIndex &index) const
Definition: peertablemodel.cpp:208
PeerTablePriv
Definition: peertablemodel.cpp:47
PeerTableModel::Address
@ Address
Definition: peertablemodel.h:56
PeerTableModel::columnCount
int columnCount(const QModelIndex &parent) const
Definition: peertablemodel.cpp:154
PeerTableModel::priv
PeerTablePriv * priv
Definition: peertablemodel.h:80
CNodeCombinedStats::fNodeStateStatsAvailable
bool fNodeStateStatsAvailable
Definition: peertablemodel.h:24
PeerTableModel::~PeerTableModel
~PeerTableModel()
Definition: peertablemodel.cpp:134
CNodeCombinedStats
Definition: peertablemodel.h:21
PeerTableModel::clientModel
ClientModel * clientModel
Definition: peertablemodel.h:78
NodeLessThan::order
Qt::SortOrder order
Definition: peertablemodel.h:35
PeerTableModel
Qt model providing information about connected peers, similar to the "getpeerinfo" RPC call.
Definition: peertablemodel.h:42
PeerTableModel::getNodeStats
const CNodeCombinedStats * getNodeStats(int idx)
Definition: peertablemodel.cpp:229
PeerTableModel::Ping
@ Ping
Definition: peertablemodel.h:57
PeerTableModel::index
QModelIndex index(int row, int column, const QModelIndex &parent) const
Definition: peertablemodel.cpp:217
PeerTableModel::refresh
void refresh()
Definition: peertablemodel.cpp:234
ClientModel
Model for PRCY network client.
Definition: clientmodel.h:44
main.h
PeerTableModel::Sent
@ Sent
Definition: peertablemodel.h:58
PeerTableModel::PeerTableModel
PeerTableModel(ClientModel *parent=0)
Definition: peertablemodel.cpp:116
PeerTableModel::startAutoRefresh
void startAutoRefresh()
Definition: peertablemodel.cpp:138
NodeLessThan
Definition: peertablemodel.h:27
PeerTableModel::getRowByNodeId
int getRowByNodeId(NodeId nodeid)
Definition: peertablemodel.cpp:241
CNodeStateStats
Definition: main.h:288
net.h
PeerTableModel::sort
void sort(int column, Qt::SortOrder order)
Definition: peertablemodel.cpp:250
PeerTableModel::stopAutoRefresh
void stopAutoRefresh()
Definition: peertablemodel.cpp:143
PeerTableModel::headerData
QVariant headerData(int section, Qt::Orientation orientation, int role) const
Definition: peertablemodel.cpp:198
CNodeStats
Definition: net.h:180
PeerTableModel::timer
QTimer * timer
Definition: peertablemodel.h:81
PeerTableModel::ColumnIndex
ColumnIndex
Definition: peertablemodel.h:54
PeerTableModel::rowCount
int rowCount(const QModelIndex &parent) const
Definition: peertablemodel.cpp:148
CNodeCombinedStats::nodeStateStats
CNodeStateStats nodeStateStats
Definition: peertablemodel.h:23