-
Notifications
You must be signed in to change notification settings - Fork 0
/
mainwindow.h
137 lines (90 loc) · 3.04 KB
/
mainwindow.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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include<QPushButton>
#include <QMainWindow>
#include <QFont>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void on_pushButton_clicked();
void on_pushButton_10_clicked();
void on_pushButton_2_clicked();
void on_pushButton_3_clicked();
void on_pushButton_4_clicked();
void on_pushButton_5_clicked();
void on_pushButton_6_clicked();
void on_pushButton_7_clicked();
void on_pushButton_8_clicked();
void on_pushButton_9_clicked();
void on_pushButton_11_clicked();
void on_pushButton_12_clicked();
void on_pushButton_13_clicked();
void on_pushButton_14_toggled(bool checked);
void on_horizontalSlider_valueChanged(int);
void on_reset_clicked();
void on_close_clicked();
void on_restart_clicked();
void on_four_1_clicked();
void on_four_2_clicked();
void on_four_3_clicked();
void on_four_4_clicked();
void on_four_5_clicked();
void on_four_6_clicked();
void on_four_7_clicked();
void on_four_8_clicked();
void on_four_9_clicked();
void on_four_10_clicked();
void on_four_11_clicked();
void on_four_12_clicked();
void on_four_13_clicked();
void on_four_14_clicked();
void on_four_15_clicked();
void on_four_16_clicked();
void on_pushButton_15_clicked();
void on_restart_2_clicked();
void automate_callback();
void on_penta_puzzle_clicked();
void on_penta_puzzle_trigger_clicked();
private:
void setPentaPuzzleTriggerButtonVisibility(bool vis);
void setPentaPuzzleVisibility(bool visible);
void setPentaPuzzleTriggerButtonFontAndStyle(QFont font, const char * style=nullptr);
void setPentaPuzzleFontAndStyle(QFont font, const char * style=nullptr);
void createPentaPuzzleTriggerButton();
void createPentaPuzzle();
void connectPentaPuzzleTriggerButton();
void connectPentaPuzzle();
void setPentaPuzzleText(const int * puzzle = nullptr);
void resetPuzzleText(const int * puzzle, int dim);
void resetPuzzleColor(const int * puzzle, int dim);
private:
// AutoState:
// click click
// kInitial-------> kRunning -------> kPaused
// /|\ | |
// | completed | |
// |----------------| click |
// |----------------------------------|
enum AutoState{
kInitial = -1,
kRunning = 0,
kPaused = 1,
};
void switchAutoState();
void toBeRunning();
void toBePaused();
void toBeInitial();
enum {PENTA = 5};
QPushButton * pentaPushButton[PENTA*PENTA] = {0};
QPushButton * pentaPuzzleTriggerButton = nullptr;
Ui::MainWindow *ui;
AutoState paused_;
};
#endif // MAINWINDOW_H