KD Chart API Documentation 3.1
Loading...
Searching...
No Matches
kdganttitemdelegate.h
Go to the documentation of this file.
1/****************************************************************************
2**
3** This file is part of the KD Chart library.
4**
5** SPDX-FileCopyrightText: 2001 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
6**
7** SPDX-License-Identifier: MIT
8**
9****************************************************************************/
10
11#ifndef KDGANTTITEMDELEGATE_H
12#define KDGANTTITEMDELEGATE_H
13
14#include <QBrush>
15#include <QDebug>
16#include <QItemDelegate>
17#include <QPen>
18
19#include "kdganttglobal.h"
20
21namespace KDGantt {
22class StyleOptionGanttItem;
23class Constraint;
24
25class KDGANTT_EXPORT ItemDelegate : public QItemDelegate
26{
27 Q_OBJECT
29public:
31 {
32 State_None = 0,
36 State_DragConstraint
37 };
38
39 explicit ItemDelegate(QObject *parent = nullptr);
40 ~ItemDelegate() override;
41
42 void setDefaultBrush(ItemType type, const QBrush &brush);
43 QBrush defaultBrush(ItemType type) const;
44
45 void setDefaultPen(ItemType type, const QPen &pen);
46 QPen defaultPen(ItemType type) const;
47
48 virtual Span itemBoundingSpan(const StyleOptionGanttItem &opt, const QModelIndex &idx) const;
49 virtual QRectF constraintBoundingRect(const QPointF &start, const QPointF &end, const Constraint &constraint) const;
50 virtual InteractionState interactionStateFor(const QPointF &pos,
51 const StyleOptionGanttItem &opt,
52 const QModelIndex &idx) const;
53
54 virtual void paintGanttItem(QPainter *p, const StyleOptionGanttItem &opt, const QModelIndex &idx);
55 virtual void paintConstraintItem(QPainter *p, const QStyleOptionGraphicsItem &opt,
56 const QPointF &start, const QPointF &end, const Constraint &constraint);
57
58 virtual QString toolTip(const QModelIndex &idx) const;
59
60protected:
61 void paintFinishStartConstraint(QPainter *p, const QStyleOptionGraphicsItem &opt,
62 const QPointF &start, const QPointF &end, const Constraint &constraint);
63 QPolygonF finishStartLine(const QPointF &start, const QPointF &end) const;
64 QPolygonF finishStartArrow(const QPointF &start, const QPointF &end) const;
65
66 void paintFinishFinishConstraint(QPainter *p, const QStyleOptionGraphicsItem &opt,
67 const QPointF &start, const QPointF &end, const Constraint &constraint);
68 QPolygonF finishFinishLine(const QPointF &start, const QPointF &end) const;
69 QPolygonF finishFinishArrow(const QPointF &start, const QPointF &end) const;
70
71 void paintStartStartConstraint(QPainter *p, const QStyleOptionGraphicsItem &opt,
72 const QPointF &start, const QPointF &end, const Constraint &constraint);
73 QPolygonF startStartLine(const QPointF &start, const QPointF &end) const;
74 QPolygonF startStartArrow(const QPointF &start, const QPointF &end) const;
75
76 void paintStartFinishConstraint(QPainter *p, const QStyleOptionGraphicsItem &opt,
77 const QPointF &start, const QPointF &end, const Constraint &constraint);
78 QPolygonF startFinishLine(const QPointF &start, const QPointF &end) const;
79 QPolygonF startFinishArrow(const QPointF &start, const QPointF &end) const;
80};
81}
82
83#ifndef QT_NO_DEBUG_STREAM
85#endif
86
87#endif /* KDGANTTITEMDELEGATE_H */
A class used to represent a dependency.
Class used to render gantt items in a KDGantt::GraphicsView.
InteractionState
This enum is used for communication between the view and the delegate about user interaction with gan...
A class representing a start point and a length.
QStyleOption subclass for gantt items.
Contains KDGantt macros.
#define KDGANTT_DECLARE_PRIVATE_BASE_POLYMORPHIC(X)
KDGANTT_EXPORT QDebug operator<<(QDebug dbg, KDGantt::ItemDelegate::InteractionState)

© 2001 Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
https://www.kdab.com/development-resources/qt-tools/kd-chart/
Generated on Thu Apr 11 2024 00:04:50 for KD Chart API Documentation by doxygen 1.9.8