Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimeline/timeline_view_drag_handler.h
T
torstenandCopilot d6b6ffce7c Apply clang-format to Lts/Common and DTC/enum headers
- Formatted all CodeGen module files (9 files)
- Formatted LtsAppDescriptor module files
- Formatted LtsAppManager/AppChooser files
- Applied clang-format to all DTC and enum headers across modules
- Removed coordTransTests from CommonUnitTestsPlaceholder (moved to tests/)

Cosmetic changes only, no functional modifications.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-19 14:46:29 +02:00

96 lines
2.1 KiB
C++

#pragma once
#include "ltstimeline_export.h"
#include "timeline_view.h"
#include <QModelIndex>
#include <QPoint>
#include <QVector>
class QDragEnterEvent;
class QDragMoveEvent;
class QDragLeaveEvent;
class QDropEvent;
class QMouseEvent;
class QKeyEvent;
namespace LtsTimeline
{
class Item;
class Track;
class TimelineView;
class ItemDelegate;
class LTSTIMELINE_EXPORT TimelineViewDragHandler
{
friend class TimelineView;
friend class ItemDelegate;
public:
explicit TimelineViewDragHandler(TimelineView* view);
virtual ~TimelineViewDragHandler();
virtual void dragEnterEvent(QDragEnterEvent* e);
virtual void dragMoveEvent(QDragMoveEvent* e);
virtual void dragLeaveEvent(QDragLeaveEvent* e);
virtual void dropEvent(QDropEvent* e);
virtual void mouseMoveEvent(QMouseEvent* e);
virtual void mousePressEvent(QMouseEvent* e);
virtual void mouseReleaseEvent(QMouseEvent* e);
virtual void keyPressEvent(QKeyEvent* e);
virtual bool isActive() const;
virtual int deltaX() const;
virtual int deltaY() const;
virtual qint64 deltaTime() const;
const QVector<int>& dragItemIds() const
{
return m_dragItemIds;
}
const QModelIndex& dragStartIndex() const
{
return m_dragStartIndex;
}
qint64 dragStartTime() const
{
return m_dragStartTime;
}
const QPoint& dragStartPos() const
{
return m_dragStartPos;
}
const QPoint& dragPos() const
{
return m_dragPos;
}
protected:
virtual bool canDragItemsTo(const QPoint& point) const;
virtual bool canMoveItemsTo(const QPoint& point) const;
virtual void moveItemsLeft(const QVector<int>& itemIds, int dt);
virtual void moveItemsRight(const QVector<int>& itemIds, int dt);
int dragItemTrackId(const Item& item) const;
void clear();
protected:
TimelineView* m_view{nullptr};
QVector<int> m_dragItemIds;
QModelIndex m_dragStartIndex;
qint64 m_dragStartTime{-1};
QPoint m_dragStartPos;
QPoint m_dragPos;
int m_snapLinePos{-1};
};
} // namespace LtsTimeline