+ /** @brief Links the transition to another track.
+ *
+ * This happens only if the current track is not forced. */
+ void updateTransitionEndTrack(int newtrack);
+ void setForcedTrack(bool force, int track);
+ bool forcedTrack() const;
+ Transition *clone();
+ bool isAutomatic() const;
+ void setAutomatic(bool automatic);
+ bool hasGeometry();
+ int defaultZValue() const;
+ /** @brief When a transition is resized, check if keyframes are out of the transition and fix if necessary.
+ * @param oldEnd the previous transition end, so that when we expand the transition, if there is a keyframe at end we move it
+ */
+ bool updateKeyframes(int oldEnd);
+
+protected:
+ virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value);