-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwindow.h
79 lines (62 loc) · 1.65 KB
/
window.h
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#ifndef WINDOW_H
#define WINDOW_H
#include <QWidget>
#include "gamestate.h"
#include "game.h"
#include "helper.h"
#include <stdlib.h>
#include <iostream>
#include <QtWidgets>
class QLabel;
class QPushButton;
class QLineEdit;
class QSlider;
class Game;
class Window : public QWidget {
Q_OBJECT
public:
Window();
virtual ~Window(){};
void changeGameStateDisplay(gameState);
void setGameContainer(Game *);
Game *getGameContainer();
void setInputLabelsAfterFileLoad(int height, int width, int fill);
void closeEvent(QCloseEvent *);
private slots:
void userEvent();
void generateGameFieldEvent();
void sliderChangedHandler();
void stepNextGenerationEvent();
void showGamefieldEvent();
void simulationSpeedChangedHandler();
void startSimulationEvent();
void pauseSimulationEvent();
void closeGamefieldEvent();
void editGamefieldTriggerEvent();
void loadFileEvent();
void saveFileEvent();
public slots:
void handleTimerEvent();
private:
Game *gameContainer;
QLabel *statusLabel;
QPushButton *generateGamefieldButton;
QPushButton *closeGamefieldButton;
QPushButton *startSimulationButton;
QPushButton *pauseSimulationButton;
QPushButton *stepNextGenerationButton;
QPushButton *editGamefieldButton;
QLabel *gamefieldSizeXLabel;
QLabel *gamefieldSizeYLabel;
QLineEdit *gamefieldSizeXInput;
QLineEdit *gamefieldSizeYInput;
QLabel *gamefieldFillPercentageLabel;
QSlider *gamefieldFillPercentageSlider;
QLabel *simulationSpeedLabel;
QSlider *simulationSpeedSlider;
QPushButton *loadFileButton;
QPushButton *saveFileButton;
void enableGamefieldControls(gameState);
bool editGameFieldEnabled;
};
#endif