#define CUSTOMTRACKVIEW_H
#include <QGraphicsView>
+#include <QGraphicsItemAnimation>
+#include <QTimeLine>
+
#include <KUndoStack>
#include "clipitem.h"
Q_OBJECT
public:
- CustomTrackView(KUndoStack *commandStack, QGraphicsScene * scene, QWidget *parent=0);
+ CustomTrackView(KUndoStack *commandStack, QGraphicsScene * projectscene, QWidget *parent=0);
virtual void mousePressEvent ( QMouseEvent * event );
virtual void mouseReleaseEvent ( QMouseEvent * event );
virtual void mouseMoveEvent ( QMouseEvent * event );
void addTrack();
void removeTrack();
- void setCursorPos(int pos);
int cursorPos();
void initView();
void moveClip ( const QPointF &startPos, const QPointF &endPos );
void resizeClip ( const QPointF &startPos, const QPointF &endPos, bool resizeClipStart );
- void addClip ( int clipType, QString clipName, int clipProducer, int maxDuration, const QRectF &rect );
+ void addClip ( QDomElement xml, int track, int startpos, const QRectF &rect, int duration);
void deleteClip ( const QRectF &rect );
+ void setDuration(int duration);
+ void setScale(double scaleFactor);
+
+ public slots:
+ void setCursorPos(int pos);
protected:
virtual void drawBackground ( QPainter * painter, const QRectF & rect );
virtual void dragMoveEvent(QDragMoveEvent * event);
virtual void dragLeaveEvent ( QDragLeaveEvent * event );
virtual void dropEvent ( QDropEvent * event );
+ virtual void wheelEvent ( QWheelEvent * e );
virtual QStringList mimeTypes() const;
virtual Qt::DropActions supportedDropActions () const;
virtual void resizeEvent ( QResizeEvent * event );
private:
int m_tracksCount;
+ int m_projectDuration;
int m_cursorPos;
ClipItem *m_dropItem;
void addItem(QString producer, QPoint pos);
QGraphicsLineItem *m_cursorLine;
QPointF m_startPos;
- int m_operationMode;
+ OPERATIONTYPE m_operationMode;
+ OPERATIONTYPE m_moveOpMode;
ClipItem *m_dragItem;
KUndoStack *m_commandStack;
+ QGraphicsItem *m_visualTip;
+ QGraphicsItemAnimation *m_animation;
+ QTimeLine *m_animationTimer;
+ QColor m_tipColor;
+ double m_scale;
+ int m_clickPoint;
signals:
void cursorMoved(int);
+ void zoomIn();
+ void zoomOut();
};