summaryrefslogtreecommitdiffstats
path: root/stats/informationbox.h
diff options
context:
space:
mode:
Diffstat (limited to 'stats/informationbox.h')
-rw-r--r--stats/informationbox.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/stats/informationbox.h b/stats/informationbox.h
new file mode 100644
index 000000000..7e9253dc7
--- /dev/null
+++ b/stats/informationbox.h
@@ -0,0 +1,31 @@
+// SPDX-License-Identifier: GPL-2.0
+// A small box displaying statistics information, notably
+// for a scatter-plot item or a bar in a bar chart.
+#ifndef INFORMATION_BOX_H
+#define INFORMATION_BOX_H
+
+#include <vector>
+#include <memory>
+#include <QGraphicsRectItem>
+#include <QFont>
+
+namespace QtCharts {
+ class QChart;
+}
+struct dive;
+
+// Information window showing data of highlighted dive
+struct InformationBox : QGraphicsRectItem {
+ InformationBox(QtCharts::QChart *chart);
+ void setText(const std::vector<QString> &text, QPointF pos);
+ void setPos(QPointF pos);
+ int recommendedMaxLines() const;
+private:
+ QtCharts::QChart *chart;
+ QFont font; // For future specialization.
+ double width, height;
+ void addLine(const QString &s);
+ std::vector<std::unique_ptr<QGraphicsSimpleTextItem>> textItems;
+};
+
+#endif