Level collection selection cont. & styling.
[evilplumber] / src / game.h
index cf83eb2..e253ee0 100644 (file)
@@ -28,7 +28,7 @@ class QTableWidgetItem;
 class QLabel;
 class QWidget;
 class QPushButton;
-class QFrame;
+class QListWidget;
 
 enum PieceType
 {
@@ -51,7 +51,8 @@ enum Direction
     DirRight,
     DirDown,
     DirDone,
-    DirFailed
+    DirFailed,
+    DirPassed
 };
 
 typedef struct Piece
@@ -229,26 +230,34 @@ class LevelSwitcher : public QObject
 {
     Q_OBJECT
 public:
-    LevelSwitcher(GameController* gameController, QLabel* levelLabel, 
-                  QFrame* startFrame, QLabel* startTitle, QLabel* startLabel, QPushButton* startButton,
-                  QLabel* scoreLabel,
+    LevelSwitcher(GameController* gameController,
+                  QWidget* levelWidget, QListWidget* levelList, QPushButton* levelStartButton,
+                  QWidget* startWidget, QLabel* startTitle, QLabel* startLabel, QPushButton* startButton,
+                  QLabel* levelLabel, QLabel* scoreLabel,
                   QStringList levels);
-    void initiateLevel();
 
 private slots:
+    void onLevelCollectionChosen();
     void onStartClicked();
     void onLevelPassed(int score);
     void onLevelFailed();
+    void chooseLevelCollection();
 
 private:
+    void initiateLevel();
+
     GameController* gameController; // Not owned
-    QLabel* levelLabel; // Not owned
-    QFrame* startFrame; // Not owned
+    QWidget* levelWidget; // Not owned
+    QListWidget* levelList; // Not owned
+    QPushButton* levelStartButton; // Not owned
+    QWidget* startWidget; // Not owned
     QLabel* startTitle; // Not owned
     QLabel* startLabel; // Not owned
     QPushButton* startButton; // Not owned
+    QLabel* levelLabel; // Not owned
     QLabel* scoreLabel; // Not owned
 
+    QStringList levelCollections;
     QStringList levels;
     int level;
     int totalScore;