diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2017-08-24 11:19:21 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2017-10-18 10:31:44 +0000 |
commit | 879f98106d5974ef19c96cb228ca032701b94556 (patch) | |
tree | 1629483c8f6367cd0c9404a0147e9885602533d8 /examples/widgets/itemviews/puzzle/puzzlewidget.h | |
parent | 3fe74b76fd0eaf39d4c6681e2edca5adbf107883 (diff) |
Revamp QtWidgets/DragAndDrop examples to C++11
Introduce nullptr and replace foreach with new C++11 range based for
loops. Minor fixups of signals, file dialog usage.
Apply the same changes to the ItemViews/puzzle example since it
shares parts of the code with DragAndDrop/puzzle. Make some
changes to both examples to that the diff of the two becomes
small for easier comparison.
Task-number: QTBUG-60635
Change-Id: I8af824229ebac24d6ec151eae92176d227695490
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Diffstat (limited to 'examples/widgets/itemviews/puzzle/puzzlewidget.h')
-rw-r--r-- | examples/widgets/itemviews/puzzle/puzzlewidget.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/examples/widgets/itemviews/puzzle/puzzlewidget.h b/examples/widgets/itemviews/puzzle/puzzlewidget.h index 137e0b7162..40dd654af6 100644 --- a/examples/widgets/itemviews/puzzle/puzzlewidget.h +++ b/examples/widgets/itemviews/puzzle/puzzlewidget.h @@ -51,9 +51,9 @@ #ifndef PUZZLEWIDGET_H #define PUZZLEWIDGET_H -#include <QList> -#include <QPixmap> #include <QPoint> +#include <QPixmap> +#include <QVector> #include <QWidget> QT_BEGIN_NAMESPACE @@ -67,7 +67,7 @@ class PuzzleWidget : public QWidget Q_OBJECT public: - explicit PuzzleWidget(int imageSize, QWidget *parent = 0); + explicit PuzzleWidget(int imageSize, QWidget *parent = nullptr); void clear(); int pieceSize() const; @@ -85,12 +85,16 @@ protected: void paintEvent(QPaintEvent *event) override; private: + struct Piece { + QPixmap pixmap; + QRect rect; + QPoint location; + }; + int findPiece(const QRect &pieceRect) const; const QRect targetSquare(const QPoint &position) const; - QList<QPixmap> piecePixmaps; - QList<QRect> pieceRects; - QList<QPoint> pieceLocations; + QVector<Piece> pieces; QRect highlightedRect; int inPlace; int m_ImageSize; |