]> git.sesse.net Git - kdenlive/blobdiff - src/abstractclipitem.h
animate clip deletion (Qt 4.3)
[kdenlive] / src / abstractclipitem.h
index 09fd98d4209c98d036fba13408ddcb6d6dfe2e68..7cf0d5fa23f5aff2dc98c4459f555de890b410ee 100644 (file)
 #define ABSTRACTCLIPITEM
 
 #include <QGraphicsRectItem>
+#include <QGraphicsWidget>
+
+#if QT_VERSION >= 0x040600
+#include <QPropertyAnimation>
+#endif
+
 #include "definitions.h"
 #include "gentime.h"
 
 class CustomTrackScene;
 class QGraphicsSceneMouseEvent;
 
-class AbstractClipItem : public QObject , public QGraphicsRectItem
+class AbstractClipItem : public QObject, public QGraphicsRectItem
 {
     Q_OBJECT
+#if QT_VERSION >= 0x040600
+    Q_PROPERTY(QRectF rect READ rect WRITE setRect)
+#endif
+
 public:
     AbstractClipItem(const ItemInfo info, const QRectF& rect, double fps);
+    virtual ~ AbstractClipItem();
     void updateSelectedKeyFrame();
     void updateKeyFramePos(const GenTime pos, const double value);
     void addKeyFrame(const GenTime pos, const double value);
@@ -46,7 +57,8 @@ public:
     void updateItem();
     void setItemLocked(bool locked);
     bool isItemLocked() const;
-
+    void closeAnimation();
+    
     virtual  OPERATIONTYPE operationMode(QPointF pos) = 0;
     virtual GenTime startPos() const ;
     virtual void setTrack(int track);
@@ -79,6 +91,11 @@ protected:
     void drawKeyFrames(QPainter *painter, QRectF exposedRect);
     int mouseOverKeyFrames(QPointF pos, double maxOffset);
     virtual void mousePressEvent(QGraphicsSceneMouseEvent * event);
+    
+private:
+#if QT_VERSION >= 0x040600
+    QPropertyAnimation *m_closeAnimation;
+#endif
 };
 
 #endif