Revision control
++ // Copyright (C) 2016 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
++
++ #ifndef GRAPHWIDGET_H
++ #define GRAPHWIDGET_H
++
++ #include <QBasicTimer>
++ #include <QGraphicsView>
++
++ class Node;
++
++ //! [0]
++ class GraphWidget : public QGraphicsView
++ {
++ Q_OBJECT
++
++ public:
++ GraphWidget(QWidget *parent = nullptr);
++
++ void itemMoved();
++
++ public slots:
++ void shuffle();
++ void zoomIn();
++ void zoomOut();
++
++ protected:
++ void keyPressEvent(QKeyEvent *event) override;
++ void timerEvent(QTimerEvent *event) override;
++ #if QT_CONFIG(wheelevent)
++ void wheelEvent(QWheelEvent *event) override;
++ #endif
++ void drawBackground(QPainter *painter, const QRectF &rect) override;
++
++ void scaleView(qreal scaleFactor);
++
++ private:
++ QBasicTimer timer;
++ Node *centerNode;
++ };
++ //! [0]
++
++ #endif // GRAPHWIDGET_H