#pragma once #include #include #include "ui_TurtleRouterDialog.h" #include "RsAutoUpdatePage.h" class TurtleRouterStatisticsWidget ; class TurtleRouterDialog: public RsAutoUpdatePage, public Ui::TurtleRouterDialogForm { public: TurtleRouterDialog(QWidget *parent = NULL) ; ~TurtleRouterDialog(); // Cache for peer names. static QString getPeerName(const std::string& peer_id) ; private: void updateTunnelRequests( const std::vector > >&, const std::vector > >&, const std::vector&, const std::vector&) ; void processSettings(bool bLoad); bool m_bProcessSettings; virtual void updateDisplay() ; QTreeWidgetItem *findParentHashItem(const std::string& hash) ; std::map top_level_hashes ; QTreeWidgetItem *top_level_unknown_hashes ; QTreeWidgetItem *top_level_s_requests ; QTreeWidgetItem *top_level_t_requests ; TurtleRouterStatisticsWidget *_tst_CW ; } ; class TurtleRouterStatisticsWidget: public QWidget { public: TurtleRouterStatisticsWidget(QWidget *parent = NULL) ; virtual void paintEvent(QPaintEvent *event) ; virtual void resizeEvent(QResizeEvent *event); void updateTunnelStatistics( const std::vector > >&, const std::vector > >&, const std::vector&, const std::vector&) ; private: static QString speedString(float f) ; QPixmap pixmap ; int maxWidth,maxHeight ; };