[tests] Add -blocknotify functional test
[bitcoinplatinum.git] / src / qt / trafficgraphwidget.h
blob00660574af8fac37a265358c9dafb48e1b5ad301
1 // Copyright (c) 2011-2015 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 #ifndef BITCOIN_QT_TRAFFICGRAPHWIDGET_H
6 #define BITCOIN_QT_TRAFFICGRAPHWIDGET_H
8 #include <QWidget>
9 #include <QQueue>
11 class ClientModel;
13 QT_BEGIN_NAMESPACE
14 class QPaintEvent;
15 class QTimer;
16 QT_END_NAMESPACE
18 class TrafficGraphWidget : public QWidget
20 Q_OBJECT
22 public:
23 explicit TrafficGraphWidget(QWidget *parent = 0);
24 void setClientModel(ClientModel *model);
25 int getGraphRangeMins() const;
27 protected:
28 void paintEvent(QPaintEvent *);
30 public Q_SLOTS:
31 void updateRates();
32 void setGraphRangeMins(int mins);
33 void clear();
35 private:
36 void paintPath(QPainterPath &path, QQueue<float> &samples);
38 QTimer *timer;
39 float fMax;
40 int nMins;
41 QQueue<float> vSamplesIn;
42 QQueue<float> vSamplesOut;
43 quint64 nLastBytesIn;
44 quint64 nLastBytesOut;
45 ClientModel *clientModel;
48 #endif // BITCOIN_QT_TRAFFICGRAPHWIDGET_H