Adding icon
[impuzzle] / src / gameview.h
index f213fe3..7e3e6f1 100644 (file)
@@ -23,6 +23,7 @@
 
 class GraphicsScene;
 class PuzzleItem;
+class IntroItem;
 
 class GameView : public QGraphicsView
 {
@@ -33,19 +34,35 @@ public:
     QList<PuzzleItem *> pieces() const;
     QPointF emptyPlace();
     void setEmptyPlace(const QPointF &place);
-    bool areAllPiecesOk() const;
+    bool areAllPiecesOk();
+    void setMovingPieces();
 
 public slots:
-    void setPieces(const QList<PuzzleItem *> pieces);
+    void setPieces(const QList<PuzzleItem *> pieces, bool shuffle = true);
     void shufflePieces();
+    bool restoreGame();
+    void saveGame();
+
+signals:
+    void gameWon();
+    void gameRestored();
+
+protected:
+    void closeEvent(QCloseEvent *event);
 
 private:
     GameView(QWidget *parent = 0);
+    int correctPlaces() const;
+    QList<int> movingPlaces() const;
 
     static GameView *instance_;
     QGraphicsScene *scene_;
     QList<PuzzleItem *> pieces_;
     QPointF emptyPlace_;
     int hiddenIndex_;
+    IntroItem *introItem_;
+
+    int verticalStep_;
+    int horizontalStep_;
 };
 #endif