diff options
author | Christian Ehrlicher <[email protected]> | 2019-09-01 17:12:01 +0200 |
---|---|---|
committer | Christian Ehrlicher <[email protected]> | 2019-09-05 17:40:36 +0200 |
commit | 6f4bc3942dda076eedf38d8c8604eb4fa5d7bd3b (patch) | |
tree | 5813b88711ccfc1bb6f6948c1534fa407d4a4262 | |
parent | 42011c03613b38d2bf9c7770edf1392c5f5598f2 (diff) |
Widgets/GraphicsView examples: cleanup
Cleanup GraphicsView examples with the help of clang-tidy
- modernize-use-nullptr
- modernize-use-default-member-init
- modernize-use-override.IgnoreDestructors
- Some QList -> QVector changes
- use nullptr
- use normalized includes, remove unused includes
- fix style
Change-Id: I79347e55bfde52f6ae7749cc7093fbd442044020
Reviewed-by: Friedemann Kleint <[email protected]>
59 files changed, 288 insertions, 417 deletions
diff --git a/examples/widgets/doc/src/collidingmice-example.qdoc b/examples/widgets/doc/src/collidingmice-example.qdoc index 657c4162182..984d3244f9a 100644 --- a/examples/widgets/doc/src/collidingmice-example.qdoc +++ b/examples/widgets/doc/src/collidingmice-example.qdoc @@ -75,7 +75,8 @@ \section1 Mouse Class Definition When constructing a mouse item, we first ensure that all the item's - private variables are properly initialized: + private variables which were no yet initialized directly in the class + are properly initialized: \snippet graphicsview/collidingmice/mouse.cpp 0 diff --git a/examples/widgets/doc/src/diagramscene.qdoc b/examples/widgets/doc/src/diagramscene.qdoc index 860dcc5cb93..1a94d53162a 100644 --- a/examples/widgets/doc/src/diagramscene.qdoc +++ b/examples/widgets/doc/src/diagramscene.qdoc @@ -643,7 +643,9 @@ This function is called when the item is removed from the scene and removes all arrows that are connected to this item. The arrow must be removed from the \c arrows list of both its start and end - item. + item. Since either the start or the end item is the object where + this function is currently called, we have to make sure to work on + a copy of arrows since removeArrow() is modifying this container. Here is the \c addArrow() function: diff --git a/examples/widgets/graphicsview/anchorlayout/main.cpp b/examples/widgets/graphicsview/anchorlayout/main.cpp index 59ced72018a..98dacfb5fb8 100644 --- a/examples/widgets/graphicsview/anchorlayout/main.cpp +++ b/examples/widgets/graphicsview/anchorlayout/main.cpp @@ -88,7 +88,7 @@ int main(int argc, char **argv) QGraphicsAnchorLayout *l = new QGraphicsAnchorLayout; l->setSpacing(0); - QGraphicsWidget *w = new QGraphicsWidget(0, Qt::Window); + QGraphicsWidget *w = new QGraphicsWidget(nullptr, Qt::Window); w->setPos(20, 20); w->setLayout(l); diff --git a/examples/widgets/graphicsview/basicgraphicslayouts/layoutitem.cpp b/examples/widgets/graphicsview/basicgraphicslayouts/layoutitem.cpp index 804db2f9be0..2fbc232b208 100644 --- a/examples/widgets/graphicsview/basicgraphicslayouts/layoutitem.cpp +++ b/examples/widgets/graphicsview/basicgraphicslayouts/layoutitem.cpp @@ -51,33 +51,26 @@ #include "layoutitem.h" #include <QGradient> -#include <QGraphicsLinearLayout> #include <QPainter> //! [0] -LayoutItem::LayoutItem(QGraphicsItem *parent/* = 0*/) - : QGraphicsLayoutItem(), QGraphicsItem(parent) +LayoutItem::LayoutItem(QGraphicsItem *parent) + : QGraphicsLayoutItem(), QGraphicsItem(parent), + m_pix(QPixmap(QLatin1String(":/images/block.png"))) { - m_pix = new QPixmap(QLatin1String(":/images/block.png")); setGraphicsItem(this); } //! [0] -LayoutItem::~LayoutItem() -{ - delete m_pix; -} - //! [1] -void LayoutItem::paint(QPainter *painter, - const QStyleOptionGraphicsItem *option, QWidget *widget /*= 0*/) +void LayoutItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, + QWidget *widget) { Q_UNUSED(widget); Q_UNUSED(option); - QRectF frame(QPointF(0,0), geometry().size()); - qreal w = m_pix->width(); - qreal h = m_pix->height(); + QRectF frame(QPointF(0, 0), geometry().size()); + const QSize pmSize = m_pix.size(); QGradientStops stops; //! [1] @@ -94,8 +87,8 @@ void LayoutItem::paint(QPainter *painter, painter->drawRoundedRect(frame, 10.0, 10.0); // paint a rect around the pixmap (with gradient) - QPointF pixpos = frame.center() - (QPointF(w, h) / 2); - QRectF innerFrame(pixpos, QSizeF(w, h)); + QPointF pixpos = frame.center() - (QPointF(pmSize.width(), pmSize.height()) / 2); + QRectF innerFrame(pixpos, pmSize); innerFrame.adjust(-4, -4, 4, 4); gradient.setStart(innerFrame.topLeft()); gradient.setFinalStop(innerFrame.bottomRight()); @@ -106,14 +99,14 @@ void LayoutItem::paint(QPainter *painter, gradient.setStops(stops); painter->setBrush(QBrush(gradient)); painter->drawRoundedRect(innerFrame, 10.0, 10.0); - painter->drawPixmap(pixpos, *m_pix); + painter->drawPixmap(pixpos, m_pix); } //! [2] //! [3] QRectF LayoutItem::boundingRect() const { - return QRectF(QPointF(0,0), geometry().size()); + return QRectF(QPointF(0, 0), geometry().size()); } //! [3] @@ -133,7 +126,7 @@ QSizeF LayoutItem::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const case Qt::MinimumSize: case Qt::PreferredSize: // Do not allow a size smaller than the pixmap with two frames around it. - return m_pix->size() + QSize(12, 12); + return m_pix.size() + QSize(12, 12); case Qt::MaximumSize: return QSizeF(1000,1000); default: diff --git a/examples/widgets/graphicsview/basicgraphicslayouts/layoutitem.h b/examples/widgets/graphicsview/basicgraphicslayouts/layoutitem.h index 3535a266707..3dc431d513e 100644 --- a/examples/widgets/graphicsview/basicgraphicslayouts/layoutitem.h +++ b/examples/widgets/graphicsview/basicgraphicslayouts/layoutitem.h @@ -53,23 +53,24 @@ #include <QGraphicsLayoutItem> #include <QGraphicsItem> +#include <QPixmap> //! [0] class LayoutItem : public QGraphicsLayoutItem, public QGraphicsItem { public: - LayoutItem(QGraphicsItem *parent = 0); - ~LayoutItem(); + LayoutItem(QGraphicsItem *parent = nullptr); + // Inherited from QGraphicsLayoutItem void setGeometry(const QRectF &geom) override; QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const override; // Inherited from QGraphicsItem QRectF boundingRect() const override; - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) override; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override; private: - QPixmap *m_pix; + QPixmap m_pix; }; //! [0] diff --git a/examples/widgets/graphicsview/basicgraphicslayouts/window.h b/examples/widgets/graphicsview/basicgraphicslayouts/window.h index dfe04ed196c..c46082e5521 100644 --- a/examples/widgets/graphicsview/basicgraphicslayouts/window.h +++ b/examples/widgets/graphicsview/basicgraphicslayouts/window.h @@ -54,11 +54,11 @@ #include <QGraphicsWidget> //! [0] -class Window : public QGraphicsWidget { +class Window : public QGraphicsWidget +{ Q_OBJECT - public: - Window(QGraphicsWidget *parent = 0); + Window(QGraphicsWidget *parent = nullptr); }; //! [0] diff --git a/examples/widgets/graphicsview/boxes/glbuffers.cpp b/examples/widgets/graphicsview/boxes/glbuffers.cpp index b52b26c4efd..91de336af3f 100644 --- a/examples/widgets/graphicsview/boxes/glbuffers.cpp +++ b/examples/widgets/graphicsview/boxes/glbuffers.cpp @@ -49,8 +49,6 @@ ****************************************************************************/ #include "glbuffers.h" -#include <QtGui/qmatrix4x4.h> -#include <QtCore/qmath.h> void qgluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar) { @@ -65,7 +63,7 @@ void qgluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zF // GLTexture // //============================================================================// -GLTexture::GLTexture() : m_texture(0), m_failed(false) +GLTexture::GLTexture() { glGenTextures(1, &m_texture); } @@ -83,7 +81,7 @@ GLTexture2D::GLTexture2D(int width, int height) { glBindTexture(GL_TEXTURE_2D, m_texture); glTexImage2D(GL_TEXTURE_2D, 0, 4, width, height, 0, - GL_BGRA, GL_UNSIGNED_BYTE, 0); + GL_BGRA, GL_UNSIGNED_BYTE, nullptr); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); @@ -95,7 +93,7 @@ GLTexture2D::GLTexture2D(int width, int height) } -GLTexture2D::GLTexture2D(const QString& fileName, int width, int height) +GLTexture2D::GLTexture2D(const QString &fileName, int width, int height) { // TODO: Add error handling. QImage image(fileName); @@ -162,7 +160,7 @@ GLTexture3D::GLTexture3D(int width, int height, int depth) glBindTexture(GL_TEXTURE_3D, m_texture); glTexImage3D(GL_TEXTURE_3D, 0, 4, width, height, depth, 0, - GL_BGRA, GL_UNSIGNED_BYTE, 0); + GL_BGRA, GL_UNSIGNED_BYTE, nullptr); glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_T, GL_REPEAT); @@ -206,7 +204,7 @@ GLTextureCube::GLTextureCube(int size) for (int i = 0; i < 6; ++i) glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, 4, size, size, 0, - GL_BGRA, GL_UNSIGNED_BYTE, 0); + GL_BGRA, GL_UNSIGNED_BYTE, nullptr); glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); @@ -252,7 +250,7 @@ GLTextureCube::GLTextureCube(const QStringList &fileNames, int size) // Clear remaining faces. while (index < 6) { glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + index, 0, 4, size, size, 0, - GL_BGRA, GL_UNSIGNED_BYTE, 0); + GL_BGRA, GL_UNSIGNED_BYTE, nullptr); ++index; } @@ -291,11 +289,8 @@ void GLTextureCube::unbind() //============================================================================// GLFrameBufferObject::GLFrameBufferObject(int width, int height) - : m_fbo(0) - , m_depthBuffer(0) - , m_width(width) + : m_width(width) , m_height(height) - , m_failed(false) { GLBUFFERS_ASSERT_OPENGL("GLFrameBufferObject::GLFrameBufferObject", glGenFramebuffersEXT && glGenRenderbuffersEXT && glBindRenderbufferEXT && glRenderbufferStorageEXT, return) @@ -373,7 +368,7 @@ void GLRenderTargetCube::getViewMatrix(QMatrix4x4& mat, int face) return; } - static int perm[6][3] = { + static constexpr int perm[6][3] = { {2, 1, 0}, {2, 1, 0}, {0, 2, 1}, @@ -382,7 +377,7 @@ void GLRenderTargetCube::getViewMatrix(QMatrix4x4& mat, int face) {0, 1, 2}, }; - static float signs[6][3] = { + static constexpr float signs[6][3] = { {-1.0f, -1.0f, -1.0f}, {+1.0f, -1.0f, +1.0f}, {+1.0f, +1.0f, -1.0f}, diff --git a/examples/widgets/graphicsview/boxes/glbuffers.h b/examples/widgets/graphicsview/boxes/glbuffers.h index e2363d561ec..4318e8ac245 100644 --- a/examples/widgets/graphicsview/boxes/glbuffers.h +++ b/examples/widgets/graphicsview/boxes/glbuffers.h @@ -58,7 +58,7 @@ #include <QtOpenGL> #define BUFFER_OFFSET(i) ((char*)0 + (i)) -#define SIZE_OF_MEMBER(cls, member) sizeof(static_cast<cls *>(0)->member) +#define SIZE_OF_MEMBER(cls, member) sizeof(static_cast<cls *>(nullptr)->member) #define GLBUFFERS_ASSERT_OPENGL(prefix, assertion, returnStatement) \ if (m_failed || !(assertion)) { \ @@ -82,8 +82,8 @@ public: virtual void unbind() = 0; virtual bool failed() const {return m_failed;} protected: - GLuint m_texture; - bool m_failed; + GLuint m_texture = 0; + bool m_failed = false; }; class GLFrameBufferObject @@ -98,17 +98,17 @@ public: virtual bool failed() const {return m_failed;} protected: void setAsRenderTarget(bool state = true); - GLuint m_fbo; - GLuint m_depthBuffer; + GLuint m_fbo = 0; + GLuint m_depthBuffer = 0; int m_width, m_height; - bool m_failed; + bool m_failed = false; }; class GLTexture2D : public GLTexture { public: GLTexture2D(int width, int height); - explicit GLTexture2D(const QString& fileName, int width = 0, int height = 0); + explicit GLTexture2D(const QString &fileName, int width = 0, int height = 0); void load(int width, int height, QRgb *data); void bind() override; void unbind() override; @@ -197,11 +197,7 @@ template<class T> class GLVertexBuffer { public: - GLVertexBuffer(int length, const T *data = 0, int mode = GL_STATIC_DRAW) - : m_length(0) - , m_mode(mode) - , m_buffer(0) - , m_failed(false) + GLVertexBuffer(int length, const T *data = nullptr, int mode = GL_STATIC_DRAW) { GLBUFFERS_ASSERT_OPENGL("GLVertexBuffer::GLVertexBuffer", glGenBuffers && glBindBuffer && glBufferData, return) @@ -275,12 +271,12 @@ public: T *lock() { - GLBUFFERS_ASSERT_OPENGL("GLVertexBuffer::lock", glBindBuffer && glMapBuffer, return 0) + GLBUFFERS_ASSERT_OPENGL("GLVertexBuffer::lock", glBindBuffer && glMapBuffer, return nullptr) glBindBuffer(GL_ARRAY_BUFFER, m_buffer); //glBufferData(GL_ARRAY_BUFFER, m_length, NULL, m_mode); GLvoid* buffer = glMapBuffer(GL_ARRAY_BUFFER, GL_READ_WRITE); - m_failed = (buffer == 0); + m_failed = (buffer == nullptr); return reinterpret_cast<T *>(buffer); } @@ -298,16 +294,17 @@ public: } private: - int m_length, m_mode; - GLuint m_buffer; - bool m_failed; + int m_length = 0; + int m_mode = 0; + GLuint m_buffer = 0; + bool m_failed = false; }; template<class T> class GLIndexBuffer { public: - GLIndexBuffer(int length, const T *data = 0, int mode = GL_STATIC_DRAW) + GLIndexBuffer(int length, const T *data = nullptr, int mode = GL_STATIC_DRAW) : m_length(0) , m_mode(mode) , m_buffer(0) @@ -345,11 +342,11 @@ public: T *lock() { - GLBUFFERS_ASSERT_OPENGL("GLIndexBuffer::lock", glBindBuffer && glMapBuffer, return 0) + GLBUFFERS_ASSERT_OPENGL("GLIndexBuffer::lock", glBindBuffer && glMapBuffer, return nullptr) glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_buffer); GLvoid* buffer = glMapBuffer(GL_ELEMENT_ARRAY_BUFFER, GL_READ_WRITE); - m_failed = (buffer == 0); + m_failed = (buffer == nullptr); return reinterpret_cast<T *>(buffer); } diff --git a/examples/widgets/graphicsview/boxes/gltrianglemesh.h b/examples/widgets/graphicsview/boxes/gltrianglemesh.h index 716c4de62eb..e5c4f515145 100644 --- a/examples/widgets/graphicsview/boxes/gltrianglemesh.h +++ b/examples/widgets/graphicsview/boxes/gltrianglemesh.h @@ -51,13 +51,12 @@ #ifndef GLTRIANGLEMESH_H #define GLTRIANGLEMESH_H -//#include <GL/glew.h> +#include "glbuffers.h" #include "glextensions.h" #include <QtWidgets> #include <QtOpenGL> -#include "glbuffers.h" template<class TVertex, class TIndex> class GLTriangleMesh diff --git a/examples/widgets/graphicsview/boxes/main.cpp b/examples/widgets/graphicsview/boxes/main.cpp index b7242d529b4..2b3e6d33897 100644 --- a/examples/widgets/graphicsview/boxes/main.cpp +++ b/examples/widgets/graphicsview/boxes/main.cpp @@ -48,13 +48,11 @@ ** ****************************************************************************/ -//#include <GL/glew.h> #include "glextensions.h" - #include "scene.h" -#include <QtWidgets> #include <QGLWidget> +#include <QtWidgets> class GraphicsView : public QGraphicsView { @@ -114,7 +112,7 @@ int main(int argc, char **argv) QApplication app(argc, argv); if ((QGLFormat::openGLVersionFlags() & QGLFormat::OpenGL_Version_1_5) == 0) { - QMessageBox::critical(0, "OpenGL features missing", + QMessageBox::critical(nullptr, "OpenGL features missing", "OpenGL version 1.5 or higher is required to run this demo.\n" "The program will now exit."); return -1; @@ -125,7 +123,7 @@ int main(int argc, char **argv) widget->makeCurrent(); if (!necessaryExtensionsSupported()) { - QMessageBox::critical(0, "OpenGL features missing", + QMessageBox::critical(nullptr, "OpenGL features missing", "The OpenGL extensions required to run this demo are missing.\n" "The program will now exit."); delete widget; @@ -134,7 +132,7 @@ int main(int argc, char **argv) // Check if all the necessary functions are resolved. if (!getGLExtensionFunctions().resolve(widget->context())) { - QMessageBox::critical(0, "OpenGL features missing", + QMessageBox::critical(nullptr, "OpenGL features missing", "Failed to resolve OpenGL functions required to run this demo.\n" "The program will now exit."); delete widget; @@ -142,7 +140,7 @@ int main(int argc, char **argv) } // TODO: Make conditional for final release - QMessageBox::information(0, "For your information", + QMessageBox::information(nullptr, "For your information", "This demo can be GPU and CPU intensive and may\n" "work poorly or not at all on your system."); diff --git a/examples/widgets/graphicsview/boxes/qtbox.cpp b/examples/widgets/graphicsview/boxes/qtbox.cpp index 68d5c251f43..8713aac05d6 100644 --- a/examples/widgets/graphicsview/boxes/qtbox.cpp +++ b/examples/widgets/graphicsview/boxes/qtbox.cpp @@ -50,28 +50,23 @@ #include "qtbox.h" -const qreal ROTATE_SPEED_X = 30.0 / 1000.0; -const qreal ROTATE_SPEED_Y = 20.0 / 1000.0; -const qreal ROTATE_SPEED_Z = 40.0 / 1000.0; -const int MAX_ITEM_SIZE = 512; -const int MIN_ITEM_SIZE = 16; +constexpr qreal ROTATE_SPEED_X = 30.0 / 1000.0; +constexpr qreal ROTATE_SPEED_Y = 20.0 / 1000.0; +constexpr qreal ROTATE_SPEED_Z = 40.0 / 1000.0; +constexpr int MAX_ITEM_SIZE = 512; +constexpr int MIN_ITEM_SIZE = 16; //============================================================================// // ItemBase // //============================================================================// -ItemBase::ItemBase(int size, int x, int y) : m_size(size), m_isResizing(false) +ItemBase::ItemBase(int size, int x, int y) : m_size(size), m_startTime(QTime::currentTime()) { setFlag(QGraphicsItem::ItemIsMovable, true); setFlag(QGraphicsItem::ItemIsSelectable, true); setFlag(QGraphicsItem::ItemIsFocusable, true); setAcceptHoverEvents(true); setPos(x, y); - m_startTime = QTime::currentTime(); -} - -ItemBase::~ItemBase() -{ } QRectF ItemBase::boundingRect() const @@ -252,10 +247,7 @@ void ItemBase::wheelEvent(QGraphicsSceneWheelEvent *event) { prepareGeometryChange(); m_size = int(m_size * qExp(-event->delta() / 600.0)); - if (m_size > MAX_ITEM_SIZE) - m_size = MAX_ITEM_SIZE; - else if (m_size < MIN_ITEM_SIZE) - m_size = MIN_ITEM_SIZE; + m_size = qBound(MIN_ITEM_SIZE, m_size, MAX_ITEM_SIZE); } int ItemBase::type() const @@ -273,7 +265,7 @@ bool ItemBase::isInResizeArea(const QPointF &pos) // QtBox // //============================================================================// -QtBox::QtBox(int size, int x, int y) : ItemBase(size, x, y), m_texture(0) +QtBox::QtBox(int size, int x, int y) : ItemBase(size, x, y) { for (int i = 0; i < 8; ++i) { m_vertices[i].setX(i & 1 ? 0.5f : -0.5f); @@ -294,8 +286,7 @@ QtBox::QtBox(int size, int x, int y) : ItemBase(size, x, y), m_texture(0) QtBox::~QtBox() { - if (m_texture) - delete m_texture; + delete m_texture; } ItemBase *QtBox::createNew(int size, int x, int y) @@ -337,7 +328,7 @@ void QtBox::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWi glEnable(GL_COLOR_MATERIAL); glEnable(GL_NORMALIZE); - if(m_texture == 0) + if (m_texture == nullptr) m_texture = new GLTexture2D(":/res/boxes/qt-logo.jpg", 64, 64); m_texture->bind(); glEnable(GL_TEXTURE_2D); @@ -405,9 +396,8 @@ void QtBox::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWi //============================================================================// CircleItem::CircleItem(int size, int x, int y) : ItemBase(size, x, y) -{ - m_color = QColor::fromHsv(QRandomGenerator::global()->bounded(360), 255, 255); -} + , m_color(QColor::fromHsv(QRandomGenerator::global()->bounded(360), 255, 255)) +{} void CircleItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { @@ -455,9 +445,8 @@ ItemBase *CircleItem::createNew(int size, int x, int y) //============================================================================// SquareItem::SquareItem(int size, int x, int y) : ItemBase(size, x, y) -{ - m_image = QPixmap(":/res/boxes/square.jpg"); -} + , m_image(QPixmap(":/res/boxes/square.jpg")) +{} void SquareItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { diff --git a/examples/widgets/graphicsview/boxes/qtbox.h b/examples/widgets/graphicsview/boxes/qtbox.h index f8ee9bdb0a6..84c8cb1d931 100644 --- a/examples/widgets/graphicsview/boxes/qtbox.h +++ b/examples/widgets/graphicsview/boxes/qtbox.h @@ -51,18 +51,17 @@ #ifndef QTBOX_H #define QTBOX_H -#include <QtWidgets> - -#include <QtGui/qvector3d.h> #include "glbuffers.h" +#include <QtWidgets> +#include <QVector3D> + class ItemBase : public QGraphicsItem { public: enum { Type = UserType + 1 }; ItemBase(int size, int x, int y); - virtual ~ItemBase(); QRectF boundingRect() const override; void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override; protected: @@ -84,7 +83,7 @@ protected: int m_size; QTime m_startTime; - bool m_isResizing; + bool m_isResizing = false; }; class QtBox : public ItemBase @@ -99,7 +98,7 @@ private: QVector3D m_vertices[8]; QVector3D m_texCoords[4]; QVector3D m_normals[6]; - GLTexture *m_texture; + GLTexture *m_texture = nullptr; }; class CircleItem : public ItemBase diff --git a/examples/widgets/graphicsview/boxes/roundedbox.h b/examples/widgets/graphicsview/boxes/roundedbox.h index ebc2dbd36e9..a1f15cd6317 100644 --- a/examples/widgets/graphicsview/boxes/roundedbox.h +++ b/examples/widgets/graphicsview/boxes/roundedbox.h @@ -51,16 +51,12 @@ #ifndef ROUNDEDBOX_H #define ROUNDEDBOX_H -//#include <GL/glew.h> +#include "glbuffers.h" #include "glextensions.h" - -#include <QtWidgets> -#include <QtOpenGL> - #include "gltrianglemesh.h" -#include <QtGui/qvector3d.h> -#include <QtGui/qvector2d.h> -#include "glbuffers.h" + +#include <QVector2D> +#include <QVector3D> struct P3T2N3Vertex { diff --git a/examples/widgets/graphicsview/boxes/scene.cpp b/examples/widgets/graphicsview/boxes/scene.cpp index a9995efa270..b344f655616 100644 --- a/examples/widgets/graphicsview/boxes/scene.cpp +++ b/examples/widgets/graphicsview/boxes/scene.cpp @@ -48,45 +48,15 @@ ** ****************************************************************************/ -#include <QDebug> #include "scene.h" -#include <QtCore/QRandomGenerator> -#include <QtGui/qmatrix4x4.h> -#include <QtGui/qvector3d.h> + +#include <QMatrix4x4> +#include <QRandomGenerator> +#include <QVector3D> #include <qmath.h> #include "3rdparty/fbm.h" -void checkGLErrors(const QString& prefix) -{ - switch (glGetError()) { - case GL_NO_ERROR: - //qDebug() << prefix << tr("No error."); - break; - case GL_INVALID_ENUM: - qDebug() << prefix << QObject::tr("Invalid enum."); - break; - case GL_INVALID_VALUE: - qDebug() << prefix << QObject::tr("Invalid value."); - break; - case GL_INVALID_OPERATION: - qDebug() << prefix << QObject::tr("Invalid operation."); - break; - case GL_STACK_OVERFLOW: - qDebug() << prefix << QObject::tr("Stack overflow."); - break; - case GL_STACK_UNDERFLOW: - qDebug() << prefix << QObject::tr("Stack underflow."); - break; - case GL_OUT_OF_MEMORY: - qDebug() << prefix << QObject::tr("Out of memory."); - break; - default: - qDebug() << prefix << QObject::tr("Unknown error."); - break; - } -} - //============================================================================// // ColorEdit // //============================================================================// @@ -126,7 +96,7 @@ void ColorEdit::mousePressEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) { QColor color(m_color); - QColorDialog dialog(color, 0); + QColorDialog dialog(color, nullptr); dialog.setOption(QColorDialog::ShowAlphaChannel, true); dialog.move(280, 120); if (dialog.exec() == QDialog::Rejected) @@ -179,17 +149,6 @@ void FloatEdit::editDone() //============================================================================// // TwoSidedGraphicsWidget // //============================================================================// - -TwoSidedGraphicsWidget::TwoSidedGraphicsWidget(QGraphicsScene *scene) - : QObject(scene) - , m_current(0) - , m_angle(0) - , m_delta(0) -{ - for (int i = 0; i < 2; ++i) - m_proxyWidgets[i] = 0; -} - void TwoSidedGraphicsWidget::setWidget(int index, QWidget *widget) { if (index < 0 || index >= 2) @@ -201,8 +160,7 @@ void TwoSidedGraphicsWidget::setWidget(int index, QWidget *widget) GraphicsWidget *proxy = new GraphicsWidget; proxy->setWidget(widget); - if (m_proxyWidgets[index]) - delete m_proxyWidgets[index]; + delete m_proxyWidgets[index]; m_proxyWidgets[index] = proxy; proxy->setCacheMode(QGraphicsItem::ItemCoordinateCache); @@ -219,7 +177,7 @@ QWidget *TwoSidedGraphicsWidget::widget(int index) if (index < 0 || index >= 2) { qWarning("TwoSidedGraphicsWidget::widget: Index out of bounds, index == %d", index); - return 0; + return nullptr; } return m_proxyWidgets[index]->widget(); } @@ -289,7 +247,7 @@ void GraphicsWidget::paint(QPainter *painter, const QStyleOptionGraphicsItem *op //============================================================================// RenderOptionsDialog::RenderOptionsDialog() - : QDialog(0, Qt::CustomizeWindowHint | Qt::WindowTitleHint) + : QDialog(nullptr, Qt::CustomizeWindowHint | Qt::WindowTitleHint) { setWindowOpacity(0.75); setWindowTitle(tr("Options (double click to flip)")); @@ -423,7 +381,7 @@ void RenderOptionsDialog::mouseDoubleClickEvent(QMouseEvent *event) //============================================================================// ItemDialog::ItemDialog() - : QDialog(0, Qt::CustomizeWindowHint | Qt::WindowTitleHint) + : QDialog(nullptr, Qt::CustomizeWindowHint | Qt::WindowTitleHint) { setWindowTitle(tr("Items (double click to flip)")); setWindowOpacity(0.75); @@ -487,10 +445,10 @@ Scene::Scene(int width, int height, int maxTextureSize) , m_currentTexture(0) , m_dynamicCubemap(false) , m_updateAllCubemaps(true) - , m_box(0) - , m_vertexShader(0) - , m_environmentShader(0) - , m_environmentProgram(0) + , m_box(nullptr) + , m_vertexShader(nullptr) + , m_environmentShader(nullptr) + , m_environmentProgram(nullptr) { setSceneRect(0, 0, width, height); @@ -564,9 +522,8 @@ void Scene::initGL() const int NOISE_SIZE = 128; // for a different size, B and BM in fbm.c must also be changed m_noise = new GLTexture3D(NOISE_SIZE, NOISE_SIZE, NOISE_SIZE); - QRgb *data = new QRgb[NOISE_SIZE * NOISE_SIZE * NOISE_SIZE]; - memset(data, 0, NOISE_SIZE * NOISE_SIZE * NOISE_SIZE * sizeof(QRgb)); - QRgb *p = data; + QVector<QRgb> data(NOISE_SIZE * NOISE_SIZE * NOISE_SIZE, QRgb(0)); + QRgb *p = data.data(); float pos[3]; for (int k = 0; k < NOISE_SIZE; ++k) { pos[2] = k * (0x20 / (float)NOISE_SIZE); @@ -581,8 +538,7 @@ void Scene::initGL() } } } - m_noise->load(NOISE_SIZE, NOISE_SIZE, NOISE_SIZE, data); - delete[] data; + m_noise->load(NOISE_SIZE, NOISE_SIZE, NOISE_SIZE, data.data()); m_mainCubemap = new GLRenderTargetCube(512); @@ -634,7 +590,7 @@ void Scene::initGL() m_renderOptions->addShader(file.baseName()); program->bind(); - m_cubemaps << ((program->uniformLocation("env") != -1) ? new GLRenderTargetCube(qMin(256, m_maxTextureSize)) : 0); + m_cubemaps << ((program->uniformLocation("env") != -1) ? new GLRenderTargetCube(qMin(256, m_maxTextureSize)) : nullptr); program->release(); } diff --git a/examples/widgets/graphicsview/boxes/scene.h b/examples/widgets/graphicsview/boxes/scene.h index ffff01358ff..5d65dc71e23 100644 --- a/examples/widgets/graphicsview/boxes/scene.h +++ b/examples/widgets/graphicsview/boxes/scene.h @@ -51,17 +51,12 @@ #ifndef SCENE_H #define SCENE_H -//#include <GL/glew.h> +#include "glbuffers.h" #include "glextensions.h" - -#include <QtWidgets> -#include <QtOpenGL> - -#include "roundedbox.h" #include "gltrianglemesh.h" -#include "trackball.h" -#include "glbuffers.h" #include "qtbox.h" +#include "roundedbox.h" +#include "trackball.h" QT_BEGIN_NAMESPACE class QMatrix4x4; @@ -116,7 +111,7 @@ private: class GraphicsWidget : public QGraphicsProxyWidget { public: - GraphicsWidget() : QGraphicsProxyWidget(0, Qt::Window) {} + GraphicsWidget() : QGraphicsProxyWidget(nullptr, Qt::Window) {} protected: QVariant itemChange(GraphicsItemChange change, const QVariant &value) override; void resizeEvent(QGraphicsSceneResizeEvent *event) override; @@ -127,7 +122,7 @@ class TwoSidedGraphicsWidget : public QObject { Q_OBJECT public: - TwoSidedGraphicsWidget(QGraphicsScene *scene); + using QObject::QObject; void setWidget(int index, QWidget *widget); QWidget *widget(int index); public slots: @@ -135,10 +130,10 @@ public slots: protected slots: void animateFlip(); private: - GraphicsWidget *m_proxyWidgets[2]; - int m_current; - int m_angle; // angle in degrees - int m_delta; + GraphicsWidget *m_proxyWidgets[2] = {nullptr, nullptr}; + int m_current = 0; + int m_angle = 0; // angle in degrees + int m_delta = 0; }; class RenderOptionsDialog : public QDialog diff --git a/examples/widgets/graphicsview/boxes/trackball.cpp b/examples/widgets/graphicsview/boxes/trackball.cpp index 794ce7ac37b..b9dfc1fc7f2 100644 --- a/examples/widgets/graphicsview/boxes/trackball.cpp +++ b/examples/widgets/graphicsview/boxes/trackball.cpp @@ -50,34 +50,21 @@ #include "trackball.h" #include "scene.h" -#include <qmath.h> -#include <cmath> //============================================================================// // TrackBall // //============================================================================// TrackBall::TrackBall(TrackMode mode) - : m_angularVelocity(0) - , m_paused(false) - , m_pressed(false) - , m_mode(mode) + : TrackBall(0, QVector3D(0, 1, 0), mode) { - m_axis = QVector3D(0, 1, 0); - m_rotation = QQuaternion(); - m_lastTime = QTime::currentTime(); } TrackBall::TrackBall(float angularVelocity, const QVector3D& axis, TrackMode mode) : m_axis(axis) , m_angularVelocity(angularVelocity) - , m_paused(false) - , m_pressed(false) , m_mode(mode) -{ - m_rotation = QQuaternion(); - m_lastTime = QTime::currentTime(); -} +{} void TrackBall::push(const QPointF& p, const QQuaternion &) { diff --git a/examples/widgets/graphicsview/boxes/trackball.h b/examples/widgets/graphicsview/boxes/trackball.h index e65080e0899..af90e4d842b 100644 --- a/examples/widgets/graphicsview/boxes/trackball.h +++ b/examples/widgets/graphicsview/boxes/trackball.h @@ -51,10 +51,9 @@ #ifndef TRACKBALL_H #define TRACKBALL_H -#include <QtWidgets> - -#include <QtGui/qvector3d.h> -#include <QtGui/qquaternion.h> +#include <QQuaternion> +#include <QTime> +#include <QVector3D> class TrackBall { @@ -65,24 +64,24 @@ public: Sphere, }; TrackBall(TrackMode mode = Sphere); - TrackBall(float angularVelocity, const QVector3D& axis, TrackMode mode = Sphere); + TrackBall(float angularVelocity, const QVector3D &axis, TrackMode mode = Sphere); // coordinates in [-1,1]x[-1,1] - void push(const QPointF& p, const QQuaternion &transformation); - void move(const QPointF& p, const QQuaternion &transformation); - void release(const QPointF& p, const QQuaternion &transformation); + void push(const QPointF &p, const QQuaternion &transformation); + void move(const QPointF &p, const QQuaternion &transformation); + void release(const QPointF &p, const QQuaternion &transformation); void start(); // starts clock void stop(); // stops clock QQuaternion rotation() const; private: QQuaternion m_rotation; - QVector3D m_axis; - float m_angularVelocity; + QVector3D m_axis = QVector3D(0, 1, 0); + float m_angularVelocity = 0; QPointF m_lastPos; - QTime m_lastTime; - bool m_paused; - bool m_pressed; + QTime m_lastTime = QTime::currentTime(); TrackMode m_mode; + bool m_paused = false; + bool m_pressed = false; }; #endif diff --git a/examples/widgets/graphicsview/chip/chip.cpp b/examples/widgets/graphicsview/chip/chip.cpp index 3d2bbdfcefa..25f4ccc2e9c 100644 --- a/examples/widgets/graphicsview/chip/chip.cpp +++ b/examples/widgets/graphicsview/chip/chip.cpp @@ -50,7 +50,9 @@ #include "chip.h" -#include <QtWidgets> +#include <QGraphicsSceneMouseEvent> +#include <QPainter> +#include <QStyleOptionGraphicsItem> Chip::Chip(const QColor &color, int x, int y) { diff --git a/examples/widgets/graphicsview/chip/mainwindow.cpp b/examples/widgets/graphicsview/chip/mainwindow.cpp index b6e1313eb2d..f2f89c8722a 100644 --- a/examples/widgets/graphicsview/chip/mainwindow.cpp +++ b/examples/widgets/graphicsview/chip/mainwindow.cpp @@ -56,13 +56,11 @@ #include <QSplitter> MainWindow::MainWindow(QWidget *parent) - : QWidget(parent) + : QWidget(parent), scene(new QGraphicsScene(this)) + , h1Splitter(new QSplitter(this)), h2Splitter(new QSplitter(this)) { populateScene(); - h1Splitter = new QSplitter; - h2Splitter = new QSplitter; - QSplitter *vSplitter = new QSplitter; vSplitter->setOrientation(Qt::Vertical); vSplitter->addWidget(h1Splitter); @@ -93,8 +91,6 @@ MainWindow::MainWindow(QWidget *parent) void MainWindow::populateScene() { - scene = new QGraphicsScene(this); - QImage image(":/qt4logo.png"); // Populate scene diff --git a/examples/widgets/graphicsview/chip/mainwindow.h b/examples/widgets/graphicsview/chip/mainwindow.h index 9417d12d7ad..3f91b2efb4e 100644 --- a/examples/widgets/graphicsview/chip/mainwindow.h +++ b/examples/widgets/graphicsview/chip/mainwindow.h @@ -62,7 +62,7 @@ class MainWindow : public QWidget { Q_OBJECT public: - MainWindow(QWidget *parent = 0); + MainWindow(QWidget *parent = nullptr); private: void setupMatrix(); diff --git a/examples/widgets/graphicsview/chip/view.cpp b/examples/widgets/graphicsview/chip/view.cpp index 7d5fd699a41..21998dc2dfd 100644 --- a/examples/widgets/graphicsview/chip/view.cpp +++ b/examples/widgets/graphicsview/chip/view.cpp @@ -62,7 +62,7 @@ #else #include <QtWidgets> #endif -#include <qmath.h> +#include <QtMath> #if QT_CONFIG(wheelevent) void GraphicsView::wheelEvent(QWheelEvent *e) diff --git a/examples/widgets/graphicsview/chip/view.h b/examples/widgets/graphicsview/chip/view.h index 89b2e813f11..ea7bd414f53 100644 --- a/examples/widgets/graphicsview/chip/view.h +++ b/examples/widgets/graphicsview/chip/view.h @@ -81,7 +81,7 @@ class View : public QFrame { Q_OBJECT public: - explicit View(const QString &name, QWidget *parent = 0); + explicit View(const QString &name, QWidget *parent = nullptr); QGraphicsView *view() const; diff --git a/examples/widgets/graphicsview/collidingmice/main.cpp b/examples/widgets/graphicsview/collidingmice/main.cpp index dfb20815b9f..ef6d6cca644 100644 --- a/examples/widgets/graphicsview/collidingmice/main.cpp +++ b/examples/widgets/graphicsview/collidingmice/main.cpp @@ -48,13 +48,12 @@ ** ****************************************************************************/ +#include <QtMath> #include <QtWidgets> -#include <math.h> - #include "mouse.h" -static const int MouseCount = 7; +static constexpr int MouseCount = 7; //! [0] int main(int argc, char **argv) diff --git a/examples/widgets/graphicsview/collidingmice/mouse.cpp b/examples/widgets/graphicsview/collidingmice/mouse.cpp index a8fcc05d761..556e58d19b6 100644 --- a/examples/widgets/graphicsview/collidingmice/mouse.cpp +++ b/examples/widgets/graphicsview/collidingmice/mouse.cpp @@ -54,10 +54,10 @@ #include <QPainter> #include <QRandomGenerator> #include <QStyleOption> -#include <qmath.h> +#include <QtMath> -const qreal Pi = M_PI; -const qreal TwoPi = 2 * M_PI; +constexpr qreal Pi = M_PI; +constexpr qreal TwoPi = 2 * M_PI; static qreal normalizeAngle(qreal angle) { @@ -70,8 +70,7 @@ static qreal normalizeAngle(qreal angle) //! [0] Mouse::Mouse() - : angle(0), speed(0), mouseEyeDirection(0), - color(QRandomGenerator::global()->bounded(256), QRandomGenerator::global()->bounded(256), QRandomGenerator::global()->bounded(256)) + : color(QRandomGenerator::global()->bounded(256), QRandomGenerator::global()->bounded(256), QRandomGenerator::global()->bounded(256)) { setRotation(QRandomGenerator::global()->bounded(360 * 16)); } diff --git a/examples/widgets/graphicsview/collidingmice/mouse.h b/examples/widgets/graphicsview/collidingmice/mouse.h index bd9e592242b..4b165fced69 100644 --- a/examples/widgets/graphicsview/collidingmice/mouse.h +++ b/examples/widgets/graphicsview/collidingmice/mouse.h @@ -68,9 +68,9 @@ protected: void advance(int step) override; private: - qreal angle; - qreal speed; - qreal mouseEyeDirection; + qreal angle = 0; + qreal speed = 0; + qreal mouseEyeDirection = 0; QColor color; }; //! [0] diff --git a/examples/widgets/graphicsview/diagramscene/arrow.cpp b/examples/widgets/graphicsview/diagramscene/arrow.cpp index 525e0b3fbbc..9b2472bb332 100644 --- a/examples/widgets/graphicsview/diagramscene/arrow.cpp +++ b/examples/widgets/graphicsview/diagramscene/arrow.cpp @@ -50,19 +50,17 @@ #include "arrow.h" +#include "diagramitem.h" -#include <qmath.h> -#include <QPen> #include <QPainter> +#include <QPen> +#include <QtMath> //! [0] Arrow::Arrow(DiagramItem *startItem, DiagramItem *endItem, QGraphicsItem *parent) - : QGraphicsLineItem(parent) + : QGraphicsLineItem(parent), myStartItem(startItem), myEndItem(endItem) { - myStartItem = startItem; - myEndItem = endItem; setFlag(QGraphicsItem::ItemIsSelectable, true); - myColor = Qt::black; setPen(QPen(myColor, 2, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); } //! [0] @@ -98,7 +96,7 @@ void Arrow::updatePosition() //! [4] void Arrow::paint(QPainter *painter, const QStyleOptionGraphicsItem *, - QWidget *) + QWidget *) { if (myStartItem->collidesWithItem(myEndItem)) return; diff --git a/examples/widgets/graphicsview/diagramscene/arrow.h b/examples/widgets/graphicsview/diagramscene/arrow.h index e0fa389d53e..13001959bd4 100644 --- a/examples/widgets/graphicsview/diagramscene/arrow.h +++ b/examples/widgets/graphicsview/diagramscene/arrow.h @@ -53,16 +53,7 @@ #include <QGraphicsLineItem> -#include "diagramitem.h" - -QT_BEGIN_NAMESPACE -class QGraphicsPolygonItem; -class QGraphicsLineItem; -class QGraphicsScene; -class QRectF; -class QGraphicsSceneMouseEvent; -class QPainterPath; -QT_END_NAMESPACE +class DiagramItem; //! [0] class Arrow : public QGraphicsLineItem @@ -71,7 +62,7 @@ public: enum { Type = UserType + 4 }; Arrow(DiagramItem *startItem, DiagramItem *endItem, - QGraphicsItem *parent = 0); + QGraphicsItem *parent = nullptr); int type() const override { return Type; } QRectF boundingRect() const override; @@ -83,13 +74,14 @@ public: void updatePosition(); protected: - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) override; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, + QWidget *widget = nullptr) override; private: DiagramItem *myStartItem; DiagramItem *myEndItem; - QColor myColor; QPolygonF arrowHead; + QColor myColor = Qt::black; }; //! [0] diff --git a/examples/widgets/graphicsview/diagramscene/diagramitem.cpp b/examples/widgets/graphicsview/diagramscene/diagramitem.cpp index 3aa685635e2..8ec577170b6 100644 --- a/examples/widgets/graphicsview/diagramscene/diagramitem.cpp +++ b/examples/widgets/graphicsview/diagramscene/diagramitem.cpp @@ -58,12 +58,10 @@ //! [0] DiagramItem::DiagramItem(DiagramType diagramType, QMenu *contextMenu, - QGraphicsItem *parent) - : QGraphicsPolygonItem(parent) + QGraphicsItem *parent) + : QGraphicsPolygonItem(parent), myDiagramType(diagramType) + , myContextMenu(contextMenu) { - myDiagramType = diagramType; - myContextMenu = contextMenu; - QPainterPath path; switch (myDiagramType) { case StartEnd: @@ -101,17 +99,17 @@ DiagramItem::DiagramItem(DiagramType diagramType, QMenu *contextMenu, //! [1] void DiagramItem::removeArrow(Arrow *arrow) { - int index = arrows.indexOf(arrow); - - if (index != -1) - arrows.removeAt(index); + arrows.removeAll(arrow); } //! [1] //! [2] void DiagramItem::removeArrows() { - for (Arrow *arrow : qAsConst(arrows)) { + // need a copy here since removeArrow() will + // modify the arrows container + const auto arrowsCopy = arrows; + for (Arrow *arrow : arrowsCopy) { arrow->startItem()->removeArrow(arrow); arrow->endItem()->removeArrow(arrow); scene()->removeItem(arrow); diff --git a/examples/widgets/graphicsview/diagramscene/diagramitem.h b/examples/widgets/graphicsview/diagramscene/diagramitem.h index 3a43ec57fc4..ffaea4b7a81 100644 --- a/examples/widgets/graphicsview/diagramscene/diagramitem.h +++ b/examples/widgets/graphicsview/diagramscene/diagramitem.h @@ -52,19 +52,12 @@ #define DIAGRAMITEM_H #include <QGraphicsPixmapItem> -#include <QList> +#include <QVector> QT_BEGIN_NAMESPACE class QPixmap; -class QGraphicsItem; -class QGraphicsScene; -class QTextEdit; -class QGraphicsSceneMouseEvent; -class QMenu; class QGraphicsSceneContextMenuEvent; -class QPainter; -class QStyleOptionGraphicsItem; -class QWidget; +class QMenu; class QPolygonF; QT_END_NAMESPACE @@ -77,7 +70,7 @@ public: enum { Type = UserType + 15 }; enum DiagramType { Step, Conditional, StartEnd, Io }; - DiagramItem(DiagramType diagramType, QMenu *contextMenu, QGraphicsItem *parent = 0); + DiagramItem(DiagramType diagramType, QMenu *contextMenu, QGraphicsItem *parent = nullptr); void removeArrow(Arrow *arrow); void removeArrows(); @@ -85,7 +78,7 @@ public: QPolygonF polygon() const { return myPolygon; } void addArrow(Arrow *arrow); QPixmap image() const; - int type() const override { return Type;} + int type() const override { return Type; } protected: void contextMenuEvent(QGraphicsSceneContextMenuEvent *event) override; @@ -95,7 +88,7 @@ private: DiagramType myDiagramType; QPolygonF myPolygon; QMenu *myContextMenu; - QList<Arrow *> arrows; + QVector<Arrow *> arrows; }; //! [0] diff --git a/examples/widgets/graphicsview/diagramscene/diagramscene.cpp b/examples/widgets/graphicsview/diagramscene/diagramscene.cpp index 40272834c3f..d0688d85524 100644 --- a/examples/widgets/graphicsview/diagramscene/diagramscene.cpp +++ b/examples/widgets/graphicsview/diagramscene/diagramscene.cpp @@ -51,8 +51,8 @@ #include "diagramscene.h" #include "arrow.h" -#include <QTextCursor> #include <QGraphicsSceneMouseEvent> +#include <QTextCursor> //! [0] DiagramScene::DiagramScene(QMenu *itemMenu, QObject *parent) @@ -61,8 +61,8 @@ DiagramScene::DiagramScene(QMenu *itemMenu, QObject *parent) myItemMenu = itemMenu; myMode = MoveItem; myItemType = DiagramItem::Step; - line = 0; - textItem = 0; + line = nullptr; + textItem = nullptr; myItemColor = Qt::white; myTextColor = Qt::black; myLineColor = Qt::black; @@ -188,7 +188,7 @@ void DiagramScene::mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent) //! [10] void DiagramScene::mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent) { - if (myMode == InsertLine && line != 0) { + if (myMode == InsertLine && line != nullptr) { QLineF newLine(line->line().p1(), mouseEvent->scenePos()); line->setLine(newLine); } else if (myMode == MoveItem) { @@ -200,7 +200,7 @@ void DiagramScene::mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent) //! [11] void DiagramScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent) { - if (line != 0 && myMode == InsertLine) { + if (line != nullptr && myMode == InsertLine) { QList<QGraphicsItem *> startItems = items(line->line().p1()); if (startItems.count() && startItems.first() == line) startItems.removeFirst(); @@ -228,7 +228,7 @@ void DiagramScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent) } } //! [12] //! [13] - line = 0; + line = nullptr; QGraphicsScene::mouseReleaseEvent(mouseEvent); } //! [13] diff --git a/examples/widgets/graphicsview/diagramscene/diagramscene.h b/examples/widgets/graphicsview/diagramscene/diagramscene.h index 15063d58b78..5682468ef6a 100644 --- a/examples/widgets/graphicsview/diagramscene/diagramscene.h +++ b/examples/widgets/graphicsview/diagramscene/diagramscene.h @@ -74,7 +74,7 @@ class DiagramScene : public QGraphicsScene public: enum Mode { InsertItem, InsertLine, InsertText, MoveItem }; - explicit DiagramScene(QMenu *itemMenu, QObject *parent = 0); + explicit DiagramScene(QMenu *itemMenu, QObject *parent = nullptr); QFont font() const { return myFont; } QColor textColor() const { return myTextColor; } QColor itemColor() const { return myItemColor; } diff --git a/examples/widgets/graphicsview/diagramscene/diagramtextitem.h b/examples/widgets/graphicsview/diagramscene/diagramtextitem.h index f5d3d3b95e4..7809609e244 100644 --- a/examples/widgets/graphicsview/diagramscene/diagramtextitem.h +++ b/examples/widgets/graphicsview/diagramscene/diagramtextitem.h @@ -52,12 +52,8 @@ #define DIAGRAMTEXTITEM_H #include <QGraphicsTextItem> -#include <QPen> QT_BEGIN_NAMESPACE -class QFocusEvent; -class QGraphicsItem; -class QGraphicsScene; class QGraphicsSceneMouseEvent; QT_END_NAMESPACE @@ -69,7 +65,7 @@ class DiagramTextItem : public QGraphicsTextItem public: enum { Type = UserType + 3 }; - DiagramTextItem(QGraphicsItem *parent = 0); + DiagramTextItem(QGraphicsItem *parent = nullptr); int type() const override { return Type; } diff --git a/examples/widgets/graphicsview/dragdroprobot/coloritem.cpp b/examples/widgets/graphicsview/dragdroprobot/coloritem.cpp index 262e18a317c..23fb5fda50e 100644 --- a/examples/widgets/graphicsview/dragdroprobot/coloritem.cpp +++ b/examples/widgets/graphicsview/dragdroprobot/coloritem.cpp @@ -48,10 +48,18 @@ ** ****************************************************************************/ -#include <QtWidgets> - #include "coloritem.h" +#include <QApplication> +#include <QBitmap> +#include <QCursor> +#include <QDrag> +#include <QGraphicsSceneMouseEvent> +#include <QMimeData> +#include <QPainter> +#include <QRandomGenerator> +#include <QWidget> + //! [0] ColorItem::ColorItem() : color(QRandomGenerator::global()->bounded(256), QRandomGenerator::global()->bounded(256), QRandomGenerator::global()->bounded(256)) @@ -128,7 +136,7 @@ void ColorItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event) QPainter painter(&pixmap); painter.translate(15, 15); painter.setRenderHint(QPainter::Antialiasing); - paint(&painter, 0, 0); + paint(&painter, nullptr, nullptr); painter.end(); pixmap.setMask(pixmap.createHeuristicMask()); diff --git a/examples/widgets/graphicsview/dragdroprobot/main.cpp b/examples/widgets/graphicsview/dragdroprobot/main.cpp index 045e1845698..b00e9705d4d 100644 --- a/examples/widgets/graphicsview/dragdroprobot/main.cpp +++ b/examples/widgets/graphicsview/dragdroprobot/main.cpp @@ -48,19 +48,20 @@ ** ****************************************************************************/ -#include <QtWidgets> +#include <QApplication> +#include <QGraphicsScene> +#include <QGraphicsView> #include "coloritem.h" #include "robot.h" -#include <math.h> +#include <cmath> + class GraphicsView : public QGraphicsView { public: - GraphicsView(QGraphicsScene *scene) : QGraphicsView(scene) - { - } + using QGraphicsView::QGraphicsView; protected: void resizeEvent(QResizeEvent *) override @@ -96,7 +97,7 @@ int main(int argc, char **argv) view.setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate); view.setBackgroundBrush(QColor(230, 200, 167)); view.setWindowTitle("Drag and Drop Robot"); - view.show(); + view.show(); return app.exec(); } diff --git a/examples/widgets/graphicsview/dragdroprobot/robot.cpp b/examples/widgets/graphicsview/dragdroprobot/robot.cpp index cc70366872c..7457dabf8aa 100644 --- a/examples/widgets/graphicsview/dragdroprobot/robot.cpp +++ b/examples/widgets/graphicsview/dragdroprobot/robot.cpp @@ -48,13 +48,17 @@ ** ****************************************************************************/ -#include <QtWidgets> - #include "robot.h" +#include <QGraphicsSceneDragDropEvent> +#include <QMimeData> +#include <QPainter> +#include <QParallelAnimationGroup> +#include <QPropertyAnimation> + //! [0] RobotPart::RobotPart(QGraphicsItem *parent) - : QGraphicsObject(parent), color(Qt::lightGray), dragOver(false) + : QGraphicsObject(parent), color(Qt::lightGray) { setAcceptDrops(true); } @@ -157,11 +161,6 @@ void RobotHead::dropEvent(QGraphicsSceneDragDropEvent *event) } //! [8] -RobotTorso::RobotTorso(QGraphicsItem *parent) - : RobotPart(parent) -{ -} - QRectF RobotTorso::boundingRect() const { return QRectF(-30, -20, 60, 60); diff --git a/examples/widgets/graphicsview/dragdroprobot/robot.h b/examples/widgets/graphicsview/dragdroprobot/robot.h index e25966c7c42..67f6bb41008 100644 --- a/examples/widgets/graphicsview/dragdroprobot/robot.h +++ b/examples/widgets/graphicsview/dragdroprobot/robot.h @@ -62,15 +62,15 @@ QT_END_NAMESPACE class RobotPart : public QGraphicsObject { public: - RobotPart(QGraphicsItem *parent = 0); + RobotPart(QGraphicsItem *parent = nullptr); protected: void dragEnterEvent(QGraphicsSceneDragDropEvent *event) override; void dragLeaveEvent(QGraphicsSceneDragDropEvent *event) override; void dropEvent(QGraphicsSceneDragDropEvent *event) override; - QColor color; - bool dragOver; + QColor color = Qt::lightGray; + bool dragOver = false; }; //! [0] @@ -78,10 +78,10 @@ protected: class RobotHead : public RobotPart { public: - RobotHead(QGraphicsItem *parent = 0); + RobotHead(QGraphicsItem *parent = nullptr); QRectF boundingRect() const override; - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) override; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override; protected: void dragEnterEvent(QGraphicsSceneDragDropEvent *event) override; @@ -96,10 +96,10 @@ private: class RobotTorso : public RobotPart { public: - RobotTorso(QGraphicsItem *parent = 0); + using RobotPart::RobotPart; QRectF boundingRect() const override; - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) override; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override; }; //! [2] @@ -107,10 +107,10 @@ public: class RobotLimb : public RobotPart { public: - RobotLimb(QGraphicsItem *parent = 0); + RobotLimb(QGraphicsItem *parent = nullptr); QRectF boundingRect() const override; - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) override; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override; }; //! [3] @@ -118,10 +118,10 @@ public: class Robot : public RobotPart { public: - Robot(QGraphicsItem *parent = 0); + Robot(QGraphicsItem *parent = nullptr); QRectF boundingRect() const override; - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) override; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override; }; //! [4] diff --git a/examples/widgets/graphicsview/elasticnodes/edge.cpp b/examples/widgets/graphicsview/elasticnodes/edge.cpp index aec12b42251..9ca8b37f3d9 100644 --- a/examples/widgets/graphicsview/elasticnodes/edge.cpp +++ b/examples/widgets/graphicsview/elasticnodes/edge.cpp @@ -51,16 +51,14 @@ #include "edge.h" #include "node.h" -#include <qmath.h> #include <QPainter> +#include <QtMath> //! [0] Edge::Edge(Node *sourceNode, Node *destNode) - : arrowSize(10) + : source(sourceNode), dest(destNode) { - setAcceptedMouseButtons(0); - source = sourceNode; - dest = destNode; + setAcceptedMouseButtons(Qt::NoButton); source->addEdge(this); dest->addEdge(this); adjust(); diff --git a/examples/widgets/graphicsview/elasticnodes/edge.h b/examples/widgets/graphicsview/elasticnodes/edge.h index 19072b8b335..048d3ffd023 100644 --- a/examples/widgets/graphicsview/elasticnodes/edge.h +++ b/examples/widgets/graphicsview/elasticnodes/edge.h @@ -78,7 +78,7 @@ private: QPointF sourcePoint; QPointF destPoint; - qreal arrowSize; + qreal arrowSize = 10; }; //! [0] diff --git a/examples/widgets/graphicsview/elasticnodes/graphwidget.cpp b/examples/widgets/graphicsview/elasticnodes/graphwidget.cpp index 9341d77f8db..a067f82ad7c 100644 --- a/examples/widgets/graphicsview/elasticnodes/graphwidget.cpp +++ b/examples/widgets/graphicsview/elasticnodes/graphwidget.cpp @@ -59,7 +59,7 @@ //! [0] GraphWidget::GraphWidget(QWidget *parent) - : QGraphicsView(parent), timerId(0) + : QGraphicsView(parent) { QGraphicsScene *scene = new QGraphicsScene(this); scene->setItemIndexMethod(QGraphicsScene::NoIndex); @@ -163,7 +163,7 @@ void GraphWidget::timerEvent(QTimerEvent *event) { Q_UNUSED(event); - QList<Node *> nodes; + QVector<Node *> nodes; const QList<QGraphicsItem *> items = scene()->items(); for (QGraphicsItem *item : items) { if (Node *node = qgraphicsitem_cast<Node *>(item)) @@ -190,7 +190,7 @@ void GraphWidget::timerEvent(QTimerEvent *event) //! [5] void GraphWidget::wheelEvent(QWheelEvent *event) { - scaleView(pow((double)2, -event->angleDelta().y() / 240.0)); + scaleView(pow(2., -event->angleDelta().y() / 240.0)); } //! [5] #endif diff --git a/examples/widgets/graphicsview/elasticnodes/graphwidget.h b/examples/widgets/graphicsview/elasticnodes/graphwidget.h index 5ed6aed4522..6d241fa9f11 100644 --- a/examples/widgets/graphicsview/elasticnodes/graphwidget.h +++ b/examples/widgets/graphicsview/elasticnodes/graphwidget.h @@ -61,7 +61,7 @@ class GraphWidget : public QGraphicsView Q_OBJECT public: - GraphWidget(QWidget *parent = 0); + GraphWidget(QWidget *parent = nullptr); void itemMoved(); @@ -81,7 +81,7 @@ protected: void scaleView(qreal scaleFactor); private: - int timerId; + int timerId = 0; Node *centerNode; }; //! [0] diff --git a/examples/widgets/graphicsview/elasticnodes/node.cpp b/examples/widgets/graphicsview/elasticnodes/node.cpp index 8d44a167fa0..a67e21c4b3f 100644 --- a/examples/widgets/graphicsview/elasticnodes/node.cpp +++ b/examples/widgets/graphicsview/elasticnodes/node.cpp @@ -75,7 +75,7 @@ void Node::addEdge(Edge *edge) edge->adjust(); } -QList<Edge *> Node::edges() const +QVector<Edge *> Node::edges() const { return edgeList; } diff --git a/examples/widgets/graphicsview/elasticnodes/node.h b/examples/widgets/graphicsview/elasticnodes/node.h index 43ea1fb24b0..b160ff37cc5 100644 --- a/examples/widgets/graphicsview/elasticnodes/node.h +++ b/examples/widgets/graphicsview/elasticnodes/node.h @@ -52,13 +52,10 @@ #define NODE_H #include <QGraphicsItem> -#include <QList> +#include <QVector> class Edge; class GraphWidget; -QT_BEGIN_NAMESPACE -class QGraphicsSceneMouseEvent; -QT_END_NAMESPACE //! [0] class Node : public QGraphicsItem @@ -67,7 +64,7 @@ public: Node(GraphWidget *graphWidget); void addEdge(Edge *edge); - QList<Edge *> edges() const; + QVector<Edge *> edges() const; enum { Type = UserType + 1 }; int type() const override { return Type; } @@ -86,7 +83,7 @@ protected: void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override; private: - QList<Edge *> edgeList; + QVector<Edge *> edgeList; QPointF newPos; GraphWidget *graph; }; diff --git a/examples/widgets/graphicsview/embeddeddialogs/customproxy.cpp b/examples/widgets/graphicsview/embeddeddialogs/customproxy.cpp index f510ebc07f5..6eda94e8ba7 100644 --- a/examples/widgets/graphicsview/embeddeddialogs/customproxy.cpp +++ b/examples/widgets/graphicsview/embeddeddialogs/customproxy.cpp @@ -50,14 +50,13 @@ #include "customproxy.h" -#include <QStyleOptionGraphicsItem> -#include <QPainter> #include <QGraphicsScene> +#include <QPainter> +#include <QStyleOptionGraphicsItem> CustomProxy::CustomProxy(QGraphicsItem *parent, Qt::WindowFlags wFlags) - : QGraphicsProxyWidget(parent, wFlags), popupShown(false), currentPopup(nullptr) + : QGraphicsProxyWidget(parent, wFlags), timeLine(new QTimeLine(250, this)) { - timeLine = new QTimeLine(250, this); connect(timeLine, &QTimeLine::valueChanged, this, &CustomProxy::updateStep); connect(timeLine, &QTimeLine::stateChanged, @@ -99,7 +98,7 @@ void CustomProxy::hoverEnterEvent(QGraphicsSceneHoverEvent *event) { QGraphicsProxyWidget::hoverEnterEvent(event); scene()->setActiveWindow(this); - if (timeLine->currentValue() != 1) + if (qFuzzyCompare(timeLine->currentValue(), 1)) zoomIn(); } @@ -107,7 +106,7 @@ void CustomProxy::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) { QGraphicsProxyWidget::hoverLeaveEvent(event); if (!popupShown - && (timeLine->direction() != QTimeLine::Backward || timeLine->currentValue() != 0)) { + && (timeLine->direction() != QTimeLine::Backward || qFuzzyIsNull(timeLine->currentValue()))) { zoomOut(); } } diff --git a/examples/widgets/graphicsview/embeddeddialogs/customproxy.h b/examples/widgets/graphicsview/embeddeddialogs/customproxy.h index 36209b70731..d7df2b7b4b8 100644 --- a/examples/widgets/graphicsview/embeddeddialogs/customproxy.h +++ b/examples/widgets/graphicsview/embeddeddialogs/customproxy.h @@ -59,7 +59,7 @@ class CustomProxy : public QGraphicsProxyWidget Q_OBJECT public: - explicit CustomProxy(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0); + explicit CustomProxy(QGraphicsItem *parent = nullptr, Qt::WindowFlags wFlags = nullptr); QRectF boundingRect() const override; void paintWindowFrame(QPainter *painter, const QStyleOptionGraphicsItem *option, @@ -79,8 +79,8 @@ private slots: private: QTimeLine *timeLine; - bool popupShown; - QGraphicsItem *currentPopup; + QGraphicsItem *currentPopup = nullptr; + bool popupShown = false; }; #endif // CUSTOMPROXY_H diff --git a/examples/widgets/graphicsview/embeddeddialogs/embeddeddialog.h b/examples/widgets/graphicsview/embeddeddialogs/embeddeddialog.h index 29daaa58c1f..c2d87a56603 100644 --- a/examples/widgets/graphicsview/embeddeddialogs/embeddeddialog.h +++ b/examples/widgets/graphicsview/embeddeddialogs/embeddeddialog.h @@ -64,7 +64,7 @@ class EmbeddedDialog : public QDialog Q_OBJECT public: - EmbeddedDialog(QWidget *parent = 0); + EmbeddedDialog(QWidget *parent = nullptr); ~EmbeddedDialog(); private slots: diff --git a/examples/widgets/graphicsview/flowlayout/flowlayout.cpp b/examples/widgets/graphicsview/flowlayout/flowlayout.cpp index ab6bbb7aa4a..54914b3746d 100644 --- a/examples/widgets/graphicsview/flowlayout/flowlayout.cpp +++ b/examples/widgets/graphicsview/flowlayout/flowlayout.cpp @@ -50,14 +50,10 @@ #include "flowlayout.h" -#include <qmath.h> +#include <QtMath> -#include <QWidget> - -FlowLayout::FlowLayout() +FlowLayout::FlowLayout(QGraphicsLayoutItem *parent) : QGraphicsLayout(parent) { - m_spacing[0] = 6; - m_spacing[1] = 6; QSizePolicy sp = sizePolicy(); sp.setHeightForWidth(true); setSizePolicy(sp); @@ -66,7 +62,7 @@ FlowLayout::FlowLayout() void FlowLayout::insertItem(int index, QGraphicsLayoutItem *item) { item->setParentLayoutItem(this); - if (uint(index) > uint(m_items.count())) + if (index > m_items.count()) index = m_items.count(); m_items.insert(index, item); invalidate(); @@ -117,15 +113,14 @@ qreal FlowLayout::doLayout(const QRectF &geom, bool applyNewGeometry) const qreal y = 0; qreal maxRowHeight = 0; QSizeF pref; - for (int i = 0; i < m_items.count(); ++i) { - QGraphicsLayoutItem *item = m_items.at(i); + for (QGraphicsLayoutItem *item : m_items) { pref = item->effectiveSizeHint(Qt::PreferredSize); maxRowHeight = qMax(maxRowHeight, pref.height()); qreal next_x; next_x = x + pref.width(); if (next_x > maxw) { - if (x == 0) { + if (qFuzzyIsNull(x)) { pref.setWidth(maxw); } else { x = 0; @@ -156,7 +151,7 @@ QSizeF FlowLayout::minSize(const QSizeF &constraint) const } else { for (const QGraphicsLayoutItem *item : qAsConst(m_items)) size = size.expandedTo(item->effectiveSizeHint(Qt::MinimumSize)); - size += QSize(left + right, top + bottom); + size += QSizeF(left + right, top + bottom); } return size; } @@ -164,7 +159,7 @@ QSizeF FlowLayout::minSize(const QSizeF &constraint) const QSizeF FlowLayout::prefSize() const { qreal left, right; - getContentsMargins(&left, 0, &right, 0); + getContentsMargins(&left, nullptr, &right, nullptr); qreal maxh = 0; qreal totalWidth = 0; diff --git a/examples/widgets/graphicsview/flowlayout/flowlayout.h b/examples/widgets/graphicsview/flowlayout/flowlayout.h index 808f5d2c77b..c6758414d69 100644 --- a/examples/widgets/graphicsview/flowlayout/flowlayout.h +++ b/examples/widgets/graphicsview/flowlayout/flowlayout.h @@ -53,7 +53,7 @@ class FlowLayout : public QGraphicsLayout { public: - FlowLayout(); + FlowLayout(QGraphicsLayoutItem *parent = nullptr); inline void addItem(QGraphicsLayoutItem *item); void insertItem(int index, QGraphicsLayoutItem *item); void setSpacing(Qt::Orientations o, qreal spacing); @@ -75,8 +75,8 @@ private: QSizeF prefSize() const; QSizeF maxSize() const; - QList<QGraphicsLayoutItem*> m_items; - qreal m_spacing[2]; + QVector<QGraphicsLayoutItem*> m_items; + qreal m_spacing[2] = {6, 6}; }; diff --git a/examples/widgets/graphicsview/flowlayout/main.cpp b/examples/widgets/graphicsview/flowlayout/main.cpp index 74c03b9bce3..dbfed51bb3f 100644 --- a/examples/widgets/graphicsview/flowlayout/main.cpp +++ b/examples/widgets/graphicsview/flowlayout/main.cpp @@ -59,12 +59,12 @@ int main(int argc, char *argv[]) QApplication app(argc, argv); QGraphicsScene scene; - QGraphicsView *view = new QGraphicsView(&scene); + QGraphicsView view(&scene); Window *w = new Window; scene.addItem(w); - view->resize(400, 300); - view->show(); + view.resize(400, 300); + view.show(); return app.exec(); } diff --git a/examples/widgets/graphicsview/flowlayout/window.cpp b/examples/widgets/graphicsview/flowlayout/window.cpp index 34d0d71b449..8fe06d0e11e 100644 --- a/examples/widgets/graphicsview/flowlayout/window.cpp +++ b/examples/widgets/graphicsview/flowlayout/window.cpp @@ -48,23 +48,21 @@ ** ****************************************************************************/ -#include "flowlayout.h" #include "window.h" +#include "flowlayout.h" #include <QGraphicsProxyWidget> #include <QLabel> -Window::Window() -: QGraphicsWidget(0, Qt::Window) +Window::Window(QGraphicsItem *parent) : QGraphicsWidget(parent, Qt::Window) { FlowLayout *lay = new FlowLayout; - QLatin1String wiseWords("I am not bothered by the fact that I am unknown." - " I am bothered when I do not know others. (Confucius)"); - QString sentence(wiseWords); - QStringList words = sentence.split(QLatin1Char(' '), QString::SkipEmptyParts); - for (int i = 0; i < words.count(); ++i) { + const QString sentence(QLatin1String("I am not bothered by the fact that I am unknown." + " I am bothered when I do not know others. (Confucius)")); + const QVector<QStringRef> words = sentence.splitRef(QLatin1Char(' '), QString::SkipEmptyParts); + for (const QStringRef &word : words) { QGraphicsProxyWidget *proxy = new QGraphicsProxyWidget(this); - QLabel *label = new QLabel(words.at(i)); + QLabel *label = new QLabel(word.toString()); label->setFrameStyle(QFrame::Box | QFrame::Plain); proxy->setWidget(label); lay->addItem(proxy); diff --git a/examples/widgets/graphicsview/flowlayout/window.h b/examples/widgets/graphicsview/flowlayout/window.h index 7f37c447d1e..24a7cf908b6 100644 --- a/examples/widgets/graphicsview/flowlayout/window.h +++ b/examples/widgets/graphicsview/flowlayout/window.h @@ -53,7 +53,6 @@ class Window : public QGraphicsWidget { Q_OBJECT - public: - Window(); + Window(QGraphicsItem *parent = nullptr); }; diff --git a/examples/widgets/graphicsview/padnavigator/flippablepad.cpp b/examples/widgets/graphicsview/padnavigator/flippablepad.cpp index e5de3315971..6a9097a7365 100644 --- a/examples/widgets/graphicsview/padnavigator/flippablepad.cpp +++ b/examples/widgets/graphicsview/padnavigator/flippablepad.cpp @@ -75,8 +75,8 @@ FlippablePad::FlippablePad(const QSize &size, QGraphicsItem *parent) //! [2] //! [3] int numIcons = size.width() * size.height(); - QList<QPixmap> pixmaps; - QDirIterator it(":/images", QStringList() << "*.png"); + QVector<QPixmap> pixmaps; + QDirIterator it(":/images", {"*.png"}); while (it.hasNext() && pixmaps.size() < numIcons) pixmaps << it.next(); //! [3] diff --git a/examples/widgets/graphicsview/padnavigator/flippablepad.h b/examples/widgets/graphicsview/padnavigator/flippablepad.h index 323ace43725..ef757c47fb2 100644 --- a/examples/widgets/graphicsview/padnavigator/flippablepad.h +++ b/examples/widgets/graphicsview/padnavigator/flippablepad.h @@ -53,15 +53,13 @@ #include "roundrectitem.h" -#include <QGraphicsObject> -#include <QLinearGradient> #include <QVector> //! [0] class FlippablePad : public RoundRectItem { public: - explicit FlippablePad(const QSize &size, QGraphicsItem *parent = 0); + explicit FlippablePad(const QSize &size, QGraphicsItem *parent = nullptr); RoundRectItem *iconAt(int column, int row) const; diff --git a/examples/widgets/graphicsview/padnavigator/padnavigator.cpp b/examples/widgets/graphicsview/padnavigator/padnavigator.cpp index ef0b0b4510c..b9ce2a47ca4 100644 --- a/examples/widgets/graphicsview/padnavigator/padnavigator.cpp +++ b/examples/widgets/graphicsview/padnavigator/padnavigator.cpp @@ -52,10 +52,18 @@ #include "padnavigator.h" #include "splashitem.h" +#include <QEventTransition> +#include <QGraphicsProxyWidget> +#include <QGraphicsRotation> +#include <QHistoryState> +#include <QKeyEventTransition> +#include <QParallelAnimationGroup> +#include <QPropertyAnimation> +#include <QSequentialAnimationGroup> +#include <QStateMachine> + #ifndef QT_NO_OPENGL -#include <QtOpenGL> -#else -#include <QtWidgets> +#include <QOpenGLWidget> #endif //! [0] diff --git a/examples/widgets/graphicsview/padnavigator/padnavigator.h b/examples/widgets/graphicsview/padnavigator/padnavigator.h index 00cf2c02123..0fe9ad045d7 100644 --- a/examples/widgets/graphicsview/padnavigator/padnavigator.h +++ b/examples/widgets/graphicsview/padnavigator/padnavigator.h @@ -54,17 +54,12 @@ #include <QGraphicsView> #include "ui_form.h" -QT_BEGIN_NAMESPACE -class QState; -class QStateMachine; -QT_END_NAMESPACE - //! [0] class PadNavigator : public QGraphicsView { Q_OBJECT public: - explicit PadNavigator(const QSize &size, QWidget *parent = 0); + explicit PadNavigator(const QSize &size, QWidget *parent = nullptr); protected: void resizeEvent(QResizeEvent *event) override; diff --git a/examples/widgets/graphicsview/padnavigator/roundrectitem.cpp b/examples/widgets/graphicsview/padnavigator/roundrectitem.cpp index 82205050ec4..b4ea4890694 100644 --- a/examples/widgets/graphicsview/padnavigator/roundrectitem.cpp +++ b/examples/widgets/graphicsview/padnavigator/roundrectitem.cpp @@ -50,7 +50,7 @@ #include "roundrectitem.h" -#include <QApplication> +#include <QGuiApplication> #include <QPainter> #include <QPalette> @@ -98,7 +98,7 @@ void RoundRectItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *opt //! [3] //! [4] if (fillRect) - painter->setBrush(QApplication::palette().brush(QPalette::Window)); + painter->setBrush(QGuiApplication::palette().brush(QPalette::Window)); else painter->setBrush(gradient); painter->setPen(QPen(Qt::black, 1)); diff --git a/examples/widgets/graphicsview/padnavigator/roundrectitem.h b/examples/widgets/graphicsview/padnavigator/roundrectitem.h index e76862c08c3..91b3e6542ea 100644 --- a/examples/widgets/graphicsview/padnavigator/roundrectitem.h +++ b/examples/widgets/graphicsview/padnavigator/roundrectitem.h @@ -61,13 +61,13 @@ class RoundRectItem : public QGraphicsObject Q_PROPERTY(bool fill READ fill WRITE setFill) public: RoundRectItem(const QRectF &bounds, const QColor &color, - QGraphicsItem *parent = 0); + QGraphicsItem *parent = nullptr); QPixmap pixmap() const; void setPixmap(const QPixmap &pixmap); QRectF boundingRect() const override; - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) override; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override; bool fill() const; void setFill(bool fill); diff --git a/examples/widgets/graphicsview/padnavigator/splashitem.h b/examples/widgets/graphicsview/padnavigator/splashitem.h index 2ad54f82a11..b8e723db81a 100644 --- a/examples/widgets/graphicsview/padnavigator/splashitem.h +++ b/examples/widgets/graphicsview/padnavigator/splashitem.h @@ -58,10 +58,10 @@ class SplashItem : public QGraphicsObject { Q_OBJECT public: - explicit SplashItem(QGraphicsItem *parent = 0); + explicit SplashItem(QGraphicsItem *parent = nullptr); QRectF boundingRect() const override; - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) override; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override; private: QString text; diff --git a/examples/widgets/graphicsview/simpleanchorlayout/main.cpp b/examples/widgets/graphicsview/simpleanchorlayout/main.cpp index 299a5ad7bd5..a5f450c1f97 100644 --- a/examples/widgets/graphicsview/simpleanchorlayout/main.cpp +++ b/examples/widgets/graphicsview/simpleanchorlayout/main.cpp @@ -54,7 +54,7 @@ class Widget : public QGraphicsWidget { public: Widget(const QColor &color, const QColor &textColor, const QString &caption, - QGraphicsItem *parent = 0) + QGraphicsItem *parent = nullptr) : QGraphicsWidget(parent) , caption(caption) , color(color) @@ -62,7 +62,7 @@ public: { } - void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget * = 0) override + void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget * = nullptr) override { QFont font; font.setPixelSize(0.75 * qMin(boundingRect().width(), boundingRect().height())); @@ -85,7 +85,7 @@ int main(int argc, char *argv[]) { QApplication app(argc, argv); - QGraphicsScene *scene = new QGraphicsScene(); + QGraphicsScene scene; Widget *a = new Widget(Qt::blue, Qt::white, "a"); a->setPreferredSize(100, 100); @@ -94,7 +94,7 @@ int main(int argc, char *argv[]) Widget *c = new Widget(Qt::red, Qt::black, "c"); c->setPreferredSize(100, 100); - QGraphicsAnchorLayout *layout = new QGraphicsAnchorLayout(); + QGraphicsAnchorLayout *layout = new QGraphicsAnchorLayout; /* //! [adding a corner anchor in two steps] layout->addAnchor(a, Qt::AnchorTop, layout, Qt::AnchorTop); @@ -128,20 +128,20 @@ int main(int argc, char *argv[]) // corner of the layout. layout->addCornerAnchors(c, Qt::BottomRightCorner, layout, Qt::BottomRightCorner); - QGraphicsWidget *w = new QGraphicsWidget(0, Qt::Window | Qt::CustomizeWindowHint | Qt::WindowTitleHint); + auto w = new QGraphicsWidget(nullptr, Qt::Window | Qt::CustomizeWindowHint | Qt::WindowTitleHint); w->setPos(20, 20); w->setMinimumSize(100, 100); w->setPreferredSize(320, 240); w->setLayout(layout); w->setWindowTitle(QApplication::translate("simpleanchorlayout", "QGraphicsAnchorLayout in use")); - scene->addItem(w); + scene.addItem(w); - QGraphicsView *view = new QGraphicsView(); - view->setScene(scene); - view->setWindowTitle(QApplication::translate("simpleanchorlayout", "Simple Anchor Layout")); + QGraphicsView view; + view.setScene(&scene); + view.setWindowTitle(QApplication::translate("simpleanchorlayout", "Simple Anchor Layout")); - view->resize(360, 320); - view->show(); + view.resize(360, 320); + view.show(); return app.exec(); } diff --git a/examples/widgets/graphicsview/weatheranchorlayout/main.cpp b/examples/widgets/graphicsview/weatheranchorlayout/main.cpp index 81db2780b4e..5c623b1d008 100644 --- a/examples/widgets/graphicsview/weatheranchorlayout/main.cpp +++ b/examples/widgets/graphicsview/weatheranchorlayout/main.cpp @@ -50,15 +50,14 @@ #include <QApplication> #include <QLabel> -#include <QPainter> -#include <QPushButton> - #include <QGraphicsAnchorLayout> #include <QGraphicsProxyWidget> #include <QGraphicsScene> #include <QGraphicsSceneResizeEvent> #include <QGraphicsView> #include <QGraphicsWidget> +#include <QPainter> +#include <QPushButton> class GraphicsView : public QGraphicsView @@ -79,20 +78,18 @@ public: class PixmapWidget : public QGraphicsLayoutItem { - public: PixmapWidget(const QPixmap &pix) - : QGraphicsLayoutItem() + : QGraphicsLayoutItem(), original(new QGraphicsPixmapItem(pix)) + , r(QRectF(QPointF(0, 0), pix.size())) { - original = new QGraphicsPixmapItem(pix); setGraphicsItem(original); original->show(); - r = QRectF(QPointF(0, 0), pix.size()); } ~PixmapWidget() { - setGraphicsItem(0); + setGraphicsItem(nullptr); delete original; } @@ -101,7 +98,7 @@ public: original->setZValue(z); } - void setGeometry (const QRectF &rect) override + void setGeometry(const QRectF &rect) override { original->setTransform(QTransform::fromScale(rect.width() / r.width(), rect.height() / r.height()), true); @@ -150,8 +147,7 @@ public: void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *) override { - QPointF reflection = QPointF(); - reflection.setY(scaled.height() + 2); + const QPointF reflection(0, scaled.height() + 2); painter->drawPixmap(QPointF(), scaled); @@ -239,7 +235,7 @@ int main(int argc, char *argv[]) layout->setSpacing(0); // setup the main widget - QGraphicsWidget *widget = new QGraphicsWidget(0, Qt::Window); + QGraphicsWidget *widget = new QGraphicsWidget(nullptr, Qt::Window); QPalette p; p.setColor(QPalette::Window, Qt::black); widget->setPalette(p); |