blob: b8dbf73339b057fca51aafced99056e27717925f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#include <QProcess>
#include <QWidget>
#include "view.h"
class QPushButton;
class QTimer;
class TopLevel;
class Macondo : public View {
Q_OBJECT
public:
Macondo(TopLevel *topLevel);
~Macondo();
public slots:
void simulate();
void updateResults();
void processStarted();
void processFinished(int, QProcess::ExitStatus);
virtual void positionChanged(const Quackle::GamePosition *position);
private:
enum class Command {
None,
Simulate,
Solve,
};
void loadGCG();
void killProcess();
TopLevel *m_topLevel;
QPushButton *m_simulateButton;
QTimer *m_updateTimer;
std::string m_execPath;
QProcess *m_process = nullptr;
int m_viewingPlyNumber = 0;
bool m_runningSimulation = false;
Command m_command = Command::None;
};
|