twister-core/src/qt/rpcconsole.h
Wladimir J. van der Laan c6aa86afc2 Convert RPC console to QTextEdit instead of QTableView
* This allows copy/pasting whole or partial messages
* Handle output more consistently in console
    * No more scrollbars-in-scrollbars: by setting per-pixel scrolling on the table, cells can have any height
* Decorations for "request" and "reply" are changed to the txin and txout icons instead of colored squares
2012-05-12 18:39:26 +02:00

63 lines
1.3 KiB
C++

#ifndef RPCCONSOLE_H
#define RPCCONSOLE_H
#include <QDialog>
namespace Ui {
class RPCConsole;
}
class ClientModel;
/** Local bitcoin RPC console. */
class RPCConsole: public QDialog
{
Q_OBJECT
public:
explicit RPCConsole(QWidget *parent = 0);
~RPCConsole();
void setClientModel(ClientModel *model);
enum MessageClass {
MC_ERROR,
MC_DEBUG,
CMD_REQUEST,
CMD_REPLY,
CMD_ERROR
};
protected:
virtual bool eventFilter(QObject* obj, QEvent *event);
private slots:
void on_lineEdit_returnPressed();
void on_tabWidget_currentChanged(int index);
void on_openDebugLogfileButton_clicked();
public slots:
void clear();
void message(int category, const QString &message, bool html = false);
/** Set number of connections shown in the UI */
void setNumConnections(int count);
/** Set number of blocks shown in the UI */
void setNumBlocks(int count);
/** Go forward or back in history */
void browseHistory(int offset);
signals:
// For RPC command executor
void stopExecutor();
void cmdRequest(const QString &command);
private:
Ui::RPCConsole *ui;
ClientModel *clientModel;
QStringList history;
int historyPtr;
void startExecutor();
};
#endif // RPCCONSOLE_H