35 lines
886 B
C++
35 lines
886 B
C++
// connmonitorwindow.h — ETCP connection monitor (standalone, non-modal window)
|
|
#pragma once
|
|
|
|
#include <QDialog>
|
|
#include <QListWidget>
|
|
#include <QPlainTextEdit>
|
|
#include <QTimer>
|
|
#include <cstdint>
|
|
|
|
class ConnMonitorWindow : public QDialog {
|
|
Q_OBJECT
|
|
public:
|
|
explicit ConnMonitorWindow(QWidget* parent = nullptr);
|
|
~ConnMonitorWindow() override;
|
|
|
|
void onConnList(const uint8_t* data, int len);
|
|
void onConnMetrics(const uint8_t* data, int len);
|
|
|
|
protected:
|
|
void showEvent(QShowEvent* event) override;
|
|
void hideEvent(QHideEvent* event) override;
|
|
|
|
private slots:
|
|
void onTimerTick();
|
|
void onConnSelected(QListWidgetItem* current, QListWidgetItem* previous);
|
|
|
|
private:
|
|
void requestMetricsForSelected();
|
|
|
|
QListWidget* m_connList;
|
|
QPlainTextEdit* m_details;
|
|
QTimer* m_timer;
|
|
uint64_t m_selectedNodeId = 0;
|
|
};
|