diff options
Diffstat (limited to 'examples/widgets/graphicsview')
57 files changed, 285 insertions, 416 deletions
diff --git a/examples/widgets/graphicsview/anchorlayout/main.cpp b/examples/widgets/graphicsview/anchorlayout/main.cpp index 59ced72018..98dacfb5fb 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 804db2f9be..2fbc232b20 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 3535a26670..3dc431d513 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 dfe04ed196..c46082e552 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 b52b26c4ef..91de336af3 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 e2363d561e..4318e8ac24 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 716c4de62e..e5c4f51514 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 b7242d529b..2b3e6d3389 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 68d5c251f4..8713aac05d 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 f8ee9bdb0a..84c8cb1d93 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 ebc2dbd36e..a1f15cd631 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 a9995efa27..b344f65561 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 ffff01358f..5d65dc71e2 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 794ce7ac37..b9dfc1fc7f 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 e65080e089..af90e4d842 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 3d2bbdfcef..25f4ccc2e9 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 b6e1313eb2..f2f89c8722 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 9417d12d7a..3f91b2efb4 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 7d5fd699a4..21998dc2df 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 89b2e813f1..ea7bd414f5 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 dfb20815b9..ef6d6cca64 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 a8fcc05d76..8375092c39 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) { @@ -69,9 +69,9 @@ 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)) +Mouse::Mouse() : 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 bd9e592242..4b165fced6 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 525e0b3fbb..9b2472bb33 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 e0fa389d53..13001959bd 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 3aa685635e..8ec577170b 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 3a43ec57fc..ffaea4b7a8 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 40272834c3..d0688d8552 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 15063d58b7..5682468ef6 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 f5d3d3b95e..7809609e24 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 262e18a317..23fb5fda50 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 045e184569..b00e9705d4 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 cc70366872..7457dabf8a 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 e25966c7c4..67f6bb4100 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 aec12b4225..9ca8b37f3d 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 19072b8b33..048d3ffd02 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 9341d77f8d..a067f82ad7 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 5ed6aed452..6d241fa9f1 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 8d44a167fa..a67e21c4b3 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 43ea1fb24b..b160ff37cc 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 f510ebc07f..6eda94e8ba 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 36209b7073..d7df2b7b4b 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 29daaa58c1..c2d87a5660 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 ab6bbb7aa4..03cf320568 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 < 0) 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 808f5d2c77..c6758414d6 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 74c03b9bce..dbfed51bb3 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 34d0d71b44..8fe06d0e11 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 7f37c447d1..24a7cf908b 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 e5de331597..6a9097a736 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 323ace4372..ef757c47fb 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 ef0b0b4510..b9ce2a47ca 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 00cf2c0212..0fe9ad045d 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 82205050ec..b4ea489069 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 e76862c08c..91b3e6542e 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 2ad54f82a1..b8e723db81 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 299a5ad7bd..a5f450c1f9 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 81db2780b4..5c623b1d00 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); |