KD Chart API Documentation  3.1
kdganttconstraintgraphicsitem.cpp
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 
12 #include "kdganttconstraintmodel.h"
13 #include "kdganttgraphicsscene.h"
14 #include "kdganttitemdelegate.h"
16 
17 #include <QDebug>
18 #include <QPainter>
19 
20 using namespace KDGantt;
21 
26  : QGraphicsItem(parent)
27  , m_constraint(c)
28 {
29  if (scene)
30  scene->addItem(this);
31  setPos(QPointF(0., 0.));
32  setAcceptHoverEvents(false);
33  setAcceptedMouseButtons(Qt::NoButton);
34  setZValue(10.);
35 }
36 
38 {
39 }
40 
42 {
43  return Type;
44 }
45 
47 {
48  return qobject_cast<GraphicsScene *>(QGraphicsItem::scene());
49 }
50 
52 {
53  return Constraint(scene()->summaryHandlingModel()->mapFromSource(m_constraint.startIndex()),
54  scene()->summaryHandlingModel()->mapFromSource(m_constraint.endIndex()),
55  m_constraint.type(), m_constraint.relationType(), m_constraint.dataMap());
56 }
57 
59 {
60  return scene()->itemDelegate()->constraintBoundingRect(m_start, m_end, m_constraint);
61 }
62 
63 void ConstraintGraphicsItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
64  QWidget *widget)
65 {
66  Q_UNUSED(widget);
67  // qDebug() << "ConstraintGraphicsItem::paint(...), c=" << m_constraint;
68  scene()->itemDelegate()->paintConstraintItem(painter, *option, m_start, m_end, m_constraint);
69 }
70 
72 {
73  return m_constraint.data(Qt::ToolTipRole).toString();
74 }
75 
76 void ConstraintGraphicsItem::setStart(const QPointF &start)
77 {
78  prepareGeometryChange();
79  m_start = start;
80  update();
81 }
82 
83 void ConstraintGraphicsItem::setEnd(const QPointF &end)
84 {
85  prepareGeometryChange();
86  m_end = end;
87  update();
88 }
89 
90 void ConstraintGraphicsItem::updateItem(const QPointF &start, const QPointF &end)
91 {
92  setStart(start);
93  setEnd(end);
94 }
void updateItem(const QPointF &start, const QPointF &end)
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=nullptr) override
ConstraintGraphicsItem(const Constraint &c, QGraphicsItem *parent=nullptr, GraphicsScene *scene=nullptr)
A class used to represent a dependency.
QVariant data(int role) const
QModelIndex endIndex() const
Type type() const
This is unused for now.
RelationType relationType() const
This is unused for now.
QModelIndex startIndex() const
QMap< int, QVariant > dataMap() const
ItemDelegate * itemDelegate() const
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.
virtual QRectF constraintBoundingRect(const QPointF &start, const QPointF &end, const Constraint &constraint) const

© 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 by doxygen 1.9.1