#pragma once #include namespace LtsTimeline { class Item; } namespace Timeline { class TimelineModel; class TimelineDelegate : public LtsTimeline::ItemDelegate { Q_OBJECT public: static const int s_zeroDurationItemWidth; explicit TimelineDelegate(LtsTimeline::TimelineView *parent = nullptr); QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override; private: void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override; void drawItem(const QStyleOptionViewItem &option, const QModelIndex &index, QPainter *painter, TimelineModel *model, const LtsTimeline::Item &item ) const; }; } // namespace Timeline