src/callout.h

Thu, 18 Aug 2022 20:34:15 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Thu, 18 Aug 2022 20:34:15 +0200
changeset 401
583148eb6e01
parent 370
a730825bc5e4
permissions
-rw-r--r--

Init est_carb field for new products.

370
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 /****************************************************************************
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 **
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 ** Copyright (C) 2016 The Qt Company Ltd.
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 ** Contact: https://www.qt.io/licensing/
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 **
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 ** This file is part of the Qt Charts module of the Qt Toolkit.
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 **
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 ** $QT_BEGIN_LICENSE:GPL$
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 ** Commercial License Usage
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 ** Licensees holding valid commercial Qt licenses may use this file in
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 ** accordance with the commercial license agreement provided with the
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 ** Software or, alternatively, in accordance with the terms contained in
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 ** a written agreement between you and The Qt Company. For licensing terms
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 ** and conditions see https://www.qt.io/terms-conditions. For further
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 ** information use the contact form at https://www.qt.io/contact-us.
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 **
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17 ** GNU General Public License Usage
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 ** Alternatively, this file may be used under the terms of the GNU
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19 ** General Public License version 3 or (at your option) any later version
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20 ** approved by the KDE Free Qt Foundation. The licenses are as published by
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21 ** the Free Software Foundation and appearing in the file LICENSE.GPL3
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22 ** included in the packaging of this file. Please review the following
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23 ** information to ensure the GNU General Public License requirements will
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24 ** be met: https://www.gnu.org/licenses/gpl-3.0.html.
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25 **
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26 ** $QT_END_LICENSE$
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27 **
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28 ****************************************************************************/
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
30 #ifndef CALLOUT_H
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
31 #define CALLOUT_H
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
32
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33 #include <QtCharts/QChartGlobal>
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34 #include <QtWidgets/QGraphicsItem>
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35 #include <QtGui/QFont>
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37 QT_BEGIN_NAMESPACE
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38 class QGraphicsSceneMouseEvent;
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39 QT_END_NAMESPACE
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
41 QT_CHARTS_BEGIN_NAMESPACE
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42 class QChart;
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43 class QAbstractSeries;
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44 QT_CHARTS_END_NAMESPACE
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46 QT_CHARTS_USE_NAMESPACE
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
47
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48 class Callout : public QGraphicsItem
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49 {
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50 public:
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
51 Callout(QChart *parent, QAbstractSeries *series);
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
52
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
53 void setText(const QString &text);
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
54 void setAnchor(QPointF point);
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
55 void updateGeometry();
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
56
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
57 QRectF boundingRect() const;
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
58 void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,QWidget *widget);
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
59 void setSeries(QAbstractSeries *series);
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
60
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
61 protected:
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
62 void mousePressEvent(QGraphicsSceneMouseEvent *event);
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
63 void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
64
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
65 private:
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
66 QString m_text;
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
67 QRectF m_textRect;
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
68 QRectF m_rect;
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
69 QPointF m_anchor;
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
70 QFont m_font;
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
71 QChart *m_chart;
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
72 QAbstractSeries *m_series;
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
73 };
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
74
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
75 #endif // CALLOUT_H
a730825bc5e4 Added callout
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
76

mercurial