SMIL  0.9.1
PlotWidget.h
1 /*
2  * Copyright (c) 2011-2016, Matthieu FAESSEL and ARMINES
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  *
8  * * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  * * Redistributions in binary form must reproduce the above copyright
11  * notice, this list of conditions and the following disclaimer in the
12  * documentation and/or other materials provided with the distribution.
13  * * Neither the name of Matthieu FAESSEL, or ARMINES nor the
14  * names of its contributors may be used to endorse or promote products
15  * derived from this software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY
18  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY
21  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  */
28 
29 
30 #ifndef PlotWidget_H
31 #define PlotWidget_H
32 
33 
34 #include <qwt_plot.h>
35 #include <qwt_plot_curve.h>
36 
37 #if QWT_VERSION < 0x060000
38 #else // QWT_VERSION < 0x060000
39 #include <qwt_series_data.h>
40 #endif // QWT_VERSION < 0x060000
41 
42 class PlotWidget : public QwtPlot
43 {
44  Q_OBJECT
45 public:
46  PlotWidget(QWidget *parent=0);
47  QwtPlotCurve *getCurrentCurve() { return currentCurve; }
48 public slots:
49  void saveCurrentCurve();
50  void clearOtherCurves();
51  void removeCurve();
52  void showCurve();
53  void hideCurve();
54  void chooseCurveColor();
55  void chooseCurveWidth();
56  void chooseCurveTitle();
57  void setCurveStyle();
58  void chooseCurveBrushColor();
59  void showContextMenu(const QPoint& pos);
60 protected:
61  QwtPlotCurve *currentCurve;
62 };
63 
64 
65 #endif // PlotWidget_H
Definition: PlotWidget.h:42