diff options
author | Knud Dollereder <knud.dollereder@qt.io> | 2020-04-06 11:22:30 +0200 |
---|---|---|
committer | Knud Dollereder <knud.dollereder@qt.io> | 2020-04-06 10:45:28 +0000 |
commit | 7e76a764025a9aabfae92830bf78cd748ab4d8a0 (patch) | |
tree | 02b1b91b5ed17717f3582dc982df23c5c29447d3 /src/plugins/qmldesigner/components/curveeditor/detail/graphicsscene.h | |
parent | 93e788fd196bf90ea10ff8621ae6233f26d44e0e (diff) |
Refactor GraphicsScene and Graphicsview
Make sure to deselect keyframes when clicking on an unselected handle
Task-number: QDS-1033
Change-Id: I2b98188237f8a0618e6ff3e64280091583112196
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'src/plugins/qmldesigner/components/curveeditor/detail/graphicsscene.h')
-rw-r--r-- | src/plugins/qmldesigner/components/curveeditor/detail/graphicsscene.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/components/curveeditor/detail/graphicsscene.h b/src/plugins/qmldesigner/components/curveeditor/detail/graphicsscene.h index 44936a76bd..3ee50672ba 100644 --- a/src/plugins/qmldesigner/components/curveeditor/detail/graphicsscene.h +++ b/src/plugins/qmldesigner/components/curveeditor/detail/graphicsscene.h @@ -45,6 +45,8 @@ signals: public: GraphicsScene(QObject *parent = nullptr); + ~GraphicsScene() override; + bool empty() const; bool hasActiveKeyframe() const; @@ -53,6 +55,8 @@ public: bool hasActiveItem() const; + bool hasSelectedKeyframe() const; + double minimumTime() const; double maximumTime() const; @@ -61,6 +65,28 @@ public: double maximumValue() const; + QRectF rect() const; + + QVector<CurveItem *> curves() const; + + QVector<CurveItem *> selectedCurves() const; + + QVector<KeyframeItem *> keyframes() const; + + QVector<KeyframeItem *> selectedKeyframes() const; + + QVector<HandleItem *> handles() const; + + CurveItem *findCurve(unsigned int id) const; + + SelectableItem *intersect(const QPointF &pos) const; + + void reset(); + + void deleteSelectedKeyframes(); + + void insertKeyframe(double time, bool all = false); + void doNotMoveItems(bool tmp); void addCurveItem(CurveItem *item); @@ -85,10 +111,16 @@ protected: private: using QGraphicsScene::addItem; + using QGraphicsScene::clear; + + using QGraphicsScene::removeItem; + GraphicsView *graphicsView() const; QRectF limits() const; + QVector<CurveItem *> m_curves; + mutable bool m_dirty; mutable QRectF m_limits; |