#pragma once #include #include namespace LtsScriptTimeline { class TrackContentWidget; class TrackEntry; class LTSSCRIPTTIMELINE_EXPORT DragHandler { public: explicit DragHandler(TrackContentWidget *_tcw) : m_tcw(_tcw) , m_dropPos(-1) {} void dragEnterEvent(QDragEnterEvent *event); void dragLeaveEvent(QDragLeaveEvent *event); void dropEvent(QDropEvent *event); void dragMoveEvent(QDragMoveEvent *event); void mousePressEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); void keyPressEvent(QKeyEvent *event); TrackContentWidget *m_tcw; QVector m_tcwCorresponding; QPoint m_dragStartPos; QVector m_vecCollisions, m_vecParallel; int m_dropPos; }; }