13#include "kdganttitemdelegate_p.h"
16#include <QAbstractItemModel>
17#include <QApplication>
20#include <QPainterPath>
23#ifndef QT_NO_DEBUG_STREAM
25#define PRINT_INTERACTIONSTATE(x) \
43#undef PRINT_INTERACTIONSTATE
62ItemDelegate::Private::Private()
70 summarygrad.setColorAt(0.,
Qt::blue);
74 eventgrad.setColorAt(0.,
Qt::red);
95 if (start.
x() < end.
x()) {
134 d->defaultbrush[type] = brush;
143 return d->defaultbrush[type];
154 d->defaultpen[type] = pen;
163 return d->defaultpen[type];
180 return tr(
"%1 -> %2: %3")
211 int tw =
opt.fontMetrics.horizontalAdvance(
txt);
212 tw +=
static_cast<int>(itemRect.
height() / 2.);
214 switch (
opt.displayPosition) {
261 if (itemRect.
width() < 15)
263 if (pos.
x() >= itemRect.
left() && pos.
x() < itemRect.
left() + delta) {
265 }
else if (pos.
x() <= itemRect.
right() && pos.
x() > itemRect.
right() - delta) {
284 boundingRect.
setY(itemRect.
y());
298 bool drawText =
true;
327 if (
opt.itemRect.isValid()) {
353 if (
opt.boundingRect.isValid()) {
357 const qreal delta =
static_cast<int>(r.
height() / 2);
359 path.
lineTo(2. * delta, delta);
360 path.
lineTo(delta, 2. * delta);
383 switch (
opt.displayPosition) {
405static const qreal
PW = 1.5;
460 const QPen pen =
d->constraintPen(start, end, constraint);
475 if (start.
x() > end.
x() -
TURN) {
506 const QPen pen =
d->constraintPen(start, end, constraint);
521 if (start.
x() > end.
x() +
TURN) {
552 const QPen pen =
d->constraintPen(start, end, constraint);
567 if (start.
x() > end.
x()) {
597 const QPen pen =
d->constraintPen(start, end, constraint);
641#include "moc_kdganttitemdelegate.cpp"
A class used to represent a dependency.
QVariant data(int role) const
RelationType relationType() const
This is unused for now.
virtual void paintConstraintItem(QPainter *p, const QStyleOptionGraphicsItem &opt, const QPointF &start, const QPointF &end, const Constraint &constraint)
Paints the constraint between points start and end using painter and opt.
void paintFinishStartConstraint(QPainter *p, const QStyleOptionGraphicsItem &opt, const QPointF &start, const QPointF &end, const Constraint &constraint)
QPen defaultPen(ItemType type) const
QPolygonF startFinishArrow(const QPointF &start, const QPointF &end) const
virtual QString toolTip(const QModelIndex &idx) const
QPolygonF startStartLine(const QPointF &start, const QPointF &end) const
~ItemDelegate() override
Destructor.
virtual Span itemBoundingSpan(const StyleOptionGanttItem &opt, const QModelIndex &idx) const
virtual InteractionState interactionStateFor(const QPointF &pos, const StyleOptionGanttItem &opt, const QModelIndex &idx) const
void paintStartStartConstraint(QPainter *p, const QStyleOptionGraphicsItem &opt, const QPointF &start, const QPointF &end, const Constraint &constraint)
void setDefaultBrush(ItemType type, const QBrush &brush)
Sets the default brush used for items of type type to brush.
void paintStartFinishConstraint(QPainter *p, const QStyleOptionGraphicsItem &opt, const QPointF &start, const QPointF &end, const Constraint &constraint)
QPolygonF finishFinishLine(const QPointF &start, const QPointF &end) const
InteractionState
This enum is used for communication between the view and the delegate about user interaction with gan...
void setDefaultPen(ItemType type, const QPen &pen)
Sets the default pen used for items of type type to pen.
QPolygonF startFinishLine(const QPointF &start, const QPointF &end) const
QPolygonF finishStartArrow(const QPointF &start, const QPointF &end) const
virtual void paintGanttItem(QPainter *p, const StyleOptionGanttItem &opt, const QModelIndex &idx)
Paints the gantt item idx using painter and opt.
QPolygonF finishFinishArrow(const QPointF &start, const QPointF &end) const
QBrush defaultBrush(ItemType type) const
void paintFinishFinishConstraint(QPainter *p, const QStyleOptionGraphicsItem &opt, const QPointF &start, const QPointF &end, const Constraint &constraint)
virtual QRectF constraintBoundingRect(const QPointF &start, const QPointF &end, const Constraint &constraint) const
ItemDelegate(QObject *parent=nullptr)
Constructor.
QPolygonF startStartArrow(const QPointF &start, const QPointF &end) const
QPolygonF finishStartLine(const QPointF &start, const QPointF &end) const
A class representing a start point and a length.
QStyleOption subclass for gantt items.
#define PRINT_INTERACTIONSTATE(x)
QDebug operator<<(QDebug dbg, KDGantt::ItemDelegate::InteractionState state)
virtual QVariant data(const QModelIndex &index, int role) const const=0
QFontMetrics fontMetrics()
T qobject_cast(QObject *object)
QString tr(const char *sourceText, const char *disambiguation, int n)
void drawPath(const QPainterPath &path)
void drawPolygon(const QPointF *points, int pointCount, Qt::FillRule fillRule)
void drawPolyline(const QPointF *points, int pointCount)
void drawRect(const QRectF &rectangle)
void drawText(const QPointF &position, const QString &text)
void fillRect(const QRectF &rectangle, const QBrush &brush)
const QPen & pen() const const
void setBrush(const QBrush &brush)
void setBrushOrigin(int x, int y)
void setPen(const QColor &color)
void translate(const QPointF &offset)
void lineTo(const QPointF &endPoint)
void moveTo(const QPointF &point)
void quadTo(const QPointF &c, const QPointF &endPoint)
QColor color() const const
QRectF adjusted(qreal dx1, qreal dy1, qreal dx2, qreal dy2) const const
bool contains(const QRectF &rectangle) const const
qreal height() const const
bool isValid() const const
qreal right() const const
void setHeight(qreal height)
QPointF topLeft() const const
QPointF topRight() const const
void translate(qreal dx, qreal dy)
QRectF translated(qreal dx, qreal dy) const const
qreal width() const const
QString arg(qlonglong a, int fieldWidth, int base, QChar fillChar) const const
bool isNull() const const
bool canConvert(int targetTypeId) const const
QString toString() const const