Files
qt6-migration-pipeline/Lts/Common/LtsTimelineClassic/EventDelegate.cpp
T

63 lines
1.2 KiB
C++
Executable File

#include "EventDelegate.h"
#include "PassiveEventContainer.h"
#include <QModelIndex>
#include <QDebug>
namespace LtsTimelineClassic
{
EventDelegate::EventDelegate(QWidget *parent)
: QStyledItemDelegate(parent)
, m_liveTime(0)
{
}
QSize EventDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
{
(void)option;
(void)index;
return QSize(50, 20);
}
void EventDelegate::setKnownRanges(const QVector<Range> &knownRanges)
{
m_knownRanges = knownRanges;
}
void EventDelegate::setLiveTime(qint64 liveTime)
{
m_liveTime = liveTime;
}
void EventDelegate::slotAddLine(int posX, qint64 time)
{
m_lineMap.insert(posX, time);
}
void EventDelegate::slotResetLineList()
{
m_lineMap.clear();
}
void EventDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
if (index.data().canConvert<PassiveEventContainer *>())
{
PassiveEventContainer *passiveEventContainer = qvariant_cast<PassiveEventContainer *>(index.data());
passiveEventContainer->paint(painter, option, m_lineMap, m_knownRanges);
}
else
QStyledItemDelegate::paint(painter, option, index);
}
}