36 lines
802 B
C++
Executable File
36 lines
802 B
C++
Executable File
#pragma once
|
|
|
|
#include <LtsScriptTimeline/ltsscripttimeline_export.h>
|
|
|
|
#include <QWidget>
|
|
|
|
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<TrackContentWidget *> m_tcwCorresponding;
|
|
|
|
QPoint m_dragStartPos;
|
|
QVector<TrackEntry *> m_vecCollisions, m_vecParallel;
|
|
int m_dropPos;
|
|
};
|
|
}
|