Files
dota_factory/src/balancing/InspectWindow.h

52 lines
1.0 KiB
C++

#pragma once
#include <string>
#include <vector>
#include <QLabel>
#include <QPushButton>
#include <QTimer>
#include <QWidget>
#include "ArenaSimulation.h"
#include "VisualsConfig.h"
class ArenaView;
class InspectWindow : public QWidget
{
Q_OBJECT
public:
InspectWindow(ArenaSimulation* sim, const VisualsConfig* visuals,
const std::string& arenaName, QWidget* parent = nullptr);
signals:
void closed();
protected:
void closeEvent(QCloseEvent* event) override;
void keyPressEvent(QKeyEvent* event) override;
private slots:
void onSpeedButton(int index);
void onSpeedChanged(double multiplier);
void pollStatus();
private:
void updateInfoPanel(const ArenaStatus& status);
ArenaSimulation* m_sim;
ArenaView* m_arenaView;
std::vector<QPushButton*> m_speedButtons;
QLabel* m_team1Header;
QLabel* m_team2Header;
QLabel* m_team1Content;
QLabel* m_team2Content;
QTimer* m_pollTimer;
static const double kSpeeds[];
static const int kSpeedCount;
};