Bitcoin ABC  0.24.7
P2P Digital Currency
trafficgraphwidget.h
Go to the documentation of this file.
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.
4 
5 #ifndef BITCOIN_QT_TRAFFICGRAPHWIDGET_H
6 #define BITCOIN_QT_TRAFFICGRAPHWIDGET_H
7 
8 #include <QQueue>
9 #include <QWidget>
10 
11 class ClientModel;
12 
13 QT_BEGIN_NAMESPACE
14 class QPaintEvent;
15 class QPainterPath;
16 class QTimer;
17 QT_END_NAMESPACE
18 
19 class TrafficGraphWidget : public QWidget {
20  Q_OBJECT
21 
22 public:
23  explicit TrafficGraphWidget(QWidget *parent = nullptr);
24  void setClientModel(ClientModel *model);
25  int getGraphRangeMins() const;
26 
27 protected:
28  void paintEvent(QPaintEvent *) override;
29 
30 public Q_SLOTS:
31  void updateRates();
32  void setGraphRangeMins(int mins);
33  void clear();
34 
35 private:
36  void paintPath(QPainterPath &path, QQueue<float> &samples);
37 
38  QTimer *timer;
39  float fMax;
40  int nMins;
41  QQueue<float> vSamplesIn;
42  QQueue<float> vSamplesOut;
43  quint64 nLastBytesIn;
44  quint64 nLastBytesOut;
46 };
47 
48 #endif // BITCOIN_QT_TRAFFICGRAPHWIDGET_H
TrafficGraphWidget::nMins
int nMins
Definition: trafficgraphwidget.h:40
TrafficGraphWidget::paintPath
void paintPath(QPainterPath &path, QQueue< float > &samples)
Definition: trafficgraphwidget.cpp:41
TrafficGraphWidget::clientModel
ClientModel * clientModel
Definition: trafficgraphwidget.h:45
TrafficGraphWidget::setGraphRangeMins
void setGraphRangeMins(int mins)
Definition: trafficgraphwidget.cpp:158
TrafficGraphWidget::vSamplesOut
QQueue< float > vSamplesOut
Definition: trafficgraphwidget.h:42
TrafficGraphWidget::timer
QTimer * timer
Definition: trafficgraphwidget.h:38
TrafficGraphWidget::paintEvent
void paintEvent(QPaintEvent *) override
Definition: trafficgraphwidget.cpp:56
TrafficGraphWidget::vSamplesIn
QQueue< float > vSamplesIn
Definition: trafficgraphwidget.h:41
TrafficGraphWidget::setClientModel
void setClientModel(ClientModel *model)
Definition: trafficgraphwidget.cpp:29
TrafficGraphWidget::TrafficGraphWidget
TrafficGraphWidget(QWidget *parent=nullptr)
Definition: trafficgraphwidget.cpp:22
TrafficGraphWidget::getGraphRangeMins
int getGraphRangeMins() const
Definition: trafficgraphwidget.cpp:37
TrafficGraphWidget::clear
void clear()
Definition: trafficgraphwidget.cpp:167
ClientModel
Model for Bitcoin network client.
Definition: clientmodel.h:36
TrafficGraphWidget::fMax
float fMax
Definition: trafficgraphwidget.h:39
TrafficGraphWidget::nLastBytesIn
quint64 nLastBytesIn
Definition: trafficgraphwidget.h:43
TrafficGraphWidget::updateRates
void updateRates()
Definition: trafficgraphwidget.cpp:120
TrafficGraphWidget::nLastBytesOut
quint64 nLastBytesOut
Definition: trafficgraphwidget.h:44
TrafficGraphWidget
Definition: trafficgraphwidget.h:19