-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgraph.h
More file actions
133 lines (122 loc) · 3.41 KB
/
graph.h
File metadata and controls
133 lines (122 loc) · 3.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#ifndef GRAPH_H
#define GRAPH_H
#include "default.h"
#include <QPainter>
#include <QLayout>
#include <QLabel>
#include <qwt_plot.h>
#include <qwt_scale_widget.h>
#include <qwt_plot_curve.h>
#include <qwt_text.h>
#include <qwt_legend.h>
#include <QPointF>
#include <QVector>
#include <QMessageBox>
#include <QFont>
#include <QThread>
#include <QFile>
#include <QTextStream>
#include <QSqlQuery>
#include <QEvent>
#include <QWheelEvent>
#include <QTime>
void RemovePoints(QVector<QPointF>&, QVector<QPointF>&, qreal, qreal);
void RemovePoints(QVector<QPointF>&, qreal, qreal);
void RemovePoints(QVector<QPointF>&, QVector<QPointF>&, QVector<QPointF>&, qreal, qreal);
void AddPointToVectorByQuery(QVector<QPointF>&, QVector<QPointF>&, QVector<QPointF>&, qreal, qreal, INSERT_TYPE);
void AddPointToVectorByQuery(QVector<QPointF>&, QVector<QPointF>&, qreal, qreal, GRAPH_TYPE, INSERT_TYPE);
void AddPointToVectorByQuery(QVector<QPointF>&, qreal, qreal, GRAPH_TYPE, INSERT_TYPE);
QString GetTablePath(TABLE_TYPE type);
class Graph : public QwtPlot {
Q_OBJECT
public:
Graph(QWidget*);
virtual ~Graph();
void ClearAll();
qreal GetStartTime();
qreal GetInterval();
protected:
double start = 0;
double interval = 5;
double end;
QVector<QPointF> firstData;
QVector<QPointF> secondData;
QwtPlotCurve* firstGraph;
QwtPlotCurve* secondGraph;
public slots:
void HideShowLegend(bool);
void HideShowFine(bool);
void HideShowCoarse(bool);
void ReplotPastGraph(int, int);
virtual void ResetDataFromQuery(qreal, qreal) = 0;
};
class VTGraph : public Graph{
Q_OBJECT
public:
VTGraph(QWidget*, qreal, qreal, qreal, qreal);
~VTGraph() override;
qreal getDanger();
qreal getCaution();
qreal getDangerSlope();
qreal getCautionSlope();
void ClearAll();
void CheckSlope(qreal, qreal, qreal);
private:
qreal dangerValue;
qreal cautionValue;
qreal dangerSlope;
qreal cautionSlope;
QVector<QPointF> dangerLineVector;
QVector<QPointF> cautionLineVector;
QwtPlotCurve* dangerLine;
QwtPlotCurve* cautionLine;
QFile* fineSlopeFile;
QFile* coarseSlopeFile;
QTextStream* fineFileStream;
QTextStream* coarseFileStream;
//for slope checking
private:
qreal accTime;
qreal prevEndTime;
QVector<QPointF> accFineVector;
QVector<QPointF> accCoarseVector;
void CheckSlopeUt(qreal, qreal, DATA_TYPE);
qreal CalSlope(QVector<QPointF>&);
public slots:
void HideShowDanger(bool);
void HideShowCaution(bool);
void ChangerProperties(qreal, qreal, qreal, qreal);
void ResetDataFromQuery(qreal, qreal) override;
signals:
void SlopeCautionSound(SOUND_TYPE);
};
class WTGraph : public Graph{
Q_OBJECT
public:
WTGraph(QWidget*);
~WTGraph() override;
public slots:
void HideShowLegend(bool);
void ResetDataFromQuery(qreal, qreal) override;
};
class OnlyFirstGraph : public Graph {
Q_OBJECT
public:
OnlyFirstGraph(TABLE_TYPE, QString, QString, QString, QString, qreal);
QString GetGraphType();
private:
TABLE_TYPE graphType;
public slots:
void ResetDataFromQuery(qreal, qreal) override;
};
class ContGraph : public OnlyFirstGraph {
Q_OBJECT
private:
QVector<QPointF> thirdData;
QwtPlotCurve* thirdGraph;
public:
ContGraph(TABLE_TYPE, QString, QString, QString, QString, QString, QString, qreal);
public slots:
void ResetDataFromQuery(qreal, qreal) override;
};
#endif // GRAPH_H