ImGraph
 All Classes Functions Variables Enumerations Pages
GraphViewer.h
1 
2 #ifndef __GRAPHVIEWER_H__
3 #define __GRAPHVIEWER_H__
4 
5 #ifdef _WIN32
6 #pragma warning(disable:4503)
7 #pragma warning(push)
8 #pragma warning(disable:4996 4251 4275 4800)
9 #endif
10 #include "opencv2/core/utility.hpp"
11 #include "opencv2/highgui/highgui_c.h"
12 #include "opencv2/imgproc.hpp"
13 
14 #include <QAbstractEventDispatcher>
15 #include <QApplication>
16 #include <QFile>
17 #include <QPushButton>
18 #include <QGraphicsView>
19 #include <QSizePolicy>
20 #include <QInputDialog>
21 #include <QVBoxLayout>
22 #include <QSettings>
23 #include <qtimer.h>
24 #include <QtConcurrent/QtConcurrentRun>
25 #include <QWaitCondition>
26 #include <QKeyEvent>
27 #include <QMetaObject>
28 #include <QPointer>
29 #include <QSlider>
30 #include <QLabel>
31 #include <QIODevice>
32 #include <QShortcut>
33 #include <QStatusBar>
34 #include <QVarLengthArray>
35 #include <QFileInfo>
36 #include <QDate>
37 #include <QFileDialog>
38 #include <QToolBar>
39 #include <QAction>
40 #include <QPushButton>
41 #include <QCheckBox>
42 #include <QRadioButton>
43 #include <QButtonGroup>
44 #include <QMenu>
45 #include <QDialog>
46 
47 #include <boost/thread/mutex.hpp>
48 #include <boost/thread/recursive_mutex.hpp>
49 #include <boost/thread/condition_variable.hpp>
50 
51 #include <qwt/qwt_plot.h>
52 
53 #include <vector>
54 
55 #ifdef _WIN32
56 #pragma warning(pop)
57 #endif
58 
59 class QwtPlotZoomer;
60 class QwtPlotPicker;
61 class QwtPlotPanner;
62 class QwtPlotCurve;
63 class QwtPlot;
64 class QPoint;
65 class QPolygon;
66 
67 class GraphViewer : public QWidget
68 {
69  Q_OBJECT
70 
71  boost::mutex _mtx_synchro;
72 public:
73  GraphViewer();
74 
75 
76  void updateCurve(int id, const double *xData, const double *yData, int size);
77  void updateCurve(int id, const double *xData, int size);
78 
79  private Q_SLOTS:
80  void moved(const QPoint &);
81  void selected(const QPolygon &);
82 
83 #ifndef QT_NO_PRINTER
84  void print();
85 #endif
86 
87  void exportDocument();
88  void enableZoomMode(bool);
89 private:
90  void showInfo(QString text = QString::null);
91 
92  QVBoxLayout* myGlobalLayout;
93 
94  std::vector<QwtPlotCurve *> _curves;
95 
96  QwtPlot *d_plot;
97 
98  QwtPlotZoomer *d_zoomer[2];
99  QwtPlotPicker *d_picker;
100  QwtPlotPanner *d_panner;
101 };
102 
103 #endif
Definition: GraphViewer.h:67