63 lines
1.2 KiB
C++
Executable File
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);
|
|
}
|
|
|
|
}
|