diff options
Diffstat (limited to 'src/widgets/graphicsview')
25 files changed, 127 insertions, 94 deletions
diff --git a/src/widgets/graphicsview/qgraphicsanchorlayout.h b/src/widgets/graphicsview/qgraphicsanchorlayout.h index 90406fe71f..2fdfe75be9 100644 --- a/src/widgets/graphicsview/qgraphicsanchorlayout.h +++ b/src/widgets/graphicsview/qgraphicsanchorlayout.h @@ -71,7 +71,7 @@ private: class Q_WIDGETS_EXPORT QGraphicsAnchorLayout : public QGraphicsLayout { public: - QGraphicsAnchorLayout(QGraphicsLayoutItem *parent = 0); + QGraphicsAnchorLayout(QGraphicsLayoutItem *parent = Q_NULLPTR); virtual ~QGraphicsAnchorLayout(); QGraphicsAnchor *addAnchor(QGraphicsLayoutItem *firstItem, Qt::AnchorPoint firstEdge, diff --git a/src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp b/src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp index 8327777217..dac8e61645 100644 --- a/src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp +++ b/src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp @@ -751,9 +751,12 @@ static AnchorData *createSequence(Graph<AnchorVertex, AnchorData> *graph, AnchorVertex *prev = before; QVector<AnchorData *> edges; + edges.reserve(vertices.count() + 1); + const int numVertices = vertices.count(); + edges.reserve(numVertices + 1); // Take from the graph, the edges that will be simplificated - for (int i = 0; i < vertices.count(); ++i) { + for (int i = 0; i < numVertices; ++i) { AnchorVertex *next = vertices.at(i); AnchorData *ad = graph->takeEdge(prev, next); Q_ASSERT(ad); @@ -2569,6 +2572,7 @@ QGraphicsAnchorLayoutPrivate::getGraphParts(Orientation orientation) if (!remainingConstraints.isEmpty()) { QList<QSimplexConstraint *> nonTrunkConstraints; + nonTrunkConstraints.reserve(remainingConstraints.size()); QLinkedList<QSimplexConstraint *>::iterator it = remainingConstraints.begin(); while (it != remainingConstraints.end()) { nonTrunkConstraints += *it; diff --git a/src/widgets/graphicsview/qgraphicsanchorlayout_p.h b/src/widgets/graphicsview/qgraphicsanchorlayout_p.h index c0bb8ef63a..a5c7f1e2ce 100644 --- a/src/widgets/graphicsview/qgraphicsanchorlayout_p.h +++ b/src/widgets/graphicsview/qgraphicsanchorlayout_p.h @@ -317,6 +317,7 @@ public: QSet<AnchorData *> positives; QSet<AnchorData *> negatives; }; +Q_DECLARE_TYPEINFO(GraphPath, Q_MOVABLE_TYPE); class QGraphicsAnchorLayoutPrivate; /*! diff --git a/src/widgets/graphicsview/qgraphicsgridlayout.h b/src/widgets/graphicsview/qgraphicsgridlayout.h index 90cc316025..f6aa3af91d 100644 --- a/src/widgets/graphicsview/qgraphicsgridlayout.h +++ b/src/widgets/graphicsview/qgraphicsgridlayout.h @@ -47,12 +47,12 @@ class QGraphicsGridLayoutPrivate; class Q_WIDGETS_EXPORT QGraphicsGridLayout : public QGraphicsLayout { public: - QGraphicsGridLayout(QGraphicsLayoutItem *parent = 0); + QGraphicsGridLayout(QGraphicsLayoutItem *parent = Q_NULLPTR); virtual ~QGraphicsGridLayout(); void addItem(QGraphicsLayoutItem *item, int row, int column, int rowSpan, int columnSpan, - Qt::Alignment alignment = 0); - inline void addItem(QGraphicsLayoutItem *item, int row, int column, Qt::Alignment alignment = 0); + Qt::Alignment alignment = Qt::Alignment()); + inline void addItem(QGraphicsLayoutItem *item, int row, int column, Qt::Alignment alignment = Qt::Alignment()); void setHorizontalSpacing(qreal spacing); qreal horizontalSpacing() const; diff --git a/src/widgets/graphicsview/qgraphicsitem.cpp b/src/widgets/graphicsview/qgraphicsitem.cpp index 1332134000..5f5c402a4a 100644 --- a/src/widgets/graphicsview/qgraphicsitem.cpp +++ b/src/widgets/graphicsview/qgraphicsitem.cpp @@ -10832,9 +10832,7 @@ void QGraphicsSimpleTextItem::paint(QPainter *painter, const QStyleOptionGraphic range.start = 0; range.length = layout.text().length(); range.format.setTextOutline(d->pen); - QList<QTextLayout::FormatRange> formats; - formats.append(range); - layout.setAdditionalFormats(formats); + layout.setFormats(QVector<QTextLayout::FormatRange>(1, range)); } setupTextLayout(&layout); diff --git a/src/widgets/graphicsview/qgraphicsitem.h b/src/widgets/graphicsview/qgraphicsitem.h index d3540beb77..b2f8fcbe74 100644 --- a/src/widgets/graphicsview/qgraphicsitem.h +++ b/src/widgets/graphicsview/qgraphicsitem.h @@ -153,7 +153,7 @@ public: SceneModal }; - explicit QGraphicsItem(QGraphicsItem *parent = 0); + explicit QGraphicsItem(QGraphicsItem *parent = Q_NULLPTR); virtual ~QGraphicsItem(); QGraphicsScene *scene() const; @@ -189,7 +189,7 @@ public: PanelModality panelModality() const; void setPanelModality(PanelModality panelModality); - bool isBlockedByModalPanel(QGraphicsItem **blockingPanel = 0) const; + bool isBlockedByModalPanel(QGraphicsItem **blockingPanel = Q_NULLPTR) const; #ifndef QT_NO_TOOLTIP QString toolTip() const; @@ -285,7 +285,7 @@ public: QTransform transform() const; QTransform sceneTransform() const; QTransform deviceTransform(const QTransform &viewportTransform) const; - QTransform itemTransform(const QGraphicsItem *other, bool *ok = 0) const; + QTransform itemTransform(const QGraphicsItem *other, bool *ok = Q_NULLPTR) const; void setTransform(const QTransform &matrix, bool combine = false); void resetTransform(); #if QT_DEPRECATED_SINCE(5, 0) @@ -336,7 +336,7 @@ public: void setBoundingRegionGranularity(qreal granularity); // Drawing - virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) = 0; + virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = Q_NULLPTR) = 0; void update(const QRectF &rect = QRectF()); inline void update(qreal x, qreal y, qreal width, qreal height); void scroll(qreal dx, qreal dy, const QRectF &rect = QRectF()); @@ -553,7 +553,7 @@ class Q_WIDGETS_EXPORT QGraphicsObject : public QObject, public QGraphicsItem Q_CLASSINFO("DefaultProperty", "children") Q_INTERFACES(QGraphicsItem) public: - explicit QGraphicsObject(QGraphicsItem *parent = 0); + explicit QGraphicsObject(QGraphicsItem *parent = Q_NULLPTR); ~QGraphicsObject(); using QObject::children; @@ -595,7 +595,7 @@ class QAbstractGraphicsShapeItemPrivate; class Q_WIDGETS_EXPORT QAbstractGraphicsShapeItem : public QGraphicsItem { public: - explicit QAbstractGraphicsShapeItem(QGraphicsItem *parent = 0); + explicit QAbstractGraphicsShapeItem(QGraphicsItem *parent = Q_NULLPTR); ~QAbstractGraphicsShapeItem(); QPen pen() const; @@ -620,8 +620,8 @@ class QGraphicsPathItemPrivate; class Q_WIDGETS_EXPORT QGraphicsPathItem : public QAbstractGraphicsShapeItem { public: - explicit QGraphicsPathItem(QGraphicsItem *parent = 0); - explicit QGraphicsPathItem(const QPainterPath &path, QGraphicsItem *parent = 0); + explicit QGraphicsPathItem(QGraphicsItem *parent = Q_NULLPTR); + explicit QGraphicsPathItem(const QPainterPath &path, QGraphicsItem *parent = Q_NULLPTR); ~QGraphicsPathItem(); QPainterPath path() const; @@ -631,7 +631,7 @@ public: QPainterPath shape() const Q_DECL_OVERRIDE; bool contains(const QPointF &point) const Q_DECL_OVERRIDE; - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) Q_DECL_OVERRIDE; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = Q_NULLPTR) Q_DECL_OVERRIDE; bool isObscuredBy(const QGraphicsItem *item) const Q_DECL_OVERRIDE; QPainterPath opaqueArea() const Q_DECL_OVERRIDE; @@ -653,9 +653,9 @@ class QGraphicsRectItemPrivate; class Q_WIDGETS_EXPORT QGraphicsRectItem : public QAbstractGraphicsShapeItem { public: - explicit QGraphicsRectItem(QGraphicsItem *parent = 0); - explicit QGraphicsRectItem(const QRectF &rect, QGraphicsItem *parent = 0); - explicit QGraphicsRectItem(qreal x, qreal y, qreal w, qreal h, QGraphicsItem *parent = 0); + explicit QGraphicsRectItem(QGraphicsItem *parent = Q_NULLPTR); + explicit QGraphicsRectItem(const QRectF &rect, QGraphicsItem *parent = Q_NULLPTR); + explicit QGraphicsRectItem(qreal x, qreal y, qreal w, qreal h, QGraphicsItem *parent = Q_NULLPTR); ~QGraphicsRectItem(); QRectF rect() const; @@ -666,7 +666,7 @@ public: QPainterPath shape() const Q_DECL_OVERRIDE; bool contains(const QPointF &point) const Q_DECL_OVERRIDE; - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) Q_DECL_OVERRIDE; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = Q_NULLPTR) Q_DECL_OVERRIDE; bool isObscuredBy(const QGraphicsItem *item) const Q_DECL_OVERRIDE; QPainterPath opaqueArea() const Q_DECL_OVERRIDE; @@ -691,9 +691,9 @@ class QGraphicsEllipseItemPrivate; class Q_WIDGETS_EXPORT QGraphicsEllipseItem : public QAbstractGraphicsShapeItem { public: - explicit QGraphicsEllipseItem(QGraphicsItem *parent = 0); - explicit QGraphicsEllipseItem(const QRectF &rect, QGraphicsItem *parent = 0); - explicit QGraphicsEllipseItem(qreal x, qreal y, qreal w, qreal h, QGraphicsItem *parent = 0); + explicit QGraphicsEllipseItem(QGraphicsItem *parent = Q_NULLPTR); + explicit QGraphicsEllipseItem(const QRectF &rect, QGraphicsItem *parent = Q_NULLPTR); + explicit QGraphicsEllipseItem(qreal x, qreal y, qreal w, qreal h, QGraphicsItem *parent = Q_NULLPTR); ~QGraphicsEllipseItem(); QRectF rect() const; @@ -710,7 +710,7 @@ public: QPainterPath shape() const Q_DECL_OVERRIDE; bool contains(const QPointF &point) const Q_DECL_OVERRIDE; - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) Q_DECL_OVERRIDE; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = Q_NULLPTR) Q_DECL_OVERRIDE; bool isObscuredBy(const QGraphicsItem *item) const Q_DECL_OVERRIDE; QPainterPath opaqueArea() const Q_DECL_OVERRIDE; @@ -735,9 +735,9 @@ class QGraphicsPolygonItemPrivate; class Q_WIDGETS_EXPORT QGraphicsPolygonItem : public QAbstractGraphicsShapeItem { public: - explicit QGraphicsPolygonItem(QGraphicsItem *parent = 0); + explicit QGraphicsPolygonItem(QGraphicsItem *parent = Q_NULLPTR); explicit QGraphicsPolygonItem(const QPolygonF &polygon, - QGraphicsItem *parent = 0); + QGraphicsItem *parent = Q_NULLPTR); ~QGraphicsPolygonItem(); QPolygonF polygon() const; @@ -750,7 +750,7 @@ public: QPainterPath shape() const Q_DECL_OVERRIDE; bool contains(const QPointF &point) const Q_DECL_OVERRIDE; - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) Q_DECL_OVERRIDE; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = Q_NULLPTR) Q_DECL_OVERRIDE; bool isObscuredBy(const QGraphicsItem *item) const Q_DECL_OVERRIDE; QPainterPath opaqueArea() const Q_DECL_OVERRIDE; @@ -772,9 +772,9 @@ class QGraphicsLineItemPrivate; class Q_WIDGETS_EXPORT QGraphicsLineItem : public QGraphicsItem { public: - explicit QGraphicsLineItem(QGraphicsItem *parent = 0); - explicit QGraphicsLineItem(const QLineF &line, QGraphicsItem *parent = 0); - explicit QGraphicsLineItem(qreal x1, qreal y1, qreal x2, qreal y2, QGraphicsItem *parent = 0); + explicit QGraphicsLineItem(QGraphicsItem *parent = Q_NULLPTR); + explicit QGraphicsLineItem(const QLineF &line, QGraphicsItem *parent = Q_NULLPTR); + explicit QGraphicsLineItem(qreal x1, qreal y1, qreal x2, qreal y2, QGraphicsItem *parent = Q_NULLPTR); ~QGraphicsLineItem(); QPen pen() const; @@ -789,7 +789,7 @@ public: QPainterPath shape() const Q_DECL_OVERRIDE; bool contains(const QPointF &point) const Q_DECL_OVERRIDE; - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) Q_DECL_OVERRIDE; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = Q_NULLPTR) Q_DECL_OVERRIDE; bool isObscuredBy(const QGraphicsItem *item) const Q_DECL_OVERRIDE; QPainterPath opaqueArea() const Q_DECL_OVERRIDE; @@ -817,8 +817,8 @@ public: HeuristicMaskShape }; - explicit QGraphicsPixmapItem(QGraphicsItem *parent = 0); - explicit QGraphicsPixmapItem(const QPixmap &pixmap, QGraphicsItem *parent = 0); + explicit QGraphicsPixmapItem(QGraphicsItem *parent = Q_NULLPTR); + explicit QGraphicsPixmapItem(const QPixmap &pixmap, QGraphicsItem *parent = Q_NULLPTR); ~QGraphicsPixmapItem(); QPixmap pixmap() const; @@ -869,8 +869,8 @@ class Q_WIDGETS_EXPORT QGraphicsTextItem : public QGraphicsObject QDOC_PROPERTY(QTextCursor textCursor READ textCursor WRITE setTextCursor) public: - explicit QGraphicsTextItem(QGraphicsItem *parent = 0); - explicit QGraphicsTextItem(const QString &text, QGraphicsItem *parent = 0); + explicit QGraphicsTextItem(QGraphicsItem *parent = Q_NULLPTR); + explicit QGraphicsTextItem(const QString &text, QGraphicsItem *parent = Q_NULLPTR); ~QGraphicsTextItem(); QString toHtml() const; @@ -960,8 +960,8 @@ class QGraphicsSimpleTextItemPrivate; class Q_WIDGETS_EXPORT QGraphicsSimpleTextItem : public QAbstractGraphicsShapeItem { public: - explicit QGraphicsSimpleTextItem(QGraphicsItem *parent = 0); - explicit QGraphicsSimpleTextItem(const QString &text, QGraphicsItem *parent = 0); + explicit QGraphicsSimpleTextItem(QGraphicsItem *parent = Q_NULLPTR); + explicit QGraphicsSimpleTextItem(const QString &text, QGraphicsItem *parent = Q_NULLPTR); ~QGraphicsSimpleTextItem(); void setText(const QString &text); @@ -996,14 +996,14 @@ class QGraphicsItemGroupPrivate; class Q_WIDGETS_EXPORT QGraphicsItemGroup : public QGraphicsItem { public: - explicit QGraphicsItemGroup(QGraphicsItem *parent = 0); + explicit QGraphicsItemGroup(QGraphicsItem *parent = Q_NULLPTR); ~QGraphicsItemGroup(); void addToGroup(QGraphicsItem *item); void removeFromGroup(QGraphicsItem *item); QRectF boundingRect() const Q_DECL_OVERRIDE; - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) Q_DECL_OVERRIDE; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = Q_NULLPTR) Q_DECL_OVERRIDE; bool isObscuredBy(const QGraphicsItem *item) const Q_DECL_OVERRIDE; QPainterPath opaqueArea() const Q_DECL_OVERRIDE; diff --git a/src/widgets/graphicsview/qgraphicsitem_p.h b/src/widgets/graphicsview/qgraphicsitem_p.h index bf788d2c39..fe4bac12bc 100644 --- a/src/widgets/graphicsview/qgraphicsitem_p.h +++ b/src/widgets/graphicsview/qgraphicsitem_p.h @@ -353,6 +353,7 @@ public: } struct ExtraStruct { + ExtraStruct() {} // for QVector, don't use ExtraStruct(Extra type, QVariant value) : type(type), value(value) { } @@ -364,7 +365,7 @@ public: { return type < extra; } }; - QList<ExtraStruct> extras; + QVector<ExtraStruct> extras; QGraphicsItemCache *maybeExtraItemCache() const; QGraphicsItemCache *extraItemCache() const; @@ -584,6 +585,7 @@ public: int globalStackingOrder; QGraphicsItem *q_ptr; }; +Q_DECLARE_TYPEINFO(QGraphicsItemPrivate::ExtraStruct, Q_MOVABLE_TYPE); struct QGraphicsItemPrivate::TransformData { diff --git a/src/widgets/graphicsview/qgraphicsitemanimation.cpp b/src/widgets/graphicsview/qgraphicsitemanimation.cpp index 0a6fccf559..585539de94 100644 --- a/src/widgets/graphicsview/qgraphicsitemanimation.cpp +++ b/src/widgets/graphicsview/qgraphicsitemanimation.cpp @@ -116,7 +116,6 @@ public: qreal step; struct Pair { - Pair(qreal a, qreal b) : step(a), value(b) {} bool operator <(const Pair &other) const { return step < other.step; } bool operator==(const Pair &other) const @@ -124,21 +123,22 @@ public: qreal step; qreal value; }; - QList<Pair> xPosition; - QList<Pair> yPosition; - QList<Pair> rotation; - QList<Pair> verticalScale; - QList<Pair> horizontalScale; - QList<Pair> verticalShear; - QList<Pair> horizontalShear; - QList<Pair> xTranslation; - QList<Pair> yTranslation; - - qreal linearValueForStep(qreal step, QList<Pair> *source, qreal defaultValue = 0); - void insertUniquePair(qreal step, qreal value, QList<Pair> *binList, const char* method); + QVector<Pair> xPosition; + QVector<Pair> yPosition; + QVector<Pair> rotation; + QVector<Pair> verticalScale; + QVector<Pair> horizontalScale; + QVector<Pair> verticalShear; + QVector<Pair> horizontalShear; + QVector<Pair> xTranslation; + QVector<Pair> yTranslation; + + qreal linearValueForStep(qreal step, QVector<Pair> *source, qreal defaultValue = 0); + void insertUniquePair(qreal step, qreal value, QVector<Pair> *binList, const char* method); }; +Q_DECLARE_TYPEINFO(QGraphicsItemAnimationPrivate::Pair, Q_PRIMITIVE_TYPE); -qreal QGraphicsItemAnimationPrivate::linearValueForStep(qreal step, QList<Pair> *source, qreal defaultValue) +qreal QGraphicsItemAnimationPrivate::linearValueForStep(qreal step, QVector<Pair> *source, qreal defaultValue) { if (source->isEmpty()) return defaultValue; @@ -168,20 +168,18 @@ qreal QGraphicsItemAnimationPrivate::linearValueForStep(qreal step, QList<Pair> return valueBefore + (valueAfter - valueBefore) * ((step - stepBefore) / (stepAfter - stepBefore)); } -void QGraphicsItemAnimationPrivate::insertUniquePair(qreal step, qreal value, QList<Pair> *binList, const char* method) +void QGraphicsItemAnimationPrivate::insertUniquePair(qreal step, qreal value, QVector<Pair> *binList, const char* method) { if (!check_step_valid(step, method)) return; - Pair pair(step, value); + const Pair pair = { step, value }; - QList<Pair>::iterator result = std::lower_bound(binList->begin(), binList->end(), pair); - if ((result != binList->end()) && !(pair < *result)) + const QVector<Pair>::iterator result = std::lower_bound(binList->begin(), binList->end(), pair); + if (result == binList->end() || pair < *result) + binList->insert(result, pair); + else result->value = value; - else { - *binList << pair; - std::sort(binList->begin(), binList->end()); - } } /*! @@ -284,7 +282,9 @@ void QGraphicsItemAnimation::setPosAt(qreal step, const QPointF &pos) QList<QPair<qreal, QPointF> > QGraphicsItemAnimation::posList() const { QList<QPair<qreal, QPointF> > list; - for (int i = 0; i < d->xPosition.size(); ++i) + const int xPosCount = d->xPosition.size(); + list.reserve(xPosCount); + for (int i = 0; i < xPosCount; ++i) list << QPair<qreal, QPointF>(d->xPosition.at(i).step, QPointF(d->xPosition.at(i).value, d->yPosition.at(i).value)); return list; @@ -338,7 +338,9 @@ void QGraphicsItemAnimation::setRotationAt(qreal step, qreal angle) QList<QPair<qreal, qreal> > QGraphicsItemAnimation::rotationList() const { QList<QPair<qreal, qreal> > list; - for (int i = 0; i < d->rotation.size(); ++i) + const int numRotations = d->rotation.size(); + list.reserve(numRotations); + for (int i = 0; i < numRotations; ++i) list << QPair<qreal, qreal>(d->rotation.at(i).step, d->rotation.at(i).value); return list; @@ -386,7 +388,9 @@ void QGraphicsItemAnimation::setTranslationAt(qreal step, qreal dx, qreal dy) QList<QPair<qreal, QPointF> > QGraphicsItemAnimation::translationList() const { QList<QPair<qreal, QPointF> > list; - for (int i = 0; i < d->xTranslation.size(); ++i) + const int numTranslations = d->xTranslation.size(); + list.reserve(numTranslations); + for (int i = 0; i < numTranslations; ++i) list << QPair<qreal, QPointF>(d->xTranslation.at(i).step, QPointF(d->xTranslation.at(i).value, d->yTranslation.at(i).value)); return list; @@ -435,7 +439,9 @@ void QGraphicsItemAnimation::setScaleAt(qreal step, qreal sx, qreal sy) QList<QPair<qreal, QPointF> > QGraphicsItemAnimation::scaleList() const { QList<QPair<qreal, QPointF> > list; - for (int i = 0; i < d->horizontalScale.size(); ++i) + const int numScales = d->horizontalScale.size(); + list.reserve(numScales); + for (int i = 0; i < numScales; ++i) list << QPair<qreal, QPointF>(d->horizontalScale.at(i).step, QPointF(d->horizontalScale.at(i).value, d->verticalScale.at(i).value)); return list; @@ -483,7 +489,9 @@ void QGraphicsItemAnimation::setShearAt(qreal step, qreal sh, qreal sv) QList<QPair<qreal, QPointF> > QGraphicsItemAnimation::shearList() const { QList<QPair<qreal, QPointF> > list; - for (int i = 0; i < d->horizontalShear.size(); ++i) + const int numShears = d->horizontalShear.size(); + list.reserve(numShears); + for (int i = 0; i < numShears; ++i) list << QPair<qreal, QPointF>(d->horizontalShear.at(i).step, QPointF(d->horizontalShear.at(i).value, d->verticalShear.at(i).value)); return list; diff --git a/src/widgets/graphicsview/qgraphicsitemanimation.h b/src/widgets/graphicsview/qgraphicsitemanimation.h index 02a20f3f01..a54ba3a9e9 100644 --- a/src/widgets/graphicsview/qgraphicsitemanimation.h +++ b/src/widgets/graphicsview/qgraphicsitemanimation.h @@ -52,7 +52,7 @@ class Q_WIDGETS_EXPORT QGraphicsItemAnimation : public QObject { Q_OBJECT public: - QGraphicsItemAnimation(QObject *parent = 0); + QGraphicsItemAnimation(QObject *parent = Q_NULLPTR); virtual ~QGraphicsItemAnimation(); QGraphicsItem *item() const; diff --git a/src/widgets/graphicsview/qgraphicslayout.h b/src/widgets/graphicsview/qgraphicslayout.h index ebd90735f1..84a8d97943 100644 --- a/src/widgets/graphicsview/qgraphicslayout.h +++ b/src/widgets/graphicsview/qgraphicslayout.h @@ -48,7 +48,7 @@ class QGraphicsWidget; class Q_WIDGETS_EXPORT QGraphicsLayout : public QGraphicsLayoutItem { public: - QGraphicsLayout(QGraphicsLayoutItem *parent = 0); + QGraphicsLayout(QGraphicsLayoutItem *parent = Q_NULLPTR); ~QGraphicsLayout(); void setContentsMargins(qreal left, qreal top, qreal right, qreal bottom); diff --git a/src/widgets/graphicsview/qgraphicslayoutitem.h b/src/widgets/graphicsview/qgraphicslayoutitem.h index 85b6d901f2..1608d79836 100644 --- a/src/widgets/graphicsview/qgraphicslayoutitem.h +++ b/src/widgets/graphicsview/qgraphicslayoutitem.h @@ -48,7 +48,7 @@ class QGraphicsItem; class Q_WIDGETS_EXPORT QGraphicsLayoutItem { public: - QGraphicsLayoutItem(QGraphicsLayoutItem *parent = 0, bool isLayout = false); + QGraphicsLayoutItem(QGraphicsLayoutItem *parent = Q_NULLPTR, bool isLayout = false); virtual ~QGraphicsLayoutItem(); void setSizePolicy(const QSizePolicy &policy); diff --git a/src/widgets/graphicsview/qgraphicslinearlayout.h b/src/widgets/graphicsview/qgraphicslinearlayout.h index 997bff7da1..3232da22ca 100644 --- a/src/widgets/graphicsview/qgraphicslinearlayout.h +++ b/src/widgets/graphicsview/qgraphicslinearlayout.h @@ -47,8 +47,8 @@ class QGraphicsLinearLayoutPrivate; class Q_WIDGETS_EXPORT QGraphicsLinearLayout : public QGraphicsLayout { public: - QGraphicsLinearLayout(QGraphicsLayoutItem *parent = 0); - QGraphicsLinearLayout(Qt::Orientation orientation, QGraphicsLayoutItem *parent = 0); + QGraphicsLinearLayout(QGraphicsLayoutItem *parent = Q_NULLPTR); + QGraphicsLinearLayout(Qt::Orientation orientation, QGraphicsLayoutItem *parent = Q_NULLPTR); virtual ~QGraphicsLinearLayout(); void setOrientation(Qt::Orientation orientation); diff --git a/src/widgets/graphicsview/qgraphicsproxywidget.cpp b/src/widgets/graphicsview/qgraphicsproxywidget.cpp index db4d18299b..08ea1ea0e3 100644 --- a/src/widgets/graphicsview/qgraphicsproxywidget.cpp +++ b/src/widgets/graphicsview/qgraphicsproxywidget.cpp @@ -269,8 +269,7 @@ void QGraphicsProxyWidgetPrivate::sendWidgetMouseEvent(QGraphicsSceneMouseEvent // Send mouse event. QMouseEvent mouseEvent(type, pos, receiver->mapTo(receiver->topLevelWidget(), pos.toPoint()), receiver->mapToGlobal(pos.toPoint()), - event->button(), event->buttons(), event->modifiers()); - QGuiApplicationPrivate::setMouseEventSource(&mouseEvent, event->source()); + event->button(), event->buttons(), event->modifiers(), event->source()); QWidget *embeddedMouseGrabberPtr = (QWidget *)embeddedMouseGrabber; QApplicationPrivate::sendMouseEvent(receiver, &mouseEvent, alienWidget, widget, diff --git a/src/widgets/graphicsview/qgraphicsproxywidget.h b/src/widgets/graphicsview/qgraphicsproxywidget.h index ae52f88f16..5a03a8a9dd 100644 --- a/src/widgets/graphicsview/qgraphicsproxywidget.h +++ b/src/widgets/graphicsview/qgraphicsproxywidget.h @@ -47,7 +47,7 @@ class Q_WIDGETS_EXPORT QGraphicsProxyWidget : public QGraphicsWidget { Q_OBJECT public: - QGraphicsProxyWidget(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0); + QGraphicsProxyWidget(QGraphicsItem *parent = Q_NULLPTR, Qt::WindowFlags wFlags = Qt::WindowFlags()); ~QGraphicsProxyWidget(); void setWidget(QWidget *widget); diff --git a/src/widgets/graphicsview/qgraphicsscene.h b/src/widgets/graphicsview/qgraphicsscene.h index 68382bf498..c93db20716 100644 --- a/src/widgets/graphicsview/qgraphicsscene.h +++ b/src/widgets/graphicsview/qgraphicsscene.h @@ -115,9 +115,9 @@ public: }; Q_DECLARE_FLAGS(SceneLayers, SceneLayer) - QGraphicsScene(QObject *parent = 0); - QGraphicsScene(const QRectF &sceneRect, QObject *parent = 0); - QGraphicsScene(qreal x, qreal y, qreal width, qreal height, QObject *parent = 0); + QGraphicsScene(QObject *parent = Q_NULLPTR); + QGraphicsScene(const QRectF &sceneRect, QObject *parent = Q_NULLPTR); + QGraphicsScene(qreal x, qreal y, qreal width, qreal height, QObject *parent = Q_NULLPTR); virtual ~QGraphicsScene(); QRectF sceneRect() const; @@ -192,7 +192,7 @@ public: QGraphicsRectItem *addRect(const QRectF &rect, const QPen &pen = QPen(), const QBrush &brush = QBrush()); QGraphicsTextItem *addText(const QString &text, const QFont &font = QFont()); QGraphicsSimpleTextItem *addSimpleText(const QString &text, const QFont &font = QFont()); - QGraphicsProxyWidget *addWidget(QWidget *widget, Qt::WindowFlags wFlags = 0); + QGraphicsProxyWidget *addWidget(QWidget *widget, Qt::WindowFlags wFlags = Qt::WindowFlags()); inline QGraphicsEllipseItem *addEllipse(qreal x, qreal y, qreal w, qreal h, const QPen &pen = QPen(), const QBrush &brush = QBrush()) { return addEllipse(QRectF(x, y, w, h), pen, brush); } inline QGraphicsLineItem *addLine(qreal x1, qreal y1, qreal x2, qreal y2, const QPen &pen = QPen()) @@ -279,7 +279,7 @@ protected: virtual void drawItems(QPainter *painter, int numItems, QGraphicsItem *items[], const QStyleOptionGraphicsItem options[], - QWidget *widget = 0); + QWidget *widget = Q_NULLPTR); protected Q_SLOTS: // ### Qt 6: make unconditional diff --git a/src/widgets/graphicsview/qgraphicssceneevent.h b/src/widgets/graphicsview/qgraphicssceneevent.h index 1e3554fa36..ffa708ea23 100644 --- a/src/widgets/graphicsview/qgraphicssceneevent.h +++ b/src/widgets/graphicsview/qgraphicssceneevent.h @@ -40,7 +40,9 @@ #include <QtCore/qrect.h> #include <QtGui/qpolygon.h> #include <QtCore/qset.h> +#if QT_DEPRECATED_SINCE(5, 5) #include <QtCore/qhash.h> +#endif QT_BEGIN_NAMESPACE diff --git a/src/widgets/graphicsview/qgraphicssceneindex.cpp b/src/widgets/graphicsview/qgraphicssceneindex.cpp index 8662f73d64..a76f6b6565 100644 --- a/src/widgets/graphicsview/qgraphicssceneindex.cpp +++ b/src/widgets/graphicsview/qgraphicssceneindex.cpp @@ -520,7 +520,9 @@ QList<QGraphicsItem *> QGraphicsSceneIndex::estimateTopLevelItems(const QRectF & scened->ensureSortedTopLevelItems(); if (order == Qt::DescendingOrder) { QList<QGraphicsItem *> sorted; - for (int i = scened->topLevelItems.size() - 1; i >= 0; --i) + const int numTopLevelItems = scened->topLevelItems.size(); + sorted.reserve(numTopLevelItems); + for (int i = numTopLevelItems - 1; i >= 0; --i) sorted << scened->topLevelItems.at(i); return sorted; } diff --git a/src/widgets/graphicsview/qgraphicstransform.cpp b/src/widgets/graphicsview/qgraphicstransform.cpp index 67564b5a8b..fe963fbf3c 100644 --- a/src/widgets/graphicsview/qgraphicstransform.cpp +++ b/src/widgets/graphicsview/qgraphicstransform.cpp @@ -89,6 +89,11 @@ #ifndef QT_NO_GRAPHICSVIEW QT_BEGIN_NAMESPACE + +QGraphicsTransformPrivate::~QGraphicsTransformPrivate() +{ +} + void QGraphicsTransformPrivate::setItem(QGraphicsItem *i) { if (item == i) diff --git a/src/widgets/graphicsview/qgraphicstransform.h b/src/widgets/graphicsview/qgraphicstransform.h index 4a7a3d0c0b..6fa76683f2 100644 --- a/src/widgets/graphicsview/qgraphicstransform.h +++ b/src/widgets/graphicsview/qgraphicstransform.h @@ -50,7 +50,7 @@ class Q_WIDGETS_EXPORT QGraphicsTransform : public QObject { Q_OBJECT public: - QGraphicsTransform(QObject *parent = 0); + QGraphicsTransform(QObject *parent = Q_NULLPTR); ~QGraphicsTransform(); virtual void applyTo(QMatrix4x4 *matrix) const = 0; @@ -78,7 +78,7 @@ class Q_WIDGETS_EXPORT QGraphicsScale : public QGraphicsTransform Q_PROPERTY(qreal yScale READ yScale WRITE setYScale NOTIFY yScaleChanged) Q_PROPERTY(qreal zScale READ zScale WRITE setZScale NOTIFY zScaleChanged) public: - QGraphicsScale(QObject *parent = 0); + QGraphicsScale(QObject *parent = Q_NULLPTR); ~QGraphicsScale(); QVector3D origin() const; @@ -116,7 +116,7 @@ class Q_WIDGETS_EXPORT QGraphicsRotation : public QGraphicsTransform Q_PROPERTY(qreal angle READ angle WRITE setAngle NOTIFY angleChanged) Q_PROPERTY(QVector3D axis READ axis WRITE setAxis NOTIFY axisChanged) public: - QGraphicsRotation(QObject *parent = 0); + QGraphicsRotation(QObject *parent = Q_NULLPTR); ~QGraphicsRotation(); QVector3D origin() const; diff --git a/src/widgets/graphicsview/qgraphicstransform_p.h b/src/widgets/graphicsview/qgraphicstransform_p.h index dde085935f..c81a95fd3d 100644 --- a/src/widgets/graphicsview/qgraphicstransform_p.h +++ b/src/widgets/graphicsview/qgraphicstransform_p.h @@ -51,12 +51,14 @@ QT_BEGIN_NAMESPACE class QGraphicsItem; -class QGraphicsTransformPrivate : public QObjectPrivate { +// ### Qt 6: unexport again, if QtQuick1's QDeclarativeTranslatePrivate is gone by then +class Q_WIDGETS_EXPORT QGraphicsTransformPrivate : public QObjectPrivate { public: Q_DECLARE_PUBLIC(QGraphicsTransform) QGraphicsTransformPrivate() : QObjectPrivate(), item(0) {} + ~QGraphicsTransformPrivate(); QGraphicsItem *item; diff --git a/src/widgets/graphicsview/qgraphicsview.cpp b/src/widgets/graphicsview/qgraphicsview.cpp index c270c4be88..ac8cd45f9e 100644 --- a/src/widgets/graphicsview/qgraphicsview.cpp +++ b/src/widgets/graphicsview/qgraphicsview.cpp @@ -362,6 +362,10 @@ QGraphicsViewPrivate::QGraphicsViewPrivate() styleOptions.reserve(QGRAPHICSVIEW_PREALLOC_STYLE_OPTIONS); } +QGraphicsViewPrivate::~QGraphicsViewPrivate() +{ +} + /*! \internal */ @@ -2460,6 +2464,7 @@ QPolygonF QGraphicsView::mapToScene(const QRect &rect) const QPolygonF QGraphicsView::mapToScene(const QPolygon &polygon) const { QPolygonF poly; + poly.reserve(polygon.count()); foreach (const QPoint &point, polygon) poly << mapToScene(point); return poly; @@ -2555,6 +2560,7 @@ QPolygon QGraphicsView::mapFromScene(const QRectF &rect) const QPolygon QGraphicsView::mapFromScene(const QPolygonF &polygon) const { QPolygon poly; + poly.reserve(polygon.count()); foreach (const QPointF &point, polygon) poly << mapFromScene(point); return poly; @@ -2669,7 +2675,9 @@ void QGraphicsView::updateScene(const QList<QRectF> &rects) // Extract and reset dirty scene rect info. QVector<QRect> dirtyViewportRects; const QVector<QRect> &dirtyRects = d->dirtyRegion.rects(); - for (int i = 0; i < dirtyRects.size(); ++i) + const int dirtyRectsCount = dirtyRects.size(); + dirtyViewportRects.reserve(dirtyRectsCount + rects.count()); + for (int i = 0; i < dirtyRectsCount; ++i) dirtyViewportRects += dirtyRects.at(i); d->dirtyRegion = QRegion(); d->dirtyBoundingRect = QRect(); diff --git a/src/widgets/graphicsview/qgraphicsview.h b/src/widgets/graphicsview/qgraphicsview.h index d426273d97..667fa76fe7 100644 --- a/src/widgets/graphicsview/qgraphicsview.h +++ b/src/widgets/graphicsview/qgraphicsview.h @@ -108,8 +108,8 @@ public: }; Q_DECLARE_FLAGS(OptimizationFlags, OptimizationFlag) - QGraphicsView(QWidget *parent = 0); - QGraphicsView(QGraphicsScene *scene, QWidget *parent = 0); + QGraphicsView(QWidget *parent = Q_NULLPTR); + QGraphicsView(QGraphicsScene *scene, QWidget *parent = Q_NULLPTR); ~QGraphicsView(); QSize sizeHint() const Q_DECL_OVERRIDE; @@ -230,7 +230,7 @@ protected Q_SLOTS: void setupViewport(QWidget *widget) Q_DECL_OVERRIDE; protected: - QGraphicsView(QGraphicsViewPrivate &, QWidget *parent = 0); + QGraphicsView(QGraphicsViewPrivate &, QWidget *parent = Q_NULLPTR); bool event(QEvent *event) Q_DECL_OVERRIDE; bool viewportEvent(QEvent *event) Q_DECL_OVERRIDE; diff --git a/src/widgets/graphicsview/qgraphicsview_p.h b/src/widgets/graphicsview/qgraphicsview_p.h index fec8336695..dcbffb1c39 100644 --- a/src/widgets/graphicsview/qgraphicsview_p.h +++ b/src/widgets/graphicsview/qgraphicsview_p.h @@ -63,6 +63,7 @@ class Q_WIDGETS_EXPORT QGraphicsViewPrivate : public QAbstractScrollAreaPrivate Q_DECLARE_PUBLIC(QGraphicsView) public: QGraphicsViewPrivate(); + ~QGraphicsViewPrivate(); void recalculateContentSize(); void centerView(QGraphicsView::ViewportAnchor anchor); diff --git a/src/widgets/graphicsview/qgraphicswidget.cpp b/src/widgets/graphicsview/qgraphicswidget.cpp index 6f10e2854c..67311ed2c3 100644 --- a/src/widgets/graphicsview/qgraphicswidget.cpp +++ b/src/widgets/graphicsview/qgraphicswidget.cpp @@ -304,6 +304,7 @@ void QGraphicsWidget::resize(const QSizeF &size) /*! \fn void QGraphicsWidget::resize(qreal w, qreal h) + \overload This convenience function is equivalent to calling resize(QSizeF(w, h)). diff --git a/src/widgets/graphicsview/qgraphicswidget.h b/src/widgets/graphicsview/qgraphicswidget.h index 3ecdeac158..0878e020bc 100644 --- a/src/widgets/graphicsview/qgraphicswidget.h +++ b/src/widgets/graphicsview/qgraphicswidget.h @@ -74,7 +74,7 @@ class Q_WIDGETS_EXPORT QGraphicsWidget : public QGraphicsObject, public QGraphic Q_PROPERTY(bool autoFillBackground READ autoFillBackground WRITE setAutoFillBackground) Q_PROPERTY(QGraphicsLayout* layout READ layout WRITE setLayout NOTIFY layoutChanged) public: - QGraphicsWidget(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0); + QGraphicsWidget(QGraphicsItem *parent = Q_NULLPTR, Qt::WindowFlags wFlags = Qt::WindowFlags()); ~QGraphicsWidget(); QGraphicsLayout *layout() const; void setLayout(QGraphicsLayout *layout); @@ -156,8 +156,8 @@ public: }; int type() const Q_DECL_OVERRIDE; - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) Q_DECL_OVERRIDE; - virtual void paintWindowFrame(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = Q_NULLPTR) Q_DECL_OVERRIDE; + virtual void paintWindowFrame(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = Q_NULLPTR); QRectF boundingRect() const Q_DECL_OVERRIDE; QPainterPath shape() const Q_DECL_OVERRIDE; @@ -213,7 +213,7 @@ protected: virtual void ungrabMouseEvent(QEvent *event); virtual void grabKeyboardEvent(QEvent *event); virtual void ungrabKeyboardEvent(QEvent *event); - QGraphicsWidget(QGraphicsWidgetPrivate &, QGraphicsItem *parent, Qt::WindowFlags wFlags = 0); + QGraphicsWidget(QGraphicsWidgetPrivate &, QGraphicsItem *parent, Qt::WindowFlags wFlags = Qt::WindowFlags()); private: Q_DISABLE_COPY(QGraphicsWidget) |