#pragma once #include #include namespace LtsScriptTimeline { class Tools; class TrackHeader : public QWidget { Q_OBJECT public: explicit TrackHeader(QWidget* parent = nullptr); void recreatePositionLabels(); void updateMe(); void setIndicatorTime(int time); void lockIndicator(bool lock = true) { m_indicatorLock = lock; } void setTools(Tools* tools); int indicatorTime() const { return m_indicatorTime; } private: void resizeEvent(QResizeEvent* event) override; void paintEvent(QPaintEvent* event) override; void mousePressEvent(QMouseEvent* event) override; int m_indicatorTime; int m_textMargin; int m_textSpacing; QString m_timeFormat; QVector m_positionMarkers; bool m_indicatorLock; Tools* m_tools; signals: void signalHeaderIndicatorTimeChanged(int time); void signalHeaderIndicatorTimeUserChanged(qint64 time); }; } // namespace LtsScriptTimeline