46 lines
863 B
C++
Executable File
46 lines
863 B
C++
Executable File
|
|
|
|
|
|
#include "item.h"
|
|
|
|
#include <QBrush>
|
|
#include <QPen>
|
|
#include <QPainter>
|
|
#include <QStyleOptionViewItem>
|
|
#include <QModelIndex>
|
|
|
|
#include <QDebug>
|
|
|
|
|
|
namespace LtsTimeline
|
|
{
|
|
|
|
QString Item::mimetype = QStringLiteral("application/rheinmetall.timeline.item");
|
|
|
|
QColor Item::s_highlightColor = QRgb(0x43b0e0);
|
|
|
|
|
|
Item::Item(qint64 startTime, int duration, const QColor &color, bool isEditable)
|
|
: m_color(color)
|
|
, m_startTime(startTime)
|
|
, m_duration(duration)
|
|
, m_isEditable(isEditable)
|
|
{}
|
|
|
|
|
|
|
|
|
|
void Item::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &, bool highlight) const
|
|
{
|
|
painter->save();
|
|
if (highlight)
|
|
painter->setPen(QPen(QBrush(s_highlightColor), 5));
|
|
else
|
|
painter->setPen(QPen(QBrush(Qt::black), 1));
|
|
painter->setBrush(QBrush(m_color));
|
|
painter->drawRect(option.rect);
|
|
painter->restore();
|
|
}
|
|
|
|
}
|