#pragma once #include #include #include namespace LtsTimeline { class Track; class TimelineView; class LTSTIMELINE_EXPORT TimelineViewTrackHandler { public: explicit TimelineViewTrackHandler(TimelineView *view); virtual ~TimelineViewTrackHandler(); virtual void mouseDoubleClickEvent(QMouseEvent *e); virtual void mousePressEvent(QMouseEvent *e); virtual void mouseReleaseEvent(QMouseEvent *e); bool isInsertButtonPressed(const QModelIndex &index) const { return index == m_pressedInsertButtonIndex; } bool isRemoveButtonPressed(const QModelIndex &index) const { return index == m_pressedRemoveButtonIndex; } protected: TimelineView *m_view{nullptr}; QModelIndex m_pressedInsertButtonIndex; QModelIndex m_pressedRemoveButtonIndex; }; }