QXRD  0.11.16
qcepplot.h
Go to the documentation of this file.
1 #ifndef QCEPPLOT_H
2 #define QCEPPLOT_H
3 
4 #include <QObject>
5 #include <QWidget>
6 #include <qwt_plot.h>
7 #include <qwt_plot_curve.h>
8 #include <qwt_plot_zoomer.h>
9 #include <qwt_plot_panner.h>
10 #include <qwt_plot_magnifier.h>
11 #include <qwt_legend.h>
12 #include "qcepplotsettings-ptr.h"
13 #include "qcepplotmeasurer-ptr.h"
14 
15 class QcepPlot : public QwtPlot
16 {
17  Q_OBJECT
18 
19 public:
20  QcepPlot(QWidget *parent = 0);
21  virtual ~QcepPlot();
22  void init(QcepPlotSettingsWPtr settings);
23 
24 public:
25 // virtual void setSaver(QcepSettingsSaverPtr saver);
26 
27  void setPlotCurveStyle(int index, QwtPlotCurve *curve);
28  virtual QwtText trackerTextF(const QPointF &pos);
29 
30  void contextMenuEvent(QContextMenuEvent *event);
31  void updateZoomer();
32 
33 public slots:
34  virtual void autoScale();
35  void printGraph();
36  void zoomIn();
37  void zoomOut();
38 
39  void enableZooming();
40  void enableMeasuring();
41 
42  virtual void onLegendClicked(const QVariant &itemInfo, int index);
43  virtual void onLegendChecked(const QVariant &itemInfo, bool on, int index);
44 
45  void setXAxisLog(bool isLog);
46  void setYAxisLog(bool isLog);
47  void setX2AxisLog(bool isLog);
48  void setY2AxisLog(bool isLog);
49 
50  void setLogAxis(int axis, int isLog);
51  int logAxis(int axis);
52 
53 // void setCustomTracker(QwtPlotPicker *tracker);
54 // void setCustomZoomer(QwtPlotZoomer *zoomer);
55 
56 protected:
58  QwtLegend *m_Legend;
59  QwtPlotZoomer *m_Zoomer;
60  QwtPlotPanner *m_Panner;
61  QwtPlotMagnifier *m_Magnifier;
63 
64  int m_IsLog[QwtPlot::axisCnt];
65 };
66 
67 #endif // QCEPPLOT_H
QwtPlotMagnifier * m_Magnifier
Definition: qcepplot.h:61
void contextMenuEvent(QContextMenuEvent *event)
Definition: qcepplot.cpp:356
virtual ~QcepPlot()
Definition: qcepplot.cpp:32
QWeakPointer< QcepPlotSettings > QcepPlotSettingsWPtr
QcepPlot(QWidget *parent=0)
Definition: qcepplot.cpp:18
void setPlotCurveStyle(int index, QwtPlotCurve *curve)
Definition: qcepplot.cpp:103
QcepPlotSettingsWPtr m_PlotSettings
Definition: qcepplot.h:57
void setY2AxisLog(bool isLog)
Definition: qcepplot.cpp:336
QwtLegend * m_Legend
Definition: qcepplot.h:58
QwtPlotPanner * m_Panner
Definition: qcepplot.h:60
virtual void autoScale()
Definition: qcepplot.cpp:188
int m_IsLog[QwtPlot::axisCnt]
Definition: qcepplot.h:64
void setLogAxis(int axis, int isLog)
Definition: qcepplot.cpp:341
QwtPlotZoomer * m_Zoomer
Definition: qcepplot.h:59
virtual void onLegendClicked(const QVariant &itemInfo, int index)
Definition: qcepplot.cpp:273
void printGraph()
Definition: qcepplot.cpp:199
void enableMeasuring()
Definition: qcepplot.cpp:267
void init(QcepPlotSettingsWPtr settings)
Definition: qcepplot.cpp:36
int logAxis(int axis)
Definition: qcepplot.cpp:389
virtual QwtText trackerTextF(const QPointF &pos)
Definition: qcepplot.cpp:394
virtual void onLegendChecked(const QVariant &itemInfo, bool on, int index)
Definition: qcepplot.cpp:280
void setX2AxisLog(bool isLog)
Definition: qcepplot.cpp:331
void setYAxisLog(bool isLog)
Definition: qcepplot.cpp:326
void zoomIn()
Definition: qcepplot.cpp:242
QcepPlotMeasurerPtr m_Measurer
Definition: qcepplot.h:62
void setXAxisLog(bool isLog)
Definition: qcepplot.cpp:321
void updateZoomer()
Definition: qcepplot.cpp:252
void enableZooming()
Definition: qcepplot.cpp:261
void zoomOut()
Definition: qcepplot.cpp:247