Dash Core  0.12.2.1
P2P Digital Currency
rpcconsole.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_RPCCONSOLE_H
6 #define BITCOIN_QT_RPCCONSOLE_H
7 
8 #include "guiutil.h"
9 #include "peertablemodel.h"
10 #include "trafficgraphdata.h"
11 
12 #include "net.h"
13 
14 #include <QWidget>
15 #include <QCompleter>
16 #include <QThread>
17 
18 class ClientModel;
19 class PlatformStyle;
20 class RPCTimerInterface;
21 
22 namespace Ui {
23  class RPCConsole;
24 }
25 
26 QT_BEGIN_NAMESPACE
27 class QMenu;
28 class QItemSelection;
29 QT_END_NAMESPACE
30 
32 class RPCConsole: public QWidget
33 {
34  Q_OBJECT
35 
36 public:
37  explicit RPCConsole(const PlatformStyle *platformStyle, QWidget *parent);
38  ~RPCConsole();
39 
40  void setClientModel(ClientModel *model);
41 
42  enum MessageClass {
48  };
49 
50  enum TabTypes {
51  TAB_INFO = 0,
53  TAB_GRAPH = 2,
54  TAB_PEERS = 3,
56  };
57 
58 protected:
59  virtual bool eventFilter(QObject* obj, QEvent *event);
60  void keyPressEvent(QKeyEvent *);
61 
62 private Q_SLOTS:
64  void on_tabWidget_currentChanged(int index);
68  void on_sldGraphRange_valueChanged(int value);
70  void updateTrafficStats(quint64 totalBytesIn, quint64 totalBytesOut);
71  void resizeEvent(QResizeEvent *event);
72  void showEvent(QShowEvent *event);
73  void hideEvent(QHideEvent *event);
75  void showPeersTableContextMenu(const QPoint& point);
77  void showBanTableContextMenu(const QPoint& point);
81  void clearSelectedNode();
82 
83 public Q_SLOTS:
84  void clear(bool clearHistory = true);
85  void fontBigger();
86  void fontSmaller();
87  void setFontSize(int newSize);
88 
90  void walletSalvage();
91  void walletRescan();
92  void walletZaptxes1();
93  void walletZaptxes2();
94  void walletUpgrade();
95  void walletReindex();
96 
98  void message(int category, const QString &message, bool html = false);
100  void setNumConnections(int count);
102  void setNetworkActive(bool networkActive);
104  void setMasternodeCount(const QString &strMasternodes);
106  void setNumBlocks(int count, const QDateTime& blockDate, double nVerificationProgress, bool headers);
108  void setMempoolSize(long numberOfTxs, size_t dynUsage);
110  void browseHistory(int offset);
112  void scrollToEnd();
114  void peerSelected(const QItemSelection &selected, const QItemSelection &deselected);
118  void peerLayoutChanged();
120  void disconnectSelectedNode();
122  void banSelectedNode(int bantime);
124  void unbanSelectedNode();
126  void setTabFocus(enum TabTypes tabType);
127 
128 Q_SIGNALS:
129  // For RPC command executor
130  void stopExecutor();
131  void cmdRequest(const QString &command);
133  void handleRestart(QStringList args);
134 
135 private:
136  static QString FormatBytes(quint64 bytes);
137  void startExecutor();
140  void buildParameterlist(QString arg);
142  void updateNodeDetail(const CNodeCombinedStats *stats);
143 
145  {
151 
152  };
153 
156  QStringList history;
158  QList<NodeId> cachedNodeids;
164  QCompleter *autoCompleter;
165  QThread thread;
166 
168  void updateNetworkState();
169 };
170 
171 #endif // BITCOIN_QT_RPCCONSOLE_H
void on_sldGraphRange_valueChanged(int value)
Definition: rpcconsole.cpp:798
QThread thread
Definition: rpcconsole.h:165
void peerSelected(const QItemSelection &selected, const QItemSelection &deselected)
Definition: rpcconsole.cpp:827
void setFontSize(int newSize)
Definition: rpcconsole.cpp:523
void peerLayoutChanged()
Definition: rpcconsole.cpp:850
void updateNodeDetail(const CNodeCombinedStats *stats)
Definition: rpcconsole.cpp:907
void buildParameterlist(QString arg)
Definition: rpcconsole.cpp:585
void cmdRequest(const QString &command)
virtual bool eventFilter(QObject *obj, QEvent *event)
Definition: rpcconsole.cpp:324
int historyPtr
Definition: rpcconsole.h:157
const PlatformStyle * platformStyle
Definition: rpcconsole.h:159
void startExecutor()
Definition: rpcconsole.cpp:758
void banSelectedNode(int bantime)
void setTabFocus(enum TabTypes tabType)
void setMempoolSize(long numberOfTxs, size_t dynUsage)
Definition: rpcconsole.cpp:712
RPCConsole(const PlatformStyle *platformStyle, QWidget *parent)
Definition: rpcconsole.cpp:253
void updateTrafficStats(quint64 totalBytesIn, quint64 totalBytesOut)
Definition: rpcconsole.cpp:821
void showPeersTableContextMenu(const QPoint &point)
Definition: rpcconsole.cpp:980
void on_lineEdit_returnPressed()
Definition: rpcconsole.cpp:722
void showEvent(QShowEvent *event)
Definition: rpcconsole.cpp:958
void setNumBlocks(int count, const QDateTime &blockDate, double nVerificationProgress, bool headers)
Definition: rpcconsole.cpp:699
void scrollToEnd()
Definition: rpcconsole.cpp:792
void disconnectSelectedNode()
Definition: rpcconsole.cpp:994
void walletZaptxes2()
Definition: rpcconsole.cpp:567
void setClientModel(ClientModel *model)
Definition: rpcconsole.cpp:368
void setTrafficGraphRange(TrafficGraphData::GraphRange range)
Definition: rpcconsole.cpp:815
void handleRestart(QStringList args)
QCompleter * autoCompleter
Definition: rpcconsole.h:164
QMenu * banTableContextMenu
Definition: rpcconsole.h:162
Ui::RPCConsole * ui
Definition: rpcconsole.h:154
void showOrHideBanTableIfRequired()
void browseHistory(int offset)
Definition: rpcconsole.cpp:745
void updateNetworkState()
Definition: rpcconsole.cpp:673
void clearSelectedNode()
void resizeEvent(QResizeEvent *event)
Definition: rpcconsole.cpp:953
void hideEvent(QHideEvent *event)
Definition: rpcconsole.cpp:969
RPCTimerInterface * rpcTimerInterface
Definition: rpcconsole.h:160
void on_tabWidget_currentChanged(int index)
Definition: rpcconsole.cpp:779
void peerLayoutAboutToChange()
Definition: rpcconsole.cpp:839
void setNetworkActive(bool networkActive)
Definition: rpcconsole.cpp:694
QMenu * peersTableContextMenu
Definition: rpcconsole.h:161
void showBanTableContextMenu(const QPoint &point)
Definition: rpcconsole.cpp:987
void clear(bool clearHistory=true)
Definition: rpcconsole.cpp:606
void keyPressEvent(QKeyEvent *)
Definition: rpcconsole.cpp:649
void walletSalvage()
Definition: rpcconsole.cpp:549
void fontSmaller()
Definition: rpcconsole.cpp:518
void walletZaptxes1()
Definition: rpcconsole.cpp:561
void walletRescan()
Definition: rpcconsole.cpp:555
static QString FormatBytes(quint64 bytes)
Definition: rpcconsole.cpp:803
void setMasternodeCount(const QString &strMasternodes)
Definition: rpcconsole.cpp:707
void walletReindex()
Definition: rpcconsole.cpp:579
void fontBigger()
Definition: rpcconsole.cpp:513
static int count
Definition: tests.c:41
void setNumConnections(int count)
Definition: rpcconsole.cpp:686
void walletUpgrade()
Definition: rpcconsole.cpp:573
void on_openDebugLogfileButton_clicked()
Definition: rpcconsole.cpp:787
int consoleFontSize
Definition: rpcconsole.h:163
void message(int category, const QString &message, bool html=false)
Definition: rpcconsole.cpp:657
QStringList history
Definition: rpcconsole.h:156
void stopExecutor()
QList< NodeId > cachedNodeids
Definition: rpcconsole.h:158
void unbanSelectedNode()
ClientModel * clientModel
Definition: rpcconsole.h:155